基于MATLAB的FIR低通滤波器.docx

上传人:b****2 文档编号:1977118 上传时间:2023-05-02 格式:DOCX 页数:25 大小:240.43KB
下载 相关 举报
基于MATLAB的FIR低通滤波器.docx_第1页
第1页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第2页
第2页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第3页
第3页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第4页
第4页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第5页
第5页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第6页
第6页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第7页
第7页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第8页
第8页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第9页
第9页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第10页
第10页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第11页
第11页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第12页
第12页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第13页
第13页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第14页
第14页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第15页
第15页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第16页
第16页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第17页
第17页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第18页
第18页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第19页
第19页 / 共25页
基于MATLAB的FIR低通滤波器.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于MATLAB的FIR低通滤波器.docx

《基于MATLAB的FIR低通滤波器.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的FIR低通滤波器.docx(25页珍藏版)》请在冰点文库上搜索。

基于MATLAB的FIR低通滤波器.docx

基于MATLAB的FIR低通滤波器

 

石家庄经济学院

 

通信实习报告

 

院系:

学号:

姓名:

日期:

 

一、实习目的

(1)掌握用各种窗函数法设计FIR数字滤波器的原理和方法,了解各种不同窗函数对滤波器性能的影响。

(2)掌握用频率采样法设计FIR滤波器原理和方法。

(3)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。

(4)学会调用MATLAB函数设计与实现FIR滤波器。

(5)熟悉线性相位FIR滤波器的幅频特性和相频特性;

二、实习要求

(1)对三种方法设计FIR滤波器的方法(窗函数法,频率采样方法和等波纹最佳逼近法)进行分析比较,简述其优缺点。

(2)附程序清单,实验内容,并且要求绘图显示的曲线图。

(3)分析总结实验结果。

三、实习内容

(1)实习题目:

用MATLAB设计FIR低通滤波器

(2)FIR滤波器原理介绍

线性相位FIR滤波器是指θ(ω)是ω的线性函数

1)第一类线性相位FIR滤波器对h(n)的约束条件为

由以上可知,如果要求单位脉冲响应为h(n)、长度为N的FIR数字滤波器具有第一类线性相位特性,则h(n)应当关于n=(N-1)/2点偶对称。

2)第二类线性相位FIR滤波器对h(n)的约束条件

由以上可知,如果要求单位脉冲响应为h(n)、长度为N的FIR数字滤波器具有第二类线性相位特性,则h(n)应当关于n=(N-1)/2点奇对称。

线性相位FIR数字滤波器的时域和频域特性一览

1)窗函数法设计线性相位FIR滤波器原理

理想低通滤波器的单位脉冲响应hd(n)是无限长,且是非因果序列。

设计一个长度为N的线性相位FIR滤波器,只有将hd(n)截取一段,并保证截取的一段关于n=(N-1)/2偶对称(即保证所设计的滤波器具有线性相位)。

设截取的一段用h(n)表示,即

式中,RN(n)是一个矩形序列,长度为N。

经过加窗得到的滤波器的单位脉冲响应为h(n),长度为N,其系统函数为H(z)。

窗函数的傅式变换W(ejω)的主瓣决定了H(ejω)过渡带宽。

W(ejω)的旁瓣大小和多少决定了H(ejω)在通带和阻带范围内波动幅度,常用的几种窗函数有:

∙矩形窗w(n)=RN(n);

∙Hanning窗

∙Hamming窗

∙Blackmen窗

窗函数法设计的步骤

∙确定数字滤波器的性能要求:

临界频率wp和ws,滤波器单位脉冲响应长度N;

∙根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应Hd(ejω)的幅频特性和相频特性;

∙选择适当的窗函数w(n),根据h(n)=hd(n)w(n)求所需设计的FIR滤波器单位脉冲响应;

∙求H(ejω),分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果。

2)频率采样法设计的原理

频率采样法是从频域出发,将给定的理想频率响应Hd(ejω)加以等间隔采样

然后以此Hd(k)作为实际FIR数字滤波器的频率特性的采样值H(k),即令

由H(k)通过IDFT可得有限长序列h(n)

将上式代入到Z变换中去可得

其中Φ(ω)是内插函数

3)等波纹最佳逼近法设计FIR滤波器的原理

   FIR滤波器的优化设计是按照最大误差最小化准则,使所设计的频响与理想频响之间的最大误差,在通带和阻带范围均为最小,而且是等波动逼近的。

   为了简化起见,在优化设计中一般将线性相位FIR滤波器的单位脉冲响应h(n)的对称中心置于n=0处,此时,线性相位因子α=0。

当N为奇数,且N=2M+1,则

如逼近一个低通滤波器,这里M,ωp和ωs固定为某个值。

在这种情况下有

定义一逼近误差函数:

E(ω)为在希望的滤波器通带和阻带内算出的误差值,W(ω)为加权函数。

k应当等于比值δ1/δ2,δ1为通带波动,δ2为阻带波动。

在这种情况下,设计过程要求|E(ω)|在区间

的最大值为最小,它等效于求最小δ2。

根据数学上多项式逼近连续函数的理论,用三角多项式逼近连续函数,在一定条件下存在最佳逼近的三角多项式,而且可以证明这个多项式是唯一的。

这一最佳逼近定理通常称作交替定理。

   在逼近过程中,可以固定k,M,ωp,ωs而允许改变δ2,按照交替定理,首先估计出(M+2)个误差函数的极值频率点{ωi},i=0,1,...,M+1,共计可以写出(M+2)个方程

式中ρ表示峰值误差。

一般仅需求解出ρ,接着便可用三角多项式找到一组新的极值频率点,并求出新的峰值误差ρ。

依此反复进行,直到前、后两次ρ值不变化为止,最小的ρ即为所求的δ2。

(3)三种方法设计方法的MATLAB程序和仿真图

【1】窗函数法设计FIR低通滤波器的MATLAB程序

clearall

%用窗函数法设计FIR低通滤波器

Wc=0.4*pi;

N=61;

w1=boxcar(N);

w2=bartlett(N);

w3=hamming(N);

w4=hanning(N);

w5=blackman(N);

n=1:

1:

61;

hd=sin(Wc*(n-31))./(pi*(n-31));%理想低通滤波器单位脉冲响应函数

hd(31)=Wc/pi;

h1=hd.*rot90(w1);

h2=hd.*rot90(w2);

h3=hd.*rot90(w3);

h4=hd.*rot90(w4);%rot90(w)是将窗函数的列向量转换成行向量

h5=hd.*rot90(w5);%hd.*rot90(w)是窗函数截取的一段单位脉冲响应函数

[H1,W]=freqz(h1);

[H2,W]=freqz(h2);

[H3,W]=freqz(h3);

[H4,W]=freqz(h4);

[H5,W]=freqz(h5);%截取的一段单位脉冲响应函数的幅频特性

figure

(1);

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

N,w1);

title('矩形窗的时域波形和幅频特性');

subplot(2,2,2);plot(W/pi,20*log10(abs(H1)/max(H1)));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

subplot(2,2,3);plot(W,20*log10(abs(H1)));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

title('矩形窗设计的低通滤波器的幅频特性和相频特性');

[h1,w1]=freqz(h1,1,129,2);

subplot(2,2,4);plot(w1,unwrap(angle(h1)));

xlabel('w/pi');ylabel('角弧度/rad');gridon;

figure

(2);

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

N,w2);

title('三角窗的时域波形和幅频特性');

subplot(2,2,2);plot(W/pi,20*log10(abs(H2)/abs(max(H2))));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

subplot(2,2,3);plot(W,20*log10(abs(H2)));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

title('三角窗设计的低通滤波器的幅频特性和相频特性');

[h2,w2]=freqz(h2,1,129,2);

subplot(2,2,4);plot(w2,unwrap(angle(h2)));

xlabel('w/pi');ylabel('角弧度/rad');gridon;

figure(3);

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

N,w3);

title('海明窗的时域波形和幅频特性');

subplot(2,2,2);plot(W/pi,20*log10(abs(H3)/abs(max(H3))));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

subplot(2,2,3);plot(W,20*log10(abs(H3)));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

title('海明窗设计的低通滤波器的幅频特性和相频特性');

[h3,w3]=freqz(h2,1,129,2);

subplot(2,2,4);plot(w3,unwrap(angle(h3)));

xlabel('w/pi');ylabel('角弧度/rad');gridon;

figure(4);

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

N,w4);

title('汉宁窗的时域波形和幅频特性');

subplot(2,2,2);plot(W/pi,20*log10(abs(H4)/abs(max(H4))));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

subplot(2,2,3);plot(W,20*log10(abs(H4)));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

title('汉宁窗设计的低通滤波器的幅频特性和相频特性');

[h4,w4]=freqz(h4,1,129,2);

subplot(2,2,4);plot(w4,unwrap(angle(h4)));

xlabel('w/pi');ylabel('角弧度/rad');gridon;

figure(5);

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

N,w5);

title('布莱克曼窗的时域波形和幅频特性');

subplot(2,2,2);plot(W/pi,20*log10(abs(H5)/abs(max(H5))));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

subplot(2,2,3);plot(W,20*log10(abs(H5)));

xlabel('频率/Hz');ylabel('振幅/dB');gridon;

title('布莱克曼窗设计的低通滤波器幅频特性和相频特性');

[h5,w5]=freqz(h5,1,129,2);

subplot(2,2,4);plot(w5,unwrap(angle(h5)));

xlabel('w/pi');ylabel('角弧度/rad');gridon;

其执行的图形:

【2】频率采样法设计FIR低通滤波器

(1)已知FIR低通滤波器通带截止频率wp,阻带截止频率ws,通带波纹最大为0.04,阻带波纹最大为0.02,滤波器的阶数N通过remezord函数估算,过渡带的采样取值T时的MATLAB程序:

clearall

%用频率采样法设计FIR低通滤波器

wp=0.2*pi;

ws=0.3*pi;%理想低通滤波器的截止频率

T=0.5;%过渡带采样取值

Bt=[wp/piws/pi];

a=[10];

dev=[0.040.02];%给出滤波器的参数

[nf0a0w]=remezord(Bt,a,dev);

N=n;%N为奇数

alpha=(N-1)/2;

k=0:

N-1;

wc=(wp+ws)/2;

m=fix(wc*N/(2*pi)+1);%通带采样点数

Hk=[ones(1,m),T,zeros(1,N-2*m-1),T,ones(1,m-1)];%幅度采样向量

k1=0:

floor(alpha);

k2=floor(alpha+1):

N-1;

phai=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];%相位采样向量

Hdk=Hk.*exp(j*phai);%构造频域采样向量

h=ifft(Hdk,N);%进行反离散傅里叶变化

[h1,w1]=freqz(h,1,256,1);

h1=20*log10(abs(h1));

figure

(1);%画出FIRDF的单位脉冲响应

plot(n,h1);

k=0:

N-1;stem(k,h,'k.');

axis([0,N-1,1.1*min(real(h)),1.1*max(real(h))]);%使横纵坐标成比例

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

grid;title('频率采样法设计FIR低通滤波器的单位脉冲响应h(n)');

figure

(2);%画出FIRDF的低通的幅频特性

plot(w1,h1);

xlabel('频率(×πrad/sample)');ylabel('幅度(dB)');

gridon;title('频率采样法设计FIR低通滤波器的幅频特性');

其执行的图形:

(2)已知通带截止频率wp,过渡带宽度Bt,过渡带的采样取值T时,由滤波器阻带最小衰减Rs决定采样点的个数m值的MATLAB程序:

clearall

%用频率采样法设计FIR低通滤波器

wp=0.2*pi;%通带截止频率

Bt=0.1*pi;%过渡带宽度

rs=input('rs=');%阻带衰减

ifrs<=54

m=1;

T=input('T=');

N=ceil((m+1)*2*pi/Bt);

N=N+mod(N+1,2);%使N为奇数

Np=fix(wp/(2*pi/N));%Np+1为通带采样点数

Ns=N-2*Np-1;%阻带采样点数

Hk=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];%幅度采样向量

Hk(Np+2)=T;Ak(N-Np)=T;%过度采样

elseifrs<=75

m=2;

T1=input('T1=');

T2=input('T2=');

N=ceil((m+1)*2*pi/Bt);

N=N+mod(N+1,2);

Np=fix(wp/(2*pi/N));

Ns=N-2*Np-1;

Hk=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];

Hk(Np+2)=T1;Hk(Np+3)=T2;Ak(N-Np)=T1;Ak(N-Np+1)=T2;

else

m=3;

T1=input('T1=');

T2=input('T2=');

T3=input('T3=');

N=ceil((m+1)*2*pi/Bt);

N=N+mod(N+1,2);

Np=fix(wp/(2*pi/N));

Ns=N-2*Np-1;

Hk=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];

Hk(Np+2)=T1;Hk(Np+3)=T2;Hk(Np+4)=T3;

Ak(N-Np)=T1;Ak(N-Np+1)=T2;Ak(N-Np+2)=T3;

end

thetak=-pi*(N-1)*(0:

N-1)/N;%相位采样向量

Hdk=Hk.*exp(j*thetak);%频域采样向量

hn=real(ifft(Hdk));%时域取实部,忽略计算误差引起的虚部

Hw=fft(hn,1024);%计算频率响应函数

wk=2*pi*[0:

1023]/1024;

Hgw=Hw.*exp(j*wk*(N-1)/2);%计算幅度响应函数

k=0:

N-1;

figure

(1);stem(k,hn,'k.');

axis([0,N-1,1.1*min(real(hn)),1.1*max(real(hn))]);%使横纵成比例

xlabel('n');ylabel('h(n)');%画出FIRDF的单位脉冲响应

title('频率采样法设计FIR低通滤波器的单位脉冲响应h(n)');

figure

(2);plot(wk,20*log(abs(Hgw)));

xlabel('频率/Hz');ylabel('振幅/dB');grid;%画出FIRDF的幅频响应

title('频率采样法设计FIR低通滤波器的幅频特性');

其执行的图形:

【3】等波纹最佳逼近法设计FIR低通滤波器

(1)已知通带截止频率wp,阻带截止频率ws,模拟信号的采样频率fs,通带最大衰减rp,阻带最小衰减rs时的MATLAB程序:

的MATLAB程序:

clearall

%用等波纹最佳逼近法设计FIR低通滤波器

wp=0.2*pi;

ws=0.3*pi;

fs=input('fs=');%对模拟信号的采样频率

rp=input('rp=');%通带最大衰减

rs=input('rs=');%阻带最小衰减

f=[wp*fs/(2*pi),ws*fs/(2*pi)];

m=[1,0];

dat1=(10^(rp/20)-1)/(10^(rp/20)+1);dat2=10^(-rs/20);

%求出通带波纹幅度dat1和阻带波纹幅度dat2

rip=[dat1,dat2];

[M,fo,mo,w]=remezord(f,m,rip,fs);

hn=remez(M,fo,mo,w);

hw=fft(hn,512);

w=0:

511;w=2*pi*w/512;

plot(w,20*log(abs(hw)));

xlabel('频率/Hz');ylabel('振幅/dB');

gridon;%画出FIRDF的幅频特性

title('等波纹最佳逼近法设计FIR低通滤波器的幅频特性');

其执行的图形:

(2)已知通带截止频率wp,阻带截止频率ws,通带波纹最大为0.04,阻带波纹最大为0.02时的MATLAB程序:

(要求给出滤波器的阶数n值)

clearall

%用等波纹最佳逼近法设计FIR低通滤波器

wp=0.2*pi;

ws=0.3*pi;

n=input('n=');

f=[0wp/piws/pi1];

a=[1100];

w=[0.040.02];

hn=remez(n,f,a,w);

[H,W]=freqz(hn);

figure

(1);

plot(W,20*log10(abs(H)));

xlabel('频率/Hz');ylabel('振幅/dB');

gridon;%画出FIRDF的幅频特性

[h,w]=freqz(hn,1,129,2);

title('等波纹最佳逼近法设计FIR低通滤波器的幅频特性');

figure

(2);plot(w,unwrap(angle(h)));

xlabel('w/pi');ylabel('角弧度/rad');gridon;

%画出FIRDF的相频特性

title('等波纹最佳逼近法设计FIR低通滤波器的相频特性');

其执行的图形:

(4)功能说明

稳定和线性相位特性是FIR滤波器最突出的优点。

FIR数字滤波器的优点在于它可以做成具有严格线性相位,而同时可以具有任意的幅度特性;它的传递函数没有极点;这保证了设计出的FIR数字滤波器一定是平稳的。

因此,FIR滤波器的功能是:

很容易实现具有严格线性相位的系统,使信号经过处理后不产生相位失真,舍入误差小,而且稳定。

(5)实现步骤

1.对五种窗函数设计的低通滤波器进行比较,滤波器的好差的指标是:

Rn——窗函数的幅频函数的最大旁瓣的最大值相对主瓣最大值的衰减值(越小越好)

Bg——低通滤波器的过渡带宽度=窗函数的幅度特性的主瓣宽度(越窄越好)

Rs——低通滤波器的阻带最小衰减(越小越好)

当窗口长度N值相等时:

矩形窗:

Rn,Bg,Rs三个参数都较大,形成的低通滤波器的截断效应影响较大,从而影响滤波器的通带的平稳性和阻带的衰减。

三角窗:

相对矩形窗各参数有所改善,但仍不是最佳的方法。

汉宁窗:

旁瓣互相抵消,能量集中在主瓣。

这样使RnBgRs各参数值相对较好,能较好的实现低通滤波器的设计。

海明窗:

能量集中于主瓣,主瓣能量约占99.96%。

这样使RnBgRs更接近于理想低通滤波器的设计。

Rn以相当的小,截断效应影响小。

布莱克曼窗:

旁瓣进一步互相抵消,能量更集中与主瓣。

比海明窗稍好一些。

2.比较窗函数法的程序、频率采样法和等波纹逼近法中的程序,同样是设计一个N阶的FIR低通数字滤波器,可以看出:

(1)窗函数法在阶数N值较低时,阻带特性不满足设计要求,只有滤波器阶数较高时,使用海明窗和凯塞窗可以达到阻带衰耗要求;

(2)频率采样法偏离设计指标最明显,阻带衰减最小,而且设计的程序比采用窗函数法复杂。

只有适当选取过渡带样点值,才会取得较好的衰耗特性;

(3)利用等波纹逼近法则的设计可以获得最佳的频率特性和衰耗特性,具有通带和阻带平坦,过渡带窄等优点。

四、参考文献

1.数字信号处理【西安电子科技大学出版社(第三版)高西全丁玉美编著】

2.MATLAB及其在理工课程中的应用指南【西安电子科技大学出版社(第三版)陈怀深编著】

3.仿真软件教程【清华大学出版社常华袁刚常敏嘉编著】

五、实习体会

FIR滤波器设计时选择有限长度的h(n),使频率响应函数H(ejω)满足技术指标要求。

我本次实习采用三种设计方法:

窗函数法、频率采样法和切比雪夫等波纹逼近法。

1.在设计完低通滤波器后,从中可以看出,理想低通滤波器的单位脉冲响应加窗处理后,频率响应函数与原理想低通频率响应函数的差别有以下两点:

(1)在理想特性不连续点ω=ωc附近形成过渡带。

过渡带的宽度近似等于WRg(ω)主瓣宽度4π/N。

(2)通带内产生了波纹,最大的峰值在ωc-2π/N处。

阻带内产生了余振,最大的负峰在ωc+2π/N处。

通带与阻带中波纹的情况与窗函数的幅度谱有关,WRg(ω)旁瓣幅度的大小直接影响Hg(ω)波纹幅度的大小。

2.加窗后,由于窗函数的影响产生截断效应,下面是对截断效应的介绍和采用怎样的方法减小截断效应的影响。

对理想低通滤波器的单位脉冲响应hd(n)用窗函数截断后,在频域通带和阻带都产生的波纹,称为截断效应。

这种效应直接影响滤波器的性能。

通带内的波纹影响滤波器通带的平稳性,阻带内的波纹影响阻带内的衰减,这样可能使最小衰减不满足技术指标要求。

一般滤波器要求过渡带愈窄愈好。

为减少截断效应的影响,可以加大窗函数的长度(加大N)。

但N加大,幅度加高,旁瓣也加高,主瓣和旁瓣幅度的相对值不变;另一方面,N加大,WRg(ω)的主瓣和旁瓣宽度变窄,波动的频率加快。

因此加大N只能使Hg(ω)过渡带变窄,并不是减小截断效应的有效方法。

减小截断效应最有效的方法是采用合适的窗函数。

3.通过用这三种方法去实现低通滤波器的设计,可以看出对于同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低,其原因是:

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

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2