这几天在弄stm32的DSP库,想用IIR数字滤波做音频滤波。可是不知道几个系数怎么获取。自己通过matlab 取得的系数随便试试,出来的都是噪音不知道怎么弄,原子哥,希望你帮一下啊。
Example
#define NY 32 /*number of outputs*/
/* Coefficients for the biquad IIR filter: 4 sections, with 5
coefficients in each section */
s16 Coeff[20] = {...};
/* Input and output vectors */
short x[NY],y[NY];
/* Fill the input vector x */
/* Improve the filtering of NY samples */
iir_biquad_stm32(y, x, Coeff, NY);
下面是这两天对 DSP库的里的IIR 滤波器的了解,上面的例程是DSP库指导书的例程,Coeff[20]就是需要获取的系数。
iir_biquad_stm32(y, x, Coeff, NY); 这个函数
采样4级直接型二阶滤波器级联
我们需要求的是每一级的权系数 b0 b1 b2 a1 a2
帮不了你啊.
看看论坛别的网友有没有做过吧,呵呵.
---------------------------------
STM32的DSP库 所有芯片都可以用吗?
还是先在matlab验证方便点.随便试试就想有效果,不用分析吗?
---------------------------------
可以用matlab fdatool辅助设计软件直接导出A,B的值,Convert Structure结构以后跟dsp库iirarma_stm32()就一致了,K改为a,V改为b;
到MATLAB界面的Command Window执行a=a*32768,b=b*32768,出来的矩阵列就是系数
---------------------------------
您能说详细点么,,我也做这个,系数问题,很难搞定
一周热门 更多>