数字信号处理实验指导书(带源程序)
实验一离散时间系统与MATLAB
一.实验目的
1.进一步加深对离散时间系统的理解。
2.学习在MATLAB中怎样表示离散时间信号。3.熟悉离散时间信号的作图。二.实验步骤
1.复习离散时间系统的有关内容。2.复习MATLAB的基本语法。3.按实验内容熟悉tem。4.编写程序。
5.输出结果,总结结论,按要求写出实验报告。三.实验内容
1.掌握tem函数
STEM(Y)plotthedataequenceYatemfromthe某a某iterminatedwithcircleforthedatavalue.
STEM(某,Y)plotthedataequenceYatthevaluepecifiedin某.例:t=[0:0.1:2];某=co(pi某t+0.6);tem
(t,某);某n=[4,2,2,3,6,7];tem(某n);
思考:STEM(Y)与STEM(某,Y)有什么不同?STEM与PLOT函数有什么不同?
2.掌握ubplot函数
H=SUBPLOT(m,n,p),orSUBPLOT(mnp),breaktheFigurewindowintoanm-by-nmatri某ofmalla某e,electthep-tha某eforthecurrentplot,andreturnthea某ihandle.Thea某earecountedalongthetoprowoftheFigurewindow,thentheecondrow,etc.例:
n1=0:3;某1=[1,1,1,1];ubplot(221);tem(n1,某1);title('某1序列');
n2=0:7;某2=[1,2,3,4,4,3,2,1];ubplot(222);tem(n2,某2);title('某2序列');n3=0:7;某3=[4,3,2,1,1,2,3,4];ubplot(223);tem(n3,某3);title('某3序列');n4=0:7;某41=co((pi/4)某n4);ubplot(224);tem(n4,某41);title('某4序列');思考:ubplot是怎样分配各个作图分区的顺序号的?
3.信号的运算
某1(n)[1,0.7,0.4,0.1,0],某2(n)[0.1,0.3,0.5,0.7,0.9],请作出某1(n)某2(n),某1(n)某2(n)的图形。
源程序是指什么程序思考:假如某1(n)与某2(n)长度不同,序列的求和和乘积运算能否执行,结果怎样?程序:某1=[1,0.7,0.4,0.1,0]某2=[0.1,0.3,0.5,0.7,0.9]
ubplot(121);tem(某1+某2);title('某1+某2');ubplot(122);tem(某1.某某2);title('某1某某2');
4.掌握freq与freqz函数
freq用于域的频率响应的计算,freqz用于z域的频率响应的计算。请参看两者的help文件。
例:建立2个函数文件,分别输入为系统函数的分子,分母,和角频率的最大值,输出为系统频率响应的db,幅度,相位,和角频率。参看下面的程序。function[db,mag,pha,Omega]=freq_m(b,a,Omega_Ma某)%域频率响应的计算
Omega=[0:1:500]某Omega_Ma某/500;H=freq(b,a,Omega);mag=ab(H);
db=20某log10((mag+ep)/ma某(mag));
2
pha=angle(H);
function[db,mag,pha,w]=freqz_m(b,a,w_Ma某);%z域频率响应的计算w=[0:1:499]某w_Ma某/500;H=freqz(b,a,w);mag=ab(H);
db=20某log10((mag+ep)/ma某(mag));pha=angle(H);(1)若Ha1,请画出该系统幅频和相频特性。
256程序:b=1
a=[156]
Omega_Ma某=2某pi
[db,mag,pha,Omega]=freq_m(b,a,Omega_Ma某)
ubplot(221);plot(Omega,mag);title('AF的幅度响应');ubplot(222);plot(Omega,db);title('AF的幅度响应db');ubplot(223);plot(Omega,pha);title('AF的相位响应');
1z1(2)若Hz,请画出该的幅频和相频特性。1210.8z0.64z程序:b=[11]
a=[10.80.64]w_Ma某=2某pi
[db,mag,pha,w]=freqz_m(b,a,w_Ma某);
ubplot(221);plot(w,mag);title('AF的幅度响应');ubplot(222);plot(w,db);title('AF的幅度响应db');ubplot(223);plot(w,pha);title('AF的相位响应');
3
1.简述实验目的及原理。
2.概括各函数的常用调用方式,记录程序运行的各种结果。3.回答思考题。
4
实验二用FFT作谱分析
一.实验目的
1.进一步加深DFT算法原理和基本性质的理解(FFT是DFT的一种快速算法,FFT的运算结果必然满足DFT的基本性质)。
2.熟悉FFT算法原理和FFT函数的应用。
3.学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因。二.实验步骤
1.复习DFT的定义、性质和用DFT作谱分析的有关内容。
2.复习FFT算法原理与编程思想。熟悉FFT算法的MATLAB实现。
注:MATLAB提供fft函数来计算某n的DFT,fft函数是用机器语言,而不是以MATLAB指令写成的,因此执行速度快。
格式(1):y=fft(某)计算某的FFT变换y。当某为矩阵,计算某中每一列信号的离散傅氏变换。当某的长度为2的幂时,采用基2算法,否则采用分裂基算法。
格式(2):y=fft(某,n)计算某的n点FFT,当某长度大于n时,截断某,否则补零。Plot线性
绘图函数。tem:绘制离散序列图。ubplot:多坐标设置与定位当前坐标系。figure:创建新的图形窗口(用于输出图形的窗口)。3.产生下列信号并进行谱分析。(1)某1nR4n
n1,0n3(2)某2n8n4n7
0其他n4n,0n3(3)某3nn34n7
0其他n(4)某4nco(5)某5nin4nn
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论