mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-08-02 19:46:45 -04:00
wfm_filters_GUI_name_std (#2668)
This commit is contained in:
parent
d3c9dc1f10
commit
c79abccffd
7 changed files with 21 additions and 21 deletions
|
@ -202,7 +202,7 @@ void MicTXView::rxaudio(bool enable) {
|
|||
receiver_model.set_modulation(ReceiverModel::Mode::NarrowbandFMAudio);
|
||||
// receiver_model.set_nbfm_configuration(n); is called above, depending user's selection (8k5, 11k, 16k).
|
||||
break;
|
||||
case MIC_MOD_WFM: // WFM, BW 200Khz aprox, or the two new addional BW filters (180k, 40k)
|
||||
case MIC_MOD_WFM: // WFM, BW 200Khz aprox, or the two new addional BW filters (180k, 80k)
|
||||
baseband::run_image(portapack::spi_flash::image_tag_wfm_audio);
|
||||
receiver_model.set_modulation(ReceiverModel::Mode::WidebandFMAudio);
|
||||
// receiver_model.set_wfm_configuration(n); is called above, depending user's selection (200k, 180k, 0k).
|
||||
|
@ -300,7 +300,7 @@ void MicTXView::update_receiver_rxbw(void) {
|
|||
receiver_model.set_nbfm_configuration(rxbw_index); // we are in NFM/FM case, we need to select proper NFM/FM RX channel filter, NFM BW 8K5(0), NFM BW 11K(1), FM BW 16K (2)
|
||||
break;
|
||||
case MIC_MOD_WFM:
|
||||
receiver_model.set_wfm_configuration(rxbw_index); // we are in WFM case, we need to select proper WFB RX BW filter, WFM BW 200K(0), WFM BW 180K(1), WFM BW 40K(2)
|
||||
receiver_model.set_wfm_configuration(rxbw_index); // we are in WFM case, we need to select proper WFB RX BW filter, WFM BW 200K(0), WFM BW 180K(1), WFM BW 80K(2)
|
||||
break;
|
||||
case MIC_MOD_AM:
|
||||
receiver_model.set_am_configuration(rxbw_index); // we are in AM TX mode, we need to select proper AM full path config AM-9K filter. 0+0 =>AM-9K(0), 0+1=1 =>AM-6K(1),
|
||||
|
|
|
@ -93,8 +93,8 @@ void NBFMConfig::apply(const uint8_t squelch_level) const {
|
|||
|
||||
void WFMConfig::apply() const {
|
||||
const WFMConfigureMessage message{
|
||||
decim_0, // Dynamic array 24 taps : taps_200k_decim_0 , taps_180k_wfm_decim_0, taps_40k_wfm_decim_0
|
||||
decim_1, // Dynamic array 16 taps : taps_200k_decim_1 or taps_180k_wfm_decim_1, taps_40k_wfm_decim_1
|
||||
decim_0, // Dynamic array 24 taps : taps_200k_decim_0 , taps_180k_wfm_decim_0, taps_80k_wfm_decim_0
|
||||
decim_1, // Dynamic array 16 taps : taps_200k_decim_1 or taps_180k_wfm_decim_1, taps_80k_wfm_decim_1
|
||||
taps_64_lp_156_198, // Fixed channel audio filter 15khz
|
||||
75000,
|
||||
audio_48k_hpf_30hz_config,
|
||||
|
|
|
@ -56,7 +56,7 @@ struct NBFMConfig {
|
|||
};
|
||||
|
||||
struct WFMConfig {
|
||||
const fir_taps_real<24> decim_0; // To handle all 3 WFM filters , 200k, 180k and 40K-
|
||||
const fir_taps_real<24> decim_0; // To handle all 3 WFM filters , 200k, 180k and 80K-
|
||||
const fir_taps_real<16> decim_1;
|
||||
|
||||
void apply() const;
|
||||
|
|
|
@ -32,7 +32,7 @@ gfxEQView::gfxEQView(NavigationView& nav)
|
|||
baseband::run_image(portapack::spi_flash::image_tag_wfm_audio);
|
||||
|
||||
receiver_model.set_modulation(ReceiverModel::Mode::WidebandFMAudio);
|
||||
receiver_model.set_wfm_configuration(1); // 200k => 0 , 180k => 1 , 40k => 2. Set to 1 or 2 for better reception
|
||||
receiver_model.set_wfm_configuration(1); // 200k => 0 , 180k => 1 , 80k => 2. Set to 1 or 2 for better reception
|
||||
receiver_model.set_sampling_rate(3072000);
|
||||
receiver_model.set_baseband_bandwidth(1750000);
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ options_t freqman_bandwidths[6] = {
|
|||
},
|
||||
{
|
||||
// WFM
|
||||
{"40k", 2},
|
||||
{"80k", 2},
|
||||
{"180k", 1},
|
||||
{"200k", 0},
|
||||
},
|
||||
|
|
|
@ -66,7 +66,7 @@ static constexpr std::array<baseband::NBFMConfig, 3> nbfm_configs{{
|
|||
static constexpr std::array<baseband::WFMConfig, 3> wfm_configs{{
|
||||
{taps_200k_wfm_decim_0, taps_200k_wfm_decim_1},
|
||||
{taps_180k_wfm_decim_0, taps_180k_wfm_decim_1},
|
||||
{taps_40k_wfm_decim_0, taps_40k_wfm_decim_1},
|
||||
{taps_80k_wfm_decim_0, taps_80k_wfm_decim_1},
|
||||
}};
|
||||
|
||||
static constexpr std::array<baseband::WFMAMConfig, 2> wfmam_configs{{
|
||||
|
|
|
@ -1240,11 +1240,11 @@ constexpr fir_taps_real<24> taps_180k_wfm_decim_0 = {
|
|||
}},
|
||||
};
|
||||
|
||||
// IFIR prototype filter: fs=768000, pass=90000, stop=110000, decim=2, fout=384000
|
||||
// IFIR prototype filter: fs=768000, pass=90000, stop=170000, decim=2, fout=384000
|
||||
constexpr fir_taps_real<16> taps_180k_wfm_decim_1 = {
|
||||
.low_frequency_normalized = -90000.0f / 768000.0f,
|
||||
.high_frequency_normalized = 90000.0f / 768000.0f,
|
||||
.transition_normalized = 20000.0f / 768000.0f,
|
||||
.transition_normalized = 80000.0f / 768000.0f,
|
||||
.taps = {{
|
||||
55,
|
||||
19,
|
||||
|
@ -1265,13 +1265,13 @@ constexpr fir_taps_real<16> taps_180k_wfm_decim_1 = {
|
|||
}},
|
||||
};
|
||||
|
||||
// WFM 40kHZ filter for NOAA APT reception in 137Mhz band with sharp transition //////////////////////////////////////////////
|
||||
// WFM 80kHZ filter with sharp transition //////////////////////////////////////////////
|
||||
|
||||
// IFIR image-reject filter: fs=3072000, pass=20000, stop=97000, decim=4, fout=768000
|
||||
constexpr fir_taps_real<24> taps_40k_wfm_decim_0 = {
|
||||
.low_frequency_normalized = -20000.0f / 3072000.0f,
|
||||
.high_frequency_normalized = 20000.0f / 3072000.0f,
|
||||
.transition_normalized = 67000.0f / 3072000.0f,
|
||||
// IFIR image-reject filter: fs=3072000, pass=97000, stop=300000, decim=4, fout=768000
|
||||
constexpr fir_taps_real<24> taps_80k_wfm_decim_0 = {
|
||||
.low_frequency_normalized = -97000.0f / 3072000.0f,
|
||||
.high_frequency_normalized = 97000.0f / 3072000.0f,
|
||||
.transition_normalized = 203000.0f / 3072000.0f,
|
||||
.taps = {{
|
||||
46,
|
||||
112,
|
||||
|
@ -1300,11 +1300,11 @@ constexpr fir_taps_real<24> taps_40k_wfm_decim_0 = {
|
|||
}},
|
||||
};
|
||||
|
||||
// IFIR prototype filter: fs=768000, pass=20000, stop=55000, decim=2, fout=384000
|
||||
constexpr fir_taps_real<16> taps_40k_wfm_decim_1 = {
|
||||
.low_frequency_normalized = -20000.0f / 768000.0f,
|
||||
.high_frequency_normalized = 20000.0f / 768000.0f,
|
||||
.transition_normalized = 35000.0f / 768000.0f,
|
||||
// IFIR prototype filter: fs=768000, pass=37500, stop=112500, decim=2, fout=384000
|
||||
constexpr fir_taps_real<16> taps_80k_wfm_decim_1 = {
|
||||
.low_frequency_normalized = -37500.0f / 768000.0f,
|
||||
.high_frequency_normalized = 37500.0f / 768000.0f,
|
||||
.transition_normalized = 75000.0f / 768000.0f,
|
||||
.taps = {{
|
||||
83,
|
||||
299,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue