Add AM spectrum ZOOM x3/x4 with optimized x4 decimation (#3304)

* Add AM spectrum zoom x3 and x4
* Optimize AM spectrum zoom x4 processing
* Fix AM spectrum zoom formatting
* Fix AM spectrum zoom header formatting
This commit is contained in:
Brumi-2021
2026-08-28 12:30:18 +02:00
committed by GitHub
parent 6e95288c1f
commit ee568ec774
15 changed files with 422 additions and 36 deletions
+45
View File
@@ -77,6 +77,8 @@ constexpr fir_taps_real<16> taps_audio_wide_halfband_0{
* contiguous 256-sample FFT frame is being collected:
* 384kHz -> 192kHz (Zoom x1)
* 192kHz -> 96kHz (additional stage for Zoom x2)
* 96kHz -> 48kHz (additional stage for Zoom x3)
* 96kHz -> 48kHz -> 24kHz (after the direct /4 stage for Zoom x4)
*/
constexpr fir_taps_real<63> taps_audio_spectrum_halfband{
.low_frequency_normalized = -0.23f,
@@ -149,6 +151,49 @@ constexpr fir_taps_real<63> taps_audio_spectrum_halfband{
}},
};
/* Direct 384kHz -> 96kHz spectrum decimator for AM Zoom x4.
* Equiripple low-pass: passband edge 25.92kHz, stopband edge 70.08kHz.
*/
constexpr fir_taps_real<32> taps_audio_spectrum_decim_4{
.low_frequency_normalized = -25920.0f / 384000.0f,
.high_frequency_normalized = 25920.0f / 384000.0f,
.transition_normalized = 44160.0f / 384000.0f,
.taps = {{
-26,
-62,
-79,
-24,
126,
312,
377,
154,
-389,
-1020,
-1263,
-616,
1137,
3685,
6234,
7829,
7829,
6234,
3685,
1137,
-616,
-1263,
-1020,
-389,
154,
377,
312,
126,
-24,
-79,
-62,
-26,
}},
};
// NBFM 16K0F3E emission type /////////////////////////////////////////////
// IFIR image-reject filter: fs=3072000, pass=8000, stop=344000, decim=8, fout=384000
+2
View File
@@ -728,6 +728,8 @@ class AMConfigureMessage : public Message {
enum class Zoom_waterfall : size_t {
ZOOM_x_1 = 1,
ZOOM_x_2 = 2,
ZOOM_x_3 = 4,
ZOOM_x_4 = 8,
};
constexpr AMConfigureMessage(