文档详情

数字信号处理 实验三 FIR数字滤波器的设计.doc

发布:2018-01-16约2.58千字共6页下载文档
文本预览下载声明
实验三 FIR数字滤波器的设计 2.窗函数法的设计步骤 窗函数设计FIR数字滤波器是从时域出发的,把理想滤波器的单位取样响应 用合适的窗函数截短成为有限长度的,使得h(n)逼近理想的。以实现所设计的滤波器的频率响应 逼近于理想滤波器的频率响应 。一 个有限长的序列,如果满足频率采样定理的条件,可以通过频谱的有限个采样点的值准确地恢复。频率抽样法正是采用这种思想来设计FIR数字滤波器。 a.给定希望逼近的频率响应函数Hd (ejw)。 b.求单位脉冲响应 c.由过渡带宽及阻带最小衰减的要求,可选定窗形状,并估计窗口长度N。 原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣窄的窗函数。 d. 计算所设计的FIR滤波器的单位脉冲响应 e.由h(n)求FIR滤波器的系统函数 3.MATLAB提供了fir1函数,以实现线性相位FIR滤波器。 调用格式如下: hn=fir1(N, wc, ‘ftype’, window) 参数: N:阶数 wc:归一化的数字频率,0≤wc≤1。 ftype:滤波器类型,如高通、带阻等。当ftype=high时,设计高通FIR滤波器;当ftype=stop时,设计带阻FIR滤波器。应当注意,在设计高通和带阻滤波器时,阶数N只能取偶数(h(n)长度N+1为奇数)。不过,当用户将N设置为奇数时,fir1会自动对N加1。window:应用的窗函数类型,默认为hamming窗。 (二)实验项目 用窗函数法设计一个FIR低通滤波器,性能指标如下: 通带截止频率 wp=0.2π 阻带截止频率 ws=0.3π 通带衰减不大于 3 dB 阻带衰减不小于 40dB 采样频率 1 HZ 代码: FS=1; wp=0.2*pi; ws=0.3*pi; B=ws-wp; %计算过渡带的宽度 N=ceil(6.2*pi/B); % 计算阶数N,ceil(x)取大于等于x的整数 M=N-1; wc=(wp+B/2)/pi; hn=fir1(M,wc,hanning(N)); H=1024; hk=fft(hn,H); %求h(n)的FFT变换 n=0:N-1; figure(1); subplot(2,2,1); stem(n,hn,.); %绘制h(n)的火柴杆图 xlabel(n); ylabel( h(n));grid on k=1:H/2+1; w=2*(0:H/2)/H; subplot(2,2,2); plot(w,20*log10(abs(hk(k)))); %绘制h(n)的频谱图 xlabel(ω/π); ylabel(20lg|Hg(ω)|);grid on wf=0:pi/511:pi; HK=freqz(hn,wf); wHz=wf*FS/(2*pi); % 转化为Hz subplot(2,2,3); plot(wHz,20*log10(abs(HK)));grid on %绘制Hz频谱 xlabel(频率(Hz));ylabel(幅度); FS=1; H=1024; t=[0:1/FS:H/FS]; S=2+3*cos(2*pi*0.08*t+pi*(-50)/180)+2*sin(2*pi*0.3*t+pi*50/180)+5*cos(2*pi*0.35*t); %测试信号 figure(2); subplot(2,2,1); plot(S);title(滤波前的信号); Y = fft(S,H); Axx = (abs(Y)); Axx=Axx/(H/2); Axx(1)=Axx(1)/2; F=([1:H]-1)*FS/H; subplot(2,2,2); plot(F(1:H/2),Axx(1:H/2)); title(滤波前信号的频谱); wp=0.2*pi; ws=0.3*pi; B=ws-wp; %计算过渡带的宽度 N=ceil(6.2*pi/B); % 计算阶数N,ceil(x)取大于等于x的整数 M=N-1; wc=(wp+B/2)/pi; hn=fir1(M,wc,hanning(N)); Hk=fft(hn,H); Yk=Y.*Hk; y=ifft(Yk); subplot(2,2,3); f=0:2*pi/100:2*pi; plot(f,y(1:101));title(滤波后的信号); Ayy = (abs(Yk)); Ayy=Ayy/(H/2); Ayy(1)=Ayy(1)/2; F=([1:H]-1)*FS/H; subplot(2,2
显示全部
相似文档