Prechádzať zdrojové kódy

更新参数估计添加信号带宽,记得更新数据库哟

wyq 2 rokov pred
rodič
commit
08a2999fe4

BIN
Database.db


BIN
Service/CpuCgServer/AddIns/XcorrCpu.exe


+ 5 - 2
Service/CpuCgServer/AddIns/XcorrUtils.cs

@@ -15,6 +15,7 @@ namespace CpuCgServer
         public long smpStart { get; set; }           //开始样点
         public double smpCount { get; set; }           //样点数
         public double samplingRate { get; set; }    //采样率
+        public double bandHz { get; set; }     //带宽
         public double dtCenter { get; set; }        //时差中心
         public double dtRange { get; set; }         //时差范围
         public double dfRange { get; set; }         //频差范围
@@ -45,6 +46,8 @@ namespace CpuCgServer
 
         public List<XcorrSmp> xcorrSmps { get; set; }
         public double samplingRate { get; set; }    //采样率
+
+        public double bandHz { get; set; }     //带宽
         public double dtCenter { get; set; }        //时差中心
         public double dtRange { get; set; }         //时差范围
         public double dfRange { get; set; }         //频差范围
@@ -98,7 +101,7 @@ namespace CpuCgServer
                     {
                         xs.smpStart = (long)minStart;
                     }
-                    cafp.StartInfo.Arguments = $"{flag} \"{xs.file1}\" \"{xs.file2}\" {(Int64)(xs.samplingRate)} {xs.dtCenter} {xs.dtRange} {xs.dfRange} {xs.smpStart} {xs.smpCount} {xs.snrThreshold}";
+                    cafp.StartInfo.Arguments = $"{flag} \"{xs.file1}\" \"{xs.file2}\" {(Int64)(xs.samplingRate)} {xs.dtCenter} {xs.dtRange} {xs.dfRange} {xs.smpStart} {xs.smpCount} {xs.snrThreshold} {xs.bandHz}";
                 }
                 var exePath = Path.Combine(cafp.StartInfo.WorkingDirectory, "AddIns");
                 cafp.StartInfo.WorkingDirectory = exePath;
@@ -138,7 +141,7 @@ namespace CpuCgServer
 
                 string smparg = $"{xs.xcorrSmps.Count}";
                 xs.xcorrSmps.ForEach(n => smparg += $" {n.smpStart} {n.smpCount}");
-                mucafp.StartInfo.Arguments = $"{flag} \"{xs.file1}\" \"{xs.file2}\" {(Int64)(xs.samplingRate)} {xs.dtCenter} {xs.dtRange} {xs.dfRange} {xs.snrThreshold} {smparg}";
+                mucafp.StartInfo.Arguments = $"{flag} \"{xs.file1}\" \"{xs.file2}\" {(Int64)(xs.samplingRate)} {xs.dtCenter} {xs.dtRange} {xs.dfRange} {xs.snrThreshold} {xs.bandHz} {smparg}";
 
                 var exePath = Path.Combine(mucafp.StartInfo.WorkingDirectory, "AddIns");
                 mucafp.StartInfo.WorkingDirectory = exePath;

+ 7 - 0
Service/CpuCgServer/AddIns/新建 文本文档.txt

@@ -0,0 +1,7 @@
+0 "Z:/xcorr-d1.dat" "Z:/xcorr-d2.dat" 1562500 1778 20 16384 0 1048576 14 bw
+1 "Z:/xcorr-d1.dat" "Z:/xcorr-d2.dat" 1562500 1778 20 16384 0 1048576 14 bw "Z:/res.txt"
+2 "Z:/xcorr-d1.dat" "Z:/xcorr-d2.dat" 1562500 1778 20 16384 1048576 14
+3 "Z:/xcorr-d1.dat" "Z:/xcorr-d2.dat" 1562500 1778 20 16384 1048576 14 "Z:/res.txt"
+
+ [文件] 【文件】  [采样率] [时差中心] 【时差范围】  【频差范围】 [信噪比] [信号带宽] [信号个数] 【开始样点】 【样点长度】【开始样点】 【样点长度】。。。。
+4 "Z:/xcorr-d1.dat" "Z:/xcorr-d2.dat" 1562500 1778 20 16384 14 bw 2 0 1048576 1048576 1048576 

+ 4 - 1
Service/CpuCgServer/Controllers/CpuCgController.cs

@@ -7,6 +7,7 @@ using System.Threading.Tasks;
 using System.Web.Http;
 using XdCxRhDW.Dto;
 using XdCxRhDW.WebApi;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.Rebar;
 
 namespace CpuCgServer.Controllers
 {
@@ -30,6 +31,7 @@ namespace CpuCgServer.Controllers
                 file1 = dto.file1,
                 file2 = dto.file2,
                 samplingRate = dto.samplingRate,
+                bandHz=dto.BandHz,
                 dtCenter = dto.dtCenter,
                 dtRange = dto.dtRange,
                 dfRange = dto.dfRange,
@@ -106,6 +108,7 @@ namespace CpuCgServer.Controllers
             xItem.file1 = dto.file1;
             xItem.file2 = dto.file2;
             xItem.samplingRate = dto.samplingRate;
+            xItem.bandHz = dto.BandHz;
             xItem.dtCenter = dto.dtCenter;
             xItem.dtRange = dto.dtRange;
             xItem.dfRange = dto.dfRange;
@@ -181,7 +184,7 @@ namespace CpuCgServer.Controllers
                     {
                         dto.smpStart = (long)minStart;
                     }
-                    cafp.StartInfo.Arguments = $"{flag} \"{dto.file1}\" \"{dto.file2}\" {(long)(dto.samplingRate)} {dto.dtCenter} {dto.dtRange} {dto.dfRange} {dto.smpStart} {dto.smpCount} {dto.snrThreshold} {outFile}";
+                    cafp.StartInfo.Arguments = $"{flag} \"{dto.file1}\" \"{dto.file2}\" {(long)(dto.samplingRate)} {dto.dtCenter} {dto.dtRange} {dto.dfRange} {dto.smpStart} {dto.smpCount} {dto.snrThreshold} {dto.BandHz} {outFile}";
                 }
 
 

+ 3 - 0
Service/CpuCgServer/CpuCgServer.csproj

@@ -150,6 +150,9 @@
   <ItemGroup>
     <None Include="AddIns\XcorrCpu.txt" />
   </ItemGroup>
+  <ItemGroup>
+    <Content Include="AddIns\新建 文本文档.txt" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
     <PostBuildEvent>del DevExpress*.xml,EntityFramework*.xml,Serilog*.xml,Newtonsoft*.xml

+ 5 - 0
Service/X2D1NoRefTaskServer/Service/TaskService.cs

@@ -346,6 +346,8 @@ namespace X2D1NoRefTaskServer.Service
                                                 samplingRate = minfo.FsHz,
                                                 smpPositions = smps,
                                                 snrThreshold = taskSig.Snr,
+                                                BandHz = taskSig.BandHz,
+
                                             };
                                             if (checkFileType != 0)
                                             {
@@ -368,6 +370,7 @@ namespace X2D1NoRefTaskServer.Service
                                                 samplingRate = minfo.FsHz,
                                                 smpPositions = smps,
                                                 snrThreshold = taskSig.Snr,
+                                                BandHz = taskSig.BandHz,
                                             };
                                             if (checkFileType != 0)
                                             {
@@ -820,6 +823,7 @@ namespace X2D1NoRefTaskServer.Service
                                                     samplingRate = minfo.FsHz,
                                                     smpPositions = smps,
                                                     snrThreshold = taskSig.Snr,
+                                                    BandHz= taskSig.BandHz,
                                                 };
                                                 if (checkFileType != 0)
                                                 {
@@ -842,6 +846,7 @@ namespace X2D1NoRefTaskServer.Service
                                                     samplingRate = minfo.FsHz,
                                                     smpPositions = smps,
                                                     snrThreshold = taskSig.Snr,
+                                                    BandHz = taskSig.BandHz,
                                                 };
                                                 if (checkFileType != 0)
                                                 {

+ 9 - 1
XdCxRhDW.App/CorTools/DetectToolForm.cs

@@ -80,6 +80,7 @@ namespace XdCxRhDW.App.CorTools
                             file1 = file1,
                             file2 = file2,
                             samplingRate = double.Parse(tefs.Text) * 1e6,
+                            BandHz = double.Parse(txtBand.Text) * 1e3,
                             dtCenter = double.Parse(teCenter.Text),
                             dtRange = double.Parse(teRange.Text),
                             dfRange = int.Parse(teDfRange.Text),
@@ -261,7 +262,7 @@ namespace XdCxRhDW.App.CorTools
                             smpstart = dmcItem.Start,
                             smplen = dmcItem.Length,
                             DmcType = dmcItem.DmcType,
-                            SigSnr=dmcItem.Snr,
+                            SigSnr = dmcItem.Snr,
                             SigTime = sigTime,
                             tm = dmcItem.TimeMs,
                             //ModType = dmcItem.ModType,
@@ -312,6 +313,7 @@ namespace XdCxRhDW.App.CorTools
 
                 xItem.smpCount = double.Parse(teCount.Text);
                 xItem.samplingRate = Convert.ToInt32(double.Parse(tefs.Text) * 1e6);
+                xItem.BandHz = double.Parse(txtBand.Text) * 1e3;
                 xItem.dtCenter = int.Parse(teCenter.Text);
                 xItem.dtRange = int.Parse(teRange.Text);
                 xItem.dfRange = int.Parse(teDfRange.Text);
@@ -382,6 +384,7 @@ namespace XdCxRhDW.App.CorTools
                     file1 = btnFile1.Text,
                     file2 = btnFile2.Text,
                     samplingRate = Convert.ToInt32(double.Parse(tefs.Text) * 1e6),
+                    BandHz = double.Parse(txtBand.Text) * 1e3,
                     dtCenter = int.Parse(teCenter.Text),
                     dtRange = int.Parse(teRange.Text),
                     dfRange = int.Parse(teDfRange.Text),
@@ -435,6 +438,8 @@ namespace XdCxRhDW.App.CorTools
             btnCalc.Enabled = ckKY.Checked | ckIBS.Checked | chkDama.Checked ? false : true;
             btnDrawImage.Enabled = btnCalc.Enabled;
             btnCheck.Enabled = !ckKY.Checked && !ckIBS.Checked && !chkDama.Checked ? false : true;
+
+            itemBand.Visibility = lciStartPos.Visibility;
             layoutControl1.BestFit();
         }
         private void ckIBS_CheckedChanged(object sender, EventArgs e)
@@ -453,7 +458,9 @@ namespace XdCxRhDW.App.CorTools
             else
             {
                 itemBand.Visibility = LayoutVisibility.Never;
+                itemBand.Visibility = lciStartPos.Visibility;
             }
+
             layoutControl1.BestFit();
         }
 
@@ -463,6 +470,7 @@ namespace XdCxRhDW.App.CorTools
             btnCalc.Enabled = ckKY.Checked | ckIBS.Checked | chkDama.Checked ? false : true;
             btnDrawImage.Enabled = btnCalc.Enabled;
             btnCheck.Enabled = !ckKY.Checked && !ckIBS.Checked && !chkDama.Checked ? false : true;
+            itemBand.Visibility = lciStartPos.Visibility;
             layoutControl1.BestFit();
         }
 

+ 12 - 13
XdCxRhDW.App/CorTools/DetectToolForm.designer.cs

@@ -28,11 +28,6 @@
         /// </summary>
         private void InitializeComponent()
         {
-            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions8 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject29 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject30 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject31 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject32 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
@@ -63,6 +58,11 @@
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject22 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject23 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject24 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions7 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject25 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject26 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject27 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject28 = new DevExpress.Utils.SerializableAppearanceObject();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
             this.txtFileTime = new DevExpress.XtraEditors.DateEdit();
             this.btnCalc = new DevExpress.XtraEditors.SimpleButton();
@@ -514,7 +514,7 @@
             this.tefs.Name = "tefs";
             this.tefs.Properties.AutoHeight = false;
             this.tefs.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "MHz", -1, false, true, false, editorButtonImageOptions8, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject29, serializableAppearanceObject30, serializableAppearanceObject31, serializableAppearanceObject32, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "MHz", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
             this.tefs.Size = new System.Drawing.Size(82, 20);
             this.tefs.StyleController = this.layoutControl1;
             this.tefs.TabIndex = 6;
@@ -527,7 +527,7 @@
             this.teCenter.Name = "teCenter";
             this.teCenter.Properties.AutoHeight = false;
             this.teCenter.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
             this.teCenter.Size = new System.Drawing.Size(70, 20);
             this.teCenter.StyleController = this.layoutControl1;
             this.teCenter.TabIndex = 7;
@@ -540,7 +540,7 @@
             this.teRange.Name = "teRange";
             this.teRange.Properties.AutoHeight = false;
             this.teRange.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "us", -1, false, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
             this.teRange.Size = new System.Drawing.Size(50, 20);
             this.teRange.StyleController = this.layoutControl1;
             this.teRange.TabIndex = 8;
@@ -553,7 +553,7 @@
             this.teDfRange.Name = "teDfRange";
             this.teDfRange.Properties.AutoHeight = false;
             this.teDfRange.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
             this.teDfRange.Size = new System.Drawing.Size(51, 20);
             this.teDfRange.StyleController = this.layoutControl1;
             this.teDfRange.TabIndex = 11;
@@ -566,7 +566,7 @@
             this.teSnr.Name = "teSnr";
             this.teSnr.Properties.AutoHeight = false;
             this.teSnr.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "dB", -1, false, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "dB", -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.teSnr.Size = new System.Drawing.Size(56, 20);
             this.teSnr.StyleController = this.layoutControl1;
             this.teSnr.TabIndex = 14;
@@ -579,7 +579,7 @@
             this.txtBand.Name = "txtBand";
             this.txtBand.Properties.AutoHeight = false;
             this.txtBand.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "KHz", -1, false, true, false, editorButtonImageOptions5, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject17, serializableAppearanceObject18, serializableAppearanceObject19, serializableAppearanceObject20, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "KHz", -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.txtBand.Size = new System.Drawing.Size(70, 21);
             this.txtBand.StyleController = this.layoutControl1;
             this.txtBand.TabIndex = 6;
@@ -592,7 +592,7 @@
             this.txtTimeout.Name = "txtTimeout";
             this.txtTimeout.Properties.AutoHeight = false;
             this.txtTimeout.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "秒", -1, false, true, false, editorButtonImageOptions6, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject21, serializableAppearanceObject22, serializableAppearanceObject23, serializableAppearanceObject24, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "秒", -1, false, true, false, editorButtonImageOptions7, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject25, serializableAppearanceObject26, serializableAppearanceObject27, serializableAppearanceObject28, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
             this.txtTimeout.Size = new System.Drawing.Size(69, 20);
             this.txtTimeout.StyleController = this.layoutControl1;
             this.txtTimeout.TabIndex = 14;
@@ -864,7 +864,6 @@
             this.itemBand.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
             this.itemBand.TextSize = new System.Drawing.Size(52, 14);
             this.itemBand.TextToControlDistance = 5;
-            this.itemBand.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
             // 
             // layoutControlItem14
             // 

+ 54 - 12
XdCxRhDW.App/EditForms/SigEditor.Designer.cs

@@ -44,6 +44,11 @@
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject10 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject11 = new DevExpress.Utils.SerializableAppearanceObject();
             DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject12 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions4 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject13 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject14 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject15 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject16 = new DevExpress.Utils.SerializableAppearanceObject();
             this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
             this.txtSigType = new DevExpress.XtraEditors.CheckedListBoxControl();
             this.btnOk = new DevExpress.XtraEditors.SimpleButton();
@@ -59,6 +64,8 @@
             this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
             this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             this.dxErrorProvider = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(this.components);
+            this.txtBandHz = new DevExpress.XtraEditors.ButtonEdit();
+            this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
             this.layoutControl1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.txtSigType)).BeginInit();
@@ -73,6 +80,8 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtBandHz.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
             this.SuspendLayout();
             // 
             // layoutControl1
@@ -83,12 +92,13 @@
             this.layoutControl1.Controls.Add(this.txtSnr);
             this.layoutControl1.Controls.Add(this.txtFreqDown);
             this.layoutControl1.Controls.Add(this.txtFreqUp);
+            this.layoutControl1.Controls.Add(this.txtBandHz);
             this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.layoutControl1.Location = new System.Drawing.Point(0, 0);
             this.layoutControl1.Name = "layoutControl1";
             this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(831, 101, 650, 400);
             this.layoutControl1.Root = this.Root;
-            this.layoutControl1.Size = new System.Drawing.Size(249, 325);
+            this.layoutControl1.Size = new System.Drawing.Size(249, 390);
             this.layoutControl1.TabIndex = 0;
             this.layoutControl1.Text = "layoutControl1";
             // 
@@ -98,7 +108,7 @@
             this.txtSigType.MultiColumn = true;
             this.txtSigType.Name = "txtSigType";
             this.txtSigType.ShowFocusRect = true;
-            this.txtSigType.Size = new System.Drawing.Size(205, 55);
+            this.txtSigType.Size = new System.Drawing.Size(205, 66);
             this.txtSigType.StyleController = this.layoutControl1;
             this.txtSigType.TabIndex = 11;
             this.txtSigType.ItemCheck += new DevExpress.XtraEditors.Controls.ItemCheckEventHandler(this.txtSigType_ItemCheck_1);
@@ -106,7 +116,7 @@
             // 
             // btnOk
             // 
-            this.btnOk.Location = new System.Drawing.Point(126, 280);
+            this.btnOk.Location = new System.Drawing.Point(126, 345);
             this.btnOk.Name = "btnOk";
             this.btnOk.Size = new System.Drawing.Size(101, 23);
             this.btnOk.StyleController = this.layoutControl1;
@@ -116,7 +126,7 @@
             // 
             // btnCancel
             // 
-            this.btnCancel.Location = new System.Drawing.Point(22, 280);
+            this.btnCancel.Location = new System.Drawing.Point(22, 345);
             this.btnCancel.Name = "btnCancel";
             this.btnCancel.Size = new System.Drawing.Size(100, 23);
             this.btnCancel.StyleController = this.layoutControl1;
@@ -126,7 +136,7 @@
             // 
             // txtSnr
             // 
-            this.txtSnr.Location = new System.Drawing.Point(22, 243);
+            this.txtSnr.Location = new System.Drawing.Point(22, 308);
             this.txtSnr.Name = "txtSnr";
             this.txtSnr.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
             this.txtSnr.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
@@ -167,10 +177,11 @@
             this.layoutControlItem4,
             this.layoutControlItem5,
             this.layoutControlItem6,
-            this.layoutControlItem1});
+            this.layoutControlItem1,
+            this.layoutControlItem7});
             this.Root.Name = "Root";
             this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(20, 20, 20, 20);
-            this.Root.Size = new System.Drawing.Size(249, 325);
+            this.Root.Size = new System.Drawing.Size(249, 390);
             this.Root.TextVisible = false;
             // 
             // layoutControlItem2
@@ -190,7 +201,7 @@
             // layoutControlItem3
             // 
             this.layoutControlItem3.Control = this.txtSnr;
-            this.layoutControlItem3.Location = new System.Drawing.Point(0, 194);
+            this.layoutControlItem3.Location = new System.Drawing.Point(0, 259);
             this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 54);
             this.layoutControlItem3.MinSize = new System.Drawing.Size(54, 54);
             this.layoutControlItem3.Name = "layoutControlItem3";
@@ -204,7 +215,7 @@
             // layoutControlItem4
             // 
             this.layoutControlItem4.Control = this.btnCancel;
-            this.layoutControlItem4.Location = new System.Drawing.Point(0, 248);
+            this.layoutControlItem4.Location = new System.Drawing.Point(0, 313);
             this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 37);
             this.layoutControlItem4.MinSize = new System.Drawing.Size(35, 37);
             this.layoutControlItem4.Name = "layoutControlItem4";
@@ -217,7 +228,7 @@
             // layoutControlItem5
             // 
             this.layoutControlItem5.Control = this.btnOk;
-            this.layoutControlItem5.Location = new System.Drawing.Point(104, 248);
+            this.layoutControlItem5.Location = new System.Drawing.Point(104, 313);
             this.layoutControlItem5.MaxSize = new System.Drawing.Size(0, 37);
             this.layoutControlItem5.MinSize = new System.Drawing.Size(35, 37);
             this.layoutControlItem5.Name = "layoutControlItem5";
@@ -250,7 +261,7 @@
             this.layoutControlItem1.MinSize = new System.Drawing.Size(54, 21);
             this.layoutControlItem1.Name = "layoutControlItem1";
             this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
-            this.layoutControlItem1.Size = new System.Drawing.Size(209, 86);
+            this.layoutControlItem1.Size = new System.Drawing.Size(209, 97);
             this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             this.layoutControlItem1.Text = "信号类型";
             this.layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top;
@@ -260,11 +271,38 @@
             // 
             this.dxErrorProvider.ContainerControl = this;
             // 
+            // txtBandHz
+            // 
+            this.txtBandHz.Location = new System.Drawing.Point(22, 254);
+            this.txtBandHz.Name = "txtBandHz";
+            this.txtBandHz.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
+            this.txtBandHz.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "Hz", -1, false, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.txtBandHz.Size = new System.Drawing.Size(205, 23);
+            this.txtBandHz.StyleController = this.layoutControl1;
+            this.txtBandHz.TabIndex = 4;
+            // 
+            // layoutControlItem7
+            // 
+            this.layoutControlItem7.Control = this.txtBandHz;
+            this.layoutControlItem7.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
+            this.layoutControlItem7.CustomizationFormText = "门限";
+            this.layoutControlItem7.Location = new System.Drawing.Point(0, 205);
+            this.layoutControlItem7.MaxSize = new System.Drawing.Size(0, 54);
+            this.layoutControlItem7.MinSize = new System.Drawing.Size(54, 54);
+            this.layoutControlItem7.Name = "layoutControlItem7";
+            this.layoutControlItem7.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 12, 2);
+            this.layoutControlItem7.Size = new System.Drawing.Size(209, 54);
+            this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            this.layoutControlItem7.Text = "带宽";
+            this.layoutControlItem7.TextLocation = DevExpress.Utils.Locations.Top;
+            this.layoutControlItem7.TextSize = new System.Drawing.Size(48, 14);
+            // 
             // SigEditor
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(249, 325);
+            this.ClientSize = new System.Drawing.Size(249, 390);
             this.Controls.Add(this.layoutControl1);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
             this.Name = "SigEditor";
@@ -284,6 +322,8 @@
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.dxErrorProvider)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txtBandHz.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -305,5 +345,7 @@
         private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider;
         private DevExpress.XtraEditors.CheckedListBoxControl txtSigType;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraEditors.ButtonEdit txtBandHz;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
     }
 }

+ 7 - 0
XdCxRhDW.App/EditForms/SigEditor.cs

@@ -50,6 +50,7 @@ namespace XdCxRhDW.App.EditForms
                 this.txtFreqUp.EditValue = info.FreqUp / 1e6;
                 this.txtFreqDown.EditValue = info.FreqDown / 1e6;
                 this.txtSnr.EditValue = info.Snr;
+                this.txtBandHz.EditValue = info.Band;
                 var arr = Enum.GetValues(typeof(EnumSigCheckType));
                 foreach (EnumSigCheckType item in arr)
                 {
@@ -89,6 +90,11 @@ namespace XdCxRhDW.App.EditForms
                     DxHelper.MsgBoxHelper.ShowError("请选择信号类型");
                     return;
                 }
+                if (!double.TryParse(txtBandHz.Text, out double bandHz))
+                {
+                    dxErrorProvider.SetError(txtBandHz, "带宽格式错误");
+                    return;
+                }
                 if (!double.TryParse(txtSnr.Text, out double snr))
                 {
                     dxErrorProvider.SetError(txtSnr, "门限格式错误");
@@ -105,6 +111,7 @@ namespace XdCxRhDW.App.EditForms
                 info.FreqUp = frequp;
                 info.FreqDown = (long)(freqDown * 1000000);
                 info.Snr = Convert.ToDouble(txtSnr.EditValue);
+                info.Band = bandHz;
                 var res = txtSigType.Items.Where(p => p.CheckState == CheckState.Checked).Select(t => (EnumSigCheckType)t.Value).ToList();
                 EnumSigCheckType sigType = res.First();
                 for (int i = 1; i < res.Count; i++)

+ 1 - 0
XdCxRhDW.App/UserControl/CtrlHome.cs

@@ -593,6 +593,7 @@ namespace XdCxRhDW.App.UserControl
                                 {
                                     FreqDown = item.SigInfo.FreqDown,
                                     FreqUp = item.SigInfo.FreqUp,
+                                    BandHz=item.SigInfo.Band,
                                     SigType = (EnumSigCheckTypeDto)item.SigInfo.SigType,
                                     Snr = item.SigInfo.Snr,
                                     TaskInfoID = item.TaskInfoID,

+ 1 - 0
XdCxRhDW.App/UserControl/CtrlSignal.cs

@@ -88,6 +88,7 @@ namespace XdCxRhDW.App.UserControl
                     find.FreqUp = editItem.FreqUp;
                     find.FreqDown = editItem.FreqDown;
                     find.SigType = editItem.SigType;
+                    find.Band = editItem.Band;
                     find.Snr = editItem.Snr;
                     await db.SaveChangesAsync();
                 }

+ 4 - 0
XdCxRhDW.Entity/SigInfo.cs

@@ -29,5 +29,9 @@ namespace XdCxRhDW.Entity
 
         [Display(Name = "门限(dB)")]
         public double Snr { get; set; }
+
+
+        [Display(Name = "带宽(Hz)")]
+        public double Band { get; set; }
     }
 }

+ 7 - 0
XdCxRhDw.Dto/CpuCgDto.cs

@@ -47,6 +47,13 @@ namespace XdCxRhDW.Dto
         [RangeDouble(0, 100e6)]
         public double samplingRate { get; set; }
 
+        /// <summary>
+        /// 信号带宽(Hz)
+        /// </summary>
+        [RangeDouble(0, 100e6, IncludeMin = true)]
+        public double BandHz { get; set; }
+
+
         /// <summary>
         /// 时差中心(us)
         /// </summary>

+ 7 - 0
XdCxRhDw.Dto/CpuCgMultiDto.cs

@@ -36,6 +36,13 @@ namespace XdCxRhDW.Dto
         [RangeDouble(0, 100e6)]
         public double samplingRate { get; set; }
 
+
+        /// <summary>
+        /// 信号带宽(Hz)
+        /// </summary>
+        [RangeDouble(0, 100e6, IncludeMin = true)]
+        public double BandHz { get; set; }
+
         /// <summary>
         /// 时差中心(us)
         /// </summary>

+ 5 - 0
XdCxRhDw.Dto/TaskSigDto.cs

@@ -31,6 +31,11 @@ namespace XdCxRhDW.Dto
         /// </summary>
         public long FreqDown { get; set; }
 
+        /// <summary>
+        /// 带宽Hz
+        /// </summary>
+        public double BandHz { get; set; }
+
         /// <summary>
         /// 信号类型
         /// </summary>