请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1294NCPDT 工具/软件:Code Composer Studio
你(们)好
实施 CMSIS Biquad 低通滤波器时遇到问题。
CMSIS 浮点滤波器工作、但定点 Q15滤波器工作正常。
它只是一个简单的二阶(1级)滤波器。 使用 Matlab 计算系数。
是否有人尝试过这种情况并在此处看到错误?
chrip 函数生成振幅为+1的线性调频脉冲正弦。
提前感谢
勒内
// fs = 16000; // fG = 1600Hz,fill //[z、p、k]= fill (2、FG/FS、'low'); // sos2 = zp2sos (z、p、k); // HD = dstutfilt.df2tsos (sos2); // fvtool (zp2t)= 0.064n_f2 (dsp_ssnf)/f2); // fi_inci20f 1 /f2 = ni20f 1 /f2 (dsps /f2)/fi_inci20f 1、nf 1、nf 1、t/f2、ni20f 1、t/f2)/f2、t/f2、nf2、t/f2、nf2、nf2、nf2、ni2、t/f2、ni2、t/f2、ni2、ni2、nf IIR_16; // A11 und A12 müssen negiert werden fCoeffs[]={0.0200833659619093、0.0401667319238186、0.0200833659619093、1.56101810932159、-0.641351521015167}; float32_t IIRstate[2*steps]; BiquadLP BiquadFloat (stages、fCoeffs、IIRstate);//这会调用 arm_biquad_cascad_df2T_init_F32 (&IIR、numStages_、pCoeffs_、pState_); // A11 und A12 müssen iwerden /负温度 B10、0、B11、B12、A11、 A12 Q15_t n16Coeffs[阶段* 6]={329、0、658、329、25576、 -10508}; Q15_t n16StateA[阶段* 4]; BiquadLP BiquadQ15 = BiquadLP (阶段、n16Coeffs、n16StateA);//这会调用 arm_biquad_cascad_DF1_init_Q15 (&IIR_16、numStages_、pCoeffs_、pState_、pState_、1); float fFilterIn = chirp.calc_log(); fFilterOut1 = BiQuadFlat.filter (&fFilterIn);
Q15_t n16FilterIn =(Q15_t)(fFilterIn * 16384.0f);//仅按 Q14进行缩放以进行测试 n16FilterOutQ15 = BiQuadQ15.filter (_n16FilterIn);
