数字信号处理小论文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字信号处理小论文题目:基于Matlab的信号DFT的计算

学校:湖北文理学院

学院:物理与电子工程学院

专业:电子信息工程

班级: 1311电工

姓名:第七组

指导教师:张静

利用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*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') 的频谱

分析利用)π4cos()π4cos()(DFT 21t f t f t x +=Hz

600,Hz 120,Hz 10021===s f f f

>> 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)*T; 的频谱

分析利用)π4cos(15.0)π4cos()(DFT 21t f t f t x +=Hz

600,Hz 150,Hz 10021===s f f f

>>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点序列x [k ]的512点DFT 。

源程序:>> N = 32;

4

,32 ),/ π4cos(][===r N N rk k x

>> k = 0:N-1;

>> L = 0:511;

>> x = cos(4*pi*k*4./N);

>> 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计算线性卷积

例:

题目:利用MA TLAB由DFT计算x[k]* h[k]。x[k]={1, 2, 1, 1}, h[k]={2, 2, 1, 1} 源程序:

% 利用DFT计算线性卷积

>> x = [1 2 1 1];

>>h = [2 2 1 1];

>> % 确定卷积结果的长度

>>L = length(x)+length(h)-1;

% 计算序列的L点DFT

>>XE = fft(x,L);

>.HE = fft(h,L);

>> % 由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');

结果图:

四、实验分析

1.是否可以利用DFT 计算DTFT,如果可以,怎么实现。

答:一个N点离散时间序列的傅里叶变换(DTFT)所得的频谱是以2π为周期延拓的连续函数。由采样定理,时域进行采样,则频域周期延拓,同样在频域进行采样,则时域也会周期延拓。DFT就基于这个理论,在频域进行采样,从而将信号的频谱离散化。所以,一个N点离散时间信号可以用一个频域内一个N点序列来唯一确定,这就是DFT表达式所揭示的内容。序列补零加长后,相当于频域的抽样点增多,反映在图形上即加零越多,频域抽

相关文档
最新文档