initial
Dependencies: mbed BSP_DISCO_F746NG mbed-dsp
Diff: signal_processing.cpp
- Revision:
- 7:88543caf2b6e
- Parent:
- 6:291e341f0d71
- Child:
- 8:e66f32a7e3e7
diff -r 291e341f0d71 -r 88543caf2b6e signal_processing.cpp --- a/signal_processing.cpp Fri Mar 06 19:02:55 2020 +0000 +++ b/signal_processing.cpp Fri Mar 06 19:09:04 2020 +0000 @@ -36,7 +36,7 @@ #define PADDED_FILTER_LENGTH (WIN_NUM_TAPS + 2*(AUDIO_BLOCK_SAMPLES - 1)) /* For Lab Exercise */ -#define Lab_Execution_Type 6 +#define Lab_Execution_Type 3 float32_t padded_filter[PADDED_FILTER_LENGTH]; @@ -171,10 +171,11 @@ for(uint16_t shift = 0; shift < CONV_LENGTH; shift++) { result = 0; + //multiply-add the shifted, reversed data sample to the padded filter for(int i=0; i<sig_length; i++) { - result += padded_filter[i + shift] * d_in[i]; + result += padded_filter[i + shift] * d_in[sig_length - i - 1]; } // overlap-add to the buffer @@ -386,7 +387,7 @@ } else { - padded_filter[i] = win_filter_coeffs[WIN_NUM_TAPS - 1 - (i - AUDIO_BLOCK_SAMPLES - 1)]; + padded_filter[i] = win_filter_coeffs[i - AUDIO_BLOCK_SAMPLES - 1]; } } @@ -416,29 +417,4 @@ return; } -void filter_fft_OS_init() -{ - for(int i=0; i < FFT_LENGTH; i++) - { - if(i < AUDIO_BLOCK_SAMPLES) - { - fft_of_filter[2*i] = 0; - fft_of_filter[2*i+1] = 0; - } - else if(i < WIN_NUM_TAPS + AUDIO_BLOCK_SAMPLES) - { - fft_of_filter[2*i] = win_filter_coeffs[i]; - fft_of_filter[2*i+1] = 0; - } - else - { - fft_of_filter[2*i] = 0; - fft_of_filter[2*i+1] = 0; - } - } - - arm_cfft_f32(&arm_cfft_sR_f32_len1024, fft_of_filter, 0, 1); - - return; -}