mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-08-20 03:47:45 +00:00
Extract spectrum collector from BasebandProcessor.
Code size improvement, and less confused classes. :-)
This commit is contained in:
@@ -43,24 +43,24 @@ void WidebandSpectrum::execute(const buffer_c8_t& buffer) {
|
||||
std::fill(spectrum.begin(), spectrum.end(), 0);
|
||||
}
|
||||
|
||||
if( (phase & 7) == 0 ) {
|
||||
for(size_t i=0; i<spectrum.size(); i++) {
|
||||
// TODO: Removed window-presum windowing, due to lack of available code RAM.
|
||||
// TODO: Apply window to improve spectrum bin sidelobes.
|
||||
for(size_t i=0; i<channel_spectrum.size(); i++) {
|
||||
spectrum[i] += buffer.p[i];
|
||||
}
|
||||
spectrum[i] += buffer.p[i + 0];
|
||||
spectrum[i] += buffer.p[i + 1024];
|
||||
}
|
||||
|
||||
if( phase == 23 ) {
|
||||
if( channel_spectrum_request_update == false ) {
|
||||
fft_swap(spectrum, channel_spectrum);
|
||||
channel_spectrum_sampling_rate = buffer.sampling_rate;
|
||||
channel_filter_pass_frequency = 0;
|
||||
channel_filter_stop_frequency = 0;
|
||||
channel_spectrum_request_update = true;
|
||||
events_flag(EVT_MASK_SPECTRUM);
|
||||
phase = 0;
|
||||
}
|
||||
if( phase == 127 ) {
|
||||
const buffer_c16_t buffer_c16 {
|
||||
spectrum.data(),
|
||||
spectrum.size(),
|
||||
buffer.sampling_rate
|
||||
};
|
||||
channel_spectrum.feed(
|
||||
buffer_c16,
|
||||
0, 0
|
||||
);
|
||||
phase = 0;
|
||||
} else {
|
||||
phase++;
|
||||
}
|
||||
|
Reference in New Issue
Block a user