离散傅里叶变换
闲谈:按道理来说,离散傅里叶变换只涉及有限点运算,应该比无限点的 DTFT 好学,但学起来却晕得不行😵 究其原因,我在学习时是从 DTFT 入手的,遇到一些不同之处老是转不过来。
所以,我在网上找到了一份很详细的英语资料,从另一个方向学习 DFT。下面我就写写我学习过程中的笔记。
DFT 概述
对于长度为
DFT 的引入
从几何引入 DFT
我们可以将长度为
我们可以定义向量的内积:
我们可以很容易得出向量内积的几个性质:
(能量)- 共轭对称性:
- 线性性:
我们可以用内积定义向量的范数:
有了内积和范数,就可以得到向量的投影:
上式表示向量
其中,
我们都知道不同频率的正弦信号在一个周期内相互正交(如果时长不是整周期,则不正交),比如:
如果我们以
于是我们构造如下一组正交基(从正弦推广到e指数):
为了偷懒,我们定义

我们可以证明这是一组正交基:
我们进一步对
信号在
要从投影恢复回原信号,我们只需要将分解后的向量相加,注意到DFT实际是投影的
从抽样引入 DFT
回忆我们对模拟信号进行采样的过程,经过采样后,频域进行了周期性延拓。同理,如果我们对频域进行采样,那么时域也进行周期性延拓,证明如下:我们先求解
由于时域卷积对应频域相乘,故如果在频域上
我们可以得到离散傅里叶变换(DFT):
把
从
我们定义插值函数为

则插值过程能表示成:
频谱泄露
从采样的角度去理解的话,对于那些介于采样点之间的频率,从直觉上来讲是无法得到的,但并非如此。
我们可以假设任意一个正弦信号:
显然,当
我们之前定义过:
我们不妨取

我们可以看到,最靠近
上面是通过公式推导得到的,我们可以用 matlab 来进行验证,最终画出来的图像是一样的。
fs=1;
N=16;
x=N/5;
wx=2*pi*x*fs;
n=[0:N-1];
xn=exp(j*wx*n);
wn=2*pi*n/N;
stem(wn,abs(fft(xn)));
常见 DFT 变换对
DFT 的性质
线性性
这个没啥好说的,证明方法和之前傅里叶变换一样。
圆周时移
由于 DFT 本质上是对原信号在时域上进行周期延拓,那么当信号进行时移变换时,实际上是在进行“圆周平移”。
当然,我们也可以简单证明一下:
圆周频移
对称性
序列 | DFT |
---|---|
乍一看好像很复杂,我们来看看看第 2 条式子的证明👀:
第 3 条也是类似的。然后由 2、3 就能推导出后面的。
对称性可以用于简化某些特殊的 DFT 计算,考试中比较喜欢考的就是:有一个
圆周卷积定理
直接证明太麻烦了,可以从 DTFT 的卷积性质推导,然后再采样就行。总而言之,凡是看到“圆周”,就要想到对周期信号进行采样。
调制定理
上一条定理的对偶定理。
对偶定理
这个证起来不难,我就说个大概吧(其实是想偷懒)
- 对
进行 DFT - 先代入
- 再交换求和顺序
- 变量代换(引入了圆周时反)
- 化简,化简时会用到一条关系式(引入了
):
懒得自己算的同学请点击展开
Parseval 定理
证明方法嘛,先将
习题
Tip
5.8 求长度为
(a)
(b)
(c)
Note
解:由于是三角函数,所以首先想到的是写成
根据常用 DFT 变换对
Tip
5.14 设
若
[!NOTE]
解:这题显然是考 DIT-FFT,根据 DIT-FFT 的公式,可以写出:
[!TIP]
5.48 序列
计算结果如下:
不计算圆周卷积,将结果与圆周卷积配对。
[!NOTE]
解:可以通过求 DFT 来求圆周卷积,不过太麻烦了。可以进行求和:
由于
和 ,所以我们可以判断出:
还有俩个判断不了,我们可以进行交替求和:
由于
和 ,所以我们可以判断出:
[!TIP]
5.51 偶数长
Note
解:考察的是 DFT 的性质。