weixin 发表于 2018-2-9 16:18

周期性离散信号的DTFT和DFT之间的关系

  计算机能够处理的信号是离散的数字信号,因此必须对模拟信号进行采样,采样信号满足fs>2*f0。同时,输出的频率也必须是离散的,这样计算机才能处理或保存。

  我们知道离散的采样信号在频域具有周期性,因此DTFT(离散时间傅里叶变换,对模拟信号进行采样后获得,采样频率满足fs>2*f0)具有周期性,我们对切只对其主周期[-π,π)或者我们可以进行周期性的拓展获得。

  离散时间信号频域具有周期性,但是在却是连续的频谱;我们仍希望能够让频域也离散,那么只有使这些离散的时间序列进行周期性拓展,成为周期离散信号的DTFT(当拓展无穷个周期,就是DFS),以获取离散的频谱。下面以xn=这个离散时间序列进行分析,使用matlab编程为:
n=0:3;xn=;=freqz(xn,1,2000,'whole');%序列xn的DTFT,2000是指把分割的分数Nw=1000;dw=2*pi/Nw;%2*pi分为1000份
k=[-500:499];np=0:;
%拓展500个周期后的序列位置xp=xn(mod(np,4)+1);%拓展后的周期序列=freqz(xp,1,2000,'whole');%xn拓展500个周期之后的DTFTw0=/4*2*pi;y3=fftshift(fft(xn));%序列xn的DFT
subplot(3,1,1),plot(w1,abs(y1),'red');xlabel('xn序列的DTFT曲线');hold on,stem(w0,abs(y3));%xn序列DFT曲线与DTFT曲线画在一起subplot(3,1,2),plot(w2,abs(y2),'red');xlabel('xn序列拓展500个周期后的DTFT曲线');subplot(3,1,3),stem(w0,abs(y3),'red');axis();xlabel('xn序列DFT曲线');
  画出的DTFT、周期拓展后的DTFT、DFT曲线分别如下图:
  从上图可见,对xn周期性拓展后进行DTFT和xn原始序列的DFT所在的频点是一样的,不同的只是幅度值的大小。因此可以用DFT来表示周期信号的DTFT(从第2和第3图比较看出)。

  以上为周期离散信号的DTFT(当拓展无穷个周期,就是DFS)和DFT的关系。

  以下为原始离散信号的DTFT和DFT的关系:
  而原始序列xn的DFT同时又是其连续谱上的几个采样值,其幅度大小都一样(从第1个图看出),将整个频域xn=;
n=0:99;N=100;xn0=;%原始序列=freqz(xn0,1,1000,'whole');xn=;%补零后的序列wn=n/N*2*pi;y=abs(fft(xn));
plot(wn,y,'*');xlabel('xn0补零后的DFT变换');hold on,plot(w0,abs(y0),'red');
  可以比较DTFT曲线和补零后的DFT曲线如下图:
  由此可见,DFT是在DTFT连续谱上的样值,如果DFT变换点数量足够多,完全可以用其DFT来表示其DTFT信号的频谱。

  注:DFS是周期性序列的傅里叶级数,之所以没有提及,是因为已经把它当做DFT进行处理了,DFS是在时域和频域都具有周期性的信号,DFT在时域和频域上都取其主周期进行计算。

  本文内容来源于新浪LAY1984_XL的博客(2010年5月13日)。

页: [1]
查看完整版本: 周期性离散信号的DTFT和DFT之间的关系