DFT:
>> x=[8,7,9,5,1,7,9,5]; >> DFT(8,x);
60350230Phase Angle (radian)024k68401Amplification020-110-20-3024k68图3.2.1 DFT的幅度谱和相位谱(弧度制)
FFT: >> x=[8,7,9,5,1,7,9,5]; >> myFFT(8,x);
603
50240FFT Phase Angle (radian)024FFT k681FFT Amplification30020-110-20-302 图3.2.2 FFT算法的幅度谱和相位谱(弧度制)
【分析】
DFT是离散信号、离散频谱之间的映射。在这里我们可以看到序列的频谱也被离散化。事实上,我们可以循着DFT构造的方法验证这个频谱:
首先,将序列做N=8周期延拓,成为离散周期信号。然后利用DFS计算得到延拓后的频谱:
4FFT k68X(?)??x(n)en?0N?1?jk2?n8??x(n)en?07?jkn4??51,7,?9?4i,7,3,6,9?4i,7n?0,1,...,7,从而取DFS???以上作N?8延拓 word文档 可自由复制编辑
的主值区间得到DFT,与图一致。因此计算正确。
而对于FFT,我们可以看到它给出和DFT一样的结果,说明了FFT算法就是DFT的一个等价形式。不过,由于序列不够长,FFT在计算速度上的优越性尚未凸显。
3.3已知连续时间信号x(t)=3cos8πt, X(ω)=3?[?(??8?)??(??8?)],该信号从t=0开始以采样周期Ts=0.1 s进行采样得到序列x(n),试选择合适的采样点数,分别采用DFT和 FFT求其离散傅里叶变换X(k)的幅度、相位图,并将结果与X(k)的幅度、相位图,并将结果与X(ω)相比较。 【解答】
思路:此题与下一题都是一样的操作,可以在编程时统一用变量g(0或1)来控制是否有白噪声。这里取g=0(无白噪声)。
另外,分别取12点、20点、28点采样,以考察采样长度的选择与频谱是否泄漏的关系。 M文件源代码: i)采样函数:
function xs=sampJune3(N,Ts,g)
%This is a function applied to Problem 3 & 4.
%N: number of sampling points; Ts: sampling period; g=0: No gaussian noise; g=1: gussian noise exists. n=1:N;
for i=1:N%Note that i must start at 0 in analysis. Thus I made a adaptation.
sample(i)=3*cos(8*pi*Ts*(i-1))+g*randn;
%In Matlab, index starts at 1, which is not consistent with our habit. Thus I made a adaptation in codes.
%It is a sampling process with(g=1)/without(g=0) noise. end
xs=sample;
plot(n-1,sample,'.',’MarkerSize’,18);xlabel('n');ylabel('value');hold off; % Must use (n-1), because in Matlab, index starts at 1. end
ii)DFT和基2-FFT函数的代码,请见第3.2节。不需再新编一个。
命令窗口中的运行及其结果: 12点采样:
>> xs=sampJune3(12,0.1,0);%末尾的0表示无噪声。 >> DFT(12,xs); >> myFFT(12,xs);
word文档 可自由复制编辑
word文档
321uela0v-1-2-3024681012n
图3.3.1 进行12点采样得到的序列
202.5182161.5141n)aindo12a0.5ita(r celifgi10lpn0mA A8eas-0.5hP6-14-1.52-20024681012-2.5024681012kk图3.3.2 DFT的幅度谱和相位谱(弧度制),出现了泄漏
可自由复制编辑
2018162.521.51210864200246FFT k81012FFT Phase Angle (radian)1410.50-0.5-1-1.5-2-2.50246FFT k81012FFT Amplification
20点采样:
>> xs=sampJune3(20,0.1,0);%末尾的0表示无噪声。 >> DFT(20,xs); >> myFFT(20,xs);
3图3.3.3 FFT的幅度谱和相位谱(弧度制)。出现了频谱泄漏。
21value0-1-2-30246810n1214161820图3.3.4 进行20点采样得到的序列
word文档 可自由复制编辑
35430325220Phase Angle (radian)0510k1520Amplification115010-15-20-30510k1520
35图3.3.5 DFT的幅度谱和相位谱(弧度制)。频谱无泄漏。 43230FFT Phase Angle (radian)0510FFT k152025FFT Amplification10-1-2-3-4201510500510FFT k1520
图3.3.6 FFT的幅度谱和相位谱(弧度制)。频谱无泄漏。 28点采样:
>> xs=sampJune3(28,0.1,0);%末尾的0表示无噪声。 >> DFT(28,xs); >> myFFT(28,xs);
word文档 可自由复制编辑