比如你在第n个采样点得到一个ADC值,那么在同一时刻,你需要输出的结果是第n-1,n-2,n-3,……n-M个采样点的值与特定滤波系数进行乘加运算以后得到的值(也就是与第n个采样点前M个采样点的值有关)。其中的M为FIR滤波器系数个数。一般来讲系数越多,滤波效果越好。你需要把第n个采样点前M个采样点的数值作为buffer保存下来,和FIR系数做乘加运算。“对采样ADC输出的N个数据处理,得一个数据值”,基本上正确。
开辟一个循环缓冲区,来一个输入x(n),执行一次FIR,得到一个y(n),实时的