华南理工大学 专业课信号与系统课件
- 格式:ppt
- 大小:1.59 MB
- 文档页数:93
实验二利用DFT 分析离散信号频谱实验日期:评 分:一、实验目的应用离散傅里叶变换(DFT),分析离散信号x [k ]。
深刻理解利用DFT 分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。
二、实验原理根据信号傅里叶变换建立的时域与频域之间的对应关系,可以得到有限长序列的离散傅里叶变换(DFT)与四种确定信号傅里叶变换的之间的关系,实现由DFT 分析其频谱。
三、实验内容1.利用FFT 分析信号的频谱;(1)确定DFT 计算的参数;(2)进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方法。
【答题】(1)角频率πω83=对应的周期为k k N 3162==ωπ,取3=k 得到16=N ,所以fft 取n=16(2)计算值的相角与理论值不符合,经过分析,我找到了修补的方法。
下面的代码中使用将微小数值置零的方法,消除计算机对浮点数存储误差的影响。
实验结果的图片(图1)就是正确的频谱图。
如果不使用这种方法,由于辐角对模长很小的复数存储所带来的精度误差敏感,将呈现出错误的辐角数值(见图2)。
【代码】%[1]k = 0:31;x = cos(3*pi/8 * k);X = fft(x,16);subplot(3,1,1)stem(k,x)xlabel('k');ylabel('Signal x[k]')subplot(3,1,2)stem(-8:7, abs(fftshift(X)))xlabel('k');ylabel('Spectrum |X[k]|')subplot(3,1,3)a = fftshift(X);a(abs(a)<1e-5)=0;a = angle(a);a(a<1e-5)=0;stem(-8:7, a)xlabel('k');ylabel('Spectrum arg(X[k])')angle(fftshift(X))【结果截图】图1第一题的正确结果图图2第二题的错误结果图【结果分析】观察图1,得知信号)83cos(][k k x π=只具有三次谐波分量。
实验一基本信号的产生和实现实验日期:评分:一、实验目的学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统设计奠定基础。
二、实验原理MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。
这些基本信号是信号处理的基础。
三、实验内容1. 利用Matlab产生下列连续信号并作图。
(1)(2)【代码】%%% 1.(1) %%%t = -1:0.01:5;x = -2 * ((t-1)>=0);subplot(2, 1, 1)plot(t,x)axis([-1 5 -2.5 0.5])%%% 1.(2) %%%t = 0:0.01:200;x = cos(0.1*pi * t).*cos(0.8*pi * t);subplot(2, 1, 2)plot(t, x)axis([0 200 -1.5 1.5])【结果截图】【结果分析】上述代码绘制了阶跃函数的变形形式,以及类似正弦波的时域信号图。
2. 利用Matlab产生下列离散序列并作图。
(1),设。
(2),设。
【代码】%%% 2.(1) %%%k = -14:15;x = (-5<=k & k<=5);subplot(2, 1, 1)stem(k, x)axis([-14 15 -0.5 1.5])%%% 2.(2) %%%k = -19:20;x = (0.9.^k) .* (sin(0.25*pi * k) + cos(0.25*pi * k)); subplot(2, 1, 2)stem(k, x)【结果截图】【结果分析】上图绘制了离散信号的窗口函数以及振幅衰减的震荡信号。
3.已知序列,。
(1)计算离散序列的卷积和,并绘出其波形。
(2)计算离散序列的相关函数,并绘出其波形。
(3)序列相关与序列卷积有何关系?【代码】%%% 3.(1) %%%k = [-2 -1 0 1 2 3];x = [1 2 0 -1 3 2];h = [1 -1 1];y = conv(x, h);subplot(2, 1, 1)stem(-2:5, y)%%% 3.(2) %%%r = xcorr(x, y);subplot(2, 1, 2)stem(-5:9, r)【结果截图】【结果分析】(3)序列相关与序列卷积有何关系?答:序列相关(∑+∞-∞=+=k xy n k y k x n R ][][][)是刻画两个序列之间相似性的一种度量,两序列越近似,相关性越高,当两序列相等时,相关性达到最大值。