|  | @@ -24,6 +24,9 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |          int PosDtoFactor;
 | 
	
		
			
				|  |  |          double DtoErrus;
 | 
	
		
			
				|  |  |          double EphErrm;
 | 
	
		
			
				|  |  | +        int mainSatCode;
 | 
	
		
			
				|  |  | +        int adja1SatCode;
 | 
	
		
			
				|  |  | +        int adja2SatCode;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          public TaskService()
 | 
	
		
			
				|  |  |          {
 | 
	
	
		
			
				|  | @@ -79,10 +82,13 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |                              var arr1 = mainInfo.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
 | 
	
		
			
				|  |  |                              var arr2 = adja1Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
 | 
	
		
			
				|  |  |                              var arr3 = adja2Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
 | 
	
		
			
				|  |  | +                            mainSatCode = Convert.ToInt32(arr1[0]);
 | 
	
		
			
				|  |  | +                            adja1SatCode = Convert.ToInt32(arr2[0]);
 | 
	
		
			
				|  |  | +                            adja2SatCode = Convert.ToInt32(arr3[0]);
 | 
	
		
			
				|  |  |                              MainSatXYZ = GetEph(arr1);
 | 
	
		
			
				|  |  |                              Adja1SatXYZ = GetEph(arr2);
 | 
	
		
			
				|  |  |                              Adja2SatXYZ = GetEph(arr3);
 | 
	
		
			
				|  |  | -                            var tarEcef = PhysicsHelper.GeoToEcef((110, 14, 0));
 | 
	
		
			
				|  |  | +                            var tarEcef = PhysicsHelper.GeoToEcef((115, 11, 0));
 | 
	
		
			
				|  |  |                              var recEcef = PhysicsHelper.GeoToEcef((dto.CapLon, dto.CapLat, 0));
 | 
	
		
			
				|  |  |                              var dt1 = PhysicsHelper.Dto(tarEcef, (MainSatXYZ[0], MainSatXYZ[1], MainSatXYZ[2]), recEcef);
 | 
	
		
			
				|  |  |                              var dt2 = PhysicsHelper.Dto(tarEcef, (Adja1SatXYZ[0], Adja1SatXYZ[1], Adja1SatXYZ[2]), recEcef);
 | 
	
	
		
			
				|  | @@ -152,7 +158,7 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |                                      var cgDto = new CpuCgMultiDto()
 | 
	
		
			
				|  |  |                                      {
 | 
	
		
			
				|  |  |                                          dtCenter = 0,
 | 
	
		
			
				|  |  | -                                        dtRange = 40000,
 | 
	
		
			
				|  |  | +                                        dtRange = 60000,
 | 
	
		
			
				|  |  |                                          file1 = mainFile,
 | 
	
		
			
				|  |  |                                          file2 = adja1File,
 | 
	
		
			
				|  |  |                                          samplingRate = ch0File.Fs,
 | 
	
	
		
			
				|  | @@ -168,7 +174,7 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |                                      cgDto = new CpuCgMultiDto()
 | 
	
		
			
				|  |  |                                      {
 | 
	
		
			
				|  |  |                                          dtCenter = 0,
 | 
	
		
			
				|  |  | -                                        dtRange = 40000,
 | 
	
		
			
				|  |  | +                                        dtRange = 60000,
 | 
	
		
			
				|  |  |                                          file1 = mainFile,
 | 
	
		
			
				|  |  |                                          file2 = adja2File,
 | 
	
		
			
				|  |  |                                          samplingRate = ch0File.Fs,
 | 
	
	
		
			
				|  | @@ -196,11 +202,42 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |                                          try
 | 
	
		
			
				|  |  |                                          {
 | 
	
		
			
				|  |  |                                              if (cts.IsCancellationRequested) break;
 | 
	
		
			
				|  |  | -                                            LeoX1ParPosDto leoX1 = new LeoX1ParPosDto()
 | 
	
		
			
				|  |  | +                                            var posDto = new X3TwoDtoNoParPosDto()
 | 
	
		
			
				|  |  |                                              {
 | 
	
		
			
				|  |  | +                                                SigTime = adTime.AddSeconds(data1[i].Smpstart / (double)ch0File.Fs),
 | 
	
		
			
				|  |  | +                                                MainCode = mainSatCode,
 | 
	
		
			
				|  |  | +                                                Adja1Code = adja1SatCode,
 | 
	
		
			
				|  |  | +                                                Adja2Code = adja2SatCode,
 | 
	
		
			
				|  |  | +                                                Adja1X = Adja1SatXYZ[0],
 | 
	
		
			
				|  |  | +                                                Adja1Y = Adja1SatXYZ[1],
 | 
	
		
			
				|  |  | +                                                Adja1Z = Adja1SatXYZ[2],
 | 
	
		
			
				|  |  | +                                                Adja2X = Adja2SatXYZ[0],
 | 
	
		
			
				|  |  | +                                                Adja2Y = Adja2SatXYZ[1],
 | 
	
		
			
				|  |  | +                                                Adja2Z = Adja2SatXYZ[2],
 | 
	
		
			
				|  |  | +                                                MainX = MainSatXYZ[0],
 | 
	
		
			
				|  |  | +                                                MainY = MainSatXYZ[1],
 | 
	
		
			
				|  |  | +                                                MainZ = MainSatXYZ[2],
 | 
	
		
			
				|  |  | +                                                Dto1 = data1[i].Dt,
 | 
	
		
			
				|  |  | +                                                Dfo1 = data1[i].Df,
 | 
	
		
			
				|  |  | +                                                Snr1 = data1[i].Snr,
 | 
	
		
			
				|  |  | +                                                Dto2 = data2[i].Dt,
 | 
	
		
			
				|  |  | +                                                Dfo2 = data2[i].Df,
 | 
	
		
			
				|  |  | +                                                Snr2 = data2[i].Snr,
 | 
	
		
			
				|  |  | +                                                FreqDown = freq * 1e6,
 | 
	
		
			
				|  |  | +                                                FreqUp = (freq + 44) * 1e6,
 | 
	
		
			
				|  |  | +                                                SatTxLon = dto.CapLon,
 | 
	
		
			
				|  |  | +                                                SatTxLat = dto.CapLat,
 | 
	
		
			
				|  |  | +                                                TaskID = dto.ID,
 | 
	
		
			
				|  |  | +                                                CheckRes = new CheckResDto()
 | 
	
		
			
				|  |  | +                                                {
 | 
	
		
			
				|  |  | +                                                    FileName = Path.GetFileName(ch0File.File),
 | 
	
		
			
				|  |  | +                                                    SmpStart = smps[i].smpStart,
 | 
	
		
			
				|  |  | +                                                    SmpCount = smps[i].smpCount,
 | 
	
		
			
				|  |  | +                                                    PosCheckType = EnumPosCheckTypeDto.Ky5758,
 | 
	
		
			
				|  |  | +                                                }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                                              };
 | 
	
		
			
				|  |  | -                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(baseUrl + "Pos/PosLeX1ParAsync", leoX1);
 | 
	
		
			
				|  |  | +                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(baseUrl + "Pos/PosX3TwoDtoNoParAsync", posDto);
 | 
	
		
			
				|  |  |                                              if (result.code != 200)
 | 
	
		
			
				|  |  |                                              {
 | 
	
		
			
				|  |  |                                                  await LogHelper.Error($"【任务{dto.ID}】-{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz 第{i + 1}个突发定位异常.{result.msg}");
 | 
	
	
		
			
				|  | @@ -210,11 +247,6 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |                                                  var posRes = result.data;
 | 
	
		
			
				|  |  |                                                  double posLon = posRes.PosLon;
 | 
	
		
			
				|  |  |                                                  double posLat = posRes.PosLat;
 | 
	
		
			
				|  |  | -                                                if (leoX1.Snr1 == 0 || leoX1.Snr2 == 0)
 | 
	
		
			
				|  |  | -                                                {
 | 
	
		
			
				|  |  | -                                                    posLon = 0;
 | 
	
		
			
				|  |  | -                                                    posLat = 0;
 | 
	
		
			
				|  |  | -                                                }
 | 
	
		
			
				|  |  |                                                  var errDto = new ErrEllipseX3NoRefDto()
 | 
	
		
			
				|  |  |                                                  {
 | 
	
		
			
				|  |  |                                                      PosLon = posLon,
 | 
	
	
		
			
				|  | @@ -234,14 +266,14 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |                                                  };
 | 
	
		
			
				|  |  |                                                  var errRes = await GetErrEllipseResDto(errDto);
 | 
	
		
			
				|  |  |                                                  StringBuilder sb = new StringBuilder();
 | 
	
		
			
				|  |  | -                                                sb.Append($"{leoX1.SigTime:yyyy}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{leoX1.SigTime:MM}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{leoX1.SigTime:dd}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{leoX1.SigTime:HH}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{leoX1.SigTime:mm}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{leoX1.SigTime:ss}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{leoX1.SigTime:fff}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{leoX1.CheckRes.SmpCount * 1000 / ch0File.Fs:D4}\t");//信号持续时间ms
 | 
	
		
			
				|  |  | +                                                sb.Append($"{posDto.SigTime:yyyy}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{posDto.SigTime:MM}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{posDto.SigTime:dd}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{posDto.SigTime:HH}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{posDto.SigTime:mm}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{posDto.SigTime:ss}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{posDto.SigTime:fff}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{posDto.CheckRes.SmpCount * 1000 / ch0File.Fs:D4}\t");//信号持续时间ms
 | 
	
		
			
				|  |  |                                                  sb.Append($"{Convert.ToInt64(freq * 1e6):D12}\t");//下行频点
 | 
	
		
			
				|  |  |                                                  sb.Append($"{Convert.ToInt64((freq + 44) * 1e6):D12}\t");//上行频点
 | 
	
		
			
				|  |  |                                                  sb.Append($"{GetSignalType(deteResp.data[i].ModType)}\t");//信号样式(暂定有这些1:CPM,2:BPSK,4:QPSK,9:其它),
 | 
	
	
		
			
				|  | @@ -250,12 +282,12 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |                                                  sb.Append($"{Convert.ToInt64(posLon * 1e6):D10}\t");
 | 
	
		
			
				|  |  |                                                  sb.Append($"{Convert.ToInt64(posLat * 1e6):D10}\t");
 | 
	
		
			
				|  |  |                                                  sb.Append($"{Convert.ToInt64(0 * 1e3):D8}\t");//定位误差km
 | 
	
		
			
				|  |  | -                                                sb.Append($"{Convert.ToInt64(leoX1.Dto1 * 1e2):D10}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{Convert.ToInt64(leoX1.Dfo1 * 1e2):D10}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{Convert.ToInt64(leoX1.Snr1 * 1e2):D6}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{Convert.ToInt64(leoX1.Dto2 * 1e2):D10}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{Convert.ToInt64(leoX1.Dfo2 * 1e2):D10}\t");
 | 
	
		
			
				|  |  | -                                                sb.Append($"{Convert.ToInt64(leoX1.Snr2 * 1e2):D6}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{Convert.ToInt64(posDto.Dto1 * 1e2):D10}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{Convert.ToInt64(posDto.Dfo1 * 1e2):D10}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{Convert.ToInt64(posDto.Snr1 * 1e2):D6}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{Convert.ToInt64(posDto.Dto2 * 1e2):D10}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{Convert.ToInt64(posDto.Dfo2 * 1e2):D10}\t");
 | 
	
		
			
				|  |  | +                                                sb.Append($"{Convert.ToInt64(posDto.Snr2 * 1e2):D6}\t");
 | 
	
		
			
				|  |  |                                                  sb.Append($"{Convert.ToInt64(0 * 1e2):D10}\t");
 | 
	
		
			
				|  |  |                                                  sb.Append($"{Convert.ToInt64(0 * 1e2):D10}\t");
 | 
	
		
			
				|  |  |                                                  sb.Append($"{Convert.ToInt64(0 * 1e2):D6}\t");
 | 
	
	
		
			
				|  | @@ -268,7 +300,7 @@ namespace X3LeoTaskServer54.Service
 | 
	
		
			
				|  |  |                                                  sb.Append($"{4}\t");//定位体制(0未知,1高轨多星,2高低轨,3星地,4星座)
 | 
	
		
			
				|  |  |                                                  sb.Append($"{(long)deteResp.data[i].ModRate.Value:D12}");//符号速率bps  12个
 | 
	
		
			
				|  |  |                                                  sb.Append("\r\n");
 | 
	
		
			
				|  |  | -                                                string resFile = Path.Combine(PosResDir, $"低轨单星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
 | 
	
		
			
				|  |  | +                                                string resFile = Path.Combine(PosResDir, $"低轨三星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
 | 
	
		
			
				|  |  |                                                  lock (this)
 | 
	
		
			
				|  |  |                                                  {
 | 
	
		
			
				|  |  |                                                      File.AppendAllText(resFile, sb.ToString());
 |