图5.11 凯塞窗设计FIR滤波器的零极点图
图5.12 凯塞窗设计FIR滤波器的冲激响应
(5) 实验仿真
为了验证所设计的滤波器是否满足要求,用MATLAB进行实验仿真。
设输入信号为 x(n)=sin(2*π*f1*n)+ sin(2*π*f2*n),其中 f1=10hz, f2=30hz, 滤除频率分量为f2的信号。取采样频率Fs=100hz,Fpass=15hz,Fstop=25hz。将两个信号进行叠加,再进行滤波。
在MATLAB环境下运行文件,程序见附录7,得到频谱图如图5.13所示。
图5.13 凯塞窗设计FIR滤波器的仿真结果
图5.13中a图为输入信号的频谱图,包括 、 两个频率成分,b图是输出信号的频谱图,只剩下了 的频率成分。从a、b两图中可以看出,经过滤波后输入信号的高频成分 被滤除,说明所设计的滤波器满足要求。
2. 布莱克曼窗设计滤波器
在凯塞窗设计步骤的基础上,将FDAtool中的window改为Blackman,参数设置保持不变,如下图所示
图5.14 布莱克曼窗设计滤波器FDAtool界面
由Targets菜单下的Generate c header导出的内容,可得到h(n)的系数,并将系数保存在.m文件下,所设计的FIR数字滤波器如下:
h[0]=h[51]= -1.224941058386e-019
h[1]=h[50]= 1.261820920823e-005
h[2]=h[49]= -0.0001288912712741
h[3]=h[48]= 0.0004225989022961
h[4]=h[47]= -5.346832563989e-005
h[5]=h[46]= 0.0002479335113018
h[6]=h[45]= -0.0006680463662243
h[7]=h[44]= -0.001002优尔842998
h[8]=h[43]= 0.001448668677833
h[9]=h[42]= 0.002031441695448
h[10]=h[41]= -0.002780759874128
h[11]=h[40]= -0.0037309765784
h[12]=h[39]= 0.00492219556374
h[13]=h[38]= 0.006402136053155
h[14]=h[37]= -0.00822929171965
h[15]=h[36]= -0.01047826979917
h[16]=h[35]= 0.01324891798868
h[17]=h[34]= 0.01668233174056
h[18]=h[33]= -0.02099010300952
h[19]=h[32]= -0.02651096939164
h[20]=h[31]= 0.0338295874927
h[21]=h[30]= 0.04405385965157
h[22]=h[29]= -0.05956763485198
h[23]=h[28]= -0.08658943002453
h[24]=h[27]= 0.1479646349634
h[25]=h[26]= 0.449458299505
所设计的FIR低通滤波器的幅频响应、相频响应、零极点图和冲激响应如下所示:
图5.9 布莱克曼窗设计FIR滤波器的幅频特性曲线
图5.9 布莱克曼窗设计FIR滤波器的相频特性曲线
图5.9 布莱克曼窗设计FIR滤波器的冲激响应
图5.9 布莱克曼窗设计FIR滤波器的零极点图
在MATLAB环境下运行文件,程序见附录8,得到频谱图如图5.13所示。 FIR数字滤波器的MATLAB设计+文献综述(13):http://www.youerw.com/tongxin/lunwen_2868.html