数字信号处理实验五.FIR数字滤波器设计和软件实现 下载本文

%以下为用窗函数法设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形)

f=[0:1023]*Fs/1024; figure(2) subplot(2,1,1)

plot(f,20*log10(Hw/max(Hw)));grid;title('(a) 低通滤波器幅频特性')

axis([0,Fs/2,-120,20]); xlabel('f/Hz');ylabel('幅度') t=[0:N-1]/Fs;Tp=N/Fs; subplot(2,1,2) plot(t,ywt);grid;

axis([0,Tp/2,-1,1]);xlabel('t/s');ylabel('y_w(t)'); title('(b) 滤除噪声后的信号波形') % (2) 用等波纹最佳逼近法设计滤波器

fb=[fp,fs];m=[1,0]; % 确定remezord函数所需参数f,m,dev

dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)]; [Ne,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数

hn=remez(Ne,fo,mo,W); % 调用remez函数进行设计 Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性

yet=fftfilt(hn,xt,N); % 调用函数fftfilt对xt滤波 %以下为用等波纹设计法的绘图部分(滤波器损耗函数,滤波器输出信号波形)

figure(3);subplot(2,1,1) f=[0:1023]*Fs/1024;

plot(f,20*log10(Hw/max(Hw)));grid;title('(c) 低通滤波器幅频特性')

axis([0,Fs/2,-80,10]); xlabel('f/Hz');ylabel('幅度') subplot(2,1,2);plot(t,yet);grid;

axis([0,Tp/2,-1,1]);xlabel('t/s');ylabel('y_e(t)'); title('(d) 滤除噪声后的信号波形') 三、 实验程序运行结果

用窗函数法设计滤波器,滤波器长度 Nb=184。滤波器损耗函数和滤波器输出yw(nT)分别如图3(a)和(b)所示。

用等波纹最佳逼近法设计滤波器,滤波器长度 Ne=83。滤波器损耗函数和滤波器输出ye(nT)分别如图3(c)和(d)所示。

两种方法设计的滤波器都能有效地从噪声中提取信号,但等波纹最佳逼近法设计的滤波器阶数低得多,当然滤波实现的运算量以及时延也小得多,从图3(b)和(d)可以直观地看出时延差别。

图3

四、 简答思考题

(1) 用窗函数法设计线性相位低通滤波器的设计步骤教材中有详细的介绍.

(2) 希望逼近的理想带通滤波器的截止频率?cl和?cu分别为:

?cl?(?sl??pl)/2, ?cu?(?su??pu)/2

(3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低?

①用窗函数法设计的滤波器,如果在阻带截止频率附近刚好满

足,则离开阻带截止频率越远,阻带衰减富裕量越大,即存在资源浪费;

② 几种常用的典型窗函数的通带最大衰减和阻带最小衰减固定,且差别较大,又不能分别控制。所以设计的滤波器的通带最大衰减和阻带最小衰减通常都存在较大富裕。如本实验所选的blackman窗函数,其阻带最小衰减为74dB,而指标仅为60dB。

③ 用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以其阶数低得多。