我最近在看FIR滤波的东西,但无奈网上资源比较少,请教一下大家
我看网上为数不多的例子都是这样
#define M 32 /*number of coefficients*/
#define N 32 /*number of output samples*/
COEFS fir_coefs;/*coefficients structure*/
int a[N];/*filter output vector*/
short x[M+N-1] = {x0,x1...,xM+N-1};/*filter input vector*/
short h[M]={h0,h1...,hM-1};/*filter coefficients vector*/
fir_coefs.nh = M; /*Number of Coefficients for FIR*/
fir_coefs.h = h; /*Pointer on FIR coefficient vector*/
fir_16by16_stm32(a,x,&fir_coefs,N);/*performs the FIR filtering*/
M滤波器长度,N滤波器输出数据长度,响应的滤波器输入长度为M+N-1
请问,输入的数据,
是一个先进先出的数组,每次进一个新数据弹出最旧的数据;但是这样就是来一个新的数据,就输出N个数据了?
还是全部用新的数据?这样采样率应该会改变吧?
谢谢大家了
|