收藏 分享(赏)

数字信号处理仿真设计.doc

上传人:eco 文档编号:4728320 上传时间:2019-01-09 格式:DOC 页数:15 大小:10.57MB
下载 相关 举报
数字信号处理仿真设计.doc_第1页
第1页 / 共15页
数字信号处理仿真设计.doc_第2页
第2页 / 共15页
数字信号处理仿真设计.doc_第3页
第3页 / 共15页
数字信号处理仿真设计.doc_第4页
第4页 / 共15页
数字信号处理仿真设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、数字信号处理仿真设计1、课程设计题目:基于 MATLAB 的利用 DFT 分析信号频谱和计算卷积二、课程设计目的:1、 加深对数字信号处理学习过的基本概念、基本理论和基本方法的理解和掌握;2、学会用 MATLAB 对信号进行分析和处理,进一步将知识融会贯通;3、加深对 DFT 原理的理解,学会应用 DFT 分析信号频谱以及计算线性卷积等;4、学会撰写课程设计报告,并应用数字信号处理的基本理论分析结果。三、课程设计内容:1、画出连续时间信号 的时域波形,其中幅度因子 A10,)sin()(0tAetxat衰 减因子 a8,模拟角频率 ;02、对信号 进行采样,得到采样序列 ,其中)(tx 128

2、0),sin()(nTAxT 为采样间隔,通过改变采样频率可改变 T,画出采样频率分别为sf1200Hz,500 Hz,1000 Hz 时的采样序列波形;3、分别用傅里叶变换和 DFT 对不同采样频率下的采样序列进行频谱分析,绘制其幅频和相频曲线,对比各频率下采样序列 和 的幅频曲线的差别。n)(xt4、考察序列:x (n ) = cos(0 .48n ) + cos(0 .52n )1) 0 n 10 时,用 DFT 估计 x (n )的频谱;将 x (n )补零加长到长度为 100 点序列用 DFT 估计 x (n )的频谱。要求画出相应波形。2) 0 n 100 时,用 DFT 估计 x

3、 (n )的频谱,并画出波形5、利用 DFT 计算线性卷积,并分析线性卷积等于循环卷积的条件。四、详细程序及仿真波形:1、连续时间信号x(t)及其200Hz/500Hz/1000Hz频率抽样信号函数x(n)的波形和频谱分析。%1.绘制信号x(t)的时域波形t=0:0.001:0.4; %设置连续信号的有关参数A=input(请输入A的值 A:); a=input(请输入a的值 a:);w0=input(请输 入w0的值 w0:);x=A*exp(-a*t).*sin(w0*t); %不是周期函数figure(1)subplot(2,1,1);plot(t,x),grid ontitle(x(t

4、)连续时间信号)xlabel(时间 t);ylabel(幅度 x(t);subplot(2,1,2);plot(t,x),grid onaxis(0 0.045 -2 160);title(调整后的 x(t)连续时间信号)xlabel(时间 t);ylabel(幅度 x(t);%2.绘制各采样序列x(n)的时域波形n=0:64; %定义序列的 长度是64T1=0.005;T2=0.002;T3=0.001;T0=0.001;x=A*exp(-a*n*T0).*sin(w0*n*T0); y1=A*exp(-a*n*T1).*sin(w0*n*T1); %是周期函数y2=A*exp(-a*n*T

5、2).*sin(w0*n*T2); y3=A*exp(-a*n*T3).*sin(w0*n*T3); figure(2)subplot(2,1,2);plot(n,x),grid on title(x(n)连续时间信号)subplot(2,1,1);stem(n,x),grid on %绘制序列 x(n)的图形title(x(n)离散时间信号)figure(3)subplot(3,1,1);stem(n,y1),grid ontitle(200Hz理想采样信号序列); subplot(3,1,2);stem(n,y2),grid ontitle(500Hz理想采样信号序列)subplot(3,

6、1,3);stem(n,y3),grid ontitle(1000Hz理想采样信号序列 ) %3.绘制各采样序列x(n)的幅度谱和相位谱k=-32:32;W=(pi/16)*k; %周期序列的傅里叶级数系数中旋转因子中的Ww=W/pi; %坐标上的w,即此值是冲击函数刚好为 1的点Y1=y1*(exp(-j*pi/16).(n*k); %周期序列的傅里叶变换函数,n是n 的转置figure(4)subplot(2,1,1);plot(w,abs(Y1);grid,xlabel(w),ylabel(幅度);title(200Hz理想采样信号序列的幅度谱);axis(-2 2 0 1000);su

7、bplot(2,1,2);plot(w,angle(Y1);grid,xlabel(w),ylabel(幅角);title (200Hz理想采样信号序列的相位谱 )Y2=y2*(exp(-j*pi/16).(n*k);figure(5)subplot(2,1,1);plot(w,abs(Y2);grid,xlabel(w),ylabel(幅度);title(500Hz理想采样信号序列的幅度谱);axis(-2 2 0 1000);subplot(2,1,2);plot(w,angle(Y2);grid,xlabel(w),ylabel(幅角);title (500Hz理想采样信号序列的相位谱

8、)Y3=y3*(exp(-j*pi/16).(n*k);figure(6)subplot(2,1,1);plot(w,abs(Y3);grid,xlabel(w),ylabel(幅度);title(1000Hz理想采样信号序列的幅度谱 );axis(-2 2 0 1000);subplot(2,1,2);plot(w,angle(Y3);grid,xlabel(w),ylabel(幅角);title (1000Hz理想采样 信号序列的相位谱)%4.用DFT对各长度为64的采 样序列x(n)进行谱分析M=0:31;N=0:63;L=0:127;X00K=fft(x,32); %计算x的64点DF

9、TX01K=fft(x,64); %计算x的128点DFTX10K=fft(y1,32);X11K=fft(y1,64);X20K=fft(y2,64);X21K=fft(y2,128);X30K=fft(y3,32);X31K=fft(y3,64);figure(7)subplot(2,1,1);stem(M,abs(X00K);gridon ,xlabel(K),ylabel(|X(K)|);title(x(n)序列的32 点DFT 幅度谱 );subplot(2,1,2);stem(N,abs(X01K);grid on ,xlabel(K),ylabel(|X(K)|);title(x

10、(n)序列的64 点DFT 幅度谱 );figure(8)subplot(2,1,1);stem(M,abs(X10K);grid on ,xlabel(K),ylabel(|X(K)|);title(200Hz理想采样信号序列的32点DFT幅度谱);subplot(2,1,2);stem(N,abs(X11K);grid on ,xlabel(K),ylabel(|X(K)|);title(200Hz理想采样信号序列的64点DFT幅度谱);figure(9)subplot(2,1,1);stem(N,abs(X20K);grid on ,xlabel(K),ylabel(|X(K)|);ti

11、tle(500Hz理想采样信号序列的64点DFT幅度谱);subplot(2,1,2);stem(L,abs(X21K);grid on ,xlabel(K),ylabel(|X(K)|);title(500Hz理想采样信号序列的128点DFT幅度谱);figure(10)subplot(2,1,1);stem(M,abs(X30K);grid on ,xlabel(K),ylabel(|X(K)|);title(1000Hz理想采样信号序列的32点DFT幅度谱);subplot(2,1,2);stem(N,abs(X31K);grid on ,xlabel(K),ylabel(|X(K)|)

12、;title(1000Hz理想采样信号序列的64点DFT幅度谱);波形为:模拟信号x(t)的波形和030毫秒处模拟信号x(t)采样后的图 (因为N=T P*FS,所以采样64点) 模拟信号x(t)经不同频率采样后所得序列的图 结论:采样频率为 1000Hz 时没有失真,500Hz 时有横线,产生失真,200Hz 时横线加长,失真增大。说明采样频率越大,即采样点越多失真越小。序列x(n)经傅里叶变化所得的幅度谱和相位谱序列x(n)经傅里叶变化所得的幅度谱和相位谱序列x(n)经傅里叶变化所得的幅度谱和相位谱序列x(n)取不同区间长度进行DFT所得的幅度谱结论:从上面的图片可以看出,x(k)是x(e

13、 jw)在区间0,2 上的N点采样。2、考察序列为 x (n ) = cos(0 .48n ) + cos(0 .52n ) 。% 0 n 10时,用 DFT 估计 x (n )的频谱n=0:10;x=cos(0.48*pi*n)+cos(0.52*pi*n); y=fft(x); %x(n)频谱 n在0到10subplot(3,1,1);stem(n,y); title(n在0,10时 x (n )的频谱); %将 x (n )补 零加长到长度为 100点序列用 DFT估计 x (n )的频谱xn=x,zeros(1,90); %对xn 补零yn=fft(xn);nn=0:100; %x(n

14、)频谱 n在0到100subplot(3,1,2);stem(nn,yn); title(补零后的 x (n )的频谱 );% 0 n 100时,用 DFT 估计 x (n )的频谱n1=0:100;x1=cos(0.48*pi*n1)+cos(0.52*pi*n1); %x(n)频谱 n在 0到 100y1=fft(x1);subplot(3,1,3);stem(n1,y1); title(n在0,100时 x (n )的频谱);波形为:结论:利用 DFT 计算频谱时增加取样点的长度范围可以提高分辨率。补零加长并不会改变频域的间隔,所以不能提高分辨率。3、用 DFT 计算线性卷积。%时域直接

15、 计算卷 积x1n=2 1 1 2 3 4; x2n=-1 2 2 -1 6 9;y=conv(x1n,x2n); figure(1)subplot(3,1,1); stem(x1n); title(输入信号x1nn);subplot(3,1,2);stem(x2n);title(输入信号x2nn);subplot(3,1,3);stem(y);title(输出信号yn);%用DFT 计算卷 积M1=length(x1n);M2=length(x2n);N=M1+M2-1;X1K=fft(x1n,N);X2K=fft(x2n,N);YCK=X1K.*X2K;ycn=ifft(YCK,N);fi

16、gure(2)subplot(3,1,1); stem(abs(X1K); title(输入信号X1K );subplot(3,1,2);stem(abs(X2K);title(输入信号X2K);subplot(3,1,3);stem(abs(ycn);title(输出信号ycn);axis(1 11 -100 100);%用DFT 计算6 点卷 积figure(3)X11K=fft(x1n,6);X12K=fft(x2n,6);Y1CK=X1K.*X2K;y1n=ifft(YCK,6);subplot(3,1,1); stem(abs(X11K); title(用DFT 计算6点卷积输入信号

17、X11K);subplot(3,1,2);stem(abs(X12K);title(用DFT 计算6点卷积输入信号X12K);subplot(3,1,3);stem(abs(y1n);title(用DFT 计算6 点卷积输出信号y1n );axis(1 23 -100 100);%用DFT 计算12点卷积figure(4)X21K=fft(x1n,12);X22K=fft(x2n,12);Y2CK=X1K.*X2K;y2n=ifft(YCK,12);subplot(3,1,1); stem(abs(X21K); title(用 DFT计算12 点卷积输入信号X21K);subplot(3,1,

18、2);stem(abs(X22K);title(用DFT 计算12点卷积输入信号X22K);subplot(3,1,3);stem(abs(y2n);title(用DFT 计算12 点卷积输出信号y2n );axis(1 23 -100 100);%用DFT 计算3 点卷 积figure(5)X31K=fft(x1n,3);X32K=fft(x2n,3);Y3CK=X1K.*X2K;y3n=ifft(YCK,3);subplot(3,1,1); stem(abs(X31K); title(用DFT 计算3点卷积输入信号X31K);subplot(3,1,2);stem(abs(X32K);ti

19、tle(用DFT 计算3点卷积输入信号X32K);subplot(3,1,3);stem(abs(y3n);title(用DFT 计算3 点卷积输出信号y3n );axis(1 23 -100 100);波形如下:可以得出结论: 只有当 N=M1+M2-1 时,线性卷积的值等于用 DFT 计算的 N点的循环卷积。所计算的 DFT 的长度同,卷积结果不同,从另一方面证明了DFT 和 IDFT 的唯一性。时域直接计算卷积时的图用 DFT 计算的卷积图五、结果分析1、利用 DFT 计算连续时间信号频谱,首先进行时域抽样,所得的抽样数据进行DFT 计算,然后再将离散数据连续化,得到连续时间信号的频谱。

20、实现过程中应该注意时域抽样的间隔与长度,抽样不当将会丢失频率点,使计算出现错误。2、采样频率越大,即采样点越多失真越小。而在持续时间为 T 的连续信号采样时,最少采样点为 N=TP*FS ,并且由采样定理有 FS=FC。3、一个 N 点离散时间序列的傅里叶变换(DTFT)所得的频谱是以 2 为周期延拓的连续函数。由采样定理,时域进行采样,则频域周期延拓,同样在频域进行采样,则时域也会周期延拓。DFT 就基于这个理论,在频域进行采样,从而将信号的频谱离散化。所以,一个 N 点离散时间信号可以用一个频域内一个 N点序列来唯一确定,这就是 DFT 表达式所揭示的内容。4、更长的时域信号能够提供更高的

21、频域分辨率,因为一个 N 点的时域信号能被分解为 N/2+1 个余弦信号和 N/2+1 个正弦信号,N 增大则(N/2+1)也增大,频域间隔(1/2 的时域采样频率)/(N/2+1)减小,所以频域分辨率提高了。所以利用DFT 计算频谱时增加取样点的长度范围可以提高分辨率。补零加长并不会改变频域的间隔,所以不能提高分辨率。5、只有当 N=M1+M2-1 时,线性卷积的值等于用 DFT 计算的 N 点的循环卷积。所计算的 DFT 的长度同,卷积结果不同,六、调试总结:1、Axis 函数设置图形坐标。2、Conv 函数直接进行线性卷积运算。3、Stem 绘制离散图谱,plot 用来绘制连续的函数图形

22、。5、fft 进行 fft 运算。七、设计总结:通过这次的课程设计我们可以学的到很多的东西,不仅可以巩固以前所学过的知识,还可以学到很多在书本上所没有学到过的知识。进一步加深了对数字信号处理的了解,让我对它有了更加浓厚的兴趣。因为以前学过信号与系统,但这只是理论知识,通过实验我们才能真正理解其意义。DFT 的利用在以前的学习中也有接触,但是还是没有深刻理解,但是通过这次的仿真作业,我对DFT 的原理有了更加深刻清楚的理解,同时还复习和加强了对 MATLAB 软件的使用。在仿真的过程中我遇到了不少的问题的,比如刚开始,我对许多 matlab 软件的内置函数怎么用都不记得了,但是通过对课本的熟悉,

23、又可以很好的运用其中的函数。还有就是对 DFT 的原理理解的不是很清楚,所以仿真时边做边找资料,边学习,这样把理论与实际相结合,更能帮助理解和掌握知识。总的来说,通过这次的课程设计我对数字信号处理的知识又有了深刻的理解,特别是对 DFT 的应用;同时让我知道熟练的应用 MATLAB 可以很好的加深我对课程的理解,训练我的思维,使我们能非常直观的了解数字信号的处理结果。这次仿真真的是受益匪浅,在这个过程中我更加了解了 MATLAB 的使用方法,学会用 DFT 分析频谱和计算卷积等,提高了我的分析和动手实践能力。我相信,这才是老师布置此次作业的真正目的,懂得自己学习,自己总结,自己动手动脑,才能真正的学到知识和能力。2011 年 5 月 8 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报