fir低通滤波器的设计数字信号处理课程设计毕业设计内容摘要:

设计滤波器特曲线及输出波形 武汉理工大学《专业课程设计 3(数字信号处理)》课程设计说明书 14 ( 4)改变 N 值大小,矩形窗 设计滤波器的幅频响应的变化情况 图 16 N=13 和 N=23 时矩形窗滤波器频率响应 图 17 N=35 和 N=45 时矩形窗滤波器频率响应 武汉理工大学《专业课程设计 3(数字信号处理)》课程设计说明书 15 4 源程序代码 clear。 %清除工作空间 clc。 %清除屏幕显示 N=23。 %滤波去阶数 a=(N1)/2。 %滤波器相位延迟 wc=pi/4。 %截止频率 n=0:N1。 m=na+eps。 %避免被零除, eps 为 MATLAB 的系统精度 hd=sin(wc*m)./(pi*m)。 %理想滤波器的单位取样响应 %%%选择 窗函数 并求其幅频响应 ,求 FIR 数字滤波器的单位取样响应 和 频率响应 wd1=(boxcar(N))39。 [H10,w10]=freqz(wd1)。 h1=hd.*wd1。 [H1,w1]=freqz(h1)。 %矩形窗 wd2=(triang(N))39。 [H20,w20]=freqz(wd2)。 h2=hd.*wd2。 [H2,w2]=freqz(h2)。 %三角窗 wd3=(hanning(N))39。 [H30,w30]=freqz(wd3)。 h3=hd.*wd3。 [H3,w3]=freqz(h3)。 %汉 宁 窗 wd4=(hamming(N))39。 [H40,w40]=freqz(wd4)。 h4=hd.*wd4。 [H4,w4]=freqz(h4)。 %汉明 窗 wd5=(blackman(N))39。 [H50,w50]=freqz(wd5)。 h5=hd.*wd5。 [H5,w5]=freqz(h5)。 %布莱克曼窗 wd6=(kaiser(N,))39。 [H60,w60]=freqz(wd6)h6=hd.*wd6。 [H6,w6]=freqz(h6)。 %凯泽窗 %%%绘制窗函数的冲激响应、幅频响应 subplot(3,2,1)。 stem(n,wd1,39。 .39。 )。 %矩形窗冲激响应 title(39。 矩形窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 subplot(3,2,3)。 plot(w10/pi,20*log10(abs(H10)/max(abs(H10))))。 axis([0 1 300 0])。 %幅频响应 title(39。 矩形窗幅频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 幅频响应 /dB39。 )。 subplot(3,2,5)。 plot(w10/pi,180/pi*unwrap(angle(H10)))。 axis([0 1 2020 200])。 %相频响应 title(39。 矩形窗相频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 相位 /176。 39。 )。 subplot(3,2,2)。 stem(n,wd2,39。 .39。 )。 title(39。 三角窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 subplot(3,2,4)。 plot(w20/pi,20*log10(abs(H20)/max(abs(H20))))。 axis([0 1 300 0])。 title(39。 三角窗幅频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 幅频响应 /dB39。 )。 subplot(3,2,6)。 plot(w20/pi,180/pi*unwrap(angle(H20)))。 axis([0 1 2020 200])。 武汉理工大学《专业课程设计 3(数字信号处理)》课程设计说明书 16 title(39。 三角窗相频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 相位 /176。 39。 )。 subplot(3,2,1)。 stem(n,wd3,39。 .39。 )。 title(39。 汉宁窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 subplot(3,2,3)。 plot(w30/pi,20*log10(abs(H30)/max(abs(H30))))。 axis([0 1 300 0])。 title(39。 汉宁窗幅频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 幅频响应 /dB39。 )。 subplot(3,2,5)。 plot(w30/pi,180/pi*unwrap(angle(H30)))。 axis([0 1 2020 200])。 title(39。 汉宁窗相频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 相位 /176。 39。 )。 subplot(3,2,2)。 stem(n,wd4,39。 .39。 )。 title(39。 汉明窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 subplot(3,2,4)。 plot(w40/pi,20*log10(abs(H40)/max(abs(H40))))。 axis([0 1 300 0])。 title(39。 汉明窗幅频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 幅频响应 /dB39。 )。 subplot(3,2,6)。 plot(w40/pi,180/pi*unwrap(angle(H40)))。 axis([0 1 2020 200])。 title(39。 汉明窗相频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 相位 /176。 39。 )。 subplot(3,2,1)。 stem(n,wd5,39。 .39。 )。 title(39。 布莱克曼窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 subplot(3,2,3)。 plot(w50/pi,20*log10(abs(H50)/max(abs(H50))))。 axis([0 1 300 0])。 title(39。 布莱克曼窗幅频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 幅频响应 /dB39。 )。 subplot(3,2,5)。 plot(w50/pi,180/pi*unwrap(angle(H50)))。 axis([0 1 2020 200])。 title(39。 布莱克曼窗相频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 相位 /176。 39。 )。 subplot(3,2,2)。 stem(n,wd6,39。 .39。 )。 title(39。 凯泽窗 ()波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 subplot(3,2,4)。 plot(w60/pi,20*log10(abs(H60)/max(abs(H60))))。 axis([0 1 300 0])。 title(39。 凯泽窗 ()幅频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 幅频响应 /dB39。 )。 subplot(3,2,6)。 plot(w60/pi,180/pi*unwrap(angle(H60)))。 axis([0 1 2020 200])。 title(39。 凯泽窗 ()相频响应 39。 )。 xlabel(39。 归一化频率 39。 )。 ylabel(39。 相位 /176。 39。 )。 %%%绘制各种窗函数的幅频响应 subplot(2,2,1)。 stem(n,wd1,39。 .39。 )。 axis([0 30 0 1])。 title(39。 矩形窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 subplot(2,2,2)。 stem(n,wd2,39。 .39。 )。 武汉理工大学《专业课程设计 3(数字信号处理)》课程设计说明书 17 title(39。 三角窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 axis([0 30 0 1])。 subplot(2,2,3)。 stem(n,wd3,39。 .39。 )。 title(39。 汉宁 窗时域波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 axis([0 30 0 1])。 subplot(2,2,4)。 stem(n,wd4,39。 .39。 )。 title(39。 汉明 窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 axis([0 30 0 1])。 subplot(2,2,1)。 stem(n,wd5,39。 .39。 )。 title(39。 布莱克曼窗波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 axis([0 30 0 1])。 subplot(2,2,2)。 stem(n,wd6,39。 .39。 )。 title(39。 凯泽窗 ()波形 39。 )。 xlabel(39。 n39。 )。 ylabel(39。 h(n)39。 )。 axis([0 30 0 1])。 %对输入信号进行采样滤波 NN=1000。 Fs=1000。 %数据总数和采样频率 nn=[0:NN1]。 t=nn/Fs。 f1=50。 f2= x=sin(2*pi*f1*t)+cos(2*pi*f2*t)。 %待滤波的信号 n1=81:241。 t1=t(n1)。 %选择采样点间隔 x1=x(n1)。 %与采样点对应的输入信号 plot(t1,x1)。 title(39。 带滤波信号 39。 )。 xlabel(39。 时间 /t39。 )。 ylabel(39。 幅度 39。 )。 %%%把输入信号经滤波器处理 y1=fftfilt(h1,x,256)。 y2=fftfilt(h。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。