DFT为什么假定变换后的信号是周期性的?


10

在许多信号处理书中,都声称DFT假定变换后的信号是周期性的(这就是例如可能发生频谱泄漏的原因)。

现在,如果您查看DFT的定义,则根本就没有这种假设。但是,在Wikipedia上有关离散时间傅立叶变换(DTFT)的文章中指出

当输入数据序列x[n]为周期时,方程2可通过计算简化为离散傅里叶变换(DFT)N

  • 那么,这种假设是否源自DTFT?
  • 实际上,在计算DFT时,实际上我是否在假设信号是周期性的情况下计算DTFT ?

因为x [n]的DFT X [k]是周期信号xp [n]的离散傅里叶级数(DFS)的第一个周期,其第一个周期被视为x [n]
Fat32,15年

1
看来我将不得不对此提出不同的答复。DFT假定变换后的信号是周期性的,因为它对变换后的信号拟合了一组基函数,所有这些都是周期性的。
罗伯特·布里斯托

1
DFT只是DFS的简化表示,因此固有地存在周期性假设。
lxg

Answers:


12

已经有了一些不错的答案,但是我仍然想添加另一个解释,因为我认为该主题对于理解数字信号处理的许多方面极为重要。

首先,重要的是要了解DFT不会“假定”要转换信号的周期性。DFT简单地应用于长度为的有限信号,相应的DFT系数由N

(1)X[k]=n=0N1x[n]ej2πnk/N,k=0,1,,N1

从(1)可以看出,仅考虑间隔[ 0 N - 1 ]样本,因此不假定周期性。另一方面,系数X [ k ]可以解释为信号x [ n ]的周期性连续的傅立叶系数。从逆变换可以看出x[n][0,N1]X[k]x[n]

(2)x[n]=k=0N1X[k]ej2πnk/N

可以正确计算的时间间隔[ 0 N - 1 ],但它也可以计算此时间间隔之外的周期连续性,因为(2)的右侧是周期为N的周期。此属性是DFT定义中固有的,但是它不需要打扰我们,因为通常我们只对间隔[ 0 N 1 ]感兴趣。x[n][0,N1]N[0,N1]

考虑x [ n ]的DTFTx[n]

(3)X(ω)=n=x[n]ejnω

通过将(3)与(1)进行比较,我们可以看到,如果是区间[ 0 N - 1 ]中有限序列,则DFT系数X [ k ]是DTFT X ω )的样本:x[n][0,N1]X[k]X(ω)

(4)X[k]=X(2πk/N)

因此,DFT的一种用法(但不是唯一的一种)是计算DTFT的样本。但这仅在要分析的信号具有有限长度时才有效。通常,此有限长度信号是通过加窗较长的信号来构造的。而且正是这种加窗导致光谱泄漏。

作为最后的一句话,注意周期性延续DTFT 的有限序列X [ Ñ ]可在DFT系数来表示X [ Ñ ]x~[n]x[n]x[n]

Xω=2π

(5)x~[n]=k=x[nkN]
(6)Xω=2πñķ=-X[ķ]δω-2πķ/ñ

编辑:该事实Xω 上面给出是DTFT变换对可以示出如下。首先请注意,离散时间脉冲梳的DTFT是Dirac梳:X[ñ]X~(ω)

(7)k=δ[nkN]2πNk=δ(ω2πk/N)

序列可以写为的卷积X [ Ñ ]与脉冲梳:x~[n]x[n]

(8)x~[n]=x[n]k=δ[nkN]

由于卷积对应于乘法在DTFT域中,DTFT X [ Ñ ]是由乘法给出X ω 具有狄拉克梳:X~(ω)x~[n]X(ω)

(9)Xω=Xω2πñķ=-δω-2πķ/ñ=2πñķ=-X2πķ/ñδω-2πķ/ñ

4 结合可得出结果6 946


出于相同的原因,我选择了向下箭头,因为我有@ hotpaw2的最新答案。在此语句中:“从(1)可以明显看出,仅考虑间隔[ 0 N - 1 ]样本,因此不假定周期性。” x[n][0,N1]结论并非来自前提。
罗伯特·布里斯托

4
@ robertbristow-johnson:是的。给我连续的个样本,我给你DFT。我不需要假设信号超出范围[ 0 N 1 ],甚至不存在任何信号。这是我在那句话中声称的唯一一件事,这显然是事实。为了计算DFT,除了区间[ 0 N - 1 ]中的值外,我不需要了解任何东西。不知道您怎么会误解或误读我的声明。如果这是一个提法问题,那么我很乐于澄清我的句子,但从内容上讲,它实际上是微不足道的。ñ[0,N1][0,N1]
马特·L.

4
阅读下面的其他答案,并在其他主题中阅读我的答案。这不是什么承担约以外的0 ñ ñ - 1。它是关于什么的改造“假设”(如果我们允许人格化一点)约X [ Ñ ]以外的0 ñ ñ - 1。我们可以找出当我们在一个域中调用一个将另一个域移动一个整数的操作时变换所假定的内容。X[ñ]0nN1x[n]0nN1
罗伯特·布里斯托

@MattL。(9)应改为代替=2π
=2πñķ=-X[ķ]δω-2πķ/ñ
=2πñķ=-X2πķ/ñδω-2πķ/ñ
jomegaA

@jomegaA:两种情况都没有。正如在我的回答的最后一句指出,最后的结果(6)从(9)(4)将结束这样的过程中,,但是在(9)中它是从DTFT X ω 派生的。而关于缩放因子2 π / Ñ,它肯定需要存在。不要混淆使用ωf的表达式,它们具有不同的比例因子。X[k]=X(2πk/N)X(ω)2π/Nωf
马特·L。

8

它来自时域信号的定义:

x[n]=k=0N1X[k]e2πinkN

根据定义,您可以看到x[n]=x[n+N]
另一方面,DFT可以完美地重构信号的N个样本。
因此,您可以得出结论,假设它是周期性的延续。

另一种观点是将DFT视为有限离散傅立叶级数(实际上是看看离散傅立叶级数-DFS),它当然指出信号是周期性的(周期为T的信号的有限加和为具有周期T的信号。


2
我看不出它是如何定义的。
user10839

1
@ user10839:只需评估,您会发现它等于x [ n ]。正如答案中指出的那样,DFT只是时域信号的傅立叶级数。时域信号的有限长度被认为是基本周期。x[n+N]x[n]
Matt L.

@ user10839,只需将其插入方程式即可。可以用余弦和正弦函数定义指数,可以看出它们的周期为nkN
罗伊2015年

1
DFT不是DFS。这很花哨,但是DFT为您提供了傅立叶级数系数​​。请务必注意,DFT就像其他线性变换一样。这是一个矩阵乘法。矩阵是正交的,因此很漂亮。还可以证明,相应的数据的傅立叶级数展开的输出系数相等,但傅立叶变换不是傅立叶级数(类型不匹配:p)。
thang

@thang,我不知道你的意思。DFT是DFS。他们是一样的。显而易见。请注意,这是离散傅立叶级数,而不是傅立叶级数(带积分)。在这里看看en.wikipedia.org/wiki/Discrete_Fourier_series,看到它是DFT。
罗伊,

5

这是不必要的(而且常常是错误的)假设。DFT只是有限矢量的基础变换。

DFT的基本向量恰好是无限可扩展的周期函数的片段。但是,除非您将基本矢量扩展到DFT孔径之外,否则DFT输入或结果没有固有的周期性。许多形式的信号分析不需要在采样窗口或有限数据矢量之外进行任何扩展或假设。

还可以假定任何“泄漏”伪像来自默认矩形窗口与非周期性信号或具有未知周期性或平稳性的信号的卷积。当分析重叠的FFT窗口时,这更有意义,因为在任何一个DFT或FFT窗口之外的任何周期性假设都可能与其他窗口中的数据不一致。

周期性可能使DFT与DTFT相关的数学更易处理。但是,在实际使用FFT进行信号处理时,与DTFT的任何关系可能是必需的,也可能不是必需的(具体取决于进一步分析处理方法所需的傅立叶变换特性)。


出于相同的原因,我选择了最近的答案。
罗伯特·布里斯托

5

好的,我的答案将与其他答案有所不同。我的回答接受问题的前提,而不是否认问题的前提。

DFT“假定”输入信号(要转换的信号,我假设OP由“已转换信号”表示的意思)是周期性的原因是因为DFT使该输入信号适合基函数的集合,所有这些是周期性的。

考虑一组不同的基础函数:

gk(u)uk0k<N

并给出输入样本:N

x[n]0n<N

我们可以将这些基函数的线性和拟合到输入序列中gk(n)

x[n]=k=0N1X[k]gk(n)=k=0N1X[k]nk

明智地选择系数。计算所有X [ k ]需要求解带有N个未知数的N个线性方程。您可以使用高斯消去法做到这一点。X[k]X[k]NN

为正确的值X [ ķ ]0 ķ ñ - 1,我们可以确保这些功率函数的总和(这是一个ñ - 1 阶多项式)将精确地计算为X [ ñ ]对于每个ñ使得0 ñ ñ - 1NX[k]0kN1(N1)x[n]n0nN1

现在,如果您使用的总和,超越的间隔?您可以对任何n进行评估。您会注意到该函数的行为将是N 1 阶多项式的行为,因为事实就是如此。对于足够大的n,只有系数为非零的最高幂才能设置外推x [ n ]的趋势。0nN1 n(N1)nx[n]

因此,现在,借助DFT,我们可以将一组不同的基础函数拟合到我们的输入序列中:

gk(u)1Ne+j2πku/N0k<N

x[n]=k=0N1X[k]gk(n)=1Nk=0N1X[k]e+j2πnk/N

系数可以求解,并且为:X[k]

X[k]=n=0N1x[n] ej2πnk/N

1的位置1N是惯例问题。我把它放在大多数文献都放在因子。可以将其从x[n]方程中删除,然后放入X[k]1Nx[n]X[k]方程中。或“一半”(1N)可以与两个方程一起放置。这只是一个惯例问题。

但在这里我们安装了一组基函数都是周期性的,周期原来的X [ ñ ]。因此,即使X [ Ñ ]从较长的序列来不是周期性的,该DFT是考虑到X [ Ñ ]是一串基本函数的总和每个是周期性的,周期Ñ。如果将一堆周期函数加起来,并且周期函数都相同,则总和也必须是周期相同的周期函数。Nx[n]x[n]x[n]N


出于一点争议,我对DFT不一定会定期扩展传递给它的数据的观点表示怀疑,请查看我先前的回答。我不想在这里重复。
罗伯特·布里斯托

1

DFT是离散的。DTFT是连续的。我们可以通过使用正确周期的脉冲序列对DTFT进行采样来从DTFT中获得DFT,这实际上等于将其与脉冲序列相乘。变换域中的乘法等于离散时域中的卷积,这意味着信号的周期性。


DTFT是连续的吗?怎么来的?
jojek

2
DTFT的结果是连续的(在频率上)。
2014年

确实-因此,您应该清楚地说明这一点,以避免任何误解并提供适当的方程式。
jojek

@jojek没错,我也认为此答案可以通过一些公式来提高
Deve 2014年

1
疾病很快就会添加更多详细信息。
学习者2014年

0

由于离散域在两个域中都存在周期性假设,因此仅DFT在离散数字世界中是可行的。(如果您这样称呼它。)由于一个域上的非周期性信号会导致另一域上的连续信号,因此您只能将离散信号存储在数字存储器中。因此,您需要假设信号在两个域上都是周期性的,以使其在两个域上都是离散的。

计算DTFT时,会得到频域中的连续信号作为输出。
我认为实际计算DFT时不会使用相同的过程。实际计算DTFT和DFT时,您将了解到两种转换计算都是不同的情况。


0

由于信号是周期性的,因此时移信号不会改变频域的绝对幅度。

X[k]=k=0N1x[n]e2πinkN

e2πiDkNX[k]=k=0N1x[nD]e2πinkNe2πiDkN

顺便说一句,没有什么可以阻止您获取非周期性信号的FFT,但是,如果没有任何一种转换有效,则几乎没有实际用途。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.