Averaging of traces for VNA/SA mode

This commit is contained in:
Jan Käberich 2020-10-23 11:39:07 +02:00
parent 74e068d8d1
commit 398db2253d
7 changed files with 92 additions and 133 deletions

View File

@ -155,6 +155,17 @@ SpectrumAnalyzer::SpectrumAnalyzer(AppWindow *window)
}); });
tb_acq->addWidget(cbDetector); tb_acq->addWidget(cbDetector);
tb_acq->addWidget(new QLabel("Averaging:"));
lAverages = new QLabel("0/");
tb_acq->addWidget(lAverages);
auto sbAverages = new QSpinBox;
sbAverages->setRange(1, 100);
sbAverages->setRange(1, 99);
sbAverages->setFixedWidth(40);
connect(sbAverages, qOverload<int>(&QSpinBox::valueChanged), this, &SpectrumAnalyzer::SetAveraging);
connect(this, &SpectrumAnalyzer::averagingChanged, sbAverages, &QSpinBox::setValue);
tb_acq->addWidget(sbAverages);
cbSignalID = new QCheckBox("Signal ID"); cbSignalID = new QCheckBox("Signal ID");
connect(cbSignalID, &QCheckBox::toggled, [=](bool enabled) { connect(cbSignalID, &QCheckBox::toggled, [=](bool enabled) {
settings.SignalID = enabled; settings.SignalID = enabled;
@ -192,6 +203,7 @@ SpectrumAnalyzer::SpectrumAnalyzer(AppWindow *window)
settings.f_stop = pref.Startup.SA.stop; settings.f_stop = pref.Startup.SA.stop;
ConstrainAndUpdateFrequencies(); ConstrainAndUpdateFrequencies();
SetRBW(pref.Startup.SA.RBW); SetRBW(pref.Startup.SA.RBW);
SetAveraging(pref.Startup.SA.averaging);
settings.pointNum = 1001; settings.pointNum = 1001;
cbWindowType->setCurrentIndex(pref.Startup.SA.window); cbWindowType->setCurrentIndex(pref.Startup.SA.window);
cbDetector->setCurrentIndex(pref.Startup.SA.detector); cbDetector->setCurrentIndex(pref.Startup.SA.detector);
@ -226,6 +238,7 @@ void SpectrumAnalyzer::NewDatapoint(Protocol::SpectrumAnalyzerResult d)
traceModel.addSAData(d); traceModel.addSAData(d);
emit dataChanged(); emit dataChanged();
if(d.pointNum == settings.pointNum - 1) { if(d.pointNum == settings.pointNum - 1) {
UpdateAverageCount();
markerModel->updateMarkers(); markerModel->updateMarkers();
} }
} }
@ -242,6 +255,7 @@ void SpectrumAnalyzer::SettingsChanged()
window->getDevice()->Configure(settings); window->getDevice()->Configure(settings);
} }
average.reset(); average.reset();
UpdateAverageCount();
traceModel.clearVNAData(); traceModel.clearVNAData();
emit traceModel.SpanChanged(settings.f_start, settings.f_stop); emit traceModel.SpanChanged(settings.f_start, settings.f_stop);
} }
@ -344,6 +358,11 @@ void SpectrumAnalyzer::SetAveraging(unsigned int averages)
SettingsChanged(); SettingsChanged();
} }
void SpectrumAnalyzer::UpdateAverageCount()
{
lAverages->setText(QString::number(average.getLevel()) + "/");
}
void SpectrumAnalyzer::ConstrainAndUpdateFrequencies() void SpectrumAnalyzer::ConstrainAndUpdateFrequencies()
{ {
if(settings.f_stop > Device::Limits().maxFreq) { if(settings.f_stop > Device::Limits().maxFreq) {
@ -373,6 +392,7 @@ void SpectrumAnalyzer::LoadSweepSettings()
settings.pointNum = 1001; settings.pointNum = 1001;
cbWindowType->setCurrentIndex(s.value("SAWindow", pref.Startup.SA.window).toInt()); cbWindowType->setCurrentIndex(s.value("SAWindow", pref.Startup.SA.window).toInt());
cbDetector->setCurrentIndex(s.value("SADetector", pref.Startup.SA.detector).toInt()); cbDetector->setCurrentIndex(s.value("SADetector", pref.Startup.SA.detector).toInt());
SetAveraging(s.value("SAAveraging", pref.Startup.SA.averaging).toInt());
cbSignalID->setChecked(s.value("SASignalID", pref.Startup.SA.signalID).toBool()); cbSignalID->setChecked(s.value("SASignalID", pref.Startup.SA.signalID).toBool());
} }
@ -384,5 +404,6 @@ void SpectrumAnalyzer::StoreSweepSettings()
s.setValue("SARBW", settings.RBW); s.setValue("SARBW", settings.RBW);
s.setValue("SAWindow", settings.WindowType); s.setValue("SAWindow", settings.WindowType);
s.setValue("SADetector", settings.Detector); s.setValue("SADetector", settings.Detector);
s.setValue("SAAveraging", averages);
s.setValue("SASignalID", static_cast<bool>(settings.SignalID)); s.setValue("SASignalID", static_cast<bool>(settings.SignalID));
} }

View File

@ -35,7 +35,7 @@ private slots:
signals: signals:
private: private:
void UpdateStatusPanel(); void UpdateAverageCount();
void SettingsChanged(); void SettingsChanged();
void ConstrainAndUpdateFrequencies(); void ConstrainAndUpdateFrequencies();
void LoadSweepSettings(); void LoadSweepSettings();
@ -50,6 +50,7 @@ private:
TileWidget *central; TileWidget *central;
QCheckBox *cbSignalID; QCheckBox *cbSignalID;
QComboBox *cbWindowType, *cbDetector; QComboBox *cbWindowType, *cbDetector;
QLabel *lAverages;
signals: signals:
void dataChanged(); void dataChanged();

View File

@ -235,6 +235,16 @@ VNA::VNA(AppWindow *window)
tb_acq->addWidget(new QLabel("IF BW:")); tb_acq->addWidget(new QLabel("IF BW:"));
tb_acq->addWidget(eBandwidth); tb_acq->addWidget(eBandwidth);
tb_acq->addWidget(new QLabel("Averaging:"));
lAverages = new QLabel("0/");
tb_acq->addWidget(lAverages);
auto sbAverages = new QSpinBox;
sbAverages->setRange(1, 99);
sbAverages->setFixedWidth(40);
connect(sbAverages, qOverload<int>(&QSpinBox::valueChanged), this, &VNA::SetAveraging);
connect(this, &VNA::averagingChanged, sbAverages, &QSpinBox::setValue);
tb_acq->addWidget(sbAverages);
window->addToolBar(tb_acq); window->addToolBar(tb_acq);
toolbars.insert(tb_acq); toolbars.insert(tb_acq);
@ -307,97 +317,6 @@ VNA::VNA(AppWindow *window)
markerModel = new TraceMarkerModel(traceModel); markerModel = new TraceMarkerModel(traceModel);
// Create status panel
auto statusLayout = new QVBoxLayout();
statusLayout->setSpacing(0);
QFont statusFont( "Arial", 8);
{
auto l = new QLabel("Start Frequency:");
l->setAlignment(Qt::AlignLeft);
l->setFont(statusFont);
statusLayout->addWidget(l);
lStart = new QLabel;
lStart->setAlignment(Qt::AlignRight);
lStart->setFont(statusFont);
statusLayout->addWidget(lStart);
l = new QLabel("Center Frequency:");
l->setAlignment(Qt::AlignLeft);
l->setFont(statusFont);
statusLayout->addWidget(l);
lCenter = new QLabel;
lCenter->setAlignment(Qt::AlignRight);
lCenter->setFont(statusFont);
statusLayout->addWidget(lCenter);
l = new QLabel("Stop Frequency:");
l->setAlignment(Qt::AlignLeft);
l->setFont(statusFont);
statusLayout->addWidget(l);
lStop = new QLabel;
lStop->setAlignment(Qt::AlignRight);
lStop->setFont(statusFont);
statusLayout->addWidget(lStop);
l = new QLabel("Span:");
l->setAlignment(Qt::AlignLeft);
l->setFont(statusFont);
statusLayout->addWidget(l);
lSpan = new QLabel;
lSpan->setAlignment(Qt::AlignRight);
lSpan->setFont(statusFont);
statusLayout->addWidget(lSpan);
statusLayout->addStretch();
l = new QLabel("Points:");
l->setAlignment(Qt::AlignLeft);
l->setFont(statusFont);
statusLayout->addWidget(l);
lPoints = new QLabel;
lPoints->setAlignment(Qt::AlignRight);
lPoints->setFont(statusFont);
statusLayout->addWidget(lPoints);
l = new QLabel("IF Bandwidth:");
l->setAlignment(Qt::AlignLeft);
l->setFont(statusFont);
statusLayout->addWidget(l);
lBandwidth = new QLabel;
lBandwidth->setAlignment(Qt::AlignRight);
lBandwidth->setFont(statusFont);
statusLayout->addWidget(lBandwidth);
l = new QLabel("Averages:");
l->setAlignment(Qt::AlignLeft);
l->setFont(statusFont);
statusLayout->addWidget(l);
lAverages = new QLabel;
lAverages->setAlignment(Qt::AlignRight);
lAverages->setFont(statusFont);
statusLayout->addWidget(lAverages);
statusLayout->addStretch();
l = new QLabel("Calibration:");
l->setAlignment(Qt::AlignLeft);
l->setFont(statusFont);
statusLayout->addWidget(l);
lCalibration = new QLabel;
lCalibration->setAlignment(Qt::AlignRight);
lCalibration->setFont(statusFont);
statusLayout->addWidget(lCalibration);
}
statusLayout->addStretch();
auto statusWidget = new QWidget;
statusWidget->setLayout(statusLayout);
// statusWidget->setFixedWidth(150);
auto statusDock = new QDockWidget("Status");
statusDock->setWidget(statusWidget);
window->addDockWidget(Qt::LeftDockWidgetArea, statusDock);
docks.insert(statusDock);
auto tracesDock = new QDockWidget("Traces"); auto tracesDock = new QDockWidget("Traces");
tracesDock->setWidget(new TraceWidget(traceModel)); tracesDock->setWidget(new TraceWidget(traceModel));
window->addDockWidget(Qt::LeftDockWidgetArea, tracesDock); window->addDockWidget(Qt::LeftDockWidgetArea, tracesDock);
@ -411,9 +330,6 @@ VNA::VNA(AppWindow *window)
window->addDockWidget(Qt::BottomDockWidgetArea, markerDock); window->addDockWidget(Qt::BottomDockWidgetArea, markerDock);
docks.insert(markerDock); docks.insert(markerDock);
// status dock hidden by default
statusDock->hide();
qRegisterMetaType<Protocol::Datapoint>("Datapoint"); qRegisterMetaType<Protocol::Datapoint>("Datapoint");
// Set initial sweep settings // Set initial sweep settings
@ -433,6 +349,7 @@ VNA::VNA(AppWindow *window)
ConstrainAndUpdateFrequencies(); ConstrainAndUpdateFrequencies();
SetSourceLevel(pref.Startup.DefaultSweep.excitation); SetSourceLevel(pref.Startup.DefaultSweep.excitation);
SetIFBandwidth(pref.Startup.DefaultSweep.bandwidth); SetIFBandwidth(pref.Startup.DefaultSweep.bandwidth);
SetAveraging(pref.Startup.DefaultSweep.averaging);
SetPoints(pref.Startup.DefaultSweep.points); SetPoints(pref.Startup.DefaultSweep.points);
} }
@ -503,39 +420,14 @@ void VNA::NewDatapoint(Protocol::Datapoint d)
traceModel.addVNAData(d); traceModel.addVNAData(d);
emit dataChanged(); emit dataChanged();
if(d.pointNum == settings.points - 1) { if(d.pointNum == settings.points - 1) {
UpdateStatusPanel(); UpdateAverageCount();
markerModel->updateMarkers(); markerModel->updateMarkers();
} }
} }
void VNA::UpdateStatusPanel() void VNA::UpdateAverageCount()
{ {
lStart->setText(Unit::ToString(settings.f_start, "Hz", " kMG", 4)); lAverages->setText(QString::number(average.getLevel()) + "/");
lCenter->setText(Unit::ToString((settings.f_start + settings.f_stop)/2, "Hz", " kMG", 4));
lStop->setText(Unit::ToString(settings.f_stop, "Hz", " kMG", 4));
lSpan->setText(Unit::ToString(settings.f_stop - settings.f_start, "Hz", " kMG", 4));
lPoints->setText(QString::number(settings.points));
lBandwidth->setText(Unit::ToString(settings.if_bandwidth, "Hz", " k", 2));
lAverages->setText(QString::number(average.getLevel()) + "/" + QString::number(averages));
if(calValid) {
switch(cal.getInterpolation(settings)) {
case Calibration::InterpolationType::Extrapolate:
lCalibration->setText("Enabled/Extrapolating");
break;
case Calibration::InterpolationType::Interpolate:
lCalibration->setText("Enabled/Interpolating");
break;
case Calibration::InterpolationType::Exact:
case Calibration::InterpolationType::Unchanged:
lCalibration->setText("Enabled");
break;
default:
lCalibration->setText("Unknown");
break;
}
} else {
lCalibration->setText("Off");
}
} }
void VNA::SettingsChanged() void VNA::SettingsChanged()
@ -546,7 +438,7 @@ void VNA::SettingsChanged()
} }
average.reset(); average.reset();
traceModel.clearVNAData(); traceModel.clearVNAData();
UpdateStatusPanel(); UpdateAverageCount();
emit traceModel.SpanChanged(settings.f_start, settings.f_stop); emit traceModel.SpanChanged(settings.f_start, settings.f_stop);
} }
@ -778,6 +670,7 @@ void VNA::LoadSweepSettings()
ConstrainAndUpdateFrequencies(); ConstrainAndUpdateFrequencies();
SetIFBandwidth(s.value("SweepBandwidth", pref.Startup.DefaultSweep.bandwidth).toUInt()); SetIFBandwidth(s.value("SweepBandwidth", pref.Startup.DefaultSweep.bandwidth).toUInt());
SetPoints(s.value("SweepPoints", pref.Startup.DefaultSweep.points).toInt()); SetPoints(s.value("SweepPoints", pref.Startup.DefaultSweep.points).toInt());
SetAveraging(s.value("SweepAveraging", pref.Startup.DefaultSweep.averaging).toInt());
SetSourceLevel(s.value("SweepLevel", pref.Startup.DefaultSweep.excitation).toDouble()); SetSourceLevel(s.value("SweepLevel", pref.Startup.DefaultSweep.excitation).toDouble());
} }
@ -788,5 +681,6 @@ void VNA::StoreSweepSettings()
s.setValue("SweepStop", static_cast<unsigned long long>(settings.f_stop)); s.setValue("SweepStop", static_cast<unsigned long long>(settings.f_stop));
s.setValue("SweepBandwidth", settings.if_bandwidth); s.setValue("SweepBandwidth", settings.if_bandwidth);
s.setValue("SweepPoints", settings.points); s.setValue("SweepPoints", settings.points);
s.setValue("SweepAveraging", averages);
s.setValue("SweepLevel", (double) settings.cdbm_excitation / 100.0); s.setValue("SweepLevel", (double) settings.cdbm_excitation / 100.0);
} }

View File

@ -42,7 +42,7 @@ signals:
void CalibrationMeasurementComplete(Calibration::Measurement m); void CalibrationMeasurementComplete(Calibration::Measurement m);
private: private:
void UpdateStatusPanel(); void UpdateAverageCount();
void SettingsChanged(); void SettingsChanged();
void ConstrainAndUpdateFrequencies(); void ConstrainAndUpdateFrequencies();
void LoadSweepSettings(); void LoadSweepSettings();
@ -66,8 +66,6 @@ private:
QAction *assignDefaultCal, *removeDefaultCal; QAction *assignDefaultCal, *removeDefaultCal;
// Status Labels // Status Labels
QLabel *lStart, *lCenter, *lStop, *lSpan, *lPoints, *lBandwidth;
QLabel *lCalibration;
QLabel *lAverages; QLabel *lAverages;
TileWidget *central; TileWidget *central;

View File

@ -24,6 +24,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
ui->StartupSweepPoints->setEnabled(false); ui->StartupSweepPoints->setEnabled(false);
ui->StartupSweepLevel->setEnabled(false); ui->StartupSweepLevel->setEnabled(false);
ui->StartupSweepBandwidth->setEnabled(false); ui->StartupSweepBandwidth->setEnabled(false);
ui->StartupSweepAveraging->setEnabled(false);
ui->StartupGeneratorFrequency->setEnabled(false); ui->StartupGeneratorFrequency->setEnabled(false);
ui->StartupGeneratorLevel->setEnabled(false); ui->StartupGeneratorLevel->setEnabled(false);
ui->StartupSAStart->setEnabled(false); ui->StartupSAStart->setEnabled(false);
@ -31,6 +32,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
ui->StartupSARBW->setEnabled(false); ui->StartupSARBW->setEnabled(false);
ui->StartupSAWindow->setEnabled(false); ui->StartupSAWindow->setEnabled(false);
ui->StartupSADetector->setEnabled(false); ui->StartupSADetector->setEnabled(false);
ui->StartupSAAveraging->setEnabled(false);
ui->StartupSASignalID->setEnabled(false); ui->StartupSASignalID->setEnabled(false);
}); });
connect(ui->StartupSweepDefault, &QPushButton::clicked, [=](){ connect(ui->StartupSweepDefault, &QPushButton::clicked, [=](){
@ -39,6 +41,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
ui->StartupSweepPoints->setEnabled(true); ui->StartupSweepPoints->setEnabled(true);
ui->StartupSweepLevel->setEnabled(true); ui->StartupSweepLevel->setEnabled(true);
ui->StartupSweepBandwidth->setEnabled(true); ui->StartupSweepBandwidth->setEnabled(true);
ui->StartupSweepAveraging->setEnabled(true);
ui->StartupGeneratorFrequency->setEnabled(true); ui->StartupGeneratorFrequency->setEnabled(true);
ui->StartupGeneratorLevel->setEnabled(true); ui->StartupGeneratorLevel->setEnabled(true);
ui->StartupSAStart->setEnabled(true); ui->StartupSAStart->setEnabled(true);
@ -46,6 +49,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
ui->StartupSARBW->setEnabled(true); ui->StartupSARBW->setEnabled(true);
ui->StartupSAWindow->setEnabled(true); ui->StartupSAWindow->setEnabled(true);
ui->StartupSADetector->setEnabled(true); ui->StartupSADetector->setEnabled(true);
ui->StartupSAAveraging->setEnabled(true);
ui->StartupSASignalID->setEnabled(true); ui->StartupSASignalID->setEnabled(true);
}); });
ui->StartupSweepStart->setUnit("Hz"); ui->StartupSweepStart->setUnit("Hz");
@ -92,6 +96,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
p->Startup.DefaultSweep.bandwidth = ui->StartupSweepBandwidth->value(); p->Startup.DefaultSweep.bandwidth = ui->StartupSweepBandwidth->value();
p->Startup.DefaultSweep.points = ui->StartupSweepPoints->value(); p->Startup.DefaultSweep.points = ui->StartupSweepPoints->value();
p->Startup.DefaultSweep.excitation = ui->StartupSweepLevel->value(); p->Startup.DefaultSweep.excitation = ui->StartupSweepLevel->value();
p->Startup.DefaultSweep.averaging = ui->StartupSweepAveraging->value();
p->Startup.Generator.frequency = ui->StartupGeneratorFrequency->value(); p->Startup.Generator.frequency = ui->StartupGeneratorFrequency->value();
p->Startup.Generator.level = ui->StartupGeneratorLevel->value(); p->Startup.Generator.level = ui->StartupGeneratorLevel->value();
p->Startup.SA.start = ui->StartupSAStart->value(); p->Startup.SA.start = ui->StartupSAStart->value();
@ -131,11 +136,13 @@ void PreferencesDialog::setInitialGUIState()
ui->StartupSweepLevel->setValue(p->Startup.DefaultSweep.excitation); ui->StartupSweepLevel->setValue(p->Startup.DefaultSweep.excitation);
ui->StartupGeneratorFrequency->setValue(p->Startup.Generator.frequency); ui->StartupGeneratorFrequency->setValue(p->Startup.Generator.frequency);
ui->StartupGeneratorLevel->setValue(p->Startup.Generator.level); ui->StartupGeneratorLevel->setValue(p->Startup.Generator.level);
ui->StartupSweepAveraging->setValue(p->Startup.DefaultSweep.averaging);
ui->StartupSAStart->setValue(p->Startup.SA.start); ui->StartupSAStart->setValue(p->Startup.SA.start);
ui->StartupSAStop->setValue(p->Startup.SA.stop); ui->StartupSAStop->setValue(p->Startup.SA.stop);
ui->StartupSARBW->setValue(p->Startup.SA.RBW); ui->StartupSARBW->setValue(p->Startup.SA.RBW);
ui->StartupSAWindow->setCurrentIndex(p->Startup.SA.window); ui->StartupSAWindow->setCurrentIndex(p->Startup.SA.window);
ui->StartupSADetector->setCurrentIndex(p->Startup.SA.detector); ui->StartupSADetector->setCurrentIndex(p->Startup.SA.detector);
ui->StartupSAAveraging->setValue(p->Startup.SA.averaging);
ui->StartupSASignalID->setChecked(p->Startup.SA.signalID); ui->StartupSASignalID->setChecked(p->Startup.SA.signalID);
ui->AcquisitionAlwaysExciteBoth->setChecked(p->Acquisition.alwaysExciteBothPorts); ui->AcquisitionAlwaysExciteBoth->setChecked(p->Acquisition.alwaysExciteBothPorts);

View File

@ -47,6 +47,7 @@ public:
int points; int points;
double bandwidth; double bandwidth;
double excitation; double excitation;
int averaging;
} DefaultSweep; } DefaultSweep;
struct { struct {
double frequency; double frequency;
@ -58,6 +59,7 @@ public:
double RBW; double RBW;
int window; int window;
int detector; int detector;
int averaging;
bool signalID; bool signalID;
} SA; } SA;
} Startup; } Startup;
@ -80,7 +82,7 @@ private:
QString name; QString name;
QVariant def; QVariant def;
}; };
const std::array<SettingDescription, 20> descr = {{ const std::array<SettingDescription, 22> descr = {{
{&Startup.ConnectToFirstDevice, "Startup.ConnectToFirstDevice", true}, {&Startup.ConnectToFirstDevice, "Startup.ConnectToFirstDevice", true},
{&Startup.RememberSweepSettings, "Startup.RememberSweepSettings", false}, {&Startup.RememberSweepSettings, "Startup.RememberSweepSettings", false},
{&Startup.DefaultSweep.start, "Startup.DefaultSweep.start", 1000000.0}, {&Startup.DefaultSweep.start, "Startup.DefaultSweep.start", 1000000.0},
@ -88,6 +90,7 @@ private:
{&Startup.DefaultSweep.points, "Startup.DefaultSweep.points", 501}, {&Startup.DefaultSweep.points, "Startup.DefaultSweep.points", 501},
{&Startup.DefaultSweep.bandwidth, "Startup.DefaultSweep.bandwidth", 1000.0}, {&Startup.DefaultSweep.bandwidth, "Startup.DefaultSweep.bandwidth", 1000.0},
{&Startup.DefaultSweep.excitation, "Startup.DefaultSweep.excitation", -10.00}, {&Startup.DefaultSweep.excitation, "Startup.DefaultSweep.excitation", -10.00},
{&Startup.DefaultSweep.averaging, "Startup.DefaultSweep.averaging", 1},
{&Startup.Generator.frequency, "Startup.Generator.frequency", 1000000000.0}, {&Startup.Generator.frequency, "Startup.Generator.frequency", 1000000000.0},
{&Startup.Generator.level, "Startup.Generator.level", -10.00}, {&Startup.Generator.level, "Startup.Generator.level", -10.00},
{&Startup.SA.start, "Startup.SA.start", 950000000.0}, {&Startup.SA.start, "Startup.SA.start", 950000000.0},
@ -95,6 +98,7 @@ private:
{&Startup.SA.RBW, "Startup.SA.RBW", 10000.0}, {&Startup.SA.RBW, "Startup.SA.RBW", 10000.0},
{&Startup.SA.window, "Startup.SA.window", 1}, {&Startup.SA.window, "Startup.SA.window", 1},
{&Startup.SA.detector, "Startup.SA.detector", 0}, {&Startup.SA.detector, "Startup.SA.detector", 0},
{&Startup.SA.averaging, "Startup.SA.averaging", 1},
{&Startup.SA.signalID, "Startup.SA.signalID", true}, {&Startup.SA.signalID, "Startup.SA.signalID", true},
{&Acquisition.alwaysExciteBothPorts, "Acquisition.alwaysExciteBothPorts", true}, {&Acquisition.alwaysExciteBothPorts, "Acquisition.alwaysExciteBothPorts", true},
{&Acquisition.suppressPeaks, "Acquisition.suppressPeaks", true}, {&Acquisition.suppressPeaks, "Acquisition.suppressPeaks", true},

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>619</width> <width>613</width>
<height>730</height> <height>794</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -73,7 +73,7 @@
</size> </size>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>2</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="Startup"> <widget class="QWidget" name="Startup">
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
@ -219,6 +219,23 @@
<item row="4" column="1"> <item row="4" column="1">
<widget class="SIUnitEdit" name="StartupSweepBandwidth"/> <widget class="SIUnitEdit" name="StartupSweepBandwidth"/>
</item> </item>
<item row="5" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Averaging:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QSpinBox" name="StartupSweepAveraging">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>99</number>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -367,20 +384,37 @@
</item> </item>
</widget> </widget>
</item> </item>
<item row="5" column="0"> <item row="6" column="0">
<widget class="QLabel" name="label_14"> <widget class="QLabel" name="label_14">
<property name="text"> <property name="text">
<string>Signal Identification:</string> <string>Signal Identification:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item row="6" column="1">
<widget class="QCheckBox" name="StartupSASignalID"> <widget class="QCheckBox" name="StartupSASignalID">
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Averaging:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QSpinBox" name="StartupSAAveraging">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>99</number>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>