基于Matlab数字带通滤波设计.docx
《基于Matlab数字带通滤波设计.docx》由会员分享,可在线阅读,更多相关《基于Matlab数字带通滤波设计.docx(11页珍藏版)》请在冰豆网上搜索。
基于Matlab数字带通滤波设计
《数字信号处理课程设计报告》
课程设计题目:
数字带通滤波设计
学院:
信息工程学院
专业:
通信工程
班级:
学生姓名:
指导老师:
日期:
2012年5月4日至17日
1.课程设计的目的和意义
1.1课程目的
(1)学习椭圆模拟带通滤波器的设计。
(2)使用椭圆模拟带通滤波器逼近数字带通滤波器。
(3)双线性变换法的应用原理。
(4)使用matlab对滤波器进行仿真和频谱分析。
1.2实验意义
数字滤波器是个离散时间系统(按预定的算法,将输入离散时间信号换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
利用Matlab设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。
Matlab因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。
本文介绍了在Matlab环境下滤波器设计的方法和步骤。
2.课程设计题目描述及要求
用双线性变换法设计一个数字带通滤波器,使其指标接近接近如下技术指标的椭圆模拟带通滤波器:
ωp1=100Hz,ωp2=200Hz,ωs1=50Hz,ωs2=250Hz,通带衰减系数为Rp=0.5dB,组带衰减系数Rs=60dB,采样频率为20000Hz。
3.实验内容
3.1数字滤波器的简介
数字滤波器(digitalfilter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。
所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。
FIR数字滤波器的单位脉冲响应是有限长序列。
它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。
3.2椭圆数字带通滤波器设计原理
双线性变换法获得的数字滤波器频率响应特性中不会出现混叠现象,可以适用于高通、带通和带阻滤波器的设计。
IIR数字滤波器的设计通常要借助于模拟低通滤波器的设计,由原型低通滤波器到其他形式(高通、带通、带阻)IIR数字滤波器的频带变换有模拟频带变换法和数字频带变换法。
本实验中用的是模拟频带变换法。
首先将给定的对数字滤波器(DF)的技术要求转换为一个低通模拟滤波器(AF)的技术要求,根据这种要求用某种逼近设计出原型的低通模拟滤波器(LPAF),计算出模拟滤波器的阶数N、极点si和传递函数
,再按照双线性变换的变换关系,将模拟滤波器的传递函数
转换为数字滤波器的传递函数
。
表1给出了对数字滤波器(DF)的技术要求直接转换为对一个低通模拟滤波器(AF)的技术要求的频率预畸变校正关系和转换公式。
变换类型
变换关系
频率预校正
备 注
低通变换
其中,T为抽样周期,f为模拟频率
中心频率
其中,
分别为数字带通滤波器通带的上下边界角频率,或数字带阻滤波器阻带的上下边界角频率。
高通变换
带通变换
带阻变换
图表1双线性变换公式
低通到带通的频率变换公式如下:
(1)
在p平面与s平面虚轴上的频率关系为:
(2)
式中,
,表示带通滤波器的带通宽度,
分别为带通滤波器的带通下截止频率和通带截止频率,根据公式
(2)的映射关系,频率λ=0映射为频率
,频率λ=
映射为频率
。
也就是说将低通滤波器G(p)的通带[
]映射为带通带通滤波器的通带,同理,得出将Q(p)转换为带通滤波器的系统函数,即:
(3)
可以证明
(4)
所以,带通滤波器的通带(阻带)边界频率关于中心频率
几何对称,如果原指标给定的边界频率不满足公式(4),就要改变其中一个边界频率,以便满足公式(4),但要保证改变后的指标高于原指标,具体方法是,如果
则减小
以使(4)得到满足,具体计算公式为:
或
(5)
减小
使带通宽度大于原指标要求的通带宽度,增大
或减少
都使左边的过渡带宽度小于原指标要求的过渡带宽度,反之,如果
,则减少
使式(4)得到满足,而且在关于中心频率几何对称的两个正频率点上,带通滤波器的幅度值相等。
3.3实验流程框图
3.4实验步骤
(1):
根据题目要求计算出椭圆模拟带通滤波器的通带频率,阻带频率。
(2):
根据参数设计出椭圆低通滤波器。
(3):
将椭圆低通滤波器转化为带通滤波器。
(4):
归一化模拟带通滤波器的参数,运用双线性变换法计算出数字带通滤波器的参数。
(5):
根据参数设计出数字带通滤波器。
(6):
使用matlab画出滤波器的频谱分析图和零极点分布图。
设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频相频响应特性,运算量也是很大的。
我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。
在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成设计。
利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效的设计数字滤波器,大大的简化了计算量,直观简便。
3.5程序代码
p1=100;
p2=200;
s1=50;
s2=250;
Ap=0.5;
As=60;
Ft=20000;
T=2;
wp1=2*pi*p1/Ft;
wp2=2*pi*p2/Ft;
ws1=2*pi*s1/Ft;
ws2=2*pi*s2/Ft;
Wp1=(2/T)*tan(wp1/2);
Wp2=(2/T)*tan(wp2/2);
Ws1=(2/T)*tan(ws1/2);
Ws2=(2/T)*tan(ws1/2)
W0=Wp1*Wp2;
w0=sqrt(W0);
BW=Wp2-Wp1;
lp=1;%归一化处理
ls=Ws1*BW/(W0-Ws1^2);
[N,Wn]=ellipord(lp,ls,Ap,As,'s');%椭圆模拟低通滤波器
[B,A]=ellip(N,1,40,Wn,'s');%计算出低通滤波器的分子分母
[BT,AT]=lp2bp(B,A,w0,BW);%将低通滤波器转化为带通
[num,den]=bilinear(BT,AT,0.5);%使用双线性变换法
[z,p,k]=tf2zp(num,den);%用num点绘出频率特征
figure
(1);
zplane(z,p);
title('零极点')
xlabel('实部');
ylabel('虚部');
[h,w]=freqz(num,den,512);
figure
(2)
plot(w/pi,20*log10(abs(h)));
axis([00.1-1001]);
title('频谱特性曲线')
xlabel('ω/π');
ylabel('幅度/dB');
grid
3.6实验仿真结果图
图表2滤波器频谱分析图
图表3零极点分布图
3.7实验结果分析
因为S平面的左半平面影射到平面的单位圆内,平面的右半平面影射到Z平面的单位圆外,S平面的虚轴影射到Z平面的单位圆上。
因此,稳定的模拟滤波器经双线性变换后得到的数字滤波器也一定是稳定的。
但是它的频率变换是非线性的。
这种非线性关系使得通带截止频率,过渡带的边缘频率的相对位置发生了非线性畸变。
这种非线性畸变可以通过预畸变来校正。
用双线性变换来设计数字滤波器时,一般总是先将数字滤波器的各临界频率来预畸变,求得相应的参考模拟滤波器的各临界频率,然后设计参考模拟滤波器的传递函数,最后通过双线性变换公式求得数字滤波器的传递函数。
这样通过双线性变换,正好将这些频率截止点映射到我们所需的位置上。
完成用双线性变换法滤波器的设计。
4.实验总结
采用MATLAB设计滤波器,使原来非常繁琐复杂的程序设计变成了简单的函数调用,为滤波器的设和实现开辟了广阔的天地,尤其是Matlab工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。
其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。
在设计数字滤波器时,善于应用MATLAB进行辅助设计,能够大大提高设计效率。
数字滤波器的应用十分广泛,利用Matlab语言,很容易设计出数字椭圆滤波器,数字椭圆滤波器可以用较少的阶数获得很高的选择特性,在相位要求不明感的场合,如语音信号处理等,适合用数字椭圆数字滤波器,在设计过程中可以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化。
参考文献
[1]高西全.丁玉美.数字信号处理.西安:
西安电子科技大学出版社,2008.
[2]管爱红,张红梅,杨铁军等.MATLAB基础及其应用教程.北京:
电子工业出版社,2009.
[3]董长虹等.MATLAB信号处理与应用.北京:
国防工业出版社,2005.
[4]楼顺天,李博菡.基于MATLAB的系统分析与设计-信号处理.西安:
西安电子科技大学出版社,2005.
[5]蒋志凯.数字滤波与卡尔曼滤波.北京:
中国科学技术出版社,1993.
[6][美]M.H.海因斯著,张建华等译.数字信号处理.北京:
科学出版社,2002.