文章目录
问题引入

上面是DFT和IDFT的公式,IDFT先不谈。在实践中常使用FFT算法来快速算出DFT,获得时域采样信号x(n)的频率幅度谱。
例如:
N=1500;
xn=0.5*sin(2*pi*75/N*n)+3*cos(2*pi*40/N*n)+0.7*sin(2*pi*350/N*n);
上面这个时域采样信号xn由三个频率叠加而成,我们知道频率的概念是1秒信号经过了多少个周期,
那么我们假设采样率是fs=1000,共采样N=1500点,那么0.5*sin(2*pi*75/N*n)的频率即为75*fs/N=50,因此第一个信号频率为50。
通过Matlab进行FFT,可以画出这样一张频率幅度谱:

这里就引申出我们的标题:DFT为什么能求频率幅度谱?DFT后的X[k]与x(n)幅度的关系?DFT/IDFT底层数学原理?
对于这个问题,我看了不少网上的博客、视频、书籍,总觉得讲的不清不楚,有人说X[k]的结果就是x(n)的幅度,有人说X[k]的结果除以N就是x(n)的幅度,有人说X[k]的结果除以N/2就是x(n)的幅度,就没有一个比较清楚的证明到底X[k]的值和x(n)幅度的关系。
如果你也对此有疑问,现在我证明给你看!
铺垫一些小公式
要看懂我的证明,首先需要铺垫一些小公式,防止你不知道!

DFT公式证明
我将公式的证明整理成了PPT,下面我直接复制,在证明中使用到了上面铺垫的小公式,注意关联起来看就可以理解了!
DFT公式分解为4部分

先考虑k1=0的情况:

再考虑k1≠0的情况:





DFT计算后,X(k)与x(n)的关系:

可以看到,DFT公式本质上可以完全拆成三角函数的计算,在此过程中利用
高中的积

本文详细解释了DFT如何计算频率幅度谱,通过实例演示了DFT公式及其与x(n)幅度的关系,澄清了关于DFT结果与信号幅度的误解,并给出了Matlab中FFT和IDFT的使用代码。
最低0.47元/天 解锁文章
9383

被折叠的 条评论
为什么被折叠?



