数字信号处理 实验三.doc
上传人:sy****28 上传时间:2024-09-15 格式:DOC 页数:5 大小:67KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

数字信号处理 实验三.doc

数字信号处理实验三.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验三FIR滤波器设计1、验证窗函数N变化时,验证其频谱主瓣副瓣比、主瓣宽度的变化。clearall;N=20;n1=ones(1,N);fft1=fft(n1,128);fft1=fft1/max(fft1);x=(0:1:127)/128*2*3.14;figure(1);plot(x,20*log10(abs(fft1)));gridon;holdon;title('N=20');N=30;n2=ones(1,N);fft2=fft(n1,128);fft2=fft2/max(fft2);x=(0:1:127)/128*2*3.14;figure(2)plot(x,20*log10(abs(fft2)),'r');gridon;title('N=30');由图可以算得:频谱主瓣副瓣幅度比为4.5704,过渡带为:0.63pi,约等于4*pi/N。由图可以算得:频谱主瓣副瓣幅度比为4.59,过渡带为:0.43pi,约等于4*pi/N。故可得:矩形窗函数的N变化时,验证其其频谱主瓣副瓣幅度比基本不会发生变化,而主瓣宽度将会变窄。这说明,当用矩形窗函数设计滤波器时,增大N不能使得阻带衰减减小,但能够减小过渡带。2、用窗函数法设计线性相位FIR低通通带截止频率wp=0.5PI,阻带截止频率ws=0.6PI,阻带衰减不小于40dB,通带衰减不大于3dB.选取Hanning和Hamming就可以满足设计的要求。根据过渡带的要求选择窗的长度。过渡带是0.1PI,海明和汉宁窗的主瓣宽度均是8PI/N的,从而选择的窗的长度都是大于等于80的,选择N大于等于80就可以了,在这里选取N=81.lc,clearall,closeall;wp=0.5*pi;ws=0.6*pi;dw=ws-wp;nhanning=ceil(8*pi/dw);wn=(wp+ws)/2/piifmod(nhanning,2)==0nhanning=nhanning+1;endwindow_hanning=hanning(nhanning)bhanning=fir1(nhanning-1,wn,window_hanning)npoint=512;freq_axis=[0:pi/npoint:pi-pi/npoint];freq_norm=[0:npoint-1]/npoint;hhanning=freqz(bhanning,1,npoint);subplot(2,1,1);plot(freq_norm,20*log10(abs(hhanning)));holdon;xlabel('归一化频率w/pi');ylabel('幅度(dB)');title('采用hanning和hamming设计的FIR-幅度响应');subplot(2,1,2);plot(freq_norm,angle(hhanning)/pi);holdon;xlabel('归一化频率w/pi');ylabel('相位/Pi');title('采用hanning和hamming设计的FIR-相位响应');nhamming=ceil(8*pi/dw);wn=(wp+ws)/2/pi;ifmod(nhamming,2)==0nhamming=nhamming+1endwindow_hamming=hamming(nhamming);bhamming=fir1(nhamming-1,wn,window_hamming);hhamming=freqz(bhamming,1,npoint);subplot(2,1,1);plot(freq_norm,20*log10(abs(hhamming)),'k');subplot(2,1,2);plot(freq_norm,angle(hhamming)/pi,'k');holdon;3、用窗函数法设计线性相位FIR高通,通带截止频率wp=0.8PI,阻带截止频率ws=0.7PI,阻带衰减不小于30dB,通带衰减不大于3dB.1)阻带衰减不小于30dB,可以选择Hanning窗(最大阻带衰减是44dB)2)过渡带是0.1PI,Hanning主瓣宽度均是8PI/N的,,选择N=81(必须是奇数);clc,clearall,closeall;wp=0.8*pi;ws=0.7*pi;dw=wp-ws;nhanning=ceil(8*pi/dw);wn=(wp+ws)/2;ifmod(nhanning,2)==0nhanning=nhanning+1;endwindow_hanning=hanning(nhan