- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
滤波器基于Simulink的数字滤波器的仿真
PAGE
PAGE 1
基于Simulink的数字滤波器的仿真
徐泽晖 王忠
(四川大学通信工程系 610065)
摘要:介绍数字滤波器的定义、分类及实现方法。讨论IIR滤波器、FIR滤波器的设计方法以及如何运用MATLAB中的DSP Blockset工具箱设计数字滤波器。
关键词:IIR滤波器;FIR滤波器;DSP
1 引言
数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它是通过对抽样数据进行数学运算处理来达到频域滤波的目的。数字滤波器从实现的网络结构或者从单位脉冲响应分类,可以分成无限脉冲响应(IIR)和有限脉冲响应(FIR)滤波器。MATLAB中的DSP Blockset工具箱提供完整丰富的模块范例函数库,以进行数字信号系统(DSP System)的设计、模拟与快速原型化(rapid prototyping)。可适用于建立古典(classical)、多速率(multirate)、适应性(adaptive)的滤波器。
MATLAB的DSP Blockset工具箱的两个基本组成就是滤波器的设计与实现部分以及谱分析部分。工具箱提供了丰富而简便的设计,实现FIR和IIR的方法,是原来繁琐的程序设计简化成函数的调用。
2.典型IIR数字滤波器的设计
双线性变换法
为了克服冲激响应不变法的频率混叠现象,需要使s平面与z平面建立一一对应的单值映射关系,即求出s=f(z),然后将它带入H(s),就可以求得H(z),即
H(z)=H(s)|s=f(z) (1)
为了克服多值映射这一缺点,我们首先把整个s平面压缩变换到某一中介的s1平面的一条横带里,其次再通过上面讨论过的标准变换关系z=es1T将此横带变换到整个z平面上去,这样就使s平面与z平面是一一对应的关系,消除了多值变换性,也就消除了频谱混叠现象。
例如试用双线性变换法设计一个ChebyshevⅡ高通滤波器,使其幅频特性逼近一个具有以下技术指标的模拟ChebyshevⅡ高通滤波器:Ws=2*pi*1kHz,Wp=2*pi*1.4kHz,在Ws处的最小衰减为15dB,在Wp处的最大衰减不超过0.3dB,抽样频率为20kHz。
MATLAB程序为
ws=2*pi*1000;
ws1=ws*2*pi;
wp=2*pi*1400;
wp1=wp*2*pi;
rp=0.3;
rs=15;
fs=20000;
[N,Wn]=cheb2ord(wp1,ws1,rp,rs,’s’);
[z,p,k]=cheb2ap(N,rs);
[A,B,C,D]=zp2ss(z,p,k);
[At,Bt,Ct,Dt]=lp2hp(A,B,C,D,Wn);
[At1,Bt1,Ct1,Dt1]=bilinear(At,Bt,Ct,Dt,fs);
[num,den]=ss2tf(At1,Bt1,Ct1,Dt1);
freqz(num,den);
[H,W]=freqz(num,den);
plot(W*fs/(2*pi),abs(H));grid;
xlabel(‘频率/Hz’);
ylabel(‘幅值’);
ChebyshevⅡ高通滤波器的频率响应如图1所示。
图1 ChebyshevⅡ高通滤波器的频率响应
3.FIR数字滤波器的设计
窗函数设计法
设理想带阻滤波器频率响应为
(2)
利用Kaiser窗函数,设计长度为55的阻带滤波器,使阻带衰减为60dB。参数β可由式(3)确定α
β=0.1102(α-8.7) (3)
其中α=60。
MATLAB程序如下:
n=55-1;
w=[0.4,0.6];
beta=0.1102*(60-8.7);
kaiw=Kaiser(n+1,beta);
b=fir1(n,w,’stop’,kaiw);
[h,w]=freqz(b,1,512,2);
plot(w,20*log10(abs(h)));grid;
xlabel(‘频率(归一化)’);
ylabel((‘幅度dB’));
带阻滤波器幅频特性实现如图2所示。
图2 带阻滤波器幅频特性
4. 数字滤波器的仿真及实现
DSP Blockset提供了200多个高级DSP和数学函数,包括变换、矩阵运算、FIR、IIR、自适应和多速率滤波、谱分析和实时数据I/O-所有这些都是高效的基于帧的实现。DSP Blockset对于开发语音、音频和基带通信算法、基于传感器的信号处理应用都是非常理想的
文档评论(0)