FIR带通滤泼器的设计.docx

上传人:b****7 文档编号:8784355 上传时间:2023-02-01 格式:DOCX 页数:17 大小:503.85KB
下载 相关 举报
FIR带通滤泼器的设计.docx_第1页
第1页 / 共17页
FIR带通滤泼器的设计.docx_第2页
第2页 / 共17页
FIR带通滤泼器的设计.docx_第3页
第3页 / 共17页
FIR带通滤泼器的设计.docx_第4页
第4页 / 共17页
FIR带通滤泼器的设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

FIR带通滤泼器的设计.docx

《FIR带通滤泼器的设计.docx》由会员分享,可在线阅读,更多相关《FIR带通滤泼器的设计.docx(17页珍藏版)》请在冰豆网上搜索。

FIR带通滤泼器的设计.docx

FIR带通滤泼器的设计

 

《数字信号处理课程设计报告》

题目:

FIR带通滤泼器的设计

学院:

专业:

班级:

姓名:

指导教师:

 

2012年6月24日

 

目录

 

1课程设计要求……………………………………………3

2基本原理…………………………………………………3

2.1FIR滤泼器简介………………………………………3

2.2窗函数法原理…………………………………………4

3建立模型概述………………………………………………5

3.1MATLB常用函数……………………………………5

3.1.1窗函数………………………………………………5

3.1.2fir1函数……………………………………………6

3.1.3freqz函数……………………………………………7

3.1.4其他函数与命令……………………………………7

3.2程序流程图……………………………………………8

4模块功能分析………………………………………………9

5调试过程及结论……………………………………………13

6心得体会……………………………………………………17

7参考文献……………………………………………………17

 

1课程设计要求

用窗函数法设计FIR带通滤波器。

要求低端阻带截止频率ωls=0.2π,低端通带截止频率ωlp=0.35π,高端通带截止频率ωhp=0.65π,高端阻带截止频率ωhs=0.8π。

绘出h(n)及其幅频响应特性曲线。

2基本原理

2.1FIR滤泼器简介

数字滤波器包括FIR(有限单位脉冲响应)滤波器与IIR(无限单位脉冲响应)滤波器两种。

在现代信号处理技术中,例如数据传输、雷达接收以及一些要求较高的电子系统,都越来越多地要求信道具有线性的相位特性。

在这方面,FIR滤波器具有独到的优点,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位特性。

FIR滤波器的单位脉冲响应h(n)是有限长的(0≤n≤N-1),其z变换为

的(N-1)阶多项式:

可得FIR滤波器的系统差分方程为:

因此,FIR滤波器又称为卷积滤波器。

FIR滤波器的频率响应表达式为:

信号通过FIR滤波器不失真条件是在通带内具有恒定的幅频特性和线性相位特性。

理论上可以证明:

当FIR滤波器的系数满足下列中心对称条件:

或者

时,滤波器设计在逼近平直幅频特性的同时,还能获得严格的线性相位特性。

线性相位FIR滤波器的相位滞后和群延迟在整个频带上是相等且不变的。

对于一个N阶的线性相位FIR滤波器,群延迟为常数,即滤波后的信号简单地延迟常数个时间步长。

这一特性使通带频率内信号通过滤波器后仍保持原有波形形状而无相位失真。

FIR滤波器的设计任务是选择有限长度的h(n),使传输函数

满足技术要求。

FIR滤波器的设计方法有多种,如窗函数法、频率采样法及其它各种优化设计方法,本次设计使用窗函数法设计FIR带通滤波器。

2.2窗函数法原理

如果所希望的滤波器的理想频率响应函数为

,则其对应的单位脉冲响应为:

窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼近hd(n)。

由于hd(n)往往是无限长序列,且是非因果的,变成物理上可实现呢?

一个自然的想法是只取其中的某些项,即只截取hd(n)中的一部分,比如n=0,…,N-1,N为正整数。

这种处理相当于将hd(n)与函数w(n)相乘,w(n)具有下列形式:

w(n)相当于一个矩形,我们称之为矩形窗。

即我们可采用矩形窗函数w(n)将无限脉冲响应hd(n)截取一段h(n)来近似为hd(n),这种截取在数学上表示为:

这里应该强调的是,加窗函数不是可有可无的,而是将设计变为物理可实现所必须的。

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

式中,N为所选窗函数w(n)的长度。

经过加矩形窗后所得的滤波器实际频率响应能否很好地逼近理想频率响应呢?

图1给出了理想滤波器加矩形窗后的情况。

理想低通滤波器的频率响应如图中左上角图,矩形窗的频率响应为左下角图。

时间域内的乘积要求实际频率响应为这两个频率响应函数在频域内的卷积(卷积定理),即得到图形为图中右边的结果。

图1FIR滤波器理想与实际频率响应

用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N的取值。

因此,这种方法的重点在于选择某种恰当的窗函数和一种合适的理想滤波器。

3建立模型概述

3.1MATLB常用函数

3.1.1窗函数

矩形窗:

w=boxcar(N)

海明(Hamming)窗:

w=hamming(N)

布拉克曼(Blackman)窗:

w=balckman(N)

凯泽(Kaiser)窗:

w=kaiser(N)

其中

是第一类变形修正零阶贝塞尔函数

这些窗函数的基本参数如表1所示:

表1窗函数基本参数

名称

旁瓣峰值/dB

近似过渡带宽

精确过渡带宽

最小阻带衰减/dB

矩形窗

-13

4π/N

1.8π/N

-21

海明窗

-41

8π/N

6.6π/N

-53

布拉克曼窗

-57

12π/N

11π/N

-74

凯泽窗(β=7.865)

-57

10π/N

-80

 

3.1.2fir1函数

设计标准响应FIR滤波器可使用firl函数。

fir1函数以经典方法实现加窗线性相位FIR滤波器设计,它可以设计出标准的低通,带通,高通和带阻滤波器。

形式为:

b=fir1(n,Wc,’ftype’,Window)

各个参数的含义如下:

b—滤波器系数。

对于一个n阶的FIR滤波器,其n+1个滤波器系数可表示为:

n—滤波器阶数;

Wc—截止频率,0≤Wc≤1,Wc=1对应于采样频率的一半。

当设计带通滤波器时,Wc=[Wc1Wc2],Wc1≤ω≤Wc2;

ftype—当指定ftype时,可设计高通和带阻滤波器。

Ftype=high时,设计高通FIR滤波器;ftype=stop时设计带阻FIR滤波器。

低通和带通FIR滤波器无需输入ftype参数;

Window—窗函数。

窗函数的长度应等于FIR滤波器系数个数,即n+1。

 

3.1.3freqz函数

该函数基于FFT算法计算数字滤波器Z变换频率响应。

形式为[h,w]=freqz(b,a,n)返回数字滤波器的n点复频响应

在简单形式中,b,a为滤波器系数,freqz可得到数字滤波器的n点复频响应,并将这n点保存在w中,相应的频率记录在h中。

3.1.4其他函数与命令

设计所用其他函数及命令如表2所示

表2函数命令及其功能

名称

功能

名称

功能

Clear

从内存中清除变量和函数

Close

关闭图形

Min

取最小值

Ceil

取整

Angle

相位角

Unwrap

相位角展开

Figure

建立图形窗口

Subplot

在标定位置上建立坐标系

Stem

离散序列图

Plot

线性绘图

Xlabel

X轴标记

Ylabel

Y轴标记

Title

图形标题

Axis

控制坐标系的刻度和形式

Grid

网格线

 

3.2程序流程图

 

 

4模块功能分析

clear;%清除掉工作空间中原有的变量,避免残留数据对本程序造成影响

closeall;%关闭所有已经打开的图像窗口

wls=0.2*pi;wlp=0.35*pi;%参数设置

whp=0.65*pi;whs=0.8*pi;

delta_w=min((wlp-wls),(whs-whp));%求两个过渡带中的小者

wc1=(wls+wlp)/2;wc2=(whp+whs)/2;%截止频率取通带阻带边界频率的平均值

%由于N未给定,故根据各种不同窗满足技术参数所需要的最小窗宽作图

%矩形窗

N1=ceil(1.8*pi/delta_w);%根据矩形窗精确过渡带宽1.8π/N计算窗宽

hn1=fir1(N1-1,[wc1,wc2]/pi,boxcar(N1));%检验设计出的滤波器单位脉冲响应

[h1,w1]=freqz(hn1,1);%检验设计出的滤波器的频率响应

%Hamming窗

N2=ceil(6.6*pi/delta_w);%根据Hamming窗精确过渡带宽6.6π/N计算窗宽

hn2=fir1(N2-1,[wc1,wc2]/pi,hamming(N2));

[h2,w2]=freqz(hn2,1);

%Blackman窗

N3=ceil(11*pi/delta_w);%根据Blackman窗精确过渡带宽11π/N计算窗宽

hn3=fir1(N3-1,[wc1,wc2]/pi,blackman(N3));

[h3,w3]=freqz(hn3,1);

%Kaiser窗(β=7.865)

N4=ceil(10*pi/delta_w);%根据Kaiser窗技术精确过渡带宽10π/N窗宽

hn4=fir1(N4-1,[wc1,wc2]/pi,kaiser(N4,7.865));

[h4,w4]=freqz(hn4,1);

%绘图

figure

(1)%建立图形窗口

subplot(2,3,1);%分割窗口成2行3列

n=0:

N1-1;stem(n,hn1,'.');%绘制矩形窗的单位脉冲响应

axis([0N1-1-0.40.4]);%设置显示范围

xlabel('n');ylabel('h(n)');gridon;%确定x,y轴坐标名称,加网格

title('矩形窗单位脉冲响应h(n)');%添加图形标题

subplot(2,3,2);

plot(w1/pi,20*log10(abs(h1)));%绘制矩形窗的幅频特性

axis([01-1505]);

xlabel('归一化角频率');ylabel('幅度(单位:

分贝)');gridon;

title('矩形窗幅频响应');

subplot(2,3,3);

plot(w1/pi,180/pi*unwrap(angle(h1)));%绘制矩形窗的相频特性

xlabel('归一化角频率');ylabel('相位(单位:

度)');gridon;

title('矩形窗相频响应');

subplot(2,3,4);

n=0:

N2-1;stem(n,hn2,'.');

axis([0N2-1-0.40.4]);

xlabel('n');ylabel('h(n)');gridon;

title('Hamming窗单位脉冲响应h(n)');

subplot(2,3,5);

plot(w2/pi,20*log10(abs(h2)));

axis([01-1505]);

xlabel('归一化角频率');ylabel('幅度(单位:

分贝)');gridon;

title('Hanmming窗幅频响应');

subplot(2,3,6);

plot(w2/pi,180/pi*unwrap(angle(h2)));

xlabel('归一化角频率');ylabel('相位(单位:

度)');gridon;

title('Hamming窗相频响应');

figure

(2)

subplot(2,3,1);

n=0:

N3-1;stem(n,hn3,'.');

axis([0N3-1-0.40.4]);

xlabel('n');ylabel('h(n)');gridon;

title('Blackman窗单位脉冲响应h(n)');

subplot(2,3,2);

plot(w3/pi,20*log10(abs(h3)));

axis([01-1505]);

xlabel('归一化角频率');ylabel('幅度(单位:

分贝)');gridon;

title('Blackman窗幅频响应');

subplot(2,3,3);

plot(w3/pi,180/pi*unwrap(angle(h3)));

xlabel('归一化角频率');ylabel('相位(单位:

度)');gridon;

title('Blackman窗相频响应');

subplot(2,3,4);

n=0:

N4-1;stem(n,hn4,'.');

axis([0N4-1-0.40.5]);

xlabel('n');ylabel('h(n)');gridon;

title('Kaiser窗单位脉冲响应h(n)');

subplot(2,3,5);

plot(w4/pi,20*log10(abs(h4)));

axis([01-1505]);

xlabel('归一化角频率');ylabel('幅度(单位:

分贝)');gridon;

title('Kaiser窗幅频响应');

subplot(2,3,6);

plot(w4/pi,180/pi*unwrap(angle(h4)));

xlabel('归一化角频率');ylabel('相位(单位:

度)');gridon;

title('Kaiser窗相频响应');

%假定当N=100时,各种窗对比

%矩形窗

N=150;

w1=boxcar(N);

hn1=fir1(N-1,[wc1,wc2]/pi,boxcar(N));%检验设计出的滤波器单位脉冲响应

[h1,w]=freqz(hn1,1);%检验设计出的滤波器的频率响应

%Hamming窗

w2=hamming(N);

hn2=fir1(N-1,[wc1,wc2]/pi,hamming(N));

[h2,w]=freqz(hn2,1);

%Blackman窗

w3=blackman(N);

hn3=fir1(N-1,[wc1,wc2]/pi,blackman(N));

[h3,w]=freqz(hn3,1);

%Kaiser窗(β=7.865)

w4=kaiser(N,7.865);

hn4=fir1(N-1,[wc1,wc2]/pi,kaiser(N,7.865));

[h4,w]=freqz(hn4,1);

figure(3)

n=0:

N-1;

plot(n,w1,':

b',n,w2,'-.k',n,w3,'--r',n,w4,'-k');%四种窗函数在同一幅图上显示

axis([-1016001.1]);

xlabel('n');ylabel('w(n)');

title('各种窗函数(N=100)');

legend('矩形窗带通滤波器','Hamming窗带通滤波器','Blackman窗带通滤波器','Kaiser窗带通滤波器');

figure(4)

plot(w/pi,20*log10(abs(h1)),':

b',w/pi,20*log10(abs(h2)),'-.g',w/pi,20*log10(abs(h3)),'--r',w/pi,20*log10(abs(h4)),'-k');

axis([01-1505]);

xlabel('归一化角频率');ylabel('幅度(单位:

分贝)');gridon;

title('各种窗函数幅频特性比较(N=100)');

legend('矩形窗带通滤波器','Hamming窗带通滤波器','Blackman窗带通滤波器','Kaiser窗带通滤波器');

5调试过程及结论

最初的学习使用Matlab阶段,由于操作不熟练,经常出现函数或者命令输入错误,中英文标点输入没有区分,漏掉半个引号或分号等情况。

虽然都是小错,但极其容易忽视。

通常需要对照错误提示查找半天。

而熟练后,因为只需调用少量几个函数即可实现设计功能,因此后面的调试过程基本不存在问题。

设计结果中,矩形窗和Hamming窗情况如图2所示,Blackman窗和Kaiser窗情况如图3所示,当N=100时,四种窗形状如图4所示,其频谱特性比较如图5所示。

根据理论,幅频响应图中,在3dB的对应点应该为通带截止频率,在60dB处对应阻带截止频率。

图2矩形窗和Hamming窗

由图2可以看出:

⑴对于矩形窗:

①窗宽N=12,h(n)为偶对称,对称中心n=5.5,由于n为整数,故在n=5和n=6位置存在两个极大值;②在幅频响应图中,实际设计的低端,高端通带截止频率为0.3262pi和0.6758pi,与技术指标相差6.8%和3.96%。

而低端和高端的阻带截止频率为0.167pi和0.833pi,与技术指标相差16.5%和4.13%。

其阻带波纹较大,第一阻带最小衰减27dB;③由相频特性可以看出,此滤波器是线性相位的。

⑵对于Hamming窗:

①窗宽N=44,h(n)为偶对称,对称中心n=21.5,由于n为整数,故在n=21和n=22位置存在两个极大值;②在幅频响应图中,实际设计的低端,高端通带截止频率为0.29pi和0.7051pi,与技术指标相差17.14%和8.47%。

而低端和高端的阻带截止频率为0.1953pi和0.8047pi,与技术指标相差2.35%和0.59%。

第一阻带最小衰减50dB;③由相频特性可以看出,此滤波器是线性相位的。

图3Blackman窗和Kaiser窗

由图3可以看出:

⑴对于Blackman窗:

①窗宽N=80,h(n)为偶对称,对称中心n=39.5,由于n为整数,故在n=39和n=40位置存在两个极大值;②在幅频响应图中,实际设计的低端,高端通带截止频率为0.2891pi和0.7109pi,与技术指标相差17.4%和9.37%。

而低端和高端的阻带截止频率为0.207pi和0.793pi,与技术指标相差3.5%和0.875%。

第一阻带最小衰减75dB;③由相频特性可以看出,此滤波器是线性相位的。

⑵对于Kaiser窗:

①窗宽N=67,h(n)为偶对称,对称中心n=33,由于n为整数,故在n=33存在一个极大值;②在幅频响应图中,实际设计的低端,高端通带截止频率为0.2891pi和0.7109pi,与技术指标相差17.4%和9.37%。

而低端和高端的阻带截止频率为0.2051pi和0.7969pi,与技术指标相差2.55%和0.39%。

第一阻带最小衰减80dB;③由相频特性可以看出,此滤波器是线性相位的。

图4四种窗函数

图5四种窗幅频特性比较

由图4,图5可以看出,当N一定时,Blackman窗的窗形状最窄,阻带衰减效果最好,但代价是主瓣宽度最大;而矩形窗的窗形状最宽,阻带衰减效果最差,但其主瓣宽度最小。

综合上述分析,可得:

并没有哪种窗是最好的,往往某种窗在主瓣及过渡带宽方面良好,而在阻带衰减上表现不佳,反之亦如此。

因此只有根据具体条件和实际需求选取最合适的。

由于总的来说,滤波器主要还是强调滤波效果,即阻带衰减,因此使用Blackman或Kaiser窗效果较好。

6心得体会

这已经是我们的第三次课程设计了,虽然在闷热的夏天心里感觉很是烦躁,但相比之下,感觉没那么困惑,有想法思路计划。

这次带通滤波器的设计,从原理上来说,难度并不大。

只要把基本参数如通带截止频率,阻带截止频率,通带波动,阻带衰减等掌握其含义,应该不难明白滤波器的原理。

碰到的难点其一就在于Matlab的使用。

本来对Matlab的基本操作就不熟练,加上这里要用到一些信号处理的专用函数,基本上是一窍不通,导致了明白原理难下手的情况。

当然,这方面的书籍比较多,在查阅资料后,就本次设计而言已经不是问题了。

而且可以说这是第一次比较系统的学习了Matlab的使用,就Matlab在信息领域的广泛应用而言,对我以后不论工作或是深造,都打下了良好的基础。

总的来说,每经过一次课程设计,都会对设计所用到的只是有一个真正深入的了解与应用,这样训练得到的,才是经过消化吸收的精华所在,才能在以后工作实践中灵活运用的。

当然也给了和同学们相互沟通讨论的学习机会,让我从中受益匪浅。

7参考文献

[1]程佩青.数字信号处理教程(第3版).清华大学出版社,2007

[2]陈亚勇等.MATLAB信号处理详解.人民邮电出版社,2001

[3]万永革.数字信号处理的MATLAB实现.科学出版社,2007

[4]王力宁.MATLAB与通信仿真.人民邮电出版社,1999

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1