史蒂夫与MATLAB图像处理

图像处理的概念、算法和MATLAB

策划DTFT使用fft的输出

在我傅里叶变换系列我一直试图解决一些常见的困惑点周围的这一主题。对于今天的espisode我想看看如何使用fft函数产生离散时间傅里叶变换(DTFT)级土地你会看到教科书。回忆,fft计算离散傅里叶变换(DFT)。我描述了DTFT的DFT和我之间的关系3月15日发布

我的例子,我将使用一个序列它等于1和= 0。

这是一个阴谋DTFT这个序列的大小:

现在,让我们看看使用fft

x = 1 (1、5)
x = 1 1 1 1 1
X = fft (X);情节(abs (X))

哇,那不是接近DTFT级以上情节。为什么它看起来像只有两个点吗?嗯,看看实际的值X:

X
X = 5 0 0 0 0

我们有一个5和4 0年代。这是怎么呢我在我的解释3月15日发布当我讨论了DFT和DTFT之间的关系。DTFT的DFT的输出样本,和在这种情况下,样本位置恰好结合DTFT的四0的位置。

你可以得到一个更好的抽样(以及更更好的DTFT的情节),补零。我将使用的补零语法fft

N = 256;X = fft (X, N);情节(abs (X))

smoother-looking曲线,但它仍然看起来相当不同于DTFT级以上情节。解释MATLAB输出我们看,让我给DTFT级显示三个时期,而不只是一个阴谋。

你可以看到的输出DTFT的MATLAB是一个周期,但它不是通常绘制,这是。相反,它从0到。得到一个阴谋,可以使用fftshift函数。

情节(abs (fftshift (X)))

这让我们有标签的频率轴的问题。我们想要一个阴谋的弧度

我永远记得DFT频率之间的比例和DTFT是:DFT的长度对应的频率DTFT。

所以弧度的频率对应的输出元素fft是:

w = 2 *π* (0:(N - 1)) / N;

但是我们打电话fftshift情节DTFT的大小,所以我们必须执行一个类似的转变我们的频率:

w2 = fftshift (w);情节(w2)

现在我们的频率开始和有一个不连续在中间。这是解决这个问题的一个方法:

w3 =打开(w2 - 2 *π);情节(w3)

现在,我们可以重做级DTFT情节与x轴标签。

情节(w3、abs (fftshift (X)))包含(“弧度”)

通常我喜欢看到的倍数更清楚地沿着x轴。实现这一目标的方法是频率变量正常化

情节(w3 /π,abs (fftshift (X)))包含(的弧度/ \π)

另一个选择是试一试艾伦的pilabels在MATLAB中央文件交换的贡献。

在接下来的时间,我想解决的问题为什么以下输出是复杂的:

fft ([1 2 3 2 1])
ans =我0.1180 + 0.3633 9.0000 -2.1180 - 1.5388 0.1180 - 0.3633 -2.1180 + 1.5388我

许多人认为它是真实的。




使用MATLAB®7.10发表

|
  • 打印

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。