refactor
This commit is contained in:
@@ -18,8 +18,8 @@ q31_t st2_filter_Q_state[ST2_FILTER_BLOCK_SIZE + ST2_FILTER_TAP_NUM - 1];
|
||||
|
||||
// filtro audio
|
||||
arm_fir_instance_q31 audio_filter_struct;
|
||||
q31_t audio_filter_state[AUDIO_FILTER_BLOCK_SIZE + AUDIO_FILTER_TAP_NUM - 1];
|
||||
int32_t audio_filter_coeffs[AUDIO_FILTER_TAP_NUM];
|
||||
q31_t audio_filter_state[RX_AUDIO_FILTER_BLOCK_SIZE + RX_AUDIO_FILTER_TAP_NUM - 1];
|
||||
int32_t audio_filter_coeffs[RX_AUDIO_FILTER_TAP_NUM];
|
||||
|
||||
int32_t ms_hbf_filter_taps[MS_HBF_TAP_NUM] = {
|
||||
-181552, 0, 3414100, 0,
|
||||
@@ -100,7 +100,7 @@ int32_t st2_wide_taps[ST2_FILTER_TAP_NUM] = {
|
||||
1221284, 778895, 335568, -97978,
|
||||
};
|
||||
|
||||
int32_t audio_filter_coeffs[AUDIO_FILTER_TAP_NUM];
|
||||
int32_t audio_filter_coeffs[RX_AUDIO_FILTER_TAP_NUM];
|
||||
|
||||
// mix
|
||||
|
||||
@@ -244,19 +244,19 @@ void st2_filter_init(void){
|
||||
}
|
||||
|
||||
void audio_filter_init(void){
|
||||
arm_fir_init_q31 (&audio_filter_struct, AUDIO_FILTER_TAP_NUM, audio_filter_coeffs, &audio_filter_state[0], AUDIO_FILTER_BLOCK_SIZE);
|
||||
arm_fir_init_q31 (&audio_filter_struct, RX_AUDIO_FILTER_TAP_NUM, audio_filter_coeffs, &audio_filter_state[0], RX_AUDIO_FILTER_BLOCK_SIZE);
|
||||
}
|
||||
|
||||
void audio_filter_generate_coeffs(int32_t *Coeffs, uint32_t freq, uint32_t bw, uint8_t beta){
|
||||
double FPCoeff[AUDIO_FILTER_TAP_NUM + 1];
|
||||
double FPCoeff[RX_AUDIO_FILTER_TAP_NUM + 1];
|
||||
double normalized_center_freq, normalized_bw, fp_beta;
|
||||
normalized_center_freq = (double)(freq*2)/RX_DAC_SAMPLE_RATE;
|
||||
normalized_bw = (double)(bw*2)/RX_DAC_SAMPLE_RATE;
|
||||
fp_beta = beta/4;
|
||||
RectWinFIR(FPCoeff, AUDIO_FILTER_TAP_NUM, firBPF, normalized_center_freq, normalized_bw);
|
||||
FIRFilterWindow(FPCoeff, AUDIO_FILTER_TAP_NUM, wtKAISER, fp_beta);
|
||||
RectWinFIR(FPCoeff, RX_AUDIO_FILTER_TAP_NUM, firBPF, normalized_center_freq, normalized_bw);
|
||||
FIRFilterWindow(FPCoeff, RX_AUDIO_FILTER_TAP_NUM, wtKAISER, fp_beta);
|
||||
|
||||
for( int index = 0; index < AUDIO_FILTER_TAP_NUM; index++){
|
||||
for( int index = 0; index < RX_AUDIO_FILTER_TAP_NUM; index++){
|
||||
Coeffs[index] = (int32_t) ( (double)(FPCoeff[index])*(double)0x7FFFFFFF );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user