public double 功率计读取脉冲后沿数值(频率工作范围 freq) { _SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置频率((int)freq + "MHz")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.TRIGGER_SYSTEM.设置Slope("NEG")); Thread.Sleep(1000); return(Math.Round(_PowerMeter.VisaRead_double(_SCPI_PowerMeter.SENSE_SYSTEM.读取脉冲后沿()) * 1000000000, 2)); }
public void 该测试前设置(频率工作范围 freq, 宽类型 pulseWidth, decimal dutyRadio) { 冲源基础设置(pulseWidth, dutyRadio); _ControlModule.SwitchControl(ControlModule.仪表选择.功率计); _PowerMeter.VisaWrite(_SCPI_PowerMeter.CALC_SYSTEM.设置MeasureType(1, "1", PowerMeterSCPIBase_Keysight.CALCulate_System.MeasureType.PEAK)); _PowerMeter.VisaWrite(_SCPI_PowerMeter.UNIT_SYSTEM.设置UNIT(2, "W")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_Unit(1, "W")); Thread.Sleep(2000); }
public double Get指标要求(频率工作范围 freq) { if ((int)freq <= (int)频率工作范围.F05) { return(45); } else { return(50); } }
public double Start(频率工作范围 freq, ControlModule.功率控制 control) { 补偿设置(freq); _ControlModule.PowerControl(control); _SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置频率((int)freq + "MHz")); _Spec.VisaWrite(_SCPI_SPEC.SENSE_SYSTEM.设置中心频率center((int)freq + "MHz")); Thread.Sleep(300); _Spec.VisaWrite(_SCPI_SPEC.CALC_SYSTEM.设置MARK最大MAX(1)); Thread.Sleep(300); return(Math.Round(_Spec.VisaRead_double(_SCPI_SPEC.CALC_SYSTEM.读取MARK点(1)), 2)); }
public double 功率计读取顶降值(频率工作范围 freq) { 补偿设置(freq); _SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置频率((int)freq + "MHz")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_AutoScale()); Thread.Sleep(2500);//等待AutoScale时间 double _P1 = Convert.ToDouble(_PowerMeter.VisaRead_double(_SCPI_PowerMeter.SENSE_SYSTEM.读取GateSetup_MARK_POW(1, 1, 1))); Thread.Sleep(200); double _P2 = Convert.ToDouble(_PowerMeter.VisaRead_double(_SCPI_PowerMeter.SENSE_SYSTEM.读取GateSetup_MARK_POW(1, 1, 2))); return(Math.Round(_P1 - _P2, 2)); }
public void 补偿设置(频率工作范围 freq) { //L0信号源补偿 = Convert.ToDecimal(Modules.ucJiaoZhun.CalibrationObjectList.Find(m => m.FileName == "XHY.prn").CalibrationData[LX频率校准映射[freq]]); L1功率计补偿 = Convert.ToDecimal(Modules.ucJiaoZhun.CalibrationObjectList.Find(m => m.FileName == "GLJ.prn").CalibrationData[LX频率校准映射[freq]]); L2频谱仪补偿 = Convert.ToDecimal(Modules.ucJiaoZhun.CalibrationObjectList.Find(m => m.FileName == "PPY.prn").CalibrationData[LX频率校准映射[freq]]); //if (freq != 频率工作范围.F13 && freq != 频率工作范围.F14) //{ // _SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置功率("2.5dbm")); //} //else //{ // _SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置功率("2dbm")); //} //_SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置功率Offsets(L0信号源补偿.ToString())); //_SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置频率(string.Format("{0}MHz", (int)freq))); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置增益DB补偿Offset(1, (-L1功率计补偿).ToString())); }
public void 该测试前设置(频率工作范围 freq, 宽类型 pulseWidth, decimal dutyRadio) { 补偿设置(freq); 冲源基础设置(pulseWidth, dutyRadio); _ControlModule.SwitchControl(ControlModule.仪表选择.功率计); _PowerMeter.VisaWrite(_SCPI_PowerMeter.CALC_SYSTEM.设置MeasureType(1, "1", PowerMeterSCPIBase_Keysight.CALCulate_System.MeasureType.AVER)); if (pulseWidth == 宽类型._60μs) { _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_X_Scale(1, "0.000008")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_X_Start(1, "-0.000005")); } else { _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_X_Scale(1, "0.0000006")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_X_Start(1, "-0.000001")); } Thread.Sleep(3000); }
//算法2 public double 读取脉内信杂比(频率工作范围 freq) { 补偿设置(freq); _Spec.VisaWrite(_SCPI_Spec.SENSE_SYSTEM.设置中心频率center((int)freq + "MHz")); _SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置频率((int)freq + "MHz")); Thread.Sleep(500); int mainSignalCountInSpan = 4; List <double> noiseList = new List <double>(); List <double> maxList = new List <double>(); double[] resAllY = _Spec.VisaReads(_SCPI_Spec.CALC_SYSTEM.读取所有Y值()); if (resAllY != null && resAllY.Length != 0) { noiseList.AddRange(resAllY); } else { return(0); } for (int i = 0; i < mainSignalCountInSpan; i++) { maxList.Add(noiseList.Max()); noiseList.Remove(noiseList.Max()); } double noiseAvg; if (noiseList.Where(M => M < -60).Count() != 0) { noiseAvg = noiseList.Where(M => M < -60).Average(); } else { return(0); } double res = maxList.Average() - noiseAvg; return(Math.Round(res, 2)); }
public void 该测试前设置(频率工作范围 freq, 宽类型 pulseWidth, decimal dutyRadio) { 冲源基础设置(pulseWidth, dutyRadio); _ControlModule.SwitchControl(ControlModule.仪表选择.频谱仪); _Spec.VisaWrite(_SCPI_Spec.SYSTEM_SYSTEM.控时保持显示()); _Spec.VisaWrite(_SCPI_Spec.DISPLAY_SYSTEM.设置参考电平("1", "10")); if (pulseWidth == 宽类型._5μs) { _Spec.VisaWrite(_SCPI_Spec.SENSE_SYSTEM.设置Span("160KHz")); } else { _Spec.VisaWrite(_SCPI_Spec.SENSE_SYSTEM.设置Span("13.3KHz")); } _Spec.VisaWrite(_SCPI_Spec.SENSE_SYSTEM.设置RBW("10Hz")); _Spec.VisaWrite(_SCPI_Spec.SENSE_SYSTEM.设置VBW("1Hz")); Thread.Sleep(1200); }
public void 该测试前设置(频率工作范围 freq, 宽类型 pulseWidth, decimal dutyRadio) { 冲源基础设置(pulseWidth, dutyRadio); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SYSTEM_SYSTEM.PRESET模式("RADar")); Thread.Sleep(2800); _ControlModule.SwitchControl(ControlModule.仪表选择.功率计); _PowerMeter.VisaWrite(_SCPI_PowerMeter.CALC_SYSTEM.设置MeasureType(1, "1", PowerMeterSCPIBase_Keysight.CALCulate_System.MeasureType.PTAV)); _PowerMeter.VisaWrite(_SCPI_PowerMeter.UNIT_SYSTEM.设置UNIT(2, "DBM")); if (pulseWidth == 宽类型._60μs) { _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置GateSetup_MARK1_TIME(1, 1, "6us")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置GateSetup_MARK1到MARK2_TIME(1, 1, "48us")); } else { _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置GateSetup_MARK1_TIME(1, 1, "0.5us")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置GateSetup_MARK1到MARK2_TIME(1, 1, "4us")); } Thread.Sleep(2000); }
public double 功率计读取峰值功率(频率工作范围 freq, 宽类型 pulseWidth) { 补偿设置(freq); _SignalGener.VisaWrite(_SCPI_SignalGenerator.SOURCE_SYSTEM.设置频率((int)freq + "MHz")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置Freq((int)freq + "MHz")); if (pulseWidth == 宽类型._60μs) { _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_X_Scale(1, "0.00001")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_X_Start(1, "-0.00003")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置GateSetup_MARK1_TIME(1, 1, "6us")); } else { _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_X_Scale(1, "0.0000008")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_X_Start(1, "-0.000001")); _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置GateSetup_MARK1_TIME(1, 1, "700ns")); } _PowerMeter.VisaWrite(_SCPI_PowerMeter.SENSE_SYSTEM.设置TraceSetup_AutoScale()); Thread.Sleep(1000); return(Math.Round(_PowerMeter.VisaRead_double(_SCPI_PowerMeter.MEASUREMENT_SYSTEM.读取Fetch数值(2)), 2)); }
public double Get指标要求(频率工作范围 freq) { return(100); }
public double Get指标要求(频率工作范围 freq) { return(0.5); }