diff --git a/doc/img/DOA2_plugin.png b/doc/img/DOA2_plugin.png index 9c48b56fa..9fe5c9319 100644 Binary files a/doc/img/DOA2_plugin.png and b/doc/img/DOA2_plugin.png differ diff --git a/doc/img/DOA2_plugin.xcf b/doc/img/DOA2_plugin.xcf index f4c6962ca..02ac84aa7 100644 Binary files a/doc/img/DOA2_plugin.xcf and b/doc/img/DOA2_plugin.xcf differ diff --git a/doc/img/DOA2_plugin_settings.png b/doc/img/DOA2_plugin_settings.png index 98f0ebec1..15d2b3213 100644 Binary files a/doc/img/DOA2_plugin_settings.png and b/doc/img/DOA2_plugin_settings.png differ diff --git a/doc/img/DOA2_plugin_settings.xcf b/doc/img/DOA2_plugin_settings.xcf index 66f624095..744138f90 100644 Binary files a/doc/img/DOA2_plugin_settings.xcf and b/doc/img/DOA2_plugin_settings.xcf differ diff --git a/plugins/channelmimo/doa2/doa2gui.cpp b/plugins/channelmimo/doa2/doa2gui.cpp index 0f263e33b..15fbd3d48 100644 --- a/plugins/channelmimo/doa2/doa2gui.cpp +++ b/plugins/channelmimo/doa2/doa2gui.cpp @@ -387,6 +387,22 @@ void DOA2GUI::on_fftAveraging_currentIndexChanged(int index) setFFTAveragingToolitp(); } +void DOA2GUI::on_centerPosition_clicked() +{ + uint32_t filterChainHash = 1; + uint32_t mul = 1; + + for (uint32_t i = 1; i < m_settings.m_log2Decim; i++) + { + mul *= 3; + filterChainHash += mul; + } + + m_settings.m_filterChainHash = filterChainHash; + ui->position->setValue(m_settings.m_filterChainHash); + applyPosition(); +} + void DOA2GUI::applyDecimation() { uint32_t maxHash = 1; @@ -432,6 +448,7 @@ void DOA2GUI::makeUIConnections() QObject::connect(ui->baselineDistance, QOverload::of(&QSpinBox::valueChanged), this, &DOA2GUI::on_baselineDistance_valueChanged); QObject::connect(ui->squelch, &QDial::valueChanged, this, &DOA2GUI::on_squelch_valueChanged); QObject::connect(ui->fftAveraging, QOverload::of(&QComboBox::currentIndexChanged), this, &DOA2GUI::on_fftAveraging_currentIndexChanged); + QObject::connect(ui->centerPosition, &QPushButton::clicked, this, &DOA2GUI::on_centerPosition_clicked); } void DOA2GUI::updateAbsoluteCenterFrequency() diff --git a/plugins/channelmimo/doa2/doa2gui.h b/plugins/channelmimo/doa2/doa2gui.h index 09ea9c0ca..db099aaa4 100644 --- a/plugins/channelmimo/doa2/doa2gui.h +++ b/plugins/channelmimo/doa2/doa2gui.h @@ -106,6 +106,7 @@ private slots: void on_baselineDistance_valueChanged(int value); void on_squelch_valueChanged(int value); void on_fftAveraging_currentIndexChanged(int index); + void on_centerPosition_clicked(); void onWidgetRolled(QWidget* widget, bool rollDown); void onMenuDialogCalled(const QPoint& p); void tick(); diff --git a/plugins/channelmimo/doa2/doa2gui.ui b/plugins/channelmimo/doa2/doa2gui.ui index 4df4a6c1e..91adcd24a 100644 --- a/plugins/channelmimo/doa2/doa2gui.ui +++ b/plugins/channelmimo/doa2/doa2gui.ui @@ -324,6 +324,22 @@ + + + + + 24 + 24 + + + + Center in passband + + + C + + + @@ -588,12 +604,21 @@ + + + 40 + 0 + + Half wavelength (mm) 00000 + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + diff --git a/plugins/channelmimo/doa2/readme.md b/plugins/channelmimo/doa2/readme.md index 6495ba2c4..cbadd93c0 100644 --- a/plugins/channelmimo/doa2/readme.md +++ b/plugins/channelmimo/doa2/readme.md @@ -87,6 +87,10 @@ The slider moves the channel center frequency roughly from the lower to the high - **1**: centered - **2**: higher half-band +

A.8. Center filter in passband

+ +Use this button to center the filter in the middle of the passband automatically. This sets all filters to center i.e CCC... + The resulting filter chain sequence is represented in (A.3)

B. Scope display