使用 FFT 来模拟傅里叶变换我有这个问题。
我用于 PSD的定义是:S(f)
S(f)=12π∫∞−∞exp(−iτ2πf)r(τ)dτ
其中是相关函数。r(t)
MATLAB中的FFT使用这个公式
X(k)=∑n=1Nx(n)exp(−j2π(k−1)(n−1)N),1≤k≤N.
所以为了替换我所做的PSD:
S=abs(fft(r))*delta_t
delta_t
时间步长在哪里。换句话说,翻译我所做的公式中的代码:
S(k)=∑n=1Nexp(−i2π(k−1)(n−1)N)r(n)ΔT
使用这个公式后,我应用了这个,检查结果
∫∞−∞S(f)df=r.m.s.{x(t)}
其中是原始信号。这个公式得到了完美验证。x(t)
现在的问题是我注意到在 MATLABfft
中没有系数。12π
你能给我解释一下为什么会这样吗?我知道傅里叶变换对可以使用很多不同的系数,但我不知道这是否与我的问题有关。
谢谢