引言
这个系列的三篇文章已经全部更新完成了:
复数与正交信号完全指南(上)
复数与正交信号完全指南(中)
复数与正交信号完全指南(下)
这两篇文章通过大量的三维图像,对复信号进行了详细的阐述,并对正交信号的生成、频率混频、频谱叠加都进行了介绍。但是对于正交信号究竟正交在哪里,为什么是正交的并没有进行明确的阐述,我们只是知道 c o s ( 2 π f 0 t ) cos(2\pi f_{0}t) cos(2πf0t) 与 s i n ( 2 π f 0 t ) sin(2\pi f_{0}t) sin(2πf0t) 是正交的。
从向量正交到函数正交
说到正交,我们最熟知的就是向量的正交,向量正交也即两个向量之间的夹角为90°,还意味着两个向量的内积为0,两个向量求内积,其结果为一个标量。我可以将向量的正交做如下表述,若 a ⃗ \vec{a} a 和 b ⃗ \vec{b} b 正交,且 a ⃗ = [ a 1 , a 2 , … , a n ] \vec{a} = [a_1, a_2, \ldots, a_n] a=[a1,a2,…,an], b ⃗ = [ b 1 , b 2 , … , b n ] \vec{b} = [b_1, b_2, \ldots, b_n] b=[b1,b2,…,bn] 则:
< a ⃗ , b ⃗ > = a ⃗ ⋅ b ⃗ = a 1 ⋅ b 1 + a 2 ⋅ b 2 + … + a n ⋅ b n = ∣ a ⃗ ∣ ∣ b ⃗ ∣ c o s ( θ ) = 0 <\vec{a},\vec{b}> = \vec{a} \cdot \vec{b} = a_1 \cdot b_1 + a_2 \cdot b_2 + \ldots + a_n \cdot b_n = |\vec{a}||\vec{b}|cos(\theta) = 0 <a,b>=a⋅b=a1⋅b1+a2⋅b2+…+an⋅bn=∣a∣∣b∣cos(θ)=0
但对于实函数而言,我们无法定义两个函数间“夹角”,那又该如何定义正交呢?不妨先看一个案例, s i n ( x ) sin(x) sin(x) 和 s i n ( 2 x ) sin(2x) sin(2x) 是否正交?
首先我们要做的是用一组数组来表达一个函数,一个最容易想象的方式就是对函数进行采样,例如在
x
=
[
0
,
π
8
,
2
π
8
,
3
π
8
,
…
]
x = [0,\frac{\pi}{8},\frac{2\pi}{8},\frac{3\pi}{8},\ldots]
x=[0,8π,82π,83π,…] 时分别对
s
i
n
(
x
)
sin(x)
sin(x) 和
s
i
n
(
2
x
)
sin(2x)
sin(2x) 求值,并将各自的结果形成一个向量,语言描述可能有些抽象,不妨看图:
图中的案例解释了如何理解函数的正交,但仅仅以
π
8
\frac{\pi}{8}
8π 来取值是远远不够的,容易想到,我们将间隔尽可能的小,这个内积求和就变成了积分形式,这个假想的向量也变成了一个“Infinite Vector”,即:
< s i n ( x ) , s i n ( 2 x ) > = ∫ 0 2 π sin ( x ) ⋅ sin ( 2 x ) d x = 0 <sin(x),sin(2x)> = \int_{0}^{2\pi} \sin(x) \cdot \sin(2x) \, dx = 0 <sin(x),sin(2x)>=∫02πsin(x)⋅sin(2x)dx=0
将这个案例进行推广,对于 ψ 1 ( x ) \psi_{1}(x) ψ1(x) 和 ψ 2 ( x ) \psi_{2}(x) ψ2(x) 两个函数(且都非零),若他们在 [ a , b ] [a,b] [a,b] 区间内正交,则有:
< ψ 1 ( x ) , ψ 2 ( x ) > = ∫ a b ψ 1 ( x ) ⋅ ψ 2 ( x ) d x = 0 <\psi_{1}(x),\psi_{2}(x)>=\int_{a}^{b} \psi_{1}(x) \cdot \psi_{2}(x) \, dx = 0 <ψ1(x),ψ2(x)>=∫abψ1(x)⋅ψ2(x)dx=0
前面介绍的函数都是实数,若考虑虚数,则相乘变为共轭积。
正交基
在介绍傅里叶级数之前,我们先来看一下正交基的概念。正交基的定义是:在线性代数中,如果一个向量空间存在一组基,这组基的任意两个向量都正交(即它们的内积为零),则这组基被称为正交基。如果这组正交基的每个向量都是单位向量(即它们的模长为1),则这组基被称为标准正交基。
假设在 R n R^{n} Rn 空间中,有n个正交向量 v 1 ⃗ , v 2 ⃗ , … , v n ⃗ \vec{v_{1}},\vec{v_{2}},\ldots,\vec{v_{n}} v1,v2,…,vn,那么任意向量 x ⃗ \vec{x} x 可表示为:
x = c 1 v 1 ⃗ + c 2 v 2 ⃗ + … + c n v n ⃗ x=c_{1}\vec{v_{1}}+c_{2}\vec{v_{2}}+\ldots+c_{n}\vec{v_{n}} x=c1v1+c2v2+…+cnvn
由于是正交基,计算 c i c_{i} ci 十分简单,在等式左右同时乘以 v i v_{i} vi,右边无关项均为0,即:
v i T x = c i v i T v i v_{i}^Tx = c_{i}v_{i}^Tv_{i} viTx=civiTvi
移项,即可求得 c i c_{i} ci。
也就是说,如果有一系列的正交向量,且数量与空间维数相同,则可以用这组向量任意表示空间中的任意向量。
傅里叶级数与正交信号
19世纪初,约瑟夫·傅里叶提出了傅里叶级数的雏形,他指出任何任何函数都可以展开为三角级数,这是正交函数系的一个早期例子。1829年 Dirichlet 给出傅里叶级数收敛的精确条件(针对信号不连续情况)。傅里叶的工作展示了如何将复杂的周期函数分解为正弦和余弦函数的和,这些函数构成了一个正交基。
傅里叶级数可以有不同的表达形态,包括三角形式、指数形式,具体见下:
- 三角形式:
- 指数形式
周期信号的傅里叶级数收敛条件是需满足狄利克莱收敛定理,相关的文章很多,这里不做展开。