zoulei há 1 ano atrás
pai
commit
3547ad78d3

+ 3 - 3
Service/X1LeoTaskServer54/App.config

@@ -11,13 +11,13 @@
 		<add key="PosPlatformAddr" value="http://127.0.0.1:8091" />
 		<add key="PosPlatformAddr" value="http://127.0.0.1:8091" />
 
 
 		<!--采集数据目录-->
 		<!--采集数据目录-->
-		<add key="CapDir" value="E:\data10\低轨单星仿真数据"/>
+		<add key="CapDir" value="D:\data10\低轨单星仿真数据"/>
 
 
 		<!--定位结果输出目录-->
 		<!--定位结果输出目录-->
-		<add key="PosResDir" value="E:\PosRes"/>
+		<add key="PosResDir" value="D:\PosRes"/>
 
 
 		<!--状态上报目录-->
 		<!--状态上报目录-->
-		<add key="StateRptDir" value="E:\StateRes"/>
+		<add key="StateRptDir" value="D:\StateRes"/>
 
 
 		<!--卫星及星历-->
 		<!--卫星及星历-->
 		<add key ="Time1SatInfo" value="1234,-1608416.82,5994263.83,3139842.12,-6632.9542,-373.9141,-2678.0471"/>
 		<add key ="Time1SatInfo" value="1234,-1608416.82,5994263.83,3139842.12,-6632.9542,-373.9141,-2678.0471"/>

+ 208 - 204
Service/X1LeoTaskServer54/Service/TaskService.cs

@@ -35,7 +35,6 @@ namespace X1LeoTaskServer54.Service
                 this.baseUrl = posPlatformAddr + "api/";
                 this.baseUrl = posPlatformAddr + "api/";
             else
             else
                 this.baseUrl = posPlatformAddr + "/api/";
                 this.baseUrl = posPlatformAddr + "/api/";
-            DirectoryInfo d = new DirectoryInfo("");
             CapDir = ConfigurationManager.AppSettings["CapDir"].Trim();
             CapDir = ConfigurationManager.AppSettings["CapDir"].Trim();
             PosResDir = ConfigurationManager.AppSettings["PosResDir"].Trim();
             PosResDir = ConfigurationManager.AppSettings["PosResDir"].Trim();
             StateDir = ConfigurationManager.AppSettings["StateRptDir"].Trim();
             StateDir = ConfigurationManager.AppSettings["StateRptDir"].Trim();
@@ -79,7 +78,7 @@ namespace X1LeoTaskServer54.Service
                         {
                         {
                             var mainInfo = ConfigurationManager.AppSettings["Time1SatInfo"].Replace(",", ",").Trim();
                             var mainInfo = ConfigurationManager.AppSettings["Time1SatInfo"].Replace(",", ",").Trim();
                             var adja1Info = ConfigurationManager.AppSettings["Time2SatInfo"].Replace(",", ",").Trim();
                             var adja1Info = ConfigurationManager.AppSettings["Time2SatInfo"].Replace(",", ",").Trim();
-                            var adja2Info = ConfigurationManager.AppSettings["Time2SatInfo"].Replace(",", ",").Trim();
+                            var adja2Info = ConfigurationManager.AppSettings["Time3SatInfo"].Replace(",", ",").Trim();
                             var arr1 = mainInfo.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr1 = mainInfo.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr2 = adja1Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr2 = adja1Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr3 = adja2Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr3 = adja2Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
@@ -96,7 +95,6 @@ namespace X1LeoTaskServer54.Service
                         #endregion
                         #endregion
 
 
                         #region 第2步,扫描检测结果目录
                         #region 第2步,扫描检测结果目录
-                        //同一个AD文件得到的不同频点的检测文件FlagNo相同
                         var groupFiles = Directory.EnumerateFiles(CapDir, "*.dat", SearchOption.TopDirectoryOnly).Select(p => StringToAdFile(p))
                         var groupFiles = Directory.EnumerateFiles(CapDir, "*.dat", SearchOption.TopDirectoryOnly).Select(p => StringToAdFile(p))
                         .GroupBy(m => m.XDNo).OrderBy(m => m.Key);
                         .GroupBy(m => m.XDNo).OrderBy(m => m.Key);
 
 
@@ -105,223 +103,229 @@ namespace X1LeoTaskServer54.Service
                             await LogHelper.Info($"【任务{dto.ID}】等待扫描文件...");
                             await LogHelper.Info($"【任务{dto.ID}】等待扫描文件...");
                             await Task.Delay(10000);
                             await Task.Delay(10000);
                         }
                         }
-                        var listTask = new List<Task>();
                         foreach (var groupFile in groupFiles)//每一组文件代表同一组可定位的三个不同时刻的采集文件
                         foreach (var groupFile in groupFiles)//每一组文件代表同一组可定位的三个不同时刻的采集文件
                         {
                         {
                             if (cts.IsCancellationRequested) break;
                             if (cts.IsCancellationRequested) break;
-
                             var first = groupFile.First();
                             var first = groupFile.First();
                             await LogHelper.Info($"【任务{dto.ID}】正在执行第{first.XDNo}组的采集文件");
                             await LogHelper.Info($"【任务{dto.ID}】正在执行第{first.XDNo}组的采集文件");
-
                             var group = groupFile.OrderBy(g => g.AdTime).ToArray();
                             var group = groupFile.OrderBy(g => g.AdTime).ToArray();
-                            if (group.Count() != 3)
-                            {
-                                await LogHelper.Warning($"【任务{dto.ID}】第{first.XDNo}组{first.AdTime:yyyyMMddHHmmss}时刻-信号{first.FreqDownMHz}MHz-未找到三个时刻的信号文件,跳过此组数据");
-                                return;
-                            }
-                            //group:同一组不同时刻的文件
-                            var task = Task.Run(async () =>
+                            var freqsData = group.GroupBy(p => p.FreqDownMHz);
+                            var listTask = new List<Task>();
+                            foreach (var item in freqsData)
                             {
                             {
-                                DateTime adTime = groupFile.First().AdTime;
-                                double freq = groupFile.First().FreqDownMHz;
-                                int No = groupFile.First().XDNo;
-                                var ch0File = group[0];
-                                var ch1File = group[1];
-                                var ch2File = group[2];
-                                if (cts.IsCancellationRequested) return;
+                                var list = item.ToList();
+                                if (list.Count != 3)
+                                {
+                                    await LogHelper.Warning($"【任务{dto.ID}】第{first.XDNo}组{first.AdTime:yyyyMMddHHmmss}时刻-信号{list.First().FreqDownMHz}MHz-未找到三个时刻的信号文件,跳过此组数据");
+                                    return;
+                                }
+                                //group:同一组不同时刻的文件
+                                var task = Task.Run(async () =>
+                                {
+                                    DateTime adTime = item.First().AdTime;
+                                    double freq = item.First().FreqDownMHz;
+                                    int No = item.First().XDNo;
+                                    var ch0File = list[0];
+                                    var ch1File = list[1];
+                                    var ch2File = list[2];
+                                    if (cts.IsCancellationRequested) return;
 
 
 
 
-                                Stopwatch sw = new Stopwatch();
-                                sw.Start();
-                                string mainFile = await HttpHelper.UploadFileAsync(ch0File.File, baseUrl, token: cts.Token);//主星文件
-                                string adja1File = await HttpHelper.UploadFileAsync(ch1File.File, baseUrl, token: cts.Token);//邻1星文件
-                                string adja2File = await HttpHelper.UploadFileAsync(ch2File.File, baseUrl, token: cts.Token);//邻2星文件
+                                    Stopwatch sw = new Stopwatch();
+                                    sw.Start();
+                                    string mainFile = await HttpHelper.UploadFileAsync(ch0File.File, baseUrl, token: cts.Token);//主星文件
+                                    string adja1File = await HttpHelper.UploadFileAsync(ch1File.File, baseUrl, token: cts.Token);//邻1星文件
+                                    string adja2File = await HttpHelper.UploadFileAsync(ch2File.File, baseUrl, token: cts.Token);//邻2星文件
 
 
-                                DetectDto detectDto = new DetectDto()
-                                {
-                                    file1 = mainFile,
-                                    dmcType = EnumSigCheckTypeDto.Ky5758,
-                                    fsHz = ch0File.Fs,
-                                    mergeRes = true,
-                                    SigProc = true,
-                                };
+                                    DetectDto detectDto = new DetectDto()
+                                    {
+                                        file1 = mainFile,
+                                        dmcType = EnumSigCheckTypeDto.Ky5758,
+                                        fsHz = ch0File.Fs,
+                                        mergeRes = true,
+                                        SigProc = true,
+                                    };
 
 
-                                var deteResp = await HttpHelper.PostRequestAsync<List<DetectResDto>>(baseUrl + "DetectCg/DetectCalc", detectDto, token: cts.Token);
-                                if (deteResp.code != 200)
-                                {
-                                    await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz信号检测出错.{deteResp.msg}");
-                                    return;
-                                }
-                                var smps = deteResp.data.Select(m => new SmpPosition(m.Start, m.Length)).ToList();//怎么补0?
+                                    var deteResp = await HttpHelper.PostRequestAsync<List<DetectResDto>>(baseUrl + "DetectCg/DetectCalc", detectDto, token: cts.Token);
+                                    if (deteResp.code != 200)
+                                    {
+                                        await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz信号检测出错.{deteResp.msg}");
+                                        return;
+                                    }
+                                    var smps = deteResp.data.Select(m => new SmpPosition(m.Start, m.Length)).ToList();//怎么补0?
 
 
-                                await LogHelper.Info($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-CPU参估开始,共{smps.Count}个突发...");
-                                var cgDto = new CpuCgMultiDto()
-                                {
-                                    dtCenter = 0,
-                                    dtRange = 40000,
-                                    file1 = mainFile,
-                                    file2 = adja1File,
-                                    samplingRate = ch0File.Fs,
-                                    smpPositions = smps,
-                                    snrThreshold = 15,
-                                };
-                                var result1 = await HttpHelper.PostRequestAsync<List<CpuCgResDto>>(baseUrl + "DetectCg/CpuCgMultiCalc", cgDto, token: cts.Token);
-                                if (result1.code != 200)
-                                {
-                                    await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-主星邻1星CPU参估出错.{result1.msg}");
-                                    return;
-                                }
-                                cgDto = new CpuCgMultiDto()
-                                {
-                                    dtCenter = 0,
-                                    dtRange = 40000,
-                                    file1 = mainFile,
-                                    file2 = adja2File,
-                                    samplingRate = ch0File.Fs,
-                                    smpPositions = smps,
-                                    snrThreshold = 15,
-                                };
-                                var result2 = await HttpHelper.PostRequestAsync<List<CpuCgResDto>>(baseUrl + "DetectCg/CpuCgMultiCalc", cgDto, token: cts.Token);
-                                sw.Stop();
-                                if (result2.code != 200)
-                                {
-                                    await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-主星邻2星CPU参估出错.{result2.msg}");
-                                    return;
-                                }
-                                await LogHelper.Info($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-CPU参估完成,耗时{sw.ElapsedMilliseconds}ms");
-                                var data1 = result1.data;
-                                var data2 = result2.data;
-                                if (data1.Count != data2.Count || data1.Count != cgDto.smpPositions.Count)
-                                {
-                                    await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-参估结果个数和检测结果个数不匹配");
-                                    return;
-                                }
-                                sw.Start();
-                                for (int i = 0; i < data1.Count; i++)
-                                {
-                                    try
+                                    await LogHelper.Info($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-CPU参估开始,共{smps.Count}个突发...");
+                                    var cgDto = new CpuCgMultiDto()
+                                    {
+                                        dtCenter = 0,
+                                        dtRange = 40000,
+                                        file1 = mainFile,
+                                        file2 = adja1File,
+                                        samplingRate = ch0File.Fs,
+                                        smpPositions = smps,
+                                        snrThreshold = 15,
+                                    };
+                                    var result1 = await HttpHelper.PostRequestAsync<List<CpuCgResDto>>(baseUrl + "DetectCg/CpuCgMultiCalc", cgDto, token: cts.Token);
+                                    if (result1.code != 200)
+                                    {
+                                        await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-主星邻1星CPU参估出错.{result1.msg}");
+                                        return;
+                                    }
+                                    cgDto = new CpuCgMultiDto()
+                                    {
+                                        dtCenter = 0,
+                                        dtRange = 40000,
+                                        file1 = mainFile,
+                                        file2 = adja2File,
+                                        samplingRate = ch0File.Fs,
+                                        smpPositions = smps,
+                                        snrThreshold = 15,
+                                    };
+                                    var result2 = await HttpHelper.PostRequestAsync<List<CpuCgResDto>>(baseUrl + "DetectCg/CpuCgMultiCalc", cgDto, token: cts.Token);
+                                    sw.Stop();
+                                    if (result2.code != 200)
                                     {
                                     {
-                                        if (cts.IsCancellationRequested) break;
-                                        LeoX1ParPosDto leoX1 = new LeoX1ParPosDto()
+                                        await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-主星邻2星CPU参估出错.{result2.msg}");
+                                        return;
+                                    }
+                                    await LogHelper.Info($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-CPU参估完成,耗时{sw.ElapsedMilliseconds}ms");
+                                    var data1 = result1.data;
+                                    var data2 = result2.data;
+                                    if (data1.Count != data2.Count || data1.Count != cgDto.smpPositions.Count)
+                                    {
+                                        await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-参估结果个数和检测结果个数不匹配");
+                                        return;
+                                    }
+                                    sw.Start();
+                                    for (int i = 0; i < data1.Count; i++)
+                                    {
+                                        try
                                         {
                                         {
-                                            TaskID = dto.ID,
-                                            SigTime = adTime.AddSeconds(data1[i].TimeSeconds),
-                                            MainCode = MainSatCode,
-                                            Adja1Code = MainSatCode,
-                                            Adja2Code = MainSatCode,
-                                            MainX = Time1XYZ[0],
-                                            MainY = Time1XYZ[1],
-                                            MainZ = Time1XYZ[2],
-                                            MainVX = Time1XYZ[3],
-                                            MainVY = Time1XYZ[4],
-                                            MainVZ = Time1XYZ[5],
-                                            Adja1X = Time2XYZ[0],
-                                            Adja1Y = Time2XYZ[1],
-                                            Adja1Z = Time2XYZ[2],
-                                            Adja1VX = Time2XYZ[3],
-                                            Adja1VY = Time2XYZ[4],
-                                            Adja1VZ = Time2XYZ[5],
-                                            Adja2X = Time3XYZ[0],
-                                            Adja2Y = Time3XYZ[1],
-                                            Adja2Z = Time3XYZ[2],
-                                            Adja2VX = Time3XYZ[3],
-                                            Adja2VY = Time3XYZ[4],
-                                            Adja2VZ = Time3XYZ[5],
-                                            Dto1 = PosDtoFactor * data1[i].Dt,
-                                            Dfo1 = data1[i].Df,
-                                            Snr1 = data1[i].Snr,
-                                            Dto2 = PosDtoFactor * data2[i].Dt,
-                                            Dfo2 = data2[i].Df,
-                                            Snr2 = data2[i].Snr,
-                                            FreqUp = (ch0File.FreqDownMHz + 44) * 1e6,
-                                            SatTxLon = dto.CapLon,
-                                            SatTxLat = dto.CapLat,
-                                            FreqDown = ch0File.FreqDownMHz * 1e6,
-                                            CheckRes = new CheckResDto()
+                                            if (cts.IsCancellationRequested) break;
+                                            LeoX1ParPosDto leoX1 = new LeoX1ParPosDto()
                                             {
                                             {
-                                                FileName = Path.GetFileName(ch0File.File),
-                                                SmpStart = cgDto.smpPositions[i].smpStart,
-                                                SmpCount = cgDto.smpPositions[i].smpCount,
-                                                PosCheckType = EnumPosCheckTypeDto.Ky5758,
-                                            }
-                                        };
-                                        var result = await HttpHelper.PostRequestAsync<PosResDto>(baseUrl + "Pos/PosLeX1ParAsync", leoX1);
-                                        if (result.code != 200)
-                                        {
-                                            await LogHelper.Error($"【任务{dto.ID}】第{No}组-{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz 第{i + 1}个突发定位异常.{result.msg}");
-                                        }
-                                        else
-                                        {
-                                            var posRes = result.data;
-                                            double posLon = posRes.PosLon;
-                                            double posLat = posRes.PosLat;
-                                            if (leoX1.Snr1 == 0 || leoX1.Snr2 == 0)
+                                                TaskID = dto.ID,
+                                                SigTime = adTime.AddSeconds(data1[i].TimeSeconds),
+                                                MainCode = MainSatCode,
+                                                Adja1Code = MainSatCode,
+                                                Adja2Code = MainSatCode,
+                                                MainX = Time1XYZ[0],
+                                                MainY = Time1XYZ[1],
+                                                MainZ = Time1XYZ[2],
+                                                MainVX = Time1XYZ[3],
+                                                MainVY = Time1XYZ[4],
+                                                MainVZ = Time1XYZ[5],
+                                                Adja1X = Time2XYZ[0],
+                                                Adja1Y = Time2XYZ[1],
+                                                Adja1Z = Time2XYZ[2],
+                                                Adja1VX = Time2XYZ[3],
+                                                Adja1VY = Time2XYZ[4],
+                                                Adja1VZ = Time2XYZ[5],
+                                                Adja2X = Time3XYZ[0],
+                                                Adja2Y = Time3XYZ[1],
+                                                Adja2Z = Time3XYZ[2],
+                                                Adja2VX = Time3XYZ[3],
+                                                Adja2VY = Time3XYZ[4],
+                                                Adja2VZ = Time3XYZ[5],
+                                                Dto1 = PosDtoFactor * data1[i].Dt,
+                                                Dfo1 = data1[i].Df,
+                                                Snr1 = data1[i].Snr,
+                                                Dto2 = PosDtoFactor * data2[i].Dt,
+                                                Dfo2 = data2[i].Df,
+                                                Snr2 = data2[i].Snr,
+                                                FreqUp = (ch0File.FreqDownMHz + 44) * 1e6,
+                                                SatTxLon = dto.CapLon,
+                                                SatTxLat = dto.CapLat,
+                                                FreqDown = ch0File.FreqDownMHz * 1e6,
+                                                CheckRes = new CheckResDto()
+                                                {
+                                                    FileName = Path.GetFileName(ch0File.File),
+                                                    SmpStart = cgDto.smpPositions[i].smpStart,
+                                                    SmpCount = cgDto.smpPositions[i].smpCount,
+                                                    PosCheckType = EnumPosCheckTypeDto.Ky5758,
+                                                }
+                                            };
+                                            var result = await HttpHelper.PostRequestAsync<PosResDto>(baseUrl + "Pos/PosLeX1ParAsync", leoX1);
+                                            if (result.code != 200)
                                             {
                                             {
-                                                posLon = 0;
-                                                posLat = 0;
+                                                await LogHelper.Error($"【任务{dto.ID}】第{No}组-{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz 第{i + 1}个突发定位异常.{result.msg}");
                                             }
                                             }
-                                            ErrorEllipseLeoX1Dto errdto = new ErrorEllipseLeoX1Dto()
+                                            else
                                             {
                                             {
-                                                MsEph = Time1XYZ,
-                                                NsEph1 = Time2XYZ,
-                                                NsEph2 = Time3XYZ,
-                                                SelectPoint = new double[3] { posLon, posLat,0 },
-                                                DfoErr=DfoErrHz,
-                                                EphPosErr=EphPosErrM,
-                                                EphVelErr=EphVelErr,
-                                                fu= leoX1.FreqUp,
-                                                Pe=0.5,
-                                                OutputErrPoint=false
-                                            };
-                                          var errRes =await  GetErrEllipseResDto(errdto, posLon,posLat);
-                                            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($"{Convert.ToInt64(group.First().FreqDownMHz * 1e6):D12}\t");//下行频点
-                                            sb.Append($"{Convert.ToInt64((group.First().FreqDownMHz + 44) * 1e6):D12}\t");//上行频点
-                                            sb.Append($"{GetSignalType(deteResp.data[i].ModType)}\t");//信号样式(暂定有这些1:CPM,2:BPSK,4:QPSK,9:其它),
-                                            sb.Append($"{0:D4}\t");//目标序号
-                                            sb.Append($"res\t");
-                                            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(0 * 1e2):D10}\t");
-                                            sb.Append($"{Convert.ToInt64(0 * 1e2):D10}\t");
-                                            sb.Append($"{Convert.ToInt64(0 * 1e2):D6}\t");
-                                            sb.Append($"{(long)errRes.LongRadius:D8}\t");//长轴m
-                                            sb.Append($"{(long)errRes.ShortRadius:D8}\t");//短轴m
-                                            sb.Append($"{(long)errRes.DipAngle:D7}\t");//倾角°
-                                            sb.Append($"{data1.Count:D2}\t");//时隙属性
-                                            sb.Append($"{1}\t");//所属卫星
-                                            sb.Append($"{100:D3}\t");//置信度
-                                            sb.Append($"{4}\t");//定位体制(星地=3)
-                                            sb.Append($"{(long)deteResp.data[i].ModRate.Value:D12}");//符号速率bps  12个
-                                            sb.Append("\r\n");
-                                            string resFile = Path.Combine(PosResDir, $"低轨单星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
-                                            File.AppendAllText(resFile, sb.ToString());
+                                                var posRes = result.data;
+                                                double posLon = posRes.PosLon;
+                                                double posLat = posRes.PosLat;
+                                                if (leoX1.Snr1 == 0 || leoX1.Snr2 == 0)
+                                                {
+                                                    posLon = 0;
+                                                    posLat = 0;
+                                                }
+                                                ErrorEllipseLeoX1Dto errdto = new ErrorEllipseLeoX1Dto()
+                                                {
+                                                    MsEph = Time1XYZ,
+                                                    NsEph1 = Time2XYZ,
+                                                    NsEph2 = Time3XYZ,
+                                                    SelectPoint = new double[3] { posLon, posLat, 0 },
+                                                    DfoErr = DfoErrHz,
+                                                    EphPosErr = EphPosErrM,
+                                                    EphVelErr = EphVelErr,
+                                                    fu = leoX1.FreqUp,
+                                                    Pe = 0.5,
+                                                    OutputErrPoint = false
+                                                };
+                                                var errRes = await GetErrEllipseResDto(errdto, posLon, posLat);
+                                                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($"{Convert.ToInt64(group.First().FreqDownMHz * 1e6):D12}\t");//下行频点
+                                                sb.Append($"{Convert.ToInt64((group.First().FreqDownMHz + 44) * 1e6):D12}\t");//上行频点
+                                                sb.Append($"{GetSignalType(deteResp.data[i].ModType)}\t");//信号样式(暂定有这些1:CPM,2:BPSK,4:QPSK,9:其它),
+                                                sb.Append($"{0:D4}\t");//目标序号
+                                                sb.Append($"res\t");
+                                                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(0 * 1e2):D10}\t");
+                                                sb.Append($"{Convert.ToInt64(0 * 1e2):D10}\t");
+                                                sb.Append($"{Convert.ToInt64(0 * 1e2):D6}\t");
+                                                sb.Append($"{(long)errRes.LongRadius:D8}\t");//长轴m
+                                                sb.Append($"{(long)errRes.ShortRadius:D8}\t");//短轴m
+                                                sb.Append($"{(long)errRes.DipAngle:D7}\t");//倾角°
+                                                sb.Append($"{data1.Count:D2}\t");//时隙属性
+                                                sb.Append($"{1}\t");//所属卫星
+                                                sb.Append($"{100:D3}\t");//置信度
+                                                sb.Append($"{4}\t");//定位体制(星地=3)
+                                                sb.Append($"{(long)deteResp.data[i].ModRate.Value:D12}");//符号速率bps  12个
+                                                sb.Append("\r\n");
+                                                string resFile = Path.Combine(PosResDir, $"低轨单星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
+                                                lock (this)
+                                                {
+                                                    File.AppendAllText(resFile, sb.ToString());
+                                                }
+                                            }
+                                        }
+                                        catch (Exception ex)
+                                        {
+                                            await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-时隙位置{data1[i].Smpstart}定位异常", ex);
                                         }
                                         }
                                     }
                                     }
-                                    catch (Exception ex)
-                                    {
-                                        await LogHelper.Error($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-时隙位置{data1[i].Smpstart}定位异常", ex);
-                                    }
-                                }
-                                sw.Stop();
-                                await LogHelper.Info($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-定位完成,耗时{sw.ElapsedMilliseconds}ms");
-                            }, cts.Token);
-                            listTask.Add(task);
+                                    sw.Stop();
+                                    await LogHelper.Info($"【任务{dto.ID}】第{No}组{adTime:yyyyMMddHHmmss}时刻-信号{freq}MHz-定位完成,耗时{sw.ElapsedMilliseconds}ms");
+                                }, cts.Token);
+                                listTask.Add(task);
+                            }
                             await Task.WhenAll(listTask);
                             await Task.WhenAll(listTask);
                         }
                         }
                         #endregion
                         #endregion
@@ -374,12 +378,12 @@ namespace X1LeoTaskServer54.Service
             return signalType;
             return signalType;
         }
         }
 
 
-        private async Task<ErrEllipseResDto> GetErrEllipseResDto(ErrorEllipseLeoX1Dto dto,double posLon,double posLat)
+        private async Task<ErrEllipseResDto> GetErrEllipseResDto(ErrorEllipseLeoX1Dto dto, double posLon, double posLat)
         {
         {
             ErrEllipseResDto errRes = new ErrEllipseResDto();
             ErrEllipseResDto errRes = new ErrEllipseResDto();
             if (posLon != 0 && posLat != 0 && posLon != 999 && posLat != 999)
             if (posLon != 0 && posLat != 0 && posLon != 999 && posLat != 999)
             {
             {
-               
+
                 var errResRsp = await HttpHelper.PostRequestAsync<ErrEllipseResDto>(baseUrl + "Ellipse/X1Leo", dto);
                 var errResRsp = await HttpHelper.PostRequestAsync<ErrEllipseResDto>(baseUrl + "Ellipse/X1Leo", dto);
                 if (errResRsp.code != 200)
                 if (errResRsp.code != 200)
                 {
                 {
@@ -419,9 +423,9 @@ namespace X1LeoTaskServer54.Service
 
 
         private AdFile StringToAdFile(string file)
         private AdFile StringToAdFile(string file)
         {
         {
-            //20240409094240_ADC_ch02.dat
+            //20240625151700_D260_FS96000_ch1_xd1.dat
             var name = Path.GetFileNameWithoutExtension(file).ToUpper();
             var name = Path.GetFileNameWithoutExtension(file).ToUpper();
-            var arr = name.Split(new string[] { "_", "CH", "C", "XD" }, StringSplitOptions.RemoveEmptyEntries);
+            var arr = name.Split(new string[] { "_", "D", "FS", "XD" }, StringSplitOptions.RemoveEmptyEntries);
             var time = DateTime.ParseExact(arr[0], "yyyyMMddHHmmss", null);
             var time = DateTime.ParseExact(arr[0], "yyyyMMddHHmmss", null);
 
 
             AdFile adFile = new AdFile()
             AdFile adFile = new AdFile()

+ 4 - 1
Service/X2D1TaskServer54/Service/TaskService.cs

@@ -385,7 +385,10 @@ namespace X2D1NoRefTaskServer54.Service
                                                 sb.Append($"{(long)signalResult.data[i].Rate:D12}");//符号速率bps
                                                 sb.Append($"{(long)signalResult.data[i].Rate:D12}");//符号速率bps
                                                 sb.Append("\r\n");
                                                 sb.Append("\r\n");
                                                 string resFile = Path.Combine(PosResDir, $"两星一地定位结果_{posRes.SigTime:yyyyMMdd}.txt");
                                                 string resFile = Path.Combine(PosResDir, $"两星一地定位结果_{posRes.SigTime:yyyyMMdd}.txt");
-                                                File.AppendAllText(resFile, sb.ToString());
+                                                lock (this)
+                                                {
+                                                    File.AppendAllText(resFile, sb.ToString());
+                                                }
                                             }
                                             }
                                         }
                                         }
                                         catch (Exception ex)
                                         catch (Exception ex)

+ 4 - 1
Service/X2LeoTaskServer54/Service/TaskService.cs

@@ -350,7 +350,10 @@ namespace X2LeoTaskServer54.Service
                                             sb.Append($"{(long)deteResp.data[i].ModRate.Value:D12}");//符号速率bps  12个
                                             sb.Append($"{(long)deteResp.data[i].ModRate.Value:D12}");//符号速率bps  12个
                                             sb.Append("\r\n");
                                             sb.Append("\r\n");
                                             string resFile = Path.Combine(PosResDir, $"低轨双星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
                                             string resFile = Path.Combine(PosResDir, $"低轨双星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
-                                            File.AppendAllText(resFile, sb.ToString());
+                                            lock (this)
+                                            {
+                                                File.AppendAllText(resFile, sb.ToString());
+                                            }
                                         }
                                         }
                                     }
                                     }
                                     catch (Exception ex)
                                     catch (Exception ex)

+ 5 - 2
Service/X3LeoTaskServer54/Service/TaskService.cs

@@ -79,7 +79,7 @@ namespace X3LeoTaskServer54.Service
                         {
                         {
                             var mainInfo = ConfigurationManager.AppSettings["Time1SatInfo"].Replace(",", ",").Trim();
                             var mainInfo = ConfigurationManager.AppSettings["Time1SatInfo"].Replace(",", ",").Trim();
                             var adja1Info = ConfigurationManager.AppSettings["Time2SatInfo"].Replace(",", ",").Trim();
                             var adja1Info = ConfigurationManager.AppSettings["Time2SatInfo"].Replace(",", ",").Trim();
-                            var adja2Info = ConfigurationManager.AppSettings["Time2SatInfo"].Replace(",", ",").Trim();
+                            var adja2Info = ConfigurationManager.AppSettings["Time3SatInfo"].Replace(",", ",").Trim();
                             var arr1 = mainInfo.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr1 = mainInfo.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr2 = adja1Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr2 = adja1Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr3 = adja2Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                             var arr3 = adja2Info.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
@@ -310,7 +310,10 @@ namespace X3LeoTaskServer54.Service
                                             sb.Append($"{(long)deteResp.data[i].ModRate.Value:D12}");//符号速率bps  12个
                                             sb.Append($"{(long)deteResp.data[i].ModRate.Value:D12}");//符号速率bps  12个
                                             sb.Append("\r\n");
                                             sb.Append("\r\n");
                                             string resFile = Path.Combine(PosResDir, $"低轨单星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
                                             string resFile = Path.Combine(PosResDir, $"低轨单星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
-                                            File.AppendAllText(resFile, sb.ToString());
+                                            lock (this)
+                                            {
+                                                File.AppendAllText(resFile, sb.ToString());
+                                            }
                                         }
                                         }
                                     }
                                     }
                                     catch (Exception ex)
                                     catch (Exception ex)

+ 4 - 1
Service/X3TaskServer54/Service/TaskService.cs

@@ -360,7 +360,10 @@ namespace X3TaskServer54.Service
                                                 sb.Append($"{(long)signalResult.data[i].Rate:D12}");//符号速率bps
                                                 sb.Append($"{(long)signalResult.data[i].Rate:D12}");//符号速率bps
                                                 sb.Append("\r\n");
                                                 sb.Append("\r\n");
                                                 string resFile = Path.Combine(PosResDir, $"高轨三星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
                                                 string resFile = Path.Combine(PosResDir, $"高轨三星定位结果_{posRes.SigTime:yyyyMMdd}.txt");
-                                                File.AppendAllText(resFile, sb.ToString());
+                                                lock (this)
+                                                {
+                                                    File.AppendAllText(resFile, sb.ToString());
+                                                }
                                             }
                                             }
                                         }
                                         }
                                         catch (Exception ex)
                                         catch (Exception ex)

+ 31 - 3
XdCxRhDW.Api/AddIns/低轨/LeoPosApi.cs

@@ -97,7 +97,7 @@ namespace XdCxRhDW.Api
         /// <param name="LOP_Len"></param>
         /// <param name="LOP_Len"></param>
         [DllImport(leoPos, EntryPoint = "SingleStar_PCX", CallingConvention = CallingConvention.Cdecl)]
         [DllImport(leoPos, EntryPoint = "SingleStar_PCX", CallingConvention = CallingConvention.Cdecl)]
         public extern static void SingleStar_PCX(double[] main_sat, double[] neigh_sat
         public extern static void SingleStar_PCX(double[] main_sat, double[] neigh_sat
-            , double[] Zone, double target_dfo, double fu, out IntPtr LOP_Value, ref int LOP_Len); 
+            , double[] Zone, double target_dfo, double fu, out IntPtr LOP_Value, ref int LOP_Len);
 
 
         public static double[] X1_POS(CgRes cg, double upfreqHz)
         public static double[] X1_POS(CgRes cg, double upfreqHz)
         {
         {
@@ -109,7 +109,21 @@ namespace XdCxRhDW.Api
             double[] res = new double[6];
             double[] res = new double[6];
             SingleStar_DFO_DW(mainSat, adjaSat1, adjaSat2, zone, cg.Dfo1.Value, cg.Dfo2.Value, upfreqHz, res);
             SingleStar_DFO_DW(mainSat, adjaSat1, adjaSat2, zone, cg.Dfo1.Value, cg.Dfo2.Value, upfreqHz, res);
 
 
-            return ConvertToGeoPoint(res);
+            var posRes = ConvertToGeoPoint(res);
+            if (posRes[1] < 5 && posRes[4] > 10 && posRes[4] < 30)
+            {
+
+                var p0 = posRes[0];
+                var p1 = posRes[1];
+                var p2 = posRes[2];
+                posRes[0] = posRes[3];
+                posRes[1] = posRes[4];
+                posRes[2] = posRes[5];
+                posRes[3] = p0;
+                posRes[4] = p1;
+                posRes[5] = p2;
+            }
+            return posRes;
         }
         }
 
 
         /// <summary>
         /// <summary>
@@ -132,7 +146,21 @@ namespace XdCxRhDW.Api
             var refDto = (cg.YbMainDto.Value - cg.YbAdja1Dto.Value) / 1e6;
             var refDto = (cg.YbMainDto.Value - cg.YbAdja1Dto.Value) / 1e6;
             var refDfo = cg.YbMainDfo.Value - cg.YbAdja1Dfo.Value;
             var refDfo = cg.YbMainDfo.Value - cg.YbAdja1Dfo.Value;
             TwoStar_DTFO_DW(mainSat, adjaSat1, refStation, zone, cg.Dto1.Value / 1e6, cg.Dfo1.Value, refDto, refDfo, upfreqHz1, upfreqHz2, res);
             TwoStar_DTFO_DW(mainSat, adjaSat1, refStation, zone, cg.Dto1.Value / 1e6, cg.Dfo1.Value, refDto, refDfo, upfreqHz1, upfreqHz2, res);
-            return ConvertToGeoPoint(res);
+            var posRes = ConvertToGeoPoint(res);
+            if (posRes[1] < 5 && posRes[4] > 10 && posRes[4] < 30)
+            {
+
+                var p0 = posRes[0];
+                var p1 = posRes[1];
+                var p2 = posRes[2];
+                posRes[0] = posRes[3];
+                posRes[1] = posRes[4];
+                posRes[2] = posRes[5];
+                posRes[3] = p0;
+                posRes[4] = p1;
+                posRes[5] = p2;
+            }
+            return posRes;
         }
         }
         private static double[] ConvertToGeoPoint(double[] res)
         private static double[] ConvertToGeoPoint(double[] res)
         {
         {

+ 12 - 8
XdCxRhDW.Api/AddIns/信号仿真/DataEmulationHelper.cs

@@ -16,8 +16,8 @@ namespace XdCxRhDW.Api
         [DllImport(dll, EntryPoint = "genSignalsWithDtDf", CallingConvention = CallingConvention.Cdecl)]
         [DllImport(dll, EntryPoint = "genSignalsWithDtDf", CallingConvention = CallingConvention.Cdecl)]
         private extern static void GenSignalsWithDtDfCore(string file1, string file2, long fsHz, int sigLenMs, double dt, double df, int snr2, int snr1);
         private extern static void GenSignalsWithDtDfCore(string file1, string file2, long fsHz, int sigLenMs, double dt, double df, int snr2, int snr1);
 
 
-        [DllImport(dll, EntryPoint = "genSignalsWithTwoDtDf", CallingConvention = CallingConvention.Cdecl)]
-        private extern static void GenSignalsWithTwoDtDf(string file1, string file2, string file3, long fsHz, int sigLenMs, double dt1, double df1, double dt2, double df2, int snr2, int snr1, int snr3);
+        [DllImport(dll, EntryPoint = "genSignalsWithDtDfEx", CallingConvention = CallingConvention.Cdecl)]
+        private extern static void GenSignalsWithTwoDtDf(string file1, string file2, string file3, long fsHz, int sigLenMs, double dt1, double df1, double dt2, double df2, int snr3, int snr2, int snr1);
 
 
         //生成噪声,文件,采样率,时长ms,最大幅度
         //生成噪声,文件,采样率,时长ms,最大幅度
         [DllImport(dll, EntryPoint = "genNoizes", CallingConvention = CallingConvention.Cdecl)]
         [DllImport(dll, EntryPoint = "genNoizes", CallingConvention = CallingConvention.Cdecl)]
@@ -42,17 +42,21 @@ namespace XdCxRhDW.Api
         /// <summary>
         /// <summary>
         /// 生成两组(ch1、ch2、ch3三个文件)常规信号文件
         /// 生成两组(ch1、ch2、ch3三个文件)常规信号文件
         /// </summary>
         /// </summary>
-        /// <param name="file1">输出文件1</param>
-        /// <param name="file2">输出文件2</param>
+        /// <param name="file1">输出文件1(主)</param>
+        /// <param name="file2">输出文件2(邻1)</param>
+        /// <param name="file3">输出文件3(邻2)</param>
         /// <param name="fsHz">采样率Hz</param>
         /// <param name="fsHz">采样率Hz</param>
         /// <param name="sigTimeLenMs">信号时长(毫秒)</param>
         /// <param name="sigTimeLenMs">信号时长(毫秒)</param>
-        /// <param name="dt">时差秒</param>
-        /// <param name="df">频差Hz</param>
+        /// <param name="dt1">时差1(秒)</param>
+        /// <param name="df1">频差1</param>
+        /// <param name="dt2">时差2</param>
+        /// <param name="df2">频差2</param>
         /// <param name="snr1">文件1信噪比</param>
         /// <param name="snr1">文件1信噪比</param>
         /// <param name="snr2">文件2信噪比</param>
         /// <param name="snr2">文件2信噪比</param>
+        /// <param name="snr3">文件3信噪比</param>
         public static void GenNormalFiles(string file1, string file2, string file3, long fsHz, int sigTimeLenMs, double dt1, double df1, double dt2, double df2, int snr1, int snr2, int snr3)
         public static void GenNormalFiles(string file1, string file2, string file3, long fsHz, int sigTimeLenMs, double dt1, double df1, double dt2, double df2, int snr1, int snr2, int snr3)
         {
         {
-            GenSignalsWithTwoDtDf(file1, file2, file3, fsHz, sigTimeLenMs, dt1, df1, dt2, df2, snr2, snr1, snr3);
+            GenSignalsWithTwoDtDf(file1, file2, file3, fsHz, sigTimeLenMs, dt1, df1, dt2, df2, snr3, snr2, snr1);
         }
         }
         /// <summary>
         /// <summary>
         /// 生成单个噪声文件
         /// 生成单个噪声文件
@@ -137,7 +141,7 @@ namespace XdCxRhDW.Api
             var n13 = File.ReadAllBytes("n13.dat");
             var n13 = File.ReadAllBytes("n13.dat");
             var s1 = File.ReadAllBytes("s1.dat");
             var s1 = File.ReadAllBytes("s1.dat");
             var s2 = File.ReadAllBytes("s2.dat");
             var s2 = File.ReadAllBytes("s2.dat");
-            var s3 = File.ReadAllBytes("s2.dat");
+            var s3 = File.ReadAllBytes("s3.dat");
             var n21 = File.ReadAllBytes("n21.dat");
             var n21 = File.ReadAllBytes("n21.dat");
             var n22 = File.ReadAllBytes("n22.dat");
             var n22 = File.ReadAllBytes("n22.dat");
             var n23 = File.ReadAllBytes("n23.dat");
             var n23 = File.ReadAllBytes("n23.dat");

BIN
XdCxRhDW.Api/AddIns/信号仿真/SignalEmulation.dll


+ 16 - 0
XdCxRhDW.Api/AddIns/信号仿真/SignalEmulation.h

@@ -153,6 +153,22 @@ extern "C"
 	///
 	///
 	SignalEmulation_EXPORT void genSignalsWithDtDf(char *file1, char *file2, __int64 fsample, int tlenms, double dt, double df, int snr1, int snr2);
 	SignalEmulation_EXPORT void genSignalsWithDtDf(char *file1, char *file2, __int64 fsample, int tlenms, double dt, double df, int snr1, int snr2);
 
 
+	///
+	/// 根据给定时频差生成信号
+	/// f1		主星文件	
+	/// f2		邻星文件
+	/// fsample 采样率
+	// tlenms			生成信号时长   ms
+	/// dt		时差
+	/// df		频差
+	///  snr1    邻1
+	///  snr2    邻2
+	///  snrmain    主
+	///
+	SignalEmulation_EXPORT void genSignalsWithDtDfEx(char *file1, char *file2, char *file3, __int64 fsample, int tlenms
+		, double dt1, double df1, double dt2, double df2, int snr1, int snr2, int snrmain);
+
+
 
 
 	///
 	///
 	/// 根据给定时频差生成信号
 	/// 根据给定时频差生成信号

+ 74 - 74
XdCxRhDW.App/EditForms/SignalEmulation.Designer.cs

@@ -59,49 +59,49 @@
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject23 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject23 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject24 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject24 = new DevExpress.Utils.SerializableAppearanceObject();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            this.txtSplitTime = new DevExpress.XtraEditors.CheckEdit();
             this.btnOpenDir = new DevExpress.XtraEditors.SimpleButton();
             this.btnOpenDir = new DevExpress.XtraEditors.SimpleButton();
             this.btnBuild = new DevExpress.XtraEditors.SimpleButton();
             this.btnBuild = new DevExpress.XtraEditors.SimpleButton();
             this.txtFsHz = new DevExpress.XtraEditors.ButtonEdit();
             this.txtFsHz = new DevExpress.XtraEditors.ButtonEdit();
             this.txtSigLen = new DevExpress.XtraEditors.ButtonEdit();
             this.txtSigLen = new DevExpress.XtraEditors.ButtonEdit();
             this.txtDto1 = new DevExpress.XtraEditors.ButtonEdit();
             this.txtDto1 = new DevExpress.XtraEditors.ButtonEdit();
             this.txtDfo1 = new DevExpress.XtraEditors.ButtonEdit();
             this.txtDfo1 = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtDto2 = new DevExpress.XtraEditors.ButtonEdit();
+            this.txtDfo2 = new DevExpress.XtraEditors.ButtonEdit();
             this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
             this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
             this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
             this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
             this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.tablePanel1 = new DevExpress.Utils.Layout.TablePanel();
-            this.txtDto2 = new DevExpress.XtraEditors.ButtonEdit();
             this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.txtDfo2 = new DevExpress.XtraEditors.ButtonEdit();
             this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.txtSplitTime = new DevExpress.XtraEditors.CheckEdit();
-            this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
+            this.tablePanel1 = new DevExpress.Utils.Layout.TablePanel();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
             this.layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txtSplitTime.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtFsHz.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtFsHz.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtSigLen.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtSigLen.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDto1.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDto1.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDfo1.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDfo1.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtDto2.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtDfo2.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.tablePanel1)).BeginInit();
-            this.tablePanel1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtDto2.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtDfo2.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtSplitTime.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.tablePanel1)).BeginInit();
+            this.tablePanel1.SuspendLayout();
             this.SuspendLayout();
             this.SuspendLayout();
             // 
             // 
             // layoutControl1
             // layoutControl1
@@ -125,6 +125,16 @@
             this.layoutControl1.TabIndex = 0;
             this.layoutControl1.TabIndex = 0;
             this.layoutControl1.Text = "layoutControl1";
             this.layoutControl1.Text = "layoutControl1";
             // 
             // 
+            // txtSplitTime
+            // 
+            this.txtSplitTime.EditValue = true;
+            this.txtSplitTime.Location = new System.Drawing.Point(12, 12);
+            this.txtSplitTime.Name = "txtSplitTime";
+            this.txtSplitTime.Properties.Caption = "分时信号";
+            this.txtSplitTime.Size = new System.Drawing.Size(372, 20);
+            this.txtSplitTime.StyleController = this.layoutControl1;
+            this.txtSplitTime.TabIndex = 9;
+            // 
             // btnOpenDir
             // btnOpenDir
             // 
             // 
             this.btnOpenDir.Location = new System.Drawing.Point(210, 214);
             this.btnOpenDir.Location = new System.Drawing.Point(210, 214);
@@ -189,6 +199,28 @@
             this.txtDfo1.StyleController = this.layoutControl1;
             this.txtDfo1.StyleController = this.layoutControl1;
             this.txtDfo1.TabIndex = 6;
             this.txtDfo1.TabIndex = 6;
             // 
             // 
+            // txtDto2
+            // 
+            this.txtDto2.EditValue = "1500";
+            this.txtDto2.Location = new System.Drawing.Point(12, 177);
+            this.txtDto2.Name = "txtDto2";
+            this.txtDto2.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions5, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject17, serializableAppearanceObject18, serializableAppearanceObject19, serializableAppearanceObject20, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtDto2.Size = new System.Drawing.Size(184, 23);
+            this.txtDto2.StyleController = this.layoutControl1;
+            this.txtDto2.TabIndex = 6;
+            // 
+            // txtDfo2
+            // 
+            this.txtDfo2.EditValue = "4311";
+            this.txtDfo2.Location = new System.Drawing.Point(200, 177);
+            this.txtDfo2.Name = "txtDfo2";
+            this.txtDfo2.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions6, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject21, serializableAppearanceObject22, serializableAppearanceObject23, serializableAppearanceObject24, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtDfo2.Size = new System.Drawing.Size(184, 23);
+            this.txtDfo2.StyleController = this.layoutControl1;
+            this.txtDfo2.TabIndex = 6;
+            // 
             // Root
             // Root
             // 
             // 
             this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
             this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
@@ -250,6 +282,15 @@
             this.layoutControlItem4.TextSize = new System.Drawing.Size(48, 14);
             this.layoutControlItem4.TextSize = new System.Drawing.Size(48, 14);
             this.layoutControlItem4.TextToControlDistance = 5;
             this.layoutControlItem4.TextToControlDistance = 5;
             // 
             // 
+            // layoutControlItem9
+            // 
+            this.layoutControlItem9.Control = this.txtSplitTime;
+            this.layoutControlItem9.Location = new System.Drawing.Point(0, 0);
+            this.layoutControlItem9.Name = "layoutControlItem9";
+            this.layoutControlItem9.Size = new System.Drawing.Size(376, 24);
+            this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
+            this.layoutControlItem9.TextVisible = false;
+            // 
             // layoutControlItem5
             // layoutControlItem5
             // 
             // 
             this.layoutControlItem5.Control = this.txtDto1;
             this.layoutControlItem5.Control = this.txtDto1;
@@ -312,35 +353,6 @@
             this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
             this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
             this.layoutControlItem8.TextVisible = false;
             this.layoutControlItem8.TextVisible = false;
             // 
             // 
-            // tablePanel1
-            // 
-            this.tablePanel1.Columns.AddRange(new DevExpress.Utils.Layout.TablePanelColumn[] {
-            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 5F),
-            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Absolute, 400F),
-            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 5F)});
-            this.tablePanel1.Controls.Add(this.layoutControl1);
-            this.tablePanel1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.tablePanel1.Location = new System.Drawing.Point(0, 0);
-            this.tablePanel1.Name = "tablePanel1";
-            this.tablePanel1.Rows.AddRange(new DevExpress.Utils.Layout.TablePanelRow[] {
-            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 26F),
-            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Absolute, 280F),
-            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 26F)});
-            this.tablePanel1.Size = new System.Drawing.Size(551, 434);
-            this.tablePanel1.TabIndex = 1;
-            this.tablePanel1.UseSkinIndents = true;
-            // 
-            // txtDto2
-            // 
-            this.txtDto2.EditValue = "1000";
-            this.txtDto2.Location = new System.Drawing.Point(12, 177);
-            this.txtDto2.Name = "txtDto2";
-            this.txtDto2.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions5, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject17, serializableAppearanceObject18, serializableAppearanceObject19, serializableAppearanceObject20, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtDto2.Size = new System.Drawing.Size(184, 23);
-            this.txtDto2.StyleController = this.layoutControl1;
-            this.txtDto2.TabIndex = 6;
-            // 
             // layoutControlItem1
             // layoutControlItem1
             // 
             // 
             this.layoutControlItem1.Control = this.txtDto2;
             this.layoutControlItem1.Control = this.txtDto2;
@@ -359,17 +371,6 @@
             this.layoutControlItem1.TextSize = new System.Drawing.Size(31, 14);
             this.layoutControlItem1.TextSize = new System.Drawing.Size(31, 14);
             this.layoutControlItem1.TextToControlDistance = 5;
             this.layoutControlItem1.TextToControlDistance = 5;
             // 
             // 
-            // txtDfo2
-            // 
-            this.txtDfo2.EditValue = "200";
-            this.txtDfo2.Location = new System.Drawing.Point(200, 177);
-            this.txtDfo2.Name = "txtDfo2";
-            this.txtDfo2.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions6, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject21, serializableAppearanceObject22, serializableAppearanceObject23, serializableAppearanceObject24, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.txtDfo2.Size = new System.Drawing.Size(184, 23);
-            this.txtDfo2.StyleController = this.layoutControl1;
-            this.txtDfo2.TabIndex = 6;
-            // 
             // layoutControlItem2
             // layoutControlItem2
             // 
             // 
             this.layoutControlItem2.Control = this.txtDfo2;
             this.layoutControlItem2.Control = this.txtDfo2;
@@ -388,24 +389,23 @@
             this.layoutControlItem2.TextSize = new System.Drawing.Size(31, 14);
             this.layoutControlItem2.TextSize = new System.Drawing.Size(31, 14);
             this.layoutControlItem2.TextToControlDistance = 5;
             this.layoutControlItem2.TextToControlDistance = 5;
             // 
             // 
-            // txtSplitTime
-            // 
-            this.txtSplitTime.EditValue = true;
-            this.txtSplitTime.Location = new System.Drawing.Point(12, 12);
-            this.txtSplitTime.Name = "txtSplitTime";
-            this.txtSplitTime.Properties.Caption = "分时信号";
-            this.txtSplitTime.Size = new System.Drawing.Size(372, 20);
-            this.txtSplitTime.StyleController = this.layoutControl1;
-            this.txtSplitTime.TabIndex = 9;
-            // 
-            // layoutControlItem9
+            // tablePanel1
             // 
             // 
-            this.layoutControlItem9.Control = this.txtSplitTime;
-            this.layoutControlItem9.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem9.Name = "layoutControlItem9";
-            this.layoutControlItem9.Size = new System.Drawing.Size(376, 24);
-            this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem9.TextVisible = false;
+            this.tablePanel1.Columns.AddRange(new DevExpress.Utils.Layout.TablePanelColumn[] {
+            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 5F),
+            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Absolute, 400F),
+            new DevExpress.Utils.Layout.TablePanelColumn(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 5F)});
+            this.tablePanel1.Controls.Add(this.layoutControl1);
+            this.tablePanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tablePanel1.Location = new System.Drawing.Point(0, 0);
+            this.tablePanel1.Name = "tablePanel1";
+            this.tablePanel1.Rows.AddRange(new DevExpress.Utils.Layout.TablePanelRow[] {
+            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 26F),
+            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Absolute, 280F),
+            new DevExpress.Utils.Layout.TablePanelRow(DevExpress.Utils.Layout.TablePanelEntityStyle.Relative, 26F)});
+            this.tablePanel1.Size = new System.Drawing.Size(551, 434);
+            this.tablePanel1.TabIndex = 1;
+            this.tablePanel1.UseSkinIndents = true;
             // 
             // 
             // SignalEmulation
             // SignalEmulation
             // 
             // 
@@ -421,26 +421,26 @@
             this.Text = "时频差数据仿真";
             this.Text = "时频差数据仿真";
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
             this.layoutControl1.ResumeLayout(false);
             this.layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.txtSplitTime.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtFsHz.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtFsHz.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtSigLen.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtSigLen.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDto1.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDto1.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDfo1.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtDfo1.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtDto2.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtDfo2.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.tablePanel1)).EndInit();
-            this.tablePanel1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.txtDto2.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtDfo2.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtSplitTime.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.tablePanel1)).EndInit();
+            this.tablePanel1.ResumeLayout(false);
             this.ResumeLayout(false);
             this.ResumeLayout(false);
 
 
         }
         }

+ 6 - 6
XdCxRhDW.App/EditForms/SignalEmulation.cs

@@ -75,15 +75,15 @@ namespace XdCxRhDW.DataEmulation
                 string f1, f2, f3;
                 string f1, f2, f3;
                 if (txtSplitTime.Checked)
                 if (txtSplitTime.Checked)
                 {
                 {
-                    f1 = $"信号仿真\\{t1:yyyyMMddHHmmss}_突发信号_{fsHz}_ch1.dat";
-                    f2 = $"信号仿真\\{t1.AddMinutes(5):yyyyMMddHHmmss}_突发信号_{fsHz}_ch1.dat";
-                    f3 = $"信号仿真\\{t1.AddMinutes(10):yyyyMMddHHmmss}_突发信号_{fsHz}_ch1.dat";
+                    f1 = $"信号仿真\\{t1:yyyyMMddHHmmss}_D{260}_{fsHz}_ch1_xd1.dat";
+                    f2 = $"信号仿真\\{t1.AddMinutes(5):yyyyMMddHHmmss}_D{260}_{fsHz}_ch1_xd1.dat";
+                    f3 = $"信号仿真\\{t1.AddMinutes(10):yyyyMMddHHmmss}_D{260}_{fsHz}_ch1_xd1.dat";
                 }
                 }
                 else
                 else
                 {
                 {
-                    f1 = $"信号仿真\\{t1:yyyyMMddHHmmss}_突发信号_{fsHz}_ch1.dat";
-                    f2 = $"信号仿真\\{t1:yyyyMMddHHmmss}_突发信号_{fsHz}_ch2.dat";
-                    f3 = $"信号仿真\\{t1:yyyyMMddHHmmss}_突发信号_{fsHz}_ch3.dat";
+                    f1 = $"信号仿真\\{t1:yyyyMMddHHmmss}_D{260}_{fsHz}_ch1.dat";
+                    f2 = $"信号仿真\\{t1:yyyyMMddHHmmss}_D{260}_{fsHz}_ch2.dat";
+                    f3 = $"信号仿真\\{t1:yyyyMMddHHmmss}_D{260}_{fsHz}_ch3.dat";
                 }
                 }
                 DataEmulationHelper.GenBrustFiles(f1, f2, f3, fsHz, brustCount, dt1, df1, dt2, df2);
                 DataEmulationHelper.GenBrustFiles(f1, f2, f3, fsHz, brustCount, dt1, df1, dt2, df2);
             });
             });

+ 3 - 1
XdCxRhDW.App/XdCxRhDW.App.csproj

@@ -700,7 +700,9 @@ xcopy x86 AddIns\x86 /EHCIY
 rmdir x86 /S/Q
 rmdir x86 /S/Q
 rmdir x64 /S/Q
 rmdir x64 /S/Q
 rmdir logs /S/Q
 rmdir logs /S/Q
-rmdir wwwroot /S/Q</PostBuildEvent>
+rmdir wwwroot /S/Q
+rmdir 信号仿真 /S/Q
+</PostBuildEvent>
   </PropertyGroup>
   </PropertyGroup>
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
     <PropertyGroup>
     <PropertyGroup>