实验四 用窗函数设计FIR滤波器.docx
- 文档编号:7652587
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:15
- 大小:353.07KB
实验四 用窗函数设计FIR滤波器.docx
《实验四 用窗函数设计FIR滤波器.docx》由会员分享,可在线阅读,更多相关《实验四 用窗函数设计FIR滤波器.docx(15页珍藏版)》请在冰豆网上搜索。
实验四用窗函数设计FIR滤波器
实验四用窗函数设计FIR滤波器
姓名:
刘竟伦
班级:
11电子A
学号:
1115105037
日期
2014年3月25日
指导老师
戴在平
华侨大学信息科学与工程学院电子工程系
一、实验目的
1.熟悉FIR滤波器设计的基本方法。
2.掌握用窗函数设计FIR数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3.熟悉线性相位FIR滤波器的幅频特性和相位特性。
4.了解各种不同窗函数对滤波器性能的响应。
二、实验原理与方法
(一)FIR滤波器的设计
目前FIR滤波器的设计方法主要有三种:
窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取理想的
得到h(n),以有限长序列h(n)近似理想的
;如果从频域出发,用理想的
在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的
,这就是频率取样法。
(二)窗函数设计法
同其它的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应
,使所设计的FIR滤波器的频率响应
去逼近所要求的理想的滤波器的相应
。
窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。
去逼近
。
我们知道,一个理想的频率响应
的傅理叶变换
所得到的理想单位脉冲响应
往往是一个无限长序列。
对
经过适当的加权、截断处理才得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。
即
,由此可见,窗函数的性质就决定了滤波器的品质。
以下是几种常用的窗函数:
1.矩形窗:
2.Hanning窗:
3.Hamming窗:
4.Blackman窗:
5.Kaiser窗:
窗函数法设计线性相位FIR滤波器可以按如下步骤进行:
1.确定数字滤波器的性能要求。
确定各临界频率{
}和滤波器单位脉冲响应长度N。
2.根据性能要求和N值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应
的幅频特性和相位特性。
3.用傅里叶反变换公式,求得理想单位脉冲响应
。
4.选择适当的窗函数W(n)根据式
求得所设计的FIR滤波器单位脉冲响应。
5.用傅理叶变换求得其频率响应
,分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述过程,直至得到满意的结果。
三、实验内容及步骤
1.实验原理与方法
如果所希望的滤波器的理想频率响应函数为Hd(ejω),则其对应的单位脉冲响应为(10.6.1)
用窗函数w(n)将hd(n)截断,并进行加权处理,得到:
(10.6.2)
h(n)就作为实际设计的FIR数字滤波器的单位脉
冲响应序列,其频率响应函数H(ejω)为
(10.6.3)
如果要求线性相位特性,则h(n)还必须满足:
根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。
要根据所设计的滤波特性正确选择其中一类。
例如,要设计线性相位低通特性,可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。
3.实验内容及步骤
(1)复习用窗函数法设计FIR数字滤波器一节内容,阅读本实验原理,掌握设计步骤。
(2)编写程序。
①编写能产生矩型窗、升余弦窗、改进升余弦窗和二阶升余弦窗的窗函数子程序。
②编写主程序。
主程序框图如图10.6.1所示,仅供参考。
其中幅度特性要求用dB表示。
图10.6.1用窗函数法设计滤波器主程序框图
设:
实验内容:
4、实验程序运行结果:
运行程序,根据实验内容要求和程序提示选择你要进行的实验参数。
三个实验参数选定后,程序运行输出用所选窗函数设计的实际FIR低通数字滤波器的单位脉冲响应h(n)、幅频衰减特性(20lg|H(ejw)|)、相频特性及幅频特性|H(ejw)|的波形,h(n)和|H(ejw)|图中标出了所选窗函数类型及其长度N值。
对四种窗函数(N=15和N=33)的程序运行结果如图4-2到图4-9所示,由图可以看出用各种窗函数设计的FIR滤波器的阻带最小衰减及过渡带均与教材中一致。
在通带内均为严格相位特性。
首先我们选择N=15,截止频率选择pi,选择矩形窗。
接下来我们尝试着把N改为30,截止频率改为2.5,选用Hanning窗:
N=15时的汉宁窗
N=15时的blackman窗
四、思考题
(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?
写出设计步骤。
答:
将模拟频率转换成数字频率,确定理想滤波器的特性;由求出;选择适当的窗函数,并根据线性相位条件确定窗函数的长度N;在MATLAB中,可由w=boxcar(N)(矩形窗)、w=hanning(N)(汉宁窗)、w=hamming(N)(汉明窗)、w=Blackman(N)(布莱克曼窗)、w=Kaiser(N,beta)(凯塞窗)等函数来实现窗函数设计法中所需的窗函数。
由h(n)=(n).w(n),0≤n≤N-1,得出单位脉冲响应h(n)。
①首先确定模拟带通滤波器的技术指标。
②确定归一化低通技术要求
③设计归一化低通
④将低通转化为带通
(2)如果要求用窗函数法设计带通滤波器,且给定上、下边带截止频率为ω1和ω2,试求理想带通的单位脉冲响应hd(n)。
答:
我们可以利用实验中的ideal函数来产生所需的单位脉冲响应h(n)。
functionhd=ideal(w,N);alpha=(N-1)/2;n=[0:
(N-1)];m=n-alpha+eps;hd=sin(w*m)./(pi*m);
五、附录:
1、实验子程序(ideal)
functionhd=ideal(w,N);
alpha=(N-1)/2;
n=[0:
(N-1)];
m=n-alpha+eps;
hd=sin(w*m)./(pi*m);
2、matlab源程序:
b=1;
closeall;
i=0;
while(b);
temp=menu('选择窗函数长度N','N=10','N=15','N=20','N=25','N=30','N=33','N=35','N=40','N=45','N=50','N=55','N=60','N=64');
menu1=[10,15,20,25,30,33,35,40,45,50,55,60,64];
N=menu1(temp);
temp=menu('选择逼近理想低通滤波器截止频率Wc','Wc=pi/4','Wc=pi/2','Wc=3*pi/4','Wc=pi','Wc=0.5','Wc=1.0','Wc=1.5','Wc=2.0','Wc=2.5','Wc=3.0');
menu2=[pi/4,pi/2,3*pi/4,pi,0.5,1,1.5,2,2.5,3];
w=menu2(temp);
n=[0:
(N-1)];
hd=ideal(w,N);%得到理想低通滤波器
k=menu('请选择窗口类型:
','boxcar','hamming','hanning','blackman');
ifk==1
B=boxcar(N);
string=['Boxcar','N=',num2str(N)];
elseifk==2
B=hamming(N);
string=['Hamming','N=',num2str(N)];
elseifk==3
B=hanning(N);
string=['Hanning','N=',num2str(N)];
elseifk==4
B=blackman(N);
string=['Blackman','N=',num2str(N)];
end
end
end
end
h=hd.*(B)';%得到FIR数字滤波器
[H,m]=freqz(h,[1],1024,'whole');%求其频率响应
mag=abs(H);%得到幅值
db=20*log10((mag+eps)/max(mag));
pha=angle(H);%得到相位
i=i+1;
figure(i)
subplot(2,2,1);
n=0:
N-1;
stem(n,h,'.');
axis([0,N-1,-0.1,0.3]);
holdon;
n=0:
N-1;
x=zeros(N);
plot(n,x,'-');
xlabel('n');
ylabel('h(n)');
title('实际低通滤波器的h(n)');
text((0.3*N),0.27,string);
holdoff;
subplot(2,2,2);
plot(m/pi,db);
axis([0,1,-100,0]);
xlabel('w/pi');
ylabel('dB');
title('衰减特性(dB)');
grid;
subplot(2,2,3);
plot(m,pha);
holdon;
n=0:
7;
x=zeros(8);
plot(n,x,'-');
title('相频特性');
xlabel('频率(rad)');
ylabel('相位(rad)');
axis([0,3.15,-4,4]);
subplot(2,2,4);
plot(m,mag);
title('频率特性');
xlabel('频率W(rad)');
ylabel('幅值');
axis([0,3.15,0,1.5]);
text(0.9,1.2,string);
b=menu('DoYouwantToContinue?
','Yes','No');
ifb==2
b=0;
end
end
temp=menu('CloseAllFigure?
','Yes','No');
iftemp==1
closeall
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 用窗函数设计FIR滤波器 实验 函数 设计 FIR 滤波器