Adding_BPF_selection_to_the_NOAA_APT_signal (#2675)

* Adding_BPF_selection_to_the_NOAA_APT_signal
* comments, spell mistake .
This commit is contained in:
Brumi-2021 2025-06-02 14:40:13 +02:00 committed by GitHub
parent 6e9ecf8e7b
commit 695e6d19f4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 33 additions and 10 deletions

View file

@ -143,7 +143,7 @@ class WFMAMAptOptionsView : public View {
}; };
OptionsField options_config{ OptionsField options_config{
{3 * 8, 0 * 16}, {3 * 8, 0 * 16},
16, // Max option char length "80khz (NOAA Apt)" example. 19, // Max option char length "80k-NOAA Apt LPF-2K" , example.
{ {
// Using common messages from freqman_ui.cpp // Using common messages from freqman_ui.cpp
}}; }};

View file

@ -105,10 +105,10 @@ void WFMConfig::apply() const {
void WFMAMConfig::apply() const { void WFMAMConfig::apply() const {
const WFMAMConfigureMessage message{ const WFMAMConfigureMessage message{
decim_0, // Fixed 24 taps array : taps_16k0_decim_0 decim_0, // Fixed 24 taps array : taps_16k0_decim_0
decim_1, // Fixed 32 taps array : taps_84k_wfm_decim_1 decim_1, // Dynamic 32 taps array : taps_80k_wfmam_decim_1, 38k_wfmam
taps_64_lp_1875_2166, // Fixed channel audio filter , 64 taps array , to filter DSB AM 2k4 carrier before demod. AM . taps_64_lp_bpf, // Dynamic 64 taps array , to filter modulated DSB AM 2k4 carrier before demod. AM .(LPF / BPF)
17000, // NOAA satellite tx , FM deviation = +-17Khz. 17000, // NOAA satellite tx , FM deviation = +-17Khz.
apt_audio_12k_notch_2k4_config, apt_audio_12k_notch_2k4_config,
apt_audio_12k_lpf_2000hz_config}; apt_audio_12k_lpf_2000hz_config};
send_message(&message); send_message(&message);

View file

@ -65,6 +65,7 @@ struct WFMConfig {
struct WFMAMConfig { struct WFMAMConfig {
const fir_taps_real<24> decim_0; // To handle WFM filter BW=40K for NOAA APT const fir_taps_real<24> decim_0; // To handle WFM filter BW=40K for NOAA APT
const fir_taps_real<32> decim_1; const fir_taps_real<32> decim_1;
const fir_taps_real<64> taps_64_lp_bpf; // to handle dynamically LPF / BPF .
void apply() const; void apply() const;
}; };

View file

@ -108,8 +108,9 @@ options_t freqman_bandwidths[6] = {
}, },
{ {
// WFMAM for NOAA satellites, 137 Mhz band // WFMAM for NOAA satellites, 137 Mhz band
{"80kHz (NOAA Apt)", 0}, // Fixed RX demod- WFM config Index 1 : FM+AM for Audio NOAA APT ones. {"80k-NOAA Apt LPF-2K", 0},
{"38kHz (NOAA Apt)", 1}, {"38k-NOAA Apt LPF-2K", 1},
{"38k-NOAA Apt BPF-2K", 2}, // Symetrical BPF centred to the 2k4 AM subcarrier, BW = 2KHz
}, },
}; };

View file

@ -69,9 +69,10 @@ static constexpr std::array<baseband::WFMConfig, 3> wfm_configs{{
{taps_80k_wfm_decim_0, taps_80k_wfm_decim_1}, {taps_80k_wfm_decim_0, taps_80k_wfm_decim_1},
}}; }};
static constexpr std::array<baseband::WFMAMConfig, 2> wfmam_configs{{ static constexpr std::array<baseband::WFMAMConfig, 3> wfmam_configs{{
{taps_16k0_decim_0, taps_80k_wfmam_decim_1}, {taps_16k0_decim_0, taps_80k_wfmam_decim_1, taps_64_lp_1875_2166},
{taps_16k0_decim_0, taps_38k_wfmam_decim_1}, {taps_16k0_decim_0, taps_38k_wfmam_decim_1, taps_64_lp_1875_2166},
{taps_16k0_decim_0, taps_38k_wfmam_decim_1, taps_64_bpf_2k4_bw_2k},
}}; }};
} /* namespace */ } /* namespace */

View file

@ -1491,6 +1491,26 @@ constexpr fir_taps_real<64> taps_64_lp_1875_2166{
}}, }},
}; };
/* 1st Wideband FM demod baseband filter of audio AM tones ,
to pass all DSB band of AM fsubcarrier 2.4Khz mod. with APT */
/* 24kHz int16_t input
* -> FIR filter, BPF center 2k4 carrier ,APT BW 2kHz
* -> 12kHz int16_t output, gain of 1.0 (I think).
*/
constexpr fir_taps_real<64> taps_64_bpf_2k4_bw_2k{
.low_frequency_normalized = -0.1875f, // not updated, this is just for LPF , waterfall GUI, we are not using in HPF NOAA app.
.high_frequency_normalized = 0.1875f, // not used GUI in NOAA App.
.transition_normalized = 0.03f, // not used GUI in NOAA app.
.taps = {{-45, -29, 32, 63, 0, -125, -181, -81, 61,
0, -329, -635, -551, -147, 0, -547, -1404, -1625,
-849, 0, -414, -2118, -3358, -2422, 0, 911, -1792,
-6126, -6773, 0, 11839, 21131, 21131, 11839, 0, -6773,
-6126, -1792, 911, 0, -2422, -3358, -2118, -414, 0,
-849, -1625, -1404, -547, 0, -147, -551, -635, -329,
0, 61, -81, -181, -125, 0, 63, 32, -29,
-45}},
};
// TPMS decimation filters //////////////////////////////////////////////// // TPMS decimation filters ////////////////////////////////////////////////
// IFIR image-reject filter: fs=2457600, pass=100000, stop=407200, decim=4, fout=614400 // IFIR image-reject filter: fs=2457600, pass=100000, stop=407200, decim=4, fout=614400