mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-08-07 14:12:31 -04:00
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:
parent
6e9ecf8e7b
commit
695e6d19f4
6 changed files with 33 additions and 10 deletions
|
@ -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
|
||||||
}};
|
}};
|
||||||
|
|
|
@ -106,8 +106,8 @@ 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};
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue