傅里叶级数是无限维度上的线性代数,它里面的向量实际上是函数 f(x) ;他们分别投影到正弦和余弦上;然后乘以傅里叶系数 ak,bk 。用 ak,bk 乘以无限的正弦和余弦序列就重新构建了函数 f(x) ,这是个经典的情况,当然也是傅里叶希望看到的,但是在实际计算中,我们用的是离散傅里叶变换,傅里叶依然存在,只不过是在有限维而已。
这是基于正交的线性代数,输入是一个数列 y0,…,yn−1 而不是函数 f(x) ,输出 c0,…,cn−1 的长度和输入一样, y,c 之间是线性关系,所以肯定存在一个矩阵,而这个矩阵就是我们要介绍的傅里叶矩阵 F ,整个数字信号处理的技术依赖于它,它有许多非凡的性质。
我们获取完语音或图像或电视或声呐信号后,都需要将其数字化,这些信号用傅里叶矩阵
F−1 必须简单, F,F−1 做乘法计算速度要快。
F−1
很早就有了,它的形式和
F
很像。事实上,
在
4×4
的离散傅里叶变换中使用
w=i
(注意
i4=1
),整个DFT的关键点取决于
F
和它复数共轭
FF¯
告诉我们
F−1=F¯/4
,
F
的列是正交的(在
这部分我们先从
w
和它的性质开始,然后转到
复根
实数方程可以由复根,例如方程
我们对
x4=1
这样的方程很感兴趣,它有四个解——1的四次根。1的两个平方根是
−1,1
,四次根就是平方根的平方根,也就是
−1,1,i,−i
,因为
i2=−1
,所以
i4=1
。对于八次根我们需要
i
的平方根,这会求出
在傅里叶矩阵中复数
cosθ+isinθ
是非常特别的,实部我们用
x
轴表示,虚部用
w
的平方比较简单:
实部
cos2θ−sin2θ
是
cos2θ
,虚部
2sinθcosθ
是
sin2θ
(注意这里没有
i
,虚部是一个实数),因此
有一个更好的方式来计算
w
的幂,正弦和余弦的组合还可以表示成如下方式:
当指数
iθ
是虚部时乘法规则(像
(e2)(e3)=e5
)依然成立,
w=eiθ
的幂依然在单位圆上:
n
次幂的角度对应的是
这是原书作者的小批注:我曾经收到来自纽约MIT监狱的一封信,有人问我欧拉方程(2)是正确的吗,因为数学中三个最关键的函数以如此优雅的方式组合在一起太令人震惊了。最好的解答就是观察指数的幂级数:
实部
1−θ2/2+⋯
是
cosθ
,虚部
θ−θ63/6+⋯
是
sinθ
,由此得证。
图1
利用这个公式,我们就可以求解
wn=1
,此时可将其变成
einθ=1
,这样的话
nθ
肯定围绕着单位圆回到起点。方程的解选为
θ=2π/n
:1的
n
次根就是:
它的
n
次幂是
四次根在
θ=90∘
的方向,也就是
14(360∘)
,其他的四次根是
i2=−1,i3=−i,i4=1
,八次根是
w28,w38,…,w88
,这些根等价于单位圆在区间
2π/n
上的点。这里再强调一下
w8
的平方是
w4
,这是快速傅里叶变换的本质。这些值相加为零,首先是考虑简单的
1+i−1−i=0
,然后是复杂的
一个证明方式是左边乘以
w8
,得到
w8+w28+⋯+w88
,其中
w88=1
,数值没有发生变换,从图上来说,这八个点都旋转了
45∘
,但是依然是这八个点。因为零是乘以
w8
后唯一不会变化的数,所以他们的和必须是零。当
n
是偶数时这些根可以成对消掉(像
傅里叶矩阵和它的逆
在连续情况下,傅里叶级数在整个区间上重现函数
f(x)
,它用了无限多个正弦和余弦函数(或者指数函数)。在离散情况下,只需要选择
n
个系数
(6)中的四个方程需要找到有四项的傅里叶级数,使得可以在区间
0
到
这些就是(6)中的四个方程,在 x=2π 处级数回到 y0=2 ,然后继续周期性的循环。离散傅里叶级数最好写成复数形式,也就是用指数 eikx 的组合而不是 sinkx,coskx 。
对于每个
n
,联系
傅里叶矩阵
F
中每项为
为了求出
c
,我们需要知道
22、根据
w−1=1/w=w¯
,矩阵的逆为:
据此
的逆为
F
的
这个方程的关键点是看出这些项是
W=wjw−k
的幂:
W
依然是1的一个根:
因为
Wn=1
,所以左边等于零。但是
W
又不等于1,所以最后那个因式必须为零,也就是说