diff --git a/firmware/baseband/proc_fsk.cpp b/firmware/baseband/proc_fsk.cpp index a26c224a..42d6edbd 100644 --- a/firmware/baseband/proc_fsk.cpp +++ b/firmware/baseband/proc_fsk.cpp @@ -65,7 +65,7 @@ void FSKProcessor::execute(buffer_c8_t buffer) { /* 153.6kHz complex[128] * -> FIR filter, 76.8kHz int16_t[64] */ + * -> 19.2kHz int16_t[16] */ auto channel = channel_filter.execute(decimator_out, work_baseband_buffer); /* 76.8kHz, 64 samples */ @@ -79,7 +79,7 @@ void FSKProcessor::execute(buffer_c8_t buffer) { // 76.8k // TODO: Factor out this hidden decimation magic. - for(size_t i=0; ifloat is not allowed. const std::complex sample { static_cast(channel.p[i].real()), diff --git a/firmware/baseband/proc_fsk.hpp b/firmware/baseband/proc_fsk.hpp index d2324dc9..72dd09df 100644 --- a/firmware/baseband/proc_fsk.hpp +++ b/firmware/baseband/proc_fsk.hpp @@ -55,7 +55,7 @@ private: ChannelDecimator decimator { ChannelDecimator::DecimationFactor::By16 }; const fir_taps_real<64>& channel_filter_taps = taps_64_lp_031_070_tfilter; - dsp::decimate::FIRAndDecimateComplex channel_filter { channel_filter_taps.taps, 2 }; + dsp::decimate::FIRAndDecimateComplex channel_filter { channel_filter_taps.taps, 8 }; dsp::matched_filter::MatchedFilter mf { baseband::ais::rrc_taps_128_decim_4_p, 1 };