IIR数字滤波器设计及软件实现_第1页
IIR数字滤波器设计及软件实现_第2页
IIR数字滤波器设计及软件实现_第3页
IIR数字滤波器设计及软件实现_第4页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. 2010级数字信号处理课程设计 数字信号处理课程设计报告书课题名称IIR 数字滤波器设计及软件实现姓名陈晓坤学号20106499院、系、部电气工程系专业电子信息工程指导教师刘鑫淼2013年6月 28日.IIR 数字滤波器设计及软件实现20106499 陈晓坤一、设计目的1、熟悉用双线性变换法设计IIR 数字滤波器的原理与方法;2、学会调用 MATLAB 信号处理工具箱中滤波器设计函数 (或滤波器设计分析工具 FDATool)设计各种 IIR 数字滤波器,学会根据滤波需求确定滤波器指标参数。3、掌握 IIR 数字滤波器的 MATLAB 实现方法。4、通过观察滤波器输入输出信号的时域波形及其频

2、谱,建立数字滤波的概念。二、设计原理设计 IIR 数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法) ,应用最广泛的是双线性变换法。 基本设计过程是: 先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; 设计过渡模拟滤波器; 将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。 MATLAB 信号处理工具箱中的各种 IIR数字滤波器设计函数都是采用双线性变换法。滤波器设计函数butter、cheby1 、cheby2 和 ellip 可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。 本实验要求读者调用如上函数直接设计IIR 数字滤波器。本实验的数字滤波

3、器的 MATLAB 实现是指调用 MATLAB 信号处理工具箱函数 filter 对给定的输入信号 x(n)进行滤波,得到滤波后的输出信号 y(n)。三、实验内容及步骤1、调用信号产生函数mstg 产生由三路抑制载波调幅信号相加构成的复合信号 st,该函数还会自动绘图显示 st 的时域波形和幅频特性曲线,如图 3.1 所示。由图 3.1 可见,三路信号时域混叠无法在时域分离。但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。(a) s(t) 的 波 形32)t1(s0-100.0020.0040.0060.0080.010.0120.0140.0160.0180.02t/s

4、(b) s(t) 的 频 谱1度幅 0.5 00200400600800100012001400160018002000f/Hz.图 3.1三路调幅信号st 的时域波形和幅频特性曲线2、要求将 st 中三路调幅信号分离,通过观察 st 的幅频特性曲线,分别确定可以分离 st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器) 的通带截止频率和阻带截止频率。 要求滤波器的通带最大衰减为 0.1dB,阻带最小衰减为 60dB。提示:抑制载波单频调幅信号的数学表示式为s(t)cos(2 f 0 t) cos(2 fct)1 / 2cos(2( fcf 0 )t )cos(2

5、( fcf 0 )t ) 其 中 ,cos( 2 fct) 称为载波,fc 为载波频率, cos(2 f 0t ) 称为单频调制信号,f 0 为调制正弦波信号频率,且满足fcf 0 。由上式可见,所谓抑制载波单频调幅信号,就是2 个正弦信号相乘,它有2 个频率成分:和频fcf 0 和差频 fcf 0 ,这 2 个频率成分关于载波频率fc 对称。所以, 1 路抑制载波单频调幅信号的频谱图是关于载波频率 fc 对称的 2 根谱线,其中没有载频成分,故取名为抑制载波单频调幅信号。容易看出,图 10.4.1 中三路调幅信号的载波频率分别为250Hz、500Hz、1000Hz。如果调制信号m(t)具有带

6、限连续频谱,无直流成分,则s(t )m(t) cos(2 fct ) 就是一般的抑制载波调幅信号。 其频谱图是关于载波频率fc 对称的 2 个边带(上下边带),在专业课通信原理中称为双边带抑制载波(DSB-SC) 调幅信号 ,简称双边带(DSB) 信号。如果调制信号m(t) 有直流成分,则 s(t )m(t) cos(2 fct) 就是一般的双边带调幅信号。其频谱图是关于载波频率fc 对称的 2 个边带(上下边带),并包含载频成分。3、程序调用 MATLAB 滤波器设计函数 ellipord 和 ellip 分别设计这三个椭圆滤波器,并绘图显示其幅频响应特性曲线。4、用滤波器实现函数 filt

7、er ,用三个滤波器分别对信号产生函数mstg 产生的信号 st 进行滤波,分离出 st 中的三路不同载波频率的调幅信号 y1(n)、 2和y (n)y3(n), 并绘图显示 y1(n)、y2(n)和 y3(n)的时域波形,观察分离效果。四、程序设计1、调用函数 mstg 产生 stfunction st=mstg%产生信号序列向量 st, 并显示 st 的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=1600N=1600 为信号 st 的长度Fs=10000;T=1/Fs;Tp=N*T ;采样频率 Fs=10kHz, Tp 为采样时间t=0: T: (N-1)*

8、T ;k=0: N-1;f=k/Tp ;fc1=Fs/10;%第 1 路调幅信号的载波频率 fc1=1000Hz.fm1=fc1/10;%第 1 路调幅信号的调制信号频率 fm1=100Hzfc2=Fs/20;%第 2 路调幅信号的载波频率 fc2=500Hzfm2=fc2/10;%第 2 路调幅信号的调制信号频率 fm2=50Hzfc3=Fs/40;%第 3 路调幅信号的载波频率 fc3=250Hzfm3=fc3/10;%第 3 路调幅信号的调制信号频率 fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);%产生第 1 路调幅信号xt2=cos(2*pi

9、*fm2*t).*cos(2*pi*fc2*t);%产生第 2 路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);%产生第 3 路调幅信号st=xt1+xt2+xt3 ;%三路调幅信号相加fxt=fft(st,N) ;%计算信号 st 的频谱%=以下为绘图部分,绘制st 的时域波形和幅频特性曲线=subplot(3,1,1)plot(t, st); grid;xlabel('t/s'); ylabel('s(t)');axis(0, Tp/8, min(st), max(st); title('(a) s(t)的波形 &

10、#39;)subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt),'.'); grid;title('(b) s(t) 的频谱 ')axis(0,Fs/5,0,1.2);xlabel('f/Hz') ; ylabel('幅度 ')2、调用 ellipord 和 ellip 设计低通滤波器Fs=10000; T=1/Fs;st=mstg;fp=280;fs=450;wp=2*fp/Fs; ws=2*fs/Fs;rp=0.1; rs=60;N,wp=ellipord(wp,ws,rp,rs) ;B,A=e

11、llip(N,rp,rs,wp) ;y1t=filter(B,A,st) ;H,w=freqz(B,A) ; figure(1)subplot(2,1,1); plot(w/pi,20*log10(abs(H) ;xlabel('w/');ylabel('幅度 /dB'); title( '损耗函数曲线 ') axis(0,1,-80,5);t=0:T:(length(y1t)-1)*T ;subplot(2,1,2); plot(t,y1t) ;xlabel('t/s'); ylabel('y1(t)')axis

12、(0,0.08,-1,1.2)3、调用 ellipord 和ellip 设计带通滤波器Fs=10000; T=1/Fs;st=mstg;fpl=440;fpu=560;fsl=275;fsu=900;wp=2*fpl/Fs,2*fpu/Fs ; ws=2*fsl/Fs,2*fsu/Fs ;rp=0.1;rs=60;N,wp=ellipord(wp,ws,rp,rs) ;B,A=ellip(N,rp,rs,wp) ;y2t=filter(B,A,st) ;H,w=freqz(B,A) ; figure(2)subplot(2,1,1); plot(w/pi,20*log10(abs(H) ;xl

13、abel('w/');ylabel('幅度 /dB'); title( '损耗函数曲线 ').axis(0,1,-80,5);t=0:T:(length(y1t)-1)*T ;subplot(2,1,2); plot(t,y2t) ;xlabel('t/s');ylabel('y2(t)')axis(0,0.08,-1.1,1.2)4、调用 ellipord 和ellip 设计高通滤波器Fs=10000; T=1/Fs;st=mstg;fp=890;fs=600;wp=2*fp/Fs; ws=2*fs/Fs;rp=

14、0.1; rs=60;N,wp=ellipord(wp,ws,rp,rs) ;B,A=ellip(N,rp,rs,wp, 'high');y3t=filter(B,A,st) ;H,w=freqz(B,A) ; figure(3)subplot(2,1,1); plot(w/pi,20*log10(abs(H) ;xlabel('w/');ylabel('幅度 /dB'); title( '损耗函数曲线 ') axis(0,1,-80,5);t=0:T:(length(y3t)-1)*T ;subplot(2,1,2); plot

15、(t,y3t) ;xlabel('t/s');ylabel('y3(t)')axis(0,0.08,-1.2,1.2)五、程序运行结果Bd/损耗函数曲线0-20度 -40幅-60-8000.10.20.30.40.50.60.70.80.91w/ 10.5)t(1y0-0.5-100.010.020.030.040.050.060.070.08t/s图 5.1 低通滤波器损耗函数及其分离出的调幅信号y1(t).Bd/.损耗函数曲线0-20度 -40幅-60-8000.10.20.30.40.50.60.70.80.91w/ 10.5)t(20y-0.5-100.

16、010.020.030.040.050.060.070.08t/s图 5.2带通滤波器损耗函数及其分离出的调幅信号y2(t)损耗函数曲线0-20Bd/度 -40幅-60-8000.10.20.30.40.50.60.70.80.91w/ 10.5)t(30y-0.5-100.010.020.030.040.050.060.070.08t/s图 5.3 高通滤波器损耗函数及其分离出的调幅信号y3(t)由图可见,三个分离滤波器指标参数选取正确, 损耗函数曲线达到所给指标。滤波器实现了函数 filter ,用三个滤波器分别对信号产生函数 mstg 产生的信号 st 进行滤波,分离出的三路信号 y1(n),y2(n)和 y3(n)的波形是抑制载波的单频调幅波,并绘图显示了 y1(n)、y2(n)和 y3(n)的时域波形。.六、设计总结1、本次的课程设计中, IIR 数字滤波器的设计函数采用的是双线性变换法,直接调用滤波器设计函数 butter、cheby1 、cheby2 和 ellip 来设计 IIR 数字滤波器,并掌握 IIR 数字滤波器的 MATLAB 实现方法。2、将调用信号产生函数 mstg 产生三路抑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论