史蒂夫(Steve)与MATLAB进行图像处理

图像处理概念,算法和MATLAB

The DFT and the DTFT

最后是时候开始研究离散傅立叶变换(DFT)与离散时间傅立叶变换(DTFT)之间的关系。让我们看一个简单的矩形脉冲,为了。dtft是:

让我们绘制为了在几个时期:

M = 8;w = linspace(-2*pi,2*pi,800);x_dtft =(sin(w * m/ 2)./ sin(w/ 2))。 * exp(-1j * w *(m-1)/ 2);情节(W,ABS(X_DTFT))标题('| x(\ omega)|'

事实证明,在某些条件下,DFT只是DTFT的相同样品。认为is the P-point DFT of。如果is nonzero only over the finite domain, 然后equals以同样间隔的间隔

MATLAB函数fftcomputes the DFT. Here's the 8-point DFT of our 8-point rectangular pulse:

x =一个(1,m);x = fft(x)
X = 8 0 0 0 0 0 0 0

一个8和一堆零?这似乎不像上面的DTFT图。但是当您将输出叠加时fft在DTFT图上正确的位置,一切都变得清晰。

P = 8; w_k = (0:P-1) * (2*pi/P); X = fft(x); plot(w, abs(X_dtft)) holdonplot(w_k, abs(X),'o')holdoff

现在您可以看到输出中的七个零fftcorrespond to the seven places (in each period) where the DTFT equals zero.

You can get more samples of the DTFT simply by increasing P. One way to do that is to零垫

x16 = [x,zeros(1,8)]
x16 =列1至15 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0列16 0
p = 16;x16 = fft(x16);w_k =(0:p-1) *(2 * pi/p);x = fft(x);情节(W,ABS(X_DTFT))保持on情节(w_k,abs(x16),'o')holdoff

增加P的另一种方法是使用FFT(x,p)语法fftfunction. This syntax computes the P-point DFT ofX通过使用零盖。让我们尝试一个50点的DFT。

p = 50;xp = fft(x,p);w_k =(0:p-1) *(2 * pi/p);x = fft(x);情节(W,ABS(X_DTFT))保持on情节(w_k,abs(xp),'o')holdoff

如果您想知道整个零付费业务的全部是如何带有傅立叶变换的,那么现在您知道了。当您将一堆零贴在序列中,然后计算DFT时,您将获得越来越多的原始序列DTFT示例。

我认为下一个合乎逻辑的地方进入我们的傅立叶探索是开始考虑许多人发现输出的一些原因fftso surprising or puzzling. Here's a sample:

  • 为什么不从输出中心的零频率(或“ DC”频率)fft
  • 为什么不输出fft当输入是对称的何时真实?

Do you have puzzles to add? Let me know by adding your comments.




以MATLAB®7.9出版

|
  • 打印
  • 发送电子邮件

Comments

要发表评论,请单击here登录您的数学帐户或创建一个新帐户。