利用MATLAB实现信号DFT的计算.doc

上传人:rrsccc 文档编号:9587059 上传时间:2021-03-09 格式:DOC 页数:6 大小:86KB
返回 下载 相关 举报
利用MATLAB实现信号DFT的计算.doc_第1页
第1页 / 共6页
利用MATLAB实现信号DFT的计算.doc_第2页
第2页 / 共6页
利用MATLAB实现信号DFT的计算.doc_第3页
第3页 / 共6页
利用MATLAB实现信号DFT的计算.doc_第4页
第4页 / 共6页
利用MATLAB实现信号DFT的计算.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《利用MATLAB实现信号DFT的计算.doc》由会员分享,可在线阅读,更多相关《利用MATLAB实现信号DFT的计算.doc(6页珍藏版)》请在三一文库上搜索。

1、07级电信(2)班 刘坤洋 24实验一 利用MATLAB实现信号DFT的计算 一、实验目的:1、熟悉利用MATLAB计算信号DFT的方法2、掌握利用MATLAB实现由DFT计算线性卷积的方法二、实验设备:电脑、matlab软件三、实验内容:1、 练习用matlab中提供的内部函数用于计算DFT(1) fft(x),fft(x,N),ifft(x),ifft(x,N)的含义及用法(2) 在进行DFT时选取合适的时域样本点数N请举例,并编程实现题目:源程序: N=30; %数据的长度L=512; %DFT的点数f1=100; f2=120;fs=600; %抽样频率T=1/fs; %抽样间隔ws=

2、2*pi*fs;t=(0:N-1)*T;f=cos(4*pi*f1*t)+cos(4*pi*f2*t);F=fftshift(fft(f,L);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);hd=plot(w,abs(F);ylabel(幅度谱) xlabel(频率/Hz) title(my picture)结果图:(3) 在对信号进行DFT时选择hamming窗增加频率分辨率请举例,并编程实现题目:源程序: N=50; %数据的长度L=512; %DFT的点数f1=100;f2=150;fs=600; %抽样频率T=1/fs; %抽样间隔ws=2*pi*fs; t=(0:N-1

3、)*T;f=cos(4*pi*f1*t)+0.15*cos(4*pi*f2*t);wh=(hamming(N);f=f.*wh;F=fftshift(fft(f,L);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w,abs(F);ylabel(幅度谱) xlabel(频率/Hz) title(my picture) legend(N=50)结果图:2、增加DFT点数M以显示更多频谱细节请举例,并编程实现题目:利用MATLAB计算16点序列xk的512点DFT。源程序: N = 32; k = 0:N-1; L = 0:511; x = cos(4*pi*k*4./N)

4、; X = fft(x);plot(k/N,abs(X),o); hold on XE = fft(x,512);plot(L/512,abs(XE) ; legend(N=32)结果图:3、 利用MATLAB实现由DFT计算线性卷积请举例,并编程实现题目:利用MATLAB由DFT计算xk* hk。xk=1, 2, 1, 1, hk=2, 2, 1, 1源程序:% 利用DFT计算线性卷积 x = 1 2 1 1;h = 2 2 1 1; % 确定卷积结果的长度L = length(x)+length(h)-1;% 计算序列的L点DFTXE = fft(x,L);.HE = fft(h,L);

5、% 由IDFT计算卷积结果y1 = ifft(XE.*HE); %绘制卷积结果及误差图 k=0:L-1; subplot(1,2,1); stem(k,real(y1);axis(0 6 0 7); title(Result of linear Convolution); xlabel(Time index k);ylabel(Amplitude); y2=conv(x,h);error=y1-y2; subplot(1,2,2);stem(k,abs(error); xlabel(Time index k);ylabel(Amplitude); title(Error Magnitude);结果图: (注:可编辑下载,若有不当之处,请指正,谢谢!)

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1