基于MATLAB的滤波器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB 的滤波器设计
摘 要:利用MA TLAB 设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。Matlab 因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab 信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。本文介绍了在MATLAB R2011a 环境下滤波器设计的方法和步骤。
关键词:滤波器,matlab ,FIR ,IIR
Abstract :By using MATLAB , we can design filters and modify the filters’parameters conveniently according to our demands. This relieves greatly design work loads and makes for optimization of filter designing. Matlab can be widely used in engineering calculations because of its powerful functions of data processing. Its rich toolbox makes the calculations easy. With Matlab signal processing toolbox, various digital filters can be designed effectively in simple way. This article introduce the methods and processes in the circumstance of MATLAB R2011a. Keywords :filter ,matlab ,fdatool
1.滤波器的原理
凡是可以使信号中特定的频率成分通过,而极大地衰减或抑制其他频率成分的装置或系统都称之为滤波器,相当于频率“筛子”。 滤波器的功能就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。
滤波器中,把信号能够通过的频率范围,称为通频带或通带;反之,信号受到很大衰减或完全被抑制的频率范围称为阻带;通带和阻带之间的分界频率称为截止频率;理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零;实际滤波器的通带和阻带之间存在一定频率范围的过渡带。
a .理想滤波器的频率特性
理想滤波器:使通带内信号的幅值和相位都不失真,阻喧内的频率成分都衰减为零的滤波器,其通带和阻带之间有明显的分界线。
如理想低通滤波器的频率响应函数为
0()()jw t C H jw A l W W Ω-=≤ 或 ()0()C H jw W W =>理想滤波器实际上并不存在。
b .实际滤波器
实际滤波器的特性需要以下参数描述:
1)恒部平均值A0:描述通带内的幅频特性;波纹幅度:d 。
2)上、下截止频率:以幅频特性值为A0/2时的相应频率值WC1,WC2作为带通滤波器的上、下截止频率。带宽21C C B W W =-。
因为
3dB =- 所以 21C C B W W =-也称“-3dB ”带宽 3)选择性:实际滤波器过渡带幅频曲线的倾斜程度表达了滤波器对通带外频率成分的衰减能力,用信频程选择性和滤波器因素λ描述。
信频程选择性:与上、下截止频率处相比,频率变化一倍频程时幅频特性的衰减量,即倍频程选择性:=[]2220lg (2)()C C A W A W 或 =[]1120lg (2)()C C A W A W 信频程选择性总是小于等于零,显然,计算信量的衰减量越大,选择性越好。
滤波器因素:-60dB 处的带宽与-3dB 处的带宽之比值,即越小,选择性越好.分辨力:即分离信号中相邻频率成分的能力,用品质因素Q 描述。
0321
dB C C W Q B -==
,Q 越大,分辨率越高。 2. MTALAB 的在DSP 应用上的功能
MATLAB 中的信号处理工具箱内容丰富,使用简便。在数字信号处理中常用的算法,如FFT ,卷积,相关,滤波器设计,参数模型等,几乎都只用一条语句即可调用。数字信号处理常用的函数有波形的产生、滤波器的分析和设计、傅里叶变换等,如: 波形产生:
sawtooth (锯齿波或三角波) Diric (Dirichlet 或周期sinc 函数) rand (白噪声信号波形) square (方波) sinc (sinc 或 函数) chirp (chirp 信号波形)
滤波器的分析: abs (求幅值) angle (求相角) conv (求卷积) freqz (数字滤波器频率响应) impz (数字滤波器的冲击响应) zplane (数字系统零极点图)IIR 滤波器设计:
butter (巴特沃思数字滤波器) cheby1(切比雪夫I 型) cheby2(切比雪夫II 型) maxflat (最平滤波器) ellip (椭圆滤波器) yulewalk (递归数字滤波器) bilinear (双线性变换) impinvar (冲激响应不变法)FIR 滤波器设计: triang (三角窗) blackman (布莱克曼窗) boxcar (矩形窗) hamming (海明窗) hanning (汉宁窗) kaiser (凯塞窗)
fir1(基于窗函数法) fir2(基于频率抽样法)
firrcos (上升余弦FIR 滤波器设计法) intfilt (内插FIR 滤波器设计法)
kaiserord (用Kaiser 窗设计FIR 滤波器的参数估计
3.滤波器的设计
3.1巴特沃斯IIR滤波器的设计
在MA TLAB下,设计巴特沃斯IIR滤波器可使用butter函数。
Butter函数可设计低通、高通、带通和带阻的数字和模拟IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用butter函数。butter 函数的用法为:[b,a]=butter(n,Wn,/ftype/)其中n代表滤波器阶数,W n代表滤波器的截止频率,这两个参数可使用buttord函数来确定。buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn。buttord函数的用法为:[n,Wn]= buttord(Wp,Ws,Rp,Rs)其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当其值为1时代表采样频率的一半。Rp 和Rs分别是通带和阻带区的波纹系数。
不同类型(高通、低通、带通和带阻)滤波器对应的Wp和Ws值遵循以下规则:
a.高通滤波器:Wp和Ws为一元矢量且Wp>Ws;
b.低通滤波器:Wp和Ws为一元矢量且Wp c.带通滤波器:Wp和Ws为二元矢量且Wp d.带阻滤波器:Wp和Ws为二元矢量且Wp>Ws,如Wp=[0.1,0.8],Ws=[0.2,0.7]。 例如,采样频率10Hz,通带截止频率fp=3Hz,阻带截止频率fs=4Hz,通带衰减小于1dB,阻带衰减大于20dB,使用双线性变换法由模拟滤波器原型设计数字滤波器。 MATLAB程序见附录,如图1所示。 图1 ButterWorth 低通滤波器