특히 이것은 컨벤션에 대한 질문이므로 MATLAB의 어리석은 컨벤션을 강화하지 않으며 옳고 적절한 컨벤션 또는 컨벤션으로 만 답변 할 것 입니다. 즉, DFT에 대한 MATLAB의 인덱싱이 옳고 적절하지는 않지만 세 가지 일반적인 스케일링 규칙 중 어느 것에 대해서는 거의 무관심합니다.
또한, 나는 하지 제한 도 0 ≤ K < N은 내가 이산 푸리에의 기본 의미 변환에 대한 거의 파시스트이기 때문에, 그들은 어떤 정수가 될 수 있습니다 이산 푸리에 변환 및 이산 푸리에 시리즈 하나는이다를 같은. 이산 푸리에 변환이 주기적 시퀀스 맵 X [ N ] 주기 N을 다른주기 계열에 X [ K ] 또한주기 N 과 IDFT는 다시 매핑한다.0≤n<N0≤k<Nx[n]NX[k]N
따라서
X [ k + N ] = X [ k ]
x[n+N]=x[n]∀ n∈Z
X[k+N]=X[k]∀ k∈Z
또한 "시간 도메인" ( x [ n ] ) 또는 "주파수 도메인" ( X [ k ] )의 순환 컨벌루션은 모든 규칙과 일관되게 정의됩니다.x[n]X[k]
W [ k ] ⊛ X [ k ] ≜ N − 1 ∑ i 0
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
has the advantage of simplicity regarding circular convolution in the "time domain"
DFT{h[n]⊛x[n]}=H[k]⋅X[k]
but there is a scaling factor you have to worry about if you're convolving in the "frequency domain":
iDFT{W[k]⊛X[k]}=1N⋅w[n]⋅x[n]
Parseval's theorem has a scaling factor to worry about too.
∑n=0N−1∣∣x[n]∣∣2=1N∑k=0N−1∣∣X[k]∣∣2
and the Duality theorem:
DFT{X[n]}=N⋅x[−k]
iDFT{x[k]}=1N⋅X[−n]
the other common scaling convention for the 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
has the advantage of being a tiny bit closer, conceptually, to the Fourier series, where ejωkn≜ej(2πk/N)n are the Fourier basis functions and X[k] are the Fourier coefficients. so if you're looking at raw time-domain data, x[n], and see a sinusoid with k cycles in the buffer of N samples and with (zero-to-peak) amplitude A, that would mean that ∣∣X[k]∣∣=∣∣X[−k]∣∣=∣∣X[N−k]∣∣=A2.
it also has more simplicity regarding circular convolution in the frequency domain
iDFT{W[k]⊛X[k]}=w[n]⋅x[n]
but there is a scaling factor you have to worry about if you're convolving in the time domain:
DFT{h[n]⊛x[n]}=1N⋅H[k]⋅X[k]
Parseval's theorem has a scaling factor to worry about too.
1N∑n=0N−1∣∣x[n]∣∣2=∑k=0N−1∣∣X[k]∣∣2
and the Duality theorem:
DFT{X[n]}=1N⋅x[−k]
iDFT{x[k]}=N⋅X[−n]
the unitary scaling convention for the DFT is identical in scaling with its inverse and preserves energy across the transform or inverse transform:
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
convolution in either time domain or frequency domain has the same scaling factor to worry about:
DFT{h[n]⊛x[n]}=1N−−√⋅H[k]⋅X[k]
iDFT{W[k]⊛X[k]}=1N−−√⋅w[n]⋅x[n]
but Parseval's theorem has no scaling factor to worry about.
∑n=0N−1∣∣x[n]∣∣2=∑k=0N−1∣∣X[k]∣∣2
nor does the Duality theorem:
DFT{X[n]}=x[−k]
iDFT{x[k]}=X[−n]