mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-08-13 14:55:29 +00:00
Adding_Waterfall_ZOOM_x2_in_AM_modes_Audio_App (#2586)
* adding zoom_factor to app settings * separated zoom_factor settings for AM and AMFM * fix order so zoom factor is also applied correctly on modulation change * fix zoom not applied when changing bandwidth * temporary disable the Scanner so we are not breaking the nightly. Until we are choosing to finally remove it or find a better solution --------- Co-authored-by: gullradriel <3157857+gullradriel@users.noreply.github.com> Co-authored-by: gullradriel <gullradriel@no-mail.com>
This commit is contained in:
@@ -512,6 +512,51 @@ constexpr fir_taps_real<32> taps_6k0_decim_1{
|
||||
}},
|
||||
};
|
||||
|
||||
// IFIR prototype filter: fs=384000, pass=3000, stop=33000, decim=8, fout=48000
|
||||
// Narrower taps_6k0_decim_1IFIR version to avoid LCD waterfall aliasing in AMFM Wefax in ZOOM X 2 (means spectrum decimation factor x2)
|
||||
// It has BW -3dB's of +-9Khz, Stop band from 33khz onwards -60 dB's , then we can use in all AM modes (DSB, SSB,CW )
|
||||
constexpr fir_taps_real<32> taps_6k0_narrow_decim_1{
|
||||
.low_frequency_normalized = -3000.0f / 384000.0f,
|
||||
.high_frequency_normalized = 3000.0f / 384000.0f,
|
||||
.transition_normalized = 30000.0f / 384000.0f,
|
||||
.taps = {{
|
||||
|
||||
58,
|
||||
80,
|
||||
138,
|
||||
219,
|
||||
326,
|
||||
461,
|
||||
622,
|
||||
807,
|
||||
1011,
|
||||
1224,
|
||||
1438,
|
||||
1640,
|
||||
1820,
|
||||
1966,
|
||||
2069,
|
||||
2122,
|
||||
2122,
|
||||
2069,
|
||||
1966,
|
||||
1820,
|
||||
1640,
|
||||
1438,
|
||||
1224,
|
||||
1011,
|
||||
807,
|
||||
622,
|
||||
461,
|
||||
326,
|
||||
219,
|
||||
138,
|
||||
80,
|
||||
58,
|
||||
|
||||
}},
|
||||
};
|
||||
|
||||
// IFIR prototype filter: fs=48000, pass=3000, stop=6700, decim=4, fout=12000
|
||||
constexpr fir_taps_real<32> taps_6k0_decim_2{
|
||||
.low_frequency_normalized = -3000.0f / 48000.0f,
|
||||
|
@@ -591,6 +591,10 @@ class AMConfigureMessage : public Message {
|
||||
SSB = 1,
|
||||
SSB_FM = 2, // Added new for RX Wefax mode, to demodulate APT signal ,FM modulated inside audio subcarrier tones, and then up broadcasted in SSB USB .
|
||||
};
|
||||
enum class Zoom_waterfall : size_t {
|
||||
ZOOM_x_1 = 1,
|
||||
ZOOM_x_2 = 2,
|
||||
};
|
||||
|
||||
constexpr AMConfigureMessage(
|
||||
const fir_taps_real<24> decim_0_filter,
|
||||
@@ -598,14 +602,17 @@ class AMConfigureMessage : public Message {
|
||||
const fir_taps_real<32> decim_2_filter,
|
||||
const fir_taps_complex<64> channel_filter,
|
||||
const Modulation modulation,
|
||||
const iir_biquad_config_t audio_hpf_lpf_config)
|
||||
const iir_biquad_config_t audio_hpf_lpf_config,
|
||||
const size_t channel_spectrum_decimation_factor)
|
||||
|
||||
: Message{ID::AMConfigure},
|
||||
decim_0_filter(decim_0_filter),
|
||||
decim_1_filter(decim_1_filter),
|
||||
decim_2_filter(decim_2_filter),
|
||||
channel_filter(channel_filter),
|
||||
modulation{modulation},
|
||||
audio_hpf_lpf_config(audio_hpf_lpf_config) {
|
||||
audio_hpf_lpf_config(audio_hpf_lpf_config),
|
||||
channel_spectrum_decimation_factor(channel_spectrum_decimation_factor) {
|
||||
}
|
||||
|
||||
const fir_taps_real<24> decim_0_filter;
|
||||
@@ -614,6 +621,7 @@ class AMConfigureMessage : public Message {
|
||||
const fir_taps_complex<64> channel_filter;
|
||||
const Modulation modulation;
|
||||
const iir_biquad_config_t audio_hpf_lpf_config;
|
||||
const size_t channel_spectrum_decimation_factor;
|
||||
};
|
||||
|
||||
// TODO: Put this somewhere else, or at least the implementation part.
|
||||
|
Reference in New Issue
Block a user