DSP实验四IIR和FIR数字滤波器设计软件实现实验报告_第1页
DSP实验四IIR和FIR数字滤波器设计软件实现实验报告_第2页
DSP实验四IIR和FIR数字滤波器设计软件实现实验报告_第3页
DSP实验四IIR和FIR数字滤波器设计软件实现实验报告_第4页
DSP实验四IIR和FIR数字滤波器设计软件实现实验报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、数字信号处理实验报告实验四iir数字滤波器设计及软件实现(一)fir数字滤波器设计及软件实现(二)班级: 电子信息工程16 姓名: 吴翰 学号: 1600506160 2018 年 11 月 28 日一、实验目的(实验4_1)(1)熟悉用双线性变换法设计iir数字滤波器的原理与方法;(2)学会调用matlab信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种iir数字滤波器,学会根据滤波需求确定滤波器指标参数。(3)掌握iir数字滤波器的matlab实现方法。(4)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。(实验4_2)(1)掌握用窗函数法设计

2、fir数字滤波器的原理和方法。(2)掌握用等波纹最佳逼近法设计fir数字滤波器的原理和方法。(3)掌握fir滤波器的快速卷积实现原理。(4)学会调用matlab函数设计与实现fir滤波器。二、实验原理与方法(实验4_1)设计iir数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。基本设计过程是:先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; 设计过渡模拟滤波器;将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。matlab信号处理工具箱中的各种iir数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、ch

3、eby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。本实验要求读者调用如上函数直接设计iir数字滤波器。本实验的数字滤波器的matlab实现是指调用matlab信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。3、 实验内容及步骤(实验4_1)(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。由图可见,三路信号时域混叠无法在时域分离。但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。图1

4、三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。要求滤波器的通带最大衰减为0.1db,阻带最小衰减为60db。提示:抑制载波单频调幅信号的数学表示式为其中,称为载波,fc为载波频率,称为单频调制信号,f0为调制正弦波信号频率,且满足。由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分:和频和差频,这2个频率成分关于载波频率fc对称。所以,1路抑制载波单频调幅信号的频谱图是关于载波频率fc对

5、称的2根谱线,其中没有载频成分,故取名为抑制载波单频调幅信号。容易看出,图1中三路调幅信号的载波频率分别为250hz、500hz、1000hz。如果调制信号m(t)具有带限连续频谱,无直流成分,则就是一般的抑制载波调幅信号。其频谱图是关于载波频率fc对称的2个边带(上下边带),在专业课通信原理中称为双边带抑制载波 (dsb-sc) 调幅信号,简称双边带 (dsb) 信号。如果调制信号m(t)有直流成分,则就是一般的双边带调幅信号。其频谱图是关于载波频率fc对称的2个边带(上下边带),并包含载频成分。(3)编程序调用matlab滤波器设计函数ellipord和ellip分别设计这三个椭圆滤波器,

6、并绘图显示其幅频响应特性曲线。 (4)调用滤波器实现函数filter,用三个滤波器分别对信号产生函数mstg产生的信号st进行滤波,分离出st中的三路不同载波频率的调幅信号y1(n)、y2(n)和y3(n), 并绘图显示y1(n)、y2(n)和y3(n)的时域波形,观察分离效果。(实验4_2)(1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计fir数字滤波器的原理;(2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图所示;图 具有加性噪声的信号x(t)及其频谱如图(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1db,将

7、噪声频谱衰减60db。先观察xt的频谱,确定滤波器指标参数。(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度n,调用matlab函数fir1设计一个fir低通滤波器。并编写程序,调用matlab快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。(4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用matlab函数remezord和remez设计fir数字滤波器。并比较两种设计方法设计的滤波器阶数。提示:matlab函数fir1和fftfilt的功能及其调用格式请查阅本书第7章和第8章;采样频率fs=1000hz,采样

8、周期t=1/fs;根据图10.6.1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120hz,阻带截至频率fs=150hz,换算成数字频率,通带截止频率,通带最大衰为0.1db,阻带截至频率,阻带最小衰为60db。实验程序框图如图10.5.2所示,供读者参考。fs=1000,t=1/fsxt=xtg产生信号xt, 并显示xt及其频谱用窗函数法或等波纹最佳逼近法设计fir滤波器hn对信号xt滤波:yt=fftfilt(hn,xt)1、计算并绘图显示滤波器损耗函数2、绘图显示滤波器输出信号ytend4、 matlab源代码、实验结果图像和结果分析(实验4_1)实验代码(函数部分单独分出

9、来):(mstg函数):function st=mstg%产生信号序列变量st,并显示st的时域波形和频谱%st=mstg返回三路调幅信号相加形成的混合信号,长度n=1600n=1600;fs=10000;t=1/fs;tp=n*t;t=0:t:(n-1)*t;k=0:n-1;f=k/tp;fc1=fs/10;fm1=fc1/10;fc2=fs/20;fm2=fc2/10;fc3=fs/40;fm3=fc3/10;xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);xt3=cos(2*pi*fm

10、3*t).*cos(2*pi*fc3*t);st=xt1+xt2+xt3;fxt=fft(st,n);%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)的波形);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(幅度);(myplot函数):function myplot(b,a)%时域

11、离散系统损耗函数绘图%b为系统函数分子多项式系数向量%a为系统函数分母多项式系数向量h,w=freqz(b,a,1000);m=abs(h);plot(w/pi,20*log10(m/max(m);grid on;xlabel(omega/pi);ylabel(幅度(db)axis(0,1,-150,50);title(损耗函数曲线);(tplot函数):function tplot(xn,t,yn)%时域序列连续曲线绘图函数% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)% t为采样间隔n=0:length(xn)-1;t=n*t;plot(t,xn);xlabel(t/s);y

12、label(yn);axis(0,t(end),min(xn),1.2*max(xn)(实验4_1源代码):% iir数字滤波器设计及软件实现clear all;close allfs=10000;t=1/fs; %采样频率%调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st st=mstg;%低通滤波器设计与实现=fp=280;fs=450;wp=2*fp/fs;ws=2*fs/fs;rp=0.1;rs=60; %df指标(低通滤波器的通、阻带边界频)n,wp=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆df阶数n和通带截止频率wpb,a

13、=ellip(n,rp,rs,wp); %调用ellip计算椭圆带通df系统函数系数向量b和ay1t=filter(b,a,st); %滤波器软件实现% 低通滤波器设计与实现绘图部分figure(5);subplot(2,1,1);myplot(b,a); %调用绘图函数myplot绘制损耗函数曲线yt=y_1(t);subplot(2,1,2);tplot(y1t,t,yt); %调用绘图函数tplot绘制滤波器输出波形%带通滤波器设计与实现=fpl=440;fpu=560;fsl=275;fsu=900;wp=2*fpl/fs,2*fpu/fs;ws=2*fsl/fs,2*fsu/fs;r

14、p=0.1;rs=60; n,wp=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆df阶数n和通带截止频率wpb,a=ellip(n,rp,rs,wp); %调用ellip计算椭圆带通df系统函数系数向量b和ay2t=filter(b,a,st); %滤波器软件实现% 带通滤波器设计与实现绘图部分figure(3);subplot(2,1,1);myplot(b,a); %调用绘图函数myplot绘制损耗函数曲线yt=y_2(t);subplot(2,1,2);tplot(y2t,t,yt); %调用绘图函数tplot绘制滤波器输出波形%高通滤波器设计与实现=fp

15、=890;fs=600;wp=2*fp/fs;ws=2*fs/fs;rp=0.1;rs=60; %df指标(低通滤波器的通、阻带边界频)n,wp=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆df阶数n和通带截止频率wpb,a=ellip(n,rp,rs,wp,high); %调用ellip计算椭圆带通df系统函数系数向量b和ay3t=filter(b,a,st); %滤波器软件实现% 高低通滤波器设计与实现绘图部分figure(4);subplot(2,1,1);myplot(b,a); %调用绘图函数myplot绘制损耗函数曲线yt=y_3(t);subplo

16、t(2,1,2);tplot(y3t,t,yt); %调用绘图函数tplot绘制滤波器输出波形 function myplot(b,a)%时域离散系统损耗函数绘图%b为系统函数分子多项式系数向量%a为系统函数分母多项式系数向量h,w=freqz(b,a,1000);m=abs(h);plot(w/pi,20*log10(m/max(m);grid on;xlabel(omega/pi);ylabel(幅度(db)axis(0,1,-80,5);title(损耗函数曲线); function tplot(xn,t,yn)%时域序列连续曲线绘图函数% xn:信号数据序列,yn:绘图信号的纵坐标名称

17、(字符串)% t为采样间隔n=0:length(xn)-1;t=n*t;plot(t,xn);xlabel(t/s);ylabel(yn);axis(0,t(end),min(xn),1.2*max(xn) function st=mstgn=2000;fs=10000;t=1/fs;tp=n*t;t=0:t:(n-1)*t;k=0:n-1;f=k/tp;fc1=fs/10;fm1=fc1/10;fc2=fs/20;fm2=fc2/10;fc3=fs/40;fm3=fc3/10;xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);xt2=cos(2*pi*fm2*t).*

18、cos(2*pi*fc2*t);xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);st=xt1+xt2+xt3;fxt=fft(st,n);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)的波形)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(幅度);(实验4_2)(

19、xtg函数):function xt=xtg(n)%实验五信号x(t)产生,并显示信号的幅频特性曲线%xt=xtg(n) 产生一个长度为n,有加性高频噪声的单频调幅信号xt,采样频率fs=1000hz%载波频率fc=fs/10=100hz,调制正弦波频率f0=fc/10=10hz.n=2000;fs=1000;t=1/fs;tp=n*t;t=0:t:(n-1)*t;fc=fs/10;f0=fc/10; %载波频率fc=fs/10,单频调制信号频率为f0=fc/10;mt=cos(2*pi*f0*t); %产生单频正弦波调制信号mt,频率为f0ct=cos(2*pi*fc*t); %产生载波正弦

20、波信号ct,频率为fcxt=mt.*ct; %相乘产生单频调制信号xtnt=2*rand(1,n)-1; %产生随机噪声nt%=设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声=fp=150; fs=200;rp=0.1;as=70; % 滤波器指标fb=fp,fs;m=0,1; % 计算remezord函数所需参数f,m,devdev=10(-as/20),(10(rp/20)-1)/(10(rp/20)+1);n,fo,mo,w=remezord(fb,m,dev,fs); % 确定remez函数所需参数hn=remez(n,fo,mo,w); % 调用remez函数进行设计

21、,用于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,生成高通噪声yt%=xt=xt+yt; %噪声加信号fst=fft(xt,n);k=0:n-1;f=k/tp;subplot(3,1,1);plot(t,xt);grid;xlabel(t/s);ylabel(x(t);axis(0,tp/5,min(xt),max(xt);title(a) 信号加噪声波形)subplot(3,1,2);plot(f,abs(fst)/max(abs(fst);grid;title(b) 信号加噪声的频谱)axis(0,fs/2,0,1.2);xlabel(f

22、/hz);ylabel(幅度)(主程序源代码):clear all;close all;%=调用xtg产生信号xt, xt长度n=1000,并显示xt及其频谱,=n=1000;xt=xtg(n);fp=120; fs=150;rp=0.2;as=60;fs=1000; t=1/fs; % 输入给定指标% (1) 用窗函数法设计滤波器wc=(fp+fs)/fs; %理想低通滤波器截止频率(关于pi归一化)b=2*pi*(fs-fp)/fs; %过渡带宽度指标nb=ceil(11*pi/b); %blackman窗的长度nhn=fir1(nb-1,wc,blackman(nb);hw=abs(ff

23、t(hn,1024); % 求设计的滤波器频率特性ywt=fftfilt(hn,xt,n); %调用函数fftfilt对xt滤波figure(2);subplot(3,1,1);myplot(hn,xt); %调用绘图函数myplot绘制损耗函数曲线y1t=y_w(t);subplot(3,1,2);tplot(ywt,t,y1t);% (2) 用等波纹最佳逼近法设计滤波器fb=fp,fs;m=1,0; % 确定remezord函数所需参数f,m,devdev=(10(rp/20)-1)/(10(rp/20)+1),10(-as/20);ne,fo,mo,w=remezord(fb,m,dev

24、,fs); % 确定remez函数所需参数hn=remez(ne,fo,mo,w); % 调用remez函数进行设计hw=abs(fft(hn,1024); % 求设计的滤波器频率特性yet=fftfilt(hn,xt,n); % 调用函数fftfilt对xt滤波figure(3);subplot(3,1,1);myplot(hn,xt); %调用绘图函数myplot绘制损耗函数曲线y2t=y_e(t);subplot(3,1,2);tplot(yet,t,y2t)实验图像:(如下图)实验4_1图像:低通滤波器损耗函数及其分离出的调幅信号y1(t)实验4_1图像:带通滤波器损耗函数及其分离出的

25、调幅信号y2(t)实验4_1图像:高通滤波器损耗函数及其分离出的调幅信号y3(t)实验4_2图像实验4_2图像5、 思考题及解答(实验4_1思考题)(1)请阅读信号产生函数mstg,确定三路调幅信号的载波频率和调制信号频率。(2)信号产生函数mstg中采样点数n=800,对st进行n点fft可以得到6根理想谱线。如果取n=1000,可否得到6根理想谱线?为什么?n=2000呢?请改变函数mstg中采样点数n的值,观察频谱图验证您的判断是否正确。(3)修改信号产生函数mstg,给每路调服信号加入载波成分,产生调幅(am)信号,重复本实验,观察am信号与抑制载波调幅信号的时域波形及其频谱的差别。提

26、示:am信号表示式: s(t)=ad+amcos(2f0t)cos(2fct) adam(实验4_2思考题)(1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤.(2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为和,阻带上、下截止频率为和,试求理想带通滤波器的截止频率。(3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低?解答:(实验4_1)思考题(1)第一路调幅信号的载波频率fc1=1000hz第一路调幅信号的调制信号频率fm1=100hz第二路调幅信号的载波信号频率fc2=500hz第二路调幅信号的调制信号频率fm2=500hz第三路调幅信号的载波频率fc3=250hz第三路调幅信号的调制信号频率fm3=25hz思考题(2) 因为信号st是周期序列,谱分析

温馨提示

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

评论

0/150

提交评论