特别是由于这是一个关于约定的问题,因此我不会加强MATLAB的荒谬约定,只会回答正确和适当的约定。即MATLAB对DFT的索引是不正确的,但是我对这三种常见的缩放约定中的哪一个相当不可知。
0≤n<N0≤k<Nx[n]NX[k]N
x[n+N]=x[n]∀ n∈Z
X[k+N]=X[k]∀ k∈Z
x[n]X[k]
h[n]⊛x[n]≜∑i=0N−1h[i]x[n−i]=∑i=0N−1x[i]h[n−i]
W[k]⊛X[k]≜∑i=0N−1W[i]X[k−i]=∑i=0N−1X[i]W[k−i]
因此,一个约定优于另一个约定(假定两个约定均有效)的唯一优势可以在于简化某些定理的表达。
DFT最常见的缩放惯例:
DFT{x[n]}iDFT{X[k]}≜X[k]≜∑n=0N−1x[n]e−j2πkn/N≜x[n]=1N∑k=0N−1X[k]e+j2πkn/N
关于“时域”中的循环卷积具有简单性的优点
DFT{h[n]⊛x[n]}=H[k]⋅X[k]
但是如果您在“频域”中卷积,则有一个比例因子需要担心:
iDFT{W[k]⊛X[k]}=1N⋅w[n]⋅x[n]
Parseval定理也有一个比例因子值得担心。
∑n=0N−1∣∣x[n]∣∣2=1N∑k=0N−1∣∣X[k]∣∣2
和对偶定理:
DFT{X[n]}=N⋅x[−k]
iDFT{x[k]}=1N⋅X[−n]
DFT的另一个常见缩放惯例:
iDFT{X[k]}DFT{x[n]}≜x[n]≜∑k=0N−1X[k]e+j2πkn/N≜X[k]=1N∑n=0N−1x[n]e−j2πkn/N
ejωkn≜ej(2πk/N)nX[k]x[n]kNA∣∣X[k]∣∣=∣∣X[−k]∣∣=∣∣X[N−k]∣∣=A2
关于频域中的循环卷积,它也更加简单
iDFT{W[k]⊛X[k]}=w[n]⋅x[n]
但是如果您在时域中卷积,则有一个比例因子需要担心:
DFT{h[n]⊛x[n]}=1N⋅H[k]⋅X[k]
Parseval定理也有一个比例因子值得担心。
1N∑n=0N−1∣∣x[n]∣∣2=∑k=0N−1∣∣X[k]∣∣2
和对偶定理:
DFT{X[n]}=1N⋅x[−k]
iDFT{x[k]}=N⋅X[−n]
DFT 的单一缩放惯例在缩放方面与其逆缩放相同,并在整个变换或逆变换中保留能量:
DFT{x[n]}iDFT{X[k]}≜X[k]≜1N−−√∑n=0N−1x[n]e−j2πkn/N≜x[n]=1N−−√∑k=0N−1X[k]e+j2πkn/N
时域或频域中的卷积具有相同的缩放因子,可担心:
DFT{h[n]⊛x[n]}=1N−−√⋅H[k]⋅X[k]
iDFT{W[k]⊛X[k]}=1N−−√⋅w[n]⋅x[n]
但是Parseval定理没有缩放因子需要担心。
∑n=0N−1∣∣x[n]∣∣2=∑k=0N−1∣∣X[k]∣∣2
对偶定理也不:
DFT{X[n]}=x[−k]
iDFT{x[k]}=X[−n]