数字信号处理实验五
- 格式:doc
- 大小:36.50 KB
- 文档页数:3
数字信号处理实验报告实验名称:应用FFT实现信号频谱分析学生姓名:z学生学号:学生班级:上课时间:周二上午指导老师:一、 实验目的(1) 能够熟练掌握快速离散傅里叶变换的原理及应用FFT 进行频谱分析的基本方法。
(2) 对离散傅里叶变换的主要性质及FFT 在数字信号处理中的重要作用有进一步的了解。
二、 实验原理1、离散傅里叶变换(DFT )及其主要性质DFT 表示离散信号的离散频谱,DFT 的主要性质中有奇偶对称性、虚实特性等。
通过实验可以加深理解。
实序列的DFT 具有偶对称的实部和奇对称的虚部,这可以证明如下: 由定义,可得X(k)=∑-=1)(N n kn N W n x=)2sin()()2cos()(110kn N n x j kn N n x N n N n ∑∑-=-=-ππX(N-k)=∑-=-10)()(N n n k N NWn x =∑-=-1)(N n kn nNnWWn x =∑-=-1)(N n kn N W n x=)2sin()()2cos()(110kn N n x j kn N n x N n N n ∑∑-=-=+ππ所以,X(k)=X *(N-k)实序列DFT 的这个特性,在本实验中可以通过实指数序列及三角序列看出来。
对于单一频率的三角序列来说,它的DFT 谱线也是单一的,这个物理意义可以从实验中得到验证,在理论上可以推导如下: 设)()2s i n ()(n R n Nn x N π= 其DFT 为 X(k)=∑-=-102)(N n kn Nen x π=kn Nj N n e n N ππ21)2sin(--=∑=kn N j n N j N n N j e e e j πππ22102)(21---=-∑=)(21)1(210)1(2+--=---∑k n N j N n k n N j e e j ππ从而,X(0)=0)(212102=---=∑n N j N n Nj e e j ππX(1)=22)1(21104Nj j N e j N n n N j -==-∑-=-πX(2)=0 …… X(N-2)=0X(N-1)=22)(21210)2(2Nj j N e e j n j N n n N N j =-=-∑-=--ππ以上这串式中X(0)反映了x(n)的直流分量,X(1)是x(n)的一次谐波,又根据虚实特性X *(N-1)=X(1),而其他分量均为零。
实验一信号、系统及系统响应一、实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定的理解。
2、熟悉时域离散系统的时域特性。
3、利用卷积方法观察分析系统的时域特性。
4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
二、实验原理采样的的过程既是连续信号离散化的过程。
采用单位冲击串进行采样,为使采样信号能不失真的还原为采样前的信号,根据奈奎斯特采样率,采样频率应该大于信号最高频率的2倍。
因为时域的采样既是对时域的离散化处理,时域离散频域会进行周期延拓,为了防止频域频谱混叠,必须满足奈奎斯特采样定律。
线性卷积的过程为:反褶,移位,相乘,相加。
设一个N1点的序列与一个N2的序列进行卷积则得到N1+N2-1点的序列。
时域卷积,对应频域的相乘。
序列的傅里叶变换即DTFT 。
具有的性质有: 线性,移位性,对偶性,等等。
三、实验内容及步骤1)分析采样序列的特性。
产生采样序列()a x n ,A 444.128=,a =,0Ω=。
a 、 取采样频率s f 1kHz =,即T 1ms =。
观察所采样()a x n 的幅频特性()j X e ω和)(t x a 的幅频特性()X j Ω在折叠频率处有无明显差别。
应当注意,实验中所得频谱是用序列的傅立叶变换公式求得的,所以在频率量度上存在关系:T ω=Ω。
b 、改变采样频率,s f 300Hz =,观察()j X eω的变化并做记录。
c 、 进一步降低采样频率,s f 200Hz =,观察频谱混叠是否明显存在,说明原因,并记录()j X e ω的幅频曲线。
上图是采用不同采样频率时所得到的序列及其对应的傅里叶变换,从图中可以看到,当采样频率比较低时,频谱会发生混叠,且频率越低,混叠现象越明显。
增大采样频率可以有效地防止混叠。
2) 离散信号、系统和系统响应分析。
a 、观察信号()b x n 和系统h ()b n 的时域和频域持性;利用线形卷积求信号()b x n 通过系统h ()b n 的响应y(n),比较所求响应y(n)和h ()b n 的时域及频域特性,注意它们之间有无差异,绘图说明,并用所学结论解释所得结果。
实验五:抽样定理一、实验目的1、了解用MA TLAB 语言进行时域、频域抽样及信号重建的方法。
2、进一步加深对时域、频域抽样定理的基本原理的理解。
3、观察信号抽样与恢复的图形,掌握采样频率的确定方法和内插公式的编程方法。
二、实验内容及步骤1、阅读并输入实验原理中介绍的例题程序,观察输出的数据和图形,结合基本原理理解每一条语句的含义。
2、已知一个连续时间信号f(t)=sinc(t),取最高有限带宽频率f m =1Hz 。
(1)分别显示原连续信号波形和F s =f m 、F s =2f m 、F s =3f m 三种情况下抽样信号的波形;dt=0.1;f0=1;T0=1/f0; fm=1;Tm=1/fm; t=-2:dt:2; f=sinc(t);subplot(4,1,1);plot(t,f);axis([min(t),max(t),1.1*min(f),1.1*max(f)]); title('原连续信号和抽样信号'); for i=1:3;fs=i*fm;Ts=1/fs; n=-2:Ts:2; f=sinc(n);subplot(4,1,i+1);stem(n,f,'filled');axis([min(n),max(n),1.1*min(f),1.1*max(f)]);课程名称 数字信号处理 实验成绩 指导教师实 验 报 告院系 信息工程学院 班级 学号 姓名 日期end-2-1.5-1-0.50.511.5200.51原连续信号和抽样信号(2)求解原连续信号和抽样信号的幅度谱; dt=0.1;f0=1;T0=1/f0; fm=1;Tm=1/fm; t=-2:dt:2; N=length(t); f=sinc(t); wm=2*pi*fm; k=0:N-1; w1=k*wm/N; F1=f*exp(-j*t'*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1));axis([0,max(4*fm),1.1*min(abs(F1)),1.1*max(abs(F1))]); for i=1:3;if i<=2 c=0;else c=1;end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2; N=length(n); f=sinc(n); wm=2*pi*fs; k=0:N-1; w=k*wm/N; F=f*exp(-j*n'*w)*Ts;subplot(4,1,i+1);plot(w/(2*pi),abs(F));axis([0,max(4*fm),1.1*min(abs(F)),1.1*max(abs(F))]); end00.511.522.533.540.20.40.60.811.200.511.522.533.54012(3)用时域卷积的方法(内插公式)重建信号。
上机频谱分析过程及结果图 上机实验三:IIR 低通数字滤波器的设计姓名:赵晓磊 学号:赵晓磊 班级:02311301 科目:数字信号处理B一、实验目的1、熟悉冲激响应不变法、双线性变换法设计IIR 数字滤波器的方法。
2、观察对实际正弦组合信号的滤波作用。
二、实验内容及要求1、分别编制采用冲激响应不变法、双线性变换法设计巴特沃思、切贝雪夫I 型,切贝雪夫II 型低通IIR 数字滤波器的程序。
要求的指标如下:通带内幅度特性在低于πω3.0=的频率衰减在1dB 内,阻带在πω6.0=到π之间的频率上衰减至少为20dB 。
抽样频率为2KHz ,求出滤波器的单位取样响应,幅频和相频响应,绘出它们的图,并比较滤波性能。
(1)巴特沃斯,双线性变换法Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radians frequency in pi unitsa r g (H [e x p (j w )](2)巴特沃斯,冲激响应不变法(3)切贝雪夫I 型,双线性变换法(4)切贝雪夫Ⅱ型,双线性变换法综合以上实验结果,可以看出,使用不同的模拟滤波器数字化方法时,滤波器的性能可能产生如下差异:使用冲击响应不变法时,使得数字滤波器的冲激响应完全模仿模拟滤波器的冲激响应,也就是时域逼急良好,而且模拟频率和数字频率之间呈线性关系;但频率响应有混叠效应。
frequency in Hz|H [e x p (j w )]|Designed Lowpass Filter Magnitude Response in dBfrequency in pi units|H [e x p (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [e xp (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radiansfrequency in pi unitsa r g (H [e x p (j w )]使用双线性变换法时,克服了多值映射的关系,避免了频率响应的混叠现象;在零频率附近,频率关系接近于线性关系,高频处有较大的非线性失真。
实验一时域离散信号的产生及时域处理实验目的:了解Matlab软件数字信号处理工具箱的初步使用方法。
掌握其简单的Matlab语言进行简单的时域信号分析。
实验内容:[1.1]已知两序列x1=[0,1,2,3,4,3,2,1,0];n1=[-2:6];x2=[2,2,0,0,0,-2,-2],n2=[2:8].求他们的和ya及乘积yp. 程序如下:x1=[0,1,2,3,4,3,2,1,0];ns1=-2;x2=[2,2,0,0,0,-2,-2];ns2=2;nf1=ns1+length(x1)-1;nf2=ns2+length(x2)-1;ny=min(ns1,ns2):max(nf1,nf2);xa1=zeros(1,length(ny));xa2=xa1;xa1(find((ny>=ns1)&(ny<=nf1)==1))=x1;xa2(find((ny>=ns2)&(ny<=nf2)==1))=x2;ya=xa1+xa2yp=xa1.*xa2subplot(4,4,1),stem(ny,xa1,'.')subplot(4,1,2),stem(ny,xa2,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,3),stem(ny,ya,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,4),stem(ny,yp,'.')line([ny(1),ny(end)],[0,0])[1.2]编写产生矩形序列的程序。
并用它截取一个复正弦序列,最后画出波形。
程序如下:clear;close alln0=input('输入序列起点:n0=');N=input('输入序列长度:N=');n1=input('输入位移:n1=');n=n0:n1+N+5;u=[(n-n1)>=0];x1=[(n-n1)>=0]-[(n-n1-N)>=0];x2=[(n>=n1)&(n<(N+n1))];x3=exp(j*n*pi/8).*x2;subplot(2,2,1);stem(n,x1,'.');xlabel('n');ylabel('x1(n)');axis([n0,max(n),0,1]);subplot(2,2,3);stem(n,x2,'.');xlabel('n');ylabel('x2(n)');axis([n0,max(n),0,1]);subplot(2,2,2);stem(n,real(x3),'.'); xlabel('n');ylabel('x3(n)的实部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);subplot(2,2,4);stem(n,imag(x3),'.'); xlabel('n');ylabel('x3(n)的虚部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);[1.3]利用已知条件,利用MATLAB生成图形。
备注:(1)、按照要求独立完成实验内容。
(2)、实验结束后,把电子版实验报告按要求格式改名,由实验教师批阅记录后;实验室统一刻盘留档。
实验五 用FFT 对信号做频谱分析一、实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。
二、实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是 ,因此要求 。
可以根据此式选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
三、实验内容(包括代码与产生的图形及分析讨论)1. 对以下序列进行谱分析:1423()()1,03()8,470, 4,03()3,470, x n R n n n x n n n n n n x n n n n=+≤≤⎧⎪=-≤≤⎨⎪⎩-≤≤⎧⎪=-≤≤⎨⎪⎩选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。
分别打印其幅频特性曲线, 并进行对比、分析和讨论。
解:(1))(1n x 代码如下:x1n=[ones(1,4)]; X1k8=fft(x1n,8); X1k16=fft(x1n,16); subplot(2,1,1);mstem(X1k8);title('(1a) 8µãDFT[x_1(n)]');xlabel('¦Ø/¦Ð');ylabel('·ù¶È'); axis([0,2,0,1.2*max(abs(X1k8))]) subplot(2,1,2);mstem(X1k16);title('(1b)16µãDFT[x_1(n)]');xlabel('¦Ø/¦Ð');ylabel('·ù¶È'); axis([0,2,0,1.2*max(abs(X1k16))])图形如下:ω/π幅度(1a) 8点DFT[x 1(n)]ω/π幅度(1b)16点DFT[x 1(n)](2))(2n x 代码如下:M=8;xa=1:(M/2); xb=(M/2):-1:1; x2n=[xa,xb];X2k8=fft(x2n,8); X2k16=fft(x2n,16); subplot(2,1,1);mstem(X2k8);title('(2a) 8点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X2k8))]) subplot(2,1,2);mstem(X2k16);title('(2b)16点DFT[x_2(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X2k16))])图形如下:ω/π幅度(2a) 8点DFT[x 2(n)]ω/π幅度(2b)16点DFT[x 2(n)](3))(3n x 代码如下:x3n=[xb,xa];X3k8=fft(x3n,8); X3k16=fft(x3n,16); subplot(2,1,1);mstem(X3k8);title('(3a) 8点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X3k8))]) subplot(2,1,2);mstem(X3k16);title('(3b)16点DFT[x_3(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X3k16))])图形如下:ω/π幅度(3a) 8点DFT[x 3(n)]ω/π幅度(3b)16点DFT[x 3(n)]2.对以下周期序列进行谱分析:选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。
实验五基于MATLAB的IIR数字滤波器设计一、实验目的:1.加深对IIR数字滤波器常用指标的理解;2.学会设计IIR数字滤波器;3.根据指标要求设计数字滤波器,并进行信号的处理。
二、实验原理:补充:(1)filter函数用来实现数字滤波器对数据的滤波,函数调用格式为:y=filter(b,a,x)其中,b,a分别为滤波器系统函数H(z)的分子和分母多项式的系数,x为滤波器的输入,y为滤波器的输出,y与x具有相同大小的向量。
(2)filtfilt函数实现零相位前后与后向结合滤波,其调用格式为:y=filtfilt(b,a,x)其中,b,a分别为滤波器系统函数H(z)的分子和分母多项式的系数,x为滤波器的输入,y为滤波器的输出,y与x具有相同大小的向量,这个函数实现的滤波后其输出信号与输入信号的相位一致,也就是没有改变信号波形形状。
但filter函数滤波后有一些延迟,改变了信号的形状。
三、作业:1.假设一个信号x(t)= sin(2*pi*f1*t)+0.5cos(2*pi*f2*t),其中f1=5Hz ,f2=30Hz。
请设计一个数字滤波器能把f2滤除掉,请写出程序,并画出原信号波形以及原信号通过该数字滤波器后输出信号的波形。
MATLAB程序如下:f1=5;f2=30;dt=1/100;t=0:dt:1;x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t);Wp=0.2*pi;Ws=0.3*pi;Ap=1;As=10;Fs=100;wp=Wp*Fs;ws=Ws*Fs;N=buttord(wp,ws,Ap,As,'s');wc=wp/(10^(0.1*Ap)-1)^(1/2/N);[a1,b1]=butter(N,wc,'s');[a2,b2]=impinvar(a1,b1,Fs);y=filter(a2,b2,x);plot(t,x) % plot(t,y)原图形的波形图如下:1经滤波后的波形图如下:-1-0.8-0.6-0.4-0.20.20.40.60.81。
数字信号处理实验报告完整版[5篇模版]第一篇:数字信号处理实验报告完整版实验 1利用 T DFT 分析信号频谱一、实验目的1.加深对 DFT 原理的理解。
2.应用 DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论T 1.DFT 与与 T DTFT 的关系有限长序列的离散时间傅里叶变换在频率区间的N 个等间隔分布的点上的 N 个取样值可以由下式表示:212 /0()|()()0 1Nj knjNk NkX e x n e X k k Nπωωπ--====≤≤-∑由上式可知,序列的 N 点 DFT ,实际上就是序列的 DTFT 在 N 个等间隔频率点上样本。
2.利用 T DFT 求求 DTFT方法 1 1:由恢复出的方法如下:由图 2.1 所示流程可知:101()()()Nj j n kn j nNn n kX e x n e X k W eNωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑由上式可以得到:IDFT DTFT第二篇:数字信号处理实验报告JIANGSUUNIVERSITY OF TECHNOLOGY数字信号处理实验报告学院名称:电气信息工程学院专业:班级:姓名:学号:指导老师:张维玺(教授)2013年12月20日实验一离散时间信号的产生一、实验目的数字信号处理系统中的信号都是以离散时间形态存在的,所以对离散时间信号的研究是数字信号的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大绘图功能,便于用户直观地处理输出结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,实现信号的卷积运算,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
数字信号处理实验1--5含代码实验一离散时间信号的时域分析 1. 在MATLAB中利用逻辑关系式n,,0来实现序列,显示范围。
(产生如下,,,n,nn,n,n012图所示的单位脉冲信号的函数为impseq(n0,n1,n2),程序如示例所示),3,n,10并利用impseq函数实现序列:; ,,,,,,yn,2,n,3,,n,6,,xn1nnnn120源代码:impseq.mfunction y=impseq(n0,n1,n2)n=[n1:n2]y=[(n-n0)==0]exp01-1.mfunction impseq(n0,n1,n2)n=-3:1:10y=2*impseq(3,-3,10)+impseq(6,-3,10);stem(n,y)n,,0,,2. 在MATLAB中利用逻辑关系式来实现序列,显示范围。
(自己编写un,nn,n,n012产生单位阶跃信号的函数,函数命名为stepseq(n0,n1,n2)) 并利用编写的stepseq函数实现序列: ,,,,,,yn,un,2,un,2,5,n,10源代码:stepseq.mfunction y=stepseq(n0,n1,n2)n=n1:1:n2y=[(n-n0)>=0]exp01-2.mfunction stepseq(n0,n1,n2)n=-5:1:20y=stepseq(-2,-5,20)+stepseq(2,-5,20)stem(n,y)3. 在MATLAB中利用数组运算符“.^”来实现一个实指数序列。
如: n ,,,,xn,0.30,n,15源代码:n=0:1:15;x=0.3.^nstem(n,x)4. 在MATLAB中调用函数sin或cos产生正余弦序列,如:π,, ,,,,xn,3sin0.4πn,,5cos0.3πn0,n,20,,5,,源代码:n=0:1:20x=11*sin(0.3*pi*n+pi/5)+5*cos(0.3*pi*n)stem(n,x)思考题:1.在MATLAB环境下产生单位脉冲序列和单位阶跃序列各有几种方法,如何使用,2.在MATLAB环境下进行序列的相乘运算时应注意什么问题,实验二离散时间系统的时域分析1. 在MATLAB中利用内部函数conv来计算两个有限长序列的卷积。
一、实验目的:研究不同类型的窗函数,研究一些不同的方法来测试窗函数的性能; 专注于有关窄带信号的几个不同的情形。
二、实验原理:信号是无限长的,而在进行信号处理时只能采用有限长信号,所以需要将信号“截断”。
在信号处理中,“截断”被看成是用一个有限长的“窗口”看无限长的信号,或者从分析的角度是无限长的信号x(t)乘以有限长的窗函数w(t),由傅里叶变换性质可知三、实验内容:1、用MA TLAB 编程绘制各种窗函数的形状。
0102030矩形窗0102030hanning0102030hammingbartlett>> w1=boxcar(25);>> n=0:24;>> subplot(221),stem(n,w1),title('矩形窗'); >> w2=hanning(25);>> subplot(222),stem(n,w2),title('hanning'); >> w3=hamming(25);>> subplot(223),stem(n,w3),title('hamming'); >> w4=bartlett (25);>> subplot(224),stem(n,w4),title('bartlett');blackman0102030triangkaiser0102030chebwin>> w5=blackman(25);>> n=0:24;>> subplot(221),stem(n,w5),title('blackman'); >> w6=triang(25);>> subplot(222),stem(n,w6),title('triang'); >> w7=kaiser(25,12);>> subplot(223),stem(n,w7),title('kaiser');>> w8=chebwin(25,15);>> subplot(224),stem(n,w8),title('chebwin');2、用MA TLAB 编程绘制各种窗函数的幅度响应。
实验五基于MATLAB的IIR数字滤波器设计
一、实验目的:
1.加深对IIR数字滤波器常用指标的理解;
2.学会设计IIR数字滤波器;
3.根据指标要求设计数字滤波器,并进行信号的处理。
二、实验原理:
补充:(1)filter函数用来实现数字滤波器对数据的滤波,函数调用格式为:
y=filter(b,a,x)
其中,b,a分别为滤波器系统函数H(z)的分子和分母多项式的系数,x为滤波器的输入,y为滤波器的输出,y与x具有相同大小的向量。
(2)filtfilt函数实现零相位前后与后向结合滤波,其调用格式为:
y=filtfilt(b,a,x)
其中,b,a分别为滤波器系统函数H(z)的分子和分母多项式的系数,x为滤波器的输入,y为滤波器的输出,y与x具有相同大小的向量,这个函数实现的滤波后其输出信号与输入信号的相位一致,也就是没有改变信号波形形状。
但filter函数滤波后有一些延迟,改变了信号的形状。
三、作业:
1.假设一个信号x(t)= sin(2*pi*f1*t)+0.5cos(2*pi*f2*t),其中f1=5Hz,f2=30Hz。
请设计
一个数字滤波器能把f2滤除掉,请写出程序,并画出原信号波形以及原信号通过该数字滤波器后输出信号的波形。
程序为
clear all
wp=6*pi;
ws=25*pi;
Ap=1;
As=20;
Fs=50;
N=buttord(wp,ws,Ap,As,'s');
wc=wp/(10^(0.1*Ap)-1)^(1/2/N)
[b,a]=butter(N,wc,'s');
[numd,dend]=impinvar(b,a,Fs);
w=linspace(0,pi,512);
H=freqs(b,a,w);
norm=max(abs(H));
numd=numd/norm;
figure(1)
plot(w/pi,20*log10(abs(H)/norm));
grid on;
dt=1/50;
f1=5;f2=30;
t=0:dt:3;
x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t);
y=filter(numd,dend,x);
figure(2)
subplot(2,1,1)
plot(t,x);
title('输入信号');
subplot(2,1,2)
plot(t,y);
xlabel('时间/s');
title('输出信号');
输出图像为
00.10.20.30.40.50.60.70.80.91
-2.5-2
-1.5
-1
-0.5
0x 10
-5
00.51 1.5
2 2.53
-1-0.5
0.5
1
1.5
输入信号
00.51 1.5
2 2.53-0.50
0.5
1
时间/s 输出信号
四.实验总结
通过本次试验的学习我加深对IIR 数字滤波器常用指标的理解;学会设计IIR 数字滤波器;对MATLAB 的便利性和功能了解的更多。