数字信号处理实验报告——用窗函数法设计 FIR数字滤波器

时间:2024.4.20

实验四      用窗函数法设计 FIR数字滤波器

一、        实验目的

(1) 掌握用窗函数法设计FIR数字滤波器的原理和方法。

(2) 熟悉线性相位FIR数字滤波器特性。

(3) 了解各种窗函数对滤波特性的影响。

二、        实验原理、

滤波器的理想频率响应函数为Hd(e),则其对应的单位脉冲响应为

hd(n) =

窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼hd(n)。由于hd(n)往往是无限长序列,且是非因果的,所以用窗函数。w(n)将hd(n)截断,并进行加权处理:

h(n) = hd(n) w(n)

h(n)就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数H(e)为

H(e) =

用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N。

三、        实验内容

1.MATALAB程序

任务一

N1=15;

N2=33;

b1=fir1(14,1/4,hanning(15));

b2=fir1(32,1/4,hanning(33));

[H1,W]=freqz(b1,1);

H1_db=20*log10(abs(H1));

magH1=abs(H1);

phaH1=angle(H1);

[H2,W]=freqz(b2,1);

H2_db=20*log10(abs(H2));

magH2=abs(H2);

phaH2=angle(H2);

figure(1);

subplot(2,1,1);stem(b1);

title('N=15时,汉宁窗得到的FIR滤波器脉冲响应');

subplot(2,1,2);stem(b2);

title('N=33时,汉宁窗得到的FIR滤波器脉冲响应');

figure(2);

subplot(3,1,1);plot(W/pi,magH1);

title('N=15时汉宁窗得到的FIR滤波器的幅频特性')

subplot(3,1,2);plot(W/pi,H1_db);

title('N=15时汉宁窗得到的FIR滤波器的对数幅频特性')

subplot(3,1,3);plot(W/pi,phaH1);

title('N=15时汉宁窗得到的FIR滤波器的相频特性')

figure(3);

subplot(3,1,1);plot(W/pi,magH2);

title('N=33时汉宁窗得到的FIR滤波器的幅频特性')

subplot(3,1,2);plot(W/pi,H2_db);

title('N=33时汉宁窗得到的FIR滤波器的对数幅频特性')

subplot(3,1,3);plot(W/pi,phaH2);

title('N=33时汉宁窗得到的FIR滤波器的相频特性')

任务二

N=33;

b1=fir1(32,1/4,boxcar(33));

b2=fir1(32,1/4,hanning(33));

b3=fir1(32,1/4,bartlett(33));

b4=fir1(32,1/4,blackman(33));

[H1,W]=freqz(b1,1);

H1_db=20*log10(abs(H1));

magH1=abs(H1);

phaH1=angle(H1);

[H2,W]=freqz(b2,1);

H2_db=20*log10(abs(H2));

magH2=abs(H2);

phaH2=angle(H2);

[H3,W]=freqz(b3,1);

H3_db=20*log10(abs(H3));

magH3=abs(H3);

phaH3=angle(H3);

[H4,W]=freqz(b4,1);

H4_db=20*log10(abs(H4));

magH4=abs(H4);

phaH4=angle(H4);

figure(1);

subplot(2,2,1);stem(b1);

title('矩形窗得到的FIR滤波器脉冲响应')

subplot(2,2,2);stem(b2);

title('汉宁窗得到的FIR滤波器脉冲响应')

subplot(2,2,3);stem(b3);

title('三角窗得到的FIR滤波器脉冲响应')

subplot(2,2,4);stem(b4);

title('布拉克曼窗得到的FIR滤波器脉冲响应')

figure(2);

subplot(2,2,1);plot(W/pi,magH1);

title('矩形窗得到的FIR滤波器幅频特性')

subplot(2,2,2);plot(W/pi,magH2);

title('汉宁窗得到的FIR滤波器幅频特性')

subplot(2,2,3);plot(W/pi,magH3);

title('三角窗得到的FIR滤波器幅频特性')

subplot(2,2,4);plot(W/pi,magH4);

title('布拉克曼窗得到的FIR滤波器幅频特性')

figure(3);

subplot(2,2,1);plot(W/pi,H1_db);

title('矩形窗得到的FIR滤波器相频特性')

subplot(2,2,2);plot(W/pi,H2_db);

title('汉宁得到的FIR滤波器相频特性')

subplot(2,2,3);plot(W/pi,H3_db);

title('三角窗得到的FIR滤波器相频特性')

subplot(2,2,4);plot(W/pi,H4_db);

title('布拉克曼得到的FIR滤波器相频特性')

figure(4);

subplot(2,2,1);plot(W/pi,phaH1);

title('矩形窗得到的FIR滤波器相频特性')

subplot(2,2,2);plot(W/pi,phaH2);

title('汉宁窗得到的FIR滤波器相频特性')

subplot(2,2,3);plot(W/pi,phaH3);

title('三角窗得到的FIR滤波器相频特性')

subplot(2,2,4);plot(W/pi,phaH4);

title('布拉克曼窗得到的FIR滤波器相频特性')

         

2.实验波形图

任务一

任务二

四、        实验结论

1.N的大小决定了窗谱的主瓣宽度,N越大,窗谱的主瓣宽度越大

2.最小阻带衰减只有窗行决定,不受N的影响,过渡带宽度与N和窗形都有关,N越大,过渡带宽越小

3.由实验可知滤波特性:布拉克曼窗>汉宁窗>三角窗>矩形窗

五、        思考题

(1) 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。

答:①根据计算出所要设计的滤波器的过渡带

②查表找到满足的阻带最小衰减所需的窗函数

③利用已选的窗函数的过渡带宽除以得到低通滤波器单位脉冲响应的长度N

④根据求出h(n)

⑤再根据H(e) =求出响应函数H(e)

(2) 如果要求用窗函数法设计带通滤波器,且给定上、下边带截止频率为ω1和ω2,试求理想带通的单位脉冲响应hd(n)。

答:由算出,求出滤波器过渡带宽和滤波器长度N,最后由求出,其中


第二篇:数字信号处理实验——用窗函数设计FIR滤波器


实验四   用窗函数设计FIR滤波器

一、     实验目的

1、熟悉FIR滤波器设计的基本方法。

2、掌握用窗函数设计FIR数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。

3、熟悉线性相位FIR滤波器的幅频特性和相位特性。

4、了解各种不同窗函数对滤波器性能的响应。

二、     实验原理和方法

窗函数法设计的任务在于寻找一个可实现有限长单位脉冲响应的传递函数H(ejw)=h(n)e-jwn 去逼近hd(n)=1/2Hd(ejw)ejwndw

即h(n)=hd(n)w(n)

(一)几种常用的窗函数

1、矩形窗             w(n)=RN(n)

2、Hanning窗   w(n)=0.5[1-cos(2πn/N-1)]RN(n)

3、Hamming窗  w(n)=[0.54-0.46cos(2πn/N-1)]R N(n)

4、Blackman窗  w(n)=[0.42-0.5 cos(2πn/N-1)+0.08 cos(4πn/N-1)] RN(n)

5、Kaiser窗     w(n)=I0(β(1-[(2n/(N-1))-1]2½)/I0(β)

(二)窗函数法设计线性相位FIR滤波器的步骤

1、确定数字滤波器的性能要求。确定各临界频率{wk}和滤波器单位脉冲响应长度N。

2、根据性能要求和N值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应hd(ejw)的幅频特性和相位特性。

3、用傅里叶反变换公式求得理想单位脉冲响应hd(n)。

4、选择适当的窗函数W(n),求得所设计的FIR滤波器单位脉冲响应。

5、用傅里叶变换求得其频率响应H (ejw),分析它的幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述过程,直至得到满意的结果。

三、实验内容和步骤

1、分别用矩形窗、Hanning窗、Hamming窗、Blackman窗、Kaiser窗(β=8.5)设计一个长度N=8的线性相位FIR滤波器。

>> Window=boxcar(8);

>> b=fir1(7,0.4,Window)

b =

 Columns 1 through 7

   -0.0883    0.0000    0.2061    0.3822    0.3822    0.2061    0.0000

 Column 8

   -0.0883

>> Window=hanning(8);

>> b=fir1(7,0.4,Window)

b =

  Columns 1 through 7

   -0.0100    0.0000    0.1501    0.3599    0.3599    0.1501    0.0000

 Column 8

   -0.0100

>> Window=hamming(8);

>> b=fir1(7,0.4,Window)

b =

  Columns 1 through 6

   -0.0072    0.0000    0.1351    0.3721    0.3721    0.1351

  Columns 7 through 8

    0.0000   -0.0072

>> Window=blackman(8);

>> b=fir1(7,0.4,Window)

b =

  Columns 1 through 6

    0.0000    0.0000    0.1060    0.3940    0.3940    0.1060

  Columns 7 through 8

    0.0000    0.0000

>> Window=kaiser(8,8.5);

>> b=fir1(7,0.4,Window)

b =

  Columns 1 through 6

   -0.0001    0.0000    0.1068    0.3933    0.3933    0.1068

  Columns 7 through 8

    0.0000   -0.0001

2、用Hanning窗设计一个线性相位带通滤波器

>> Window=hanning(16);

>> b=fir1(15,[0.3 0.5],Window);freqz(b,1)

>> Window=hanning(46);

>> b=fir1(45,[0.3 0.5],Window);freqz(b,1)

分析实验结果:由图可看出当N由15变为45时,主瓣宽度和过渡带宽度都变窄了。

3、改用矩形窗和Blackman窗设计带通滤波器

>> Window=boxcar(16);

>> b=fir1(15,[0.3 0.5],Window);freqz(b,1)

>> Window=boxcar(46);

>> b=fir1(45,[0.3 0.5],Window);freqz(b,1)

>> Window=blackman(16);

>> b=fir1(15,[0.3 0.5],Window);freqz(b,1)

>> Window=blackman(46);

>> b=fir1(45,[0.3 0.5],Window);freqz(b,1)

比较Hanning窗、矩形窗和Blackman窗这三种窗函数的特点:用矩形窗设计时的主瓣宽度最小,用Blackman窗设计时旁瓣峰值衰减较大且旁瓣衰减的速度也很快但主瓣宽度较宽。

5、用Kaiser窗设计一个专用的线性相位滤波器。

(1)β=4时

>> Window=kaiser(41,4);

>> b=fir1(40,[0.2 0.4 0.6 0.8],'stop',Window);freqz(b,1)

(2)β=6时

>> Window=kaiser(41,6);

>> b=fir1(40,[0.2 0.4 0.6 0.8],'stop',Window);freqz(b,1)

(3)β=8时

>> Window=kaiser(41,8);

>> b=fir1(40,[0.2 0.4 0.6 0.8],'stop',Window);freqz(b,1)

分析β值不同的时候对结果的影响:由图可以看出随着β值的增大主瓣宽度变宽,阻带的最小衰减也大了,频谱的的旁瓣变小了。

四、思考题

1、频率取样法和窗函数法各有什么特点?

答:频率取样法是对给定的频率响应进行采样,通过离散傅里叶逆变换,从频谱采样点直接求得有限长单位脉冲响应,它能保证频率响应与给定指标在采样点处完全一样,这就在一定程度上克服了窗函数加权设计法在截止频率处不易控制的缺点。窗函数法是从时域出发,对于给定的频率响应,通过离散时间傅里叶逆变换求得单位脉冲响应,而后用窗函数对其进行截断和平滑,达到设计一个物理上可以实现且具有线性相位的FIR滤波器的目的,该方法简单易行,使用方便,有公式可循,其缺点是通带和阻带的截止频率不易控制。

2、如果没有给定h(n)长度N,而是给定了通带边缘截止频率和阻带临界频率以及相位的衰减,你能根据这些条件用窗函数法设计线性相位FIR低通滤波器吗?

答:可以。可以利用频率采样法。

 

更多相关推荐:
数字信号处理实验报告

南京信息工程大学数字信号处理实验报告学院:电子与信息工程学院班级:11通信1班学号:XXX姓名:XX指导教师:XX20XX/12/6实验一Matlab基本知识和信号处理工具箱一、实验目的1、了解Matlab的基…

数字信号处理实验报告 - 1

数字信号处理第一次实验报告学院:信息工程学院专业:电子信息工程二班学号:***姓名:实验一:系统响应及系统稳定性1.实验目的(1)掌握求系统响应的方法。(2)掌握时域离散系统的时域特性。(3)分析、观察及检验系…

数字信号处理实验报告

数字信号处理实验报告专业电子信息工程学号111308336姓名张强伟实验一数字滤波器的结构一实验目的1加深对数字滤波器分类与结构的了解2明确数字滤波器的基本结构及其相互间的转换方法3掌握用MATLAB进行数字滤...

数字信号处理实验报告

北京信息科技大学实验报告课程名称数字信号处理实验项目IIR数字滤波器设计实验仪器计算机MATLAB软件学院信息与通信工程学院班级姓名学号实验日期指导老师实验成绩实验二IIR数字滤波器设计一实验目的1熟悉用双线性...

数字信号处理实验报告一

西南大学学生实验报告姓名杨剑学号2220xx3220xx058班级1班专业电科实验日期20xx年9月29日实验学时2学时实验名称基本信号的产生和序列的基本运算实验目的学习使用MATLAB产生基本信号绘制信号波形...

哈工大 数字信号处理实验报告

实验一用FFT作谱分析实验目的1进一步加深DFT算法原理和基本性质的理解因为FFT只是DFT的一种快速算法所以FFT的运算结果必然满足DFT的基本性质2熟悉FFT算法原理和FFT子程序的应用3学习用FFT对连续...

数字信号处理实验报告2

实验一序列的产生姓名高洪美学号0819xx9213班级生医5班一实验目的熟悉MATLAB中产生信号和绘制信号的基本命令二实验环境基于WindowsPC的MATLAB三实验内容1单位样本和单位阶跃序列2指数信号3...

数字信号处理实验报告

数字信号处理实验报告专业班级电信1101姓名曾文学号20xx1186020指导老师吴莉华中科技大学武昌分校20xx年5月21日实验一信号系统及系统响应1实验目的1加深对离散线性移不变LSI系统基本理论的理解明确...

数字信号处理实验报告4-MATLAB设计FIR滤波器

浙江万里学院实验报告专业班级电子104姓名黄文龙学号20xx014139实验日期20xx125一实验目的1掌握用窗函数法设计FIR数字滤波器的原理和方法2熟悉线性相位FIR数字滤波器的特性3了解各种窗函数对滤波...

数字信号处理实验报告

数字信号处理实验报告专业信息与计算科学学号20xx14622姓名胡迪实验1常见离散信号产生和实现实验目的1加深对常用离散信号的理解2掌握matlab中一些基本函数的建立方法一作业题目生成方波序列已知归一化角频率...

数字信号处理实验报告 (实验四)

实验四离散时间信号的DTFT一实验目的运用MATLAB计算离散时间系统的频率响应运用MATLAB验证离散时间傅立叶变换的性质二实验原理一计算离散时间系统的DTFTNN已知一个离散时间系统akynkk0bk0kT...

数字信号处理实验 信号、系统及系统响应实验报告

实验一信号系统及系统响应1实验目的1熟悉连续信号经理想采样前后的频谱变化关系加深对时域采样定理的理解2熟悉时域离散系统的时域特性3利用卷积方法观察分析系统的时域特性4掌握序列傅里叶变换的计算机实现方法利用序列的...

数字信号处理实验报告(35篇)