基于matlab的FIR低通高通带通带阻滤波器设计.docx

上传人:b****2 文档编号:2131386 上传时间:2022-10-27 格式:DOCX 页数:15 大小:303.76KB
下载 相关 举报
基于matlab的FIR低通高通带通带阻滤波器设计.docx_第1页
第1页 / 共15页
基于matlab的FIR低通高通带通带阻滤波器设计.docx_第2页
第2页 / 共15页
基于matlab的FIR低通高通带通带阻滤波器设计.docx_第3页
第3页 / 共15页
基于matlab的FIR低通高通带通带阻滤波器设计.docx_第4页
第4页 / 共15页
基于matlab的FIR低通高通带通带阻滤波器设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于matlab的FIR低通高通带通带阻滤波器设计.docx

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

基于matlab的FIR低通高通带通带阻滤波器设计.docx

基于matlab的FIR低通高通带通带阻滤波器设计

北京师范大学

课程设计报告

 

课程名称:

DSP

设计名称:

FIR低通、高通带通和带阻数字滤波器的设计

姓名:

学号:

班级:

指导教师:

起止日期:

课程设计任务书

学生班级:

学生姓名:

学号:

设计名称:

FIR低通、高通带通和带阻数字滤波器的设计

起止日期:

指导教师:

设计目标:

1、采用Kaiser窗设计一个低通FIR滤波器要求:

采样频率为8kHz;

通带:

0Hz~1kHz,带内波动小于5%;

阻带:

1.5kHz,带内最小衰减:

Rs=40dB。

2、采用hamming窗设计一个高通FIR滤波器要求:

通带截至频率wp=,

阻带截止频率ws=,

通带最大衰减,阻带最小衰减

3、采用hamming设计一个带通滤波器

低端阻带截止频率wls=0.2*pi;

低端通带截止频率wlp=0.35*pi;

高端通带截止频率whp=0.65*pi;

高端阻带截止频率whs=0.8*pi;

4、采用Hamming窗设计一个带阻FIR滤波器

要求:

通带:

0.35pi~0.65pi,带内最小衰减Rs=50dB;

阻带:

0~0.2pi和0.8pi~pi,带内最大衰减:

Rp=1dB。

 

FIR低通、高通带通和带阻数字滤波器的设计

一、设计目的和意义

1、熟练掌握使用窗函数的设计滤波器的方法,学会设计低通、带通、带阻滤波器。

2、通过对滤波器的设计,了解几种窗函数的性能,学会针对不同的指标选择不同的窗函数。

二、设计原理

一般,设计线性相位FIR数字滤波器采用窗函数法或频率抽样法,本设计采用窗函数法,分别采用海明窗和凯泽窗设计带通、带阻和低通。

如果所希望的滤波器的理想频率响应函数为,如理想的低通,由信号系统的知识知道,在时域系统的冲击响应hd(n)将是无限长的,如图2、图3所示。

图2图3

若时域响应是无限长的,则不可能实现,因此需要对其截断,即设计一个FIR滤波器频率响应来逼近,即用一个窗函数w(n)来截断hd(n),如式3所示:

(式1)。

最简单的截断方法是矩形窗,实际操作中,直接取hd(n)的主要数据即可。

作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数为:

(式2)

令,则

(式3),

式中,N为所选窗函数的长度。

如果要求线性相位特性,还必须满足:

(式6),根据式6中的正、负和长度N的奇偶性又将线性相位FIR滤波器分成四类。

要根据所设计的滤波器特性正确选择其中一类。

例如:

要设计线性相位低通特性,可选择类。

 

三、详细设计步骤

(公式4)

表1

1、采用Kaiser窗设计一个低通FIR滤波器要求:

采样频率为8kHz;

通带:

0Hz~1kHz,带内波动小于5%;

阻带:

1.5kHz,带内最小衰减:

Rs=40dB

思路分析:

根据公式4可以得到通带截止频率为0.25,阻带截止频率为0.375。

根据表1可算得,则凯泽窗的时域表达式可以通过=kaiser(N)得到。

低通滤波器的时域表达式是,其中应该关于对称。

这样,滤波器就得到了为:

最后利用函数freqz得到加窗后的滤波器的幅频响应和相频响应。

2、采用Hamming窗设计一个高通线性相位FIR滤波器要求:

设计用窗函数法设计线性相位高通滤波器,要求截至频率wp=,阻带截止频率ws=,通带最大衰减,阻带最小衰减。

有如下公式计算高通滤波器的通带截止频率以及阻带截止频率:

(1)

(2)

(3)

(4)

分析:

根据设计要求给出的高通滤波器的性能指标以及

(1)

(2)(3)(4)公式计算得出该高通滤波器性能指标的另一种表示为:

通带偏差0.0292

阻带偏差0.0032

通带边沿频率1000KHZ

阻带边沿频率600KHZ

选择窗函数W(n),计算窗函数长度N,由已知条件知:

阻带最小衰减

参照表

(1)可知汉宁窗和哈明窗都满足要求。

我选择的窗函数是汉宁窗。

过渡带宽度

汉宁窗的精确过度带宽

故要求,

解得:

又根据前面分析的四种类型的FIR滤波器的可知,对于高通滤波器,N必须取奇数,

故N=31

与汉宁窗函数的可以得知

3、采用Hamming窗设计一个带通线性相位FIR滤波器要求:

低端阻带截止频率wls=0.2*pi;

低端通带截止频率wlp=0.35*pi;

高端通带截止频率whp=0.65*pi;

高端阻带截止频率whs=0.8*pi;

思路分析:

由条件可知通带为0.3pi,由通带大小可设计滤波器。

这样,滤波器就得到了为:

最后利用函数freqz得到加窗后的滤波器的幅频响应和相频响应。

4、采用Hamming窗设计一个带阻FIR滤波器

要求:

阻带:

0.35pi~0.65pi,带内最小衰减Rs=50dB;

通带:

0~0.2pi和0.8pi~pi,带内最大衰减:

Rp=1dB

思路分析:

根据要求知阻带截止频率分别为0.35,。

通带截止频率为0.2和0.8。

.根据表1可算得,则海明窗的时域表达式可以通过=hamming(N)得到。

带阻滤波器可以看成是高通加低通。

它的时域表达式是,其中应该关于对称。

这样,滤波器就得到了为:

最后利用函数freqz得到加窗后的滤波器的幅频响应和相频响应。

附程序:

%子函数,产生理想滤波器的时域波形

functionhd=ideal(w,N);%1,2型理想低通滤波器单位单位脉冲响应hd(n),w为窗口长度,N为截止频率%

alpha=(N-1)/2;

n=[0:

N-1];

m=n-alpha+eps;%加一个小数以避免零作除数

hd=sin(w*m)./(pi*m);

四程序代码

1、低通FIR滤波器:

%采样频率为8kHz;

%通带:

0Hz~1kHz,带内波动小于5%;wp=0.、25pi

%阻带:

1.5kHz,带内最小衰减:

Rs=40dB。

wst=0.375pi

%

clc

clear

Rs=40;

Wp=0.25*pi;%根据通带:

0Hz~1kHz,带内波动小于5%;得wp=0.125pi

Wst=0.375*pi;%阻带:

1.5kHz,带内最小衰减:

Rs=40dB。

得wst=0.1875pi

dert_w=Wst-Wp;

%N=ceil((Rs-7.95)*2*pi/(14.36*dert_w)+1);

N=ceil((10*pi/dert_w)+1);

beta=0.5842*(Rs-21)^0.4+0.07886*(Rs-21);

hd=ideal((Wst-Wp)/2,N);%滤波器在时域系统的冲击响应

B=kaiser(N,beta);%凯泽窗

h=hd.*(B)';%加窗后

[H,m]=freqz(h,[1],1024,'whole');%获取频率响应

mag=abs(H);%幅值

db=20*log10((mag+eps)/max(mag));%分贝数

pha=angle(H);%相位

%绘图

w=m/pi

figure

(1);

subplot(2,2,1);

stem(hd);

xlabel('n');

ylabel('hd');

title('滤波器时域');

subplot(2,2,2);

plot(w,mag);

xlabel('w');

ylabel('h');

title('加窗后幅度响应');

subplot(2,2,3);

plot(w,db);

xlabel('w');

ylabel('db');

title('分贝数');

axis([01-1000]);

subplot(2,2,4);

plot(w,pha);%实际低通滤波器单位脉冲响应

xlabel('w');

ylabel('相位');

title('相频响应');

axis([01-44]);

2:

高通滤波器设计

clearall;

wp=0.6*pi;

ws=0.4*pi;

tr_width=wp-ws;

N=ceil(6.2*pi/tr_width)

n=0:

1:

N-1;

wc=(ws+wp)/2;

hd=ideal_hp1(wc,N);

w_han=(hanning(N))';

h=hd.*w_han;

[db,mag,pha,w]=freqz_m2(h,[1]);

delta_w=2*pi/1000;

Ap=-(min(db(wp/delta_w+1:

1:

501)))

As=-round(max(db(1:

1:

ws/delta_w+1)))

subplot(2,2,1),

stem(n,hd)

title('理想单位脉冲响应hd(n)')

subplot(2,2,2)

stem(n,w_han)

title('汉宁窗w(n)')

subplot(2,2,3)

stem(n,h)

title('实际单位脉冲响应h(n)')

subplot(2,2,4)

plot(w/pi,db)

title('幅度相应(db)')

axis([0,1,-100,10])

3:

带通滤波器设计

wls=0.2*pi;

wlp=0.35*pi;

whp=0.65*pi;

wc=[wlp/pi,whp/pi];

B=wlp-wls;

N=ceil(8/0.15);

n=0:

N-1;

window=hanning(N);

[h1,w]=freqz(window,1);

figure

(1);

stem(window);

axis([06001.2]);

grid;

xlabel('n');

title('Hanning窗函数');

figure

(2);

plot(w/pi,20*log(abs(h1)/abs(h1

(1))));

axis([01-3500]);

grid;

xlabel('w/pi');

ylabel('幅度(dB)');

title('Hanning窗函数的频谱');

hn=fir1(N-1,wc,hanning(N));

[h2,w]=freqz(hn,1,512);

figure(3);

stem(n,hn);

axis([060-0.250.25]);

grid;

xlabel('n');

ylabel('h(n)');

title(‘Hanning窗函数的单位脉冲响应’);

figure(4);

plot(w/pi,20*log(abs(h2)/abs(h2

(1))));

grid;

xlabel('w/pi');

ylabel('幅度(dB)');

4.带阻滤波器设计

%采用Hamming窗设计一个带阻FIR滤波器

%要求:

%阻带:

0.35pi~0.65pi,带内最小衰减Rs=50dB;

%通带:

0~0.2pi和0.8pi~pi,带内最大衰减:

Rp=1dB。

clc

clear

Wpl=0.2*pi;%根据阻带:

0.35pi~0.65pi,通带:

0~0.2pi和0.8pi~pi,

Wph=0.8*pi;%确定两个通带截止频率和两个阻带截止频率。

Wsl=0.35*pi;

Wsh=0.65*pi;

dert_w=min((Wsl-Wpl),(Wph-Wsh));

N=ceil(6.6*pi/dert_w);%根

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

当前位置:首页 > 农林牧渔 > 农学

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

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