主要是获取滤波器参数和卷积算法,参数根据自己的滤波器特性用matlab上面的一个fdatool工具配置生成,然后将这些参数写入程序里面即可(参数可适当的乘以一个系数,对滤波没任何影响),我这里Fs = 2k,Fpass= 1k,Fstop = 2k,至于输入数据你可以自己产生几个不同频率正弦波的叠加。我这里随便给的一个输入例子:
f1=1k,f2=6k,fs=20k
采样数据:200
30 12 -3 5 -2 -10 9 11 -14 -18 -10 -19 -12 13 7 -10 -1 4 -3 15 30 10 -3 5 -4 -9 11 9 -16 -17 -10 -20 -9 14 4 -11 1 3 -3 17 29 7 -2 5 -5 -8 12 7 -17 -16 -11 -20 -7 15 2 -10 2 2 -2 20 28 5 -2

本文介绍了如何使用C语言实现一个FIR(有限 impulse response)数字低通滤波器。通过MATLAB的fdatool配置滤波器参数,并将其应用到输入数据上进行滤波。示例中,输入数据为不同频率正弦波的叠加,程序通过卷积算法进行滤波处理。最后,展示了MATLAB中的滤波结果仿真。
最低0.47元/天 解锁文章
1080





