|
@@ -30,12 +30,6 @@ namespace XdCxRhDW.Api
|
|
|
|
|
|
public static EnumTargetState TheoryDfo(CgRes cRes, StationRes sRes, PosRes posRes, int YDPZThreshold)
|
|
|
{
|
|
|
- cRes.MainVx = 1;
|
|
|
- cRes.MainVy = 2;
|
|
|
- cRes.MainVz = 3;
|
|
|
- cRes.Adja1Vx = 3;
|
|
|
- cRes.Adja1Vy = 3;
|
|
|
- cRes.Adja1Vz = 3;
|
|
|
//张老板说理论频差如果和参估计算出来的频差差值比较大,就说明目标在运动(多路参估每一路都要比较,有一路判定运动则为运动)
|
|
|
//?具体多少差异需要确定一下
|
|
|
//主邻星本振不一样时该怎么计算
|
|
@@ -48,7 +42,7 @@ namespace XdCxRhDW.Api
|
|
|
|
|
|
if (posRes.PosResType == EnumPosResType.X2D1 || posRes.PosResType == EnumPosResType.X2D1NoRef || posRes.PosResType == EnumPosResType.RH)
|
|
|
{
|
|
|
- if (cRes.Dfo1 == null) return EnumTargetState.Unknown;
|
|
|
+ if (cRes.Dfo1 == null || cRes.Adja1Vx == null || cRes.Adja1Vy == null || cRes.Adja1Vz == null) return EnumTargetState.Unknown;
|
|
|
var xlAdja1 = new double[6] { cRes.Adja1X.Value, cRes.Adja1Y.Value, cRes.Adja1Z.Value, cRes.Adja1Vx.Value, cRes.Adja1Vy.Value, cRes.Adja1Vz.Value };
|
|
|
double res = TheoryDfo(target, rec, rec, xlMain, xlAdja1, cRes.TarFreqUp.Value, cRes.TarFreqDown.Value);
|
|
|
var val = Math.Abs(res - cRes.Dfo1.Value);
|
|
@@ -77,6 +71,7 @@ namespace XdCxRhDW.Api
|
|
|
else if (posRes.PosResType == EnumPosResType.X3 || posRes.PosResType == EnumPosResType.X3NoRef || posRes.PosResType == EnumPosResType.X3TwoDfo)
|
|
|
{
|
|
|
if (cRes.Dfo1 == null && cRes.Dfo2 == null) return EnumTargetState.Unknown;
|
|
|
+ if (cRes.Adja1Vx == null || cRes.Adja1Vy == null || cRes.Adja1Vz == null) return EnumTargetState.Unknown;
|
|
|
if (cRes.Dfo1 != null)
|
|
|
{
|
|
|
var xlAdja1 = new double[6] { cRes.Adja1X.Value, cRes.Adja1Y.Value, cRes.Adja1Z.Value, cRes.Adja1Vx.Value, cRes.Adja1Vy.Value, cRes.Adja1Vz.Value };
|