信号处理与向量空间
向量表示信号
- 一个离散信号序列能够很自然的表示成向量: x [ n ] = [ x 0 , x 1 , ⋯   , x N − 1 ] T x[n] = [x_0, x_1, \cdots, x_{N-1}]^T x[n]=[x0,x1,⋯,xN−1]T
- 为什么要用向量表示信号?因为更简单的数学表达和统一的信号处理框架
- 对不同类型的信号(四种:有限长、无限长、周期、有限支持)具有相同的处理框架
- 对连续信号具有相同的处理框架
- 更容易解释傅里叶变换
- 更容易解释采样与插值
- 在近似估计和压缩中非常有用
- 通讯系统设计中非常重要
向量空间
- 常见的向量空间。例如有 R 2 \mathbb{R}^2 R2和 R 3 \mathbb{R}^3 R3是二维和三维欧几里得空间
- l 2 ( Z ) \mathcal{l}_2(\mathbb{Z}) l2(Z):具有无限长度且平方可和的序列所构成的空间。例如矩形序列
- L 2 ( [ a , b ] ) L_2([a,b]) L2([a,b]):在区间 [ a , b ] [a,b] [a,b]上平方可积的函数所构成的空间(没错,向量可以是函数)。例如 { x = sin ( t ) , t ∈ [ − 1 , 1 ] } ∈ L 2 ( [ − 1 , 1 ] ) \{x=\sin(t), t\in [-1, 1]\}\in L_2([-1,1]) {x=sin(t),t∈[−1,1]}∈L2([−1,1]),因为 sin ( t ) \sin(t) sin(t)在 [ − 1 , 1 ] [-1,1] [−1,1]上平方可积
- 向量空间的基本性质和操作
向量的内积
- 内积是一个标量,内积用于衡量向量之间的相似度
- 两个向量的内积操作可以表示为: < x , y > = ∥ x ∥ ∥ y ∥ cos θ <\mathbf{x},\mathbf{y}>=\Vert \mathbf{x}\Vert \Vert \mathbf{y}\Vert \cos\theta <x,y>=∥x∥∥y∥cosθ,其中 θ \theta θ表示向量之间的夹角
- 如果两个向量的内积为0,那么它们正交(相似度为0, θ = π / 2 \theta=\pi/2 θ=π/2)
- 向量内积的基本性质
-
L
2
(
[
−
1
,
1
]
)
L_2([-1,1])
L2([−1,1])的内积定义:
<
x
,
y
>
=
∫
−
1
1
x
(
t
)
y
(
t
)
d
t
<\mathbf{x},\mathbf{y}> = \int_{-1}^1x(t)y(t) \mathbf{d}t
<x,y>=∫−11x(t)y(t)dt。下图是一个例子
- 向量的长度用内积定义: ∥ x ∥ = < x , x > \Vert x\Vert = \sqrt{<\mathbf{x},\mathbf{x}> } ∥x∥=<x,x>
- 向量之间的距离用内积定义: d ( x , y ) = ∥ x − y ∥ \mathbf{d}(\mathbf{x},\mathbf{y}) = \Vert \mathbf{x}-\mathbf{y}\Vert d(x,y)=∥x−y∥。例如在二维空间中 ∥ x − y ∥ = ( x 0 − y 0 ) 2 + ( x 1 − y 1 ) 2 \Vert \mathbf{x}-\mathbf{y}\Vert = \sqrt{(x_0-y_0)^2 + (x_1-y_1)^2} ∥x−y∥=(x0−y0)2+(x1−y1)2;在 L 2 ( [ − 1 , 1 ] ) L_2([-1,1]) L2([−1,1])上 ∥ x − y ∥ = ∫ − 1 1 ∣ x ( t ) − y ( t ) ∣ 2 d t \Vert \mathbf{x}-\mathbf{y}\Vert = \int_{-1}^1\vert x(t) - y(t) \vert^2 \mathbf{d}t ∥x−y∥=∫−11∣x(t)−y(t)∣2dt
- 一组信号可以表示成一个向量:
x
[
n
]
=
[
x
0
,
x
1
,
⋯
 
,
x
N
−
1
]
T
x[n] = [x_0, x_1, \cdots, x_{N-1}]^T
x[n]=[x0,x1,⋯,xN−1]T,其中
x
[
n
]
x[n]
x[n]是一个复数,那么
- 有限长度的信号的内积表示为: < x , y > = ∑ n = 0 N − 1 x ∗ [ n ] y [ n ] <\mathbf{x},\mathbf{y}> = \sum_{n=0}^{N-1}x^*[n]y[n] <x,y>=∑n=0N−1x∗[n]y[n], ∗ * ∗表示共轭
- 无限长度的信号的内积表示为: < x , y > = ∑ − ∞ ∞ x ∗ [ n ] y [ n ] <\mathbf{x},\mathbf{y}> = \sum_{-\infty}^{\infty}x^*[n]y[n] <x,y>=∑−∞∞x∗[n]y[n]。其内积可能会无穷大,因此我们要求这个无限长度的信号属于 l 2 ( Z ) \mathcal{l}_2(\mathbb{Z}) l2(Z)空间,即要求 ∑ ∣ x [ n ] ∣ 2 < ∞ \sum \vert x[n]\vert^2 < \infty ∑∣x[n]∣2<∞
基向量
-
任意一个向量都通过线性组合基向量来得到。下图为二维空间的两个例子
-
基向量间要求线性无关,否则无法表示整个空间的向量
-
一组信号 x [ n ] = [ x 0 , x 1 , ⋯   , x N − 1 ] T x[n] = [x_0, x_1, \cdots, x_{N-1}]^T x[n]=[x0,x1,⋯,xN−1]T,可以看做一个N维的向量
-
一个无限长度的信号(向量)可以表示为: x = ∑ k = 0 ∞ α k w ( k ) \mathbf{x}= \sum_{k=0}^{\infty} \alpha_k w^{(k)} x=∑k=0∞αkw(k),其中 α k \alpha_k αk为缩放系数, w ( k ) w^{(k)} w(k)为基向量。
-
函数向量空间: f ( t ) = ∑ k α k h ( k ) ( t ) f(t) = \sum_k \alpha_k h^{(k)}(t) f(t)=∑kαkh(k)(t)。其中 h ( k ) ( t ) h^{(k)}(t) h(k)(t)是一个基函数,例如傅里叶变换的基函数: 1 / 2 1/\sqrt 2 1/2, cos π t \cos \pi t cosπt, sin π t \sin \pi t sinπt, cos 2 π t \cos 2\pi t cos2πt, sin 2 π t \sin 2\pi t sin2πt…也就是说傅里叶变换其实是一种基的变化
-
已知 x \mathbf{x} x和 w ( k ) w^{(k)} w(k)求 α k \alpha_k αk: α k = < w ( k ) , x > \alpha_k = <w^{(k)}, \mathbf x> αk=<w(k),x>
-
如何换基? x = ∑ k = 0 K − 1 α k w ( k ) = ∑ k = 0 K − 1 β k v ( k ) \mathbf{x} = \sum_{k=0}^{K-1}\alpha_k w^{(k)}=\sum_{k=0}^{K-1}\beta_k v^{(k)} x=∑k=0K−1αkw(k)=∑k=0K−1βkv(k),其中 v^{(k)是一组新的标准正交基,如何求 β k \beta_k βk?
β k = < v ( k ) , x > = < v ( k ) , ∑ k = 0 K − 1 α k w ( k ) > = ∑ k = 0 K − 1 α k < v ( k ) , w ( k ) > \begin{array}{l} \beta_k &= <v^{(k)}, \mathbf{x}> \\ &= <v^{(k)}, \sum_{k=0}^{K-1}\alpha_k w^{(k)}> \\ &= \sum_{k=0}^{K-1}\alpha_k <v^{(k)}, w^{(k)}> \\ \end{array} βk=<v(k),x>=<v(k),∑k=0K−1αkw(k)>=∑k=0K−1αk<v(k),w(k)>
基于子空间的近似估计
- 向量子空间:2D平面是3D空间的一个子空间;偶函数是函数的子空间
- 用正交投影来做降维,将向量投影到子空间中,得到向量的近似估计
- 最小二乘估计:
s
(
k
)
{s^{(k)}}
s(k)是子空间S的一组标准基,那么向量
x
\mathbf{x}
x正交投影的结果为
x ^ = ∑ k = 0 K − 1 < s ( k ) , x > s ( k ) \hat \mathbf{x} = \sum_{k=0}^{K-1} <s^{(k)}, \mathbf{x}> s^{(k)} x^=k=0∑K−1<s(k),x>s(k) - 正交投影的结果是“最好”的,因为:
- 具有全局最小误差: arg min y ∈ S ∥ x − y ∥ = x ^ \mathop{\arg \min}_{y\in S} \Vert \mathbf x- \mathbf y \Vert = \hat \mathbf{x} argminy∈S∥x−y∥=x^
- 不包含任何误差信息: < x − x ^ , x ^ > = 0 <\mathbf x - \hat \mathbf x, \hat \mathbf x> = 0 <x−x^,x^>=0
一个近似估计的例子:用多项式函数估计 sin t \sin t sint
多项式 P N [ − 1 , 1 ] ∈ L 2 [ − 1 , 1 ] P_N[-1,1]\in L_2[-1,1] PN[−1,1]∈L2[−1,1],一个多项式可以表示为: p = a 0 , + a 1 t + ⋯ + a N − 1 t N − 1 p = a_0, + a_1 t + \cdots + a_{N-1}t^{N-1} p=a0,+a1t+⋯+aN−1tN−1
多项式的基: s ( k ) = t k s^{(k)} = t^k s(k)=tk。它不是标准正交的
现在有 x = sin t ∈ L 2 [ − 1 , 1 ] x = \sin t \in L_2[-1,1] x=sint∈L2[−1,1] 用 P 3 [ − 1 , 1 ] P_3[-1,1] P3[−1,1]去估计它。
-
建立标准化的基。利用Gram-Smith方法可以标准化一组基,Gram-Smith算法有两个步骤:
step 1: p ( k ) = s ( k ) − ∑ < u ( k ) , s ( k ) > u ( k ) p^{(k)} = s^{(k)} - \sum_{}^{}<u^{(k)}, s^{(k)}>u^{(k)} p(k)=s(k)−∑<u(k),s(k)>u(k),如果k=0,那么 p ( 0 ) = s ( 0 ) p^{(0)} = s^{(0)} p(0)=s(0)
step 2: u ( k ) = p ( k ) / ∥ p ( k ) ∥ u^{(k)} = p^{(k)}/\Vert p^{(k)}\Vert u(k)=p(k)/∥p(k)∥
现在,我们对 1 , t , t 2 {1, t, t^2} 1,t,t2三个基做标准化,其步骤如下
这组基被称为“Legendre Polynomials” -
做正交投影,求系数。步骤如下:
所以,在 P 3 [ − 1 , 1 ] P_3[-1,1] P3[−1,1]上, sin t ≈ α 1 u ( 1 ) = 0.9035 t \sin t \approx \alpha_1 u^{(1)}=0.9035t sint≈α1u(1)=0.9035t
用泰勒展开估计的结果为: sin t ≈ t \sin t \approx t sint≈t
两种估计的误差:
总结
- 信号序列可以很自然的用向量来表示;用向量表示信号,在信号处理上有很大的方便
- 向量的内积用来衡量向量之间的相似度
- 向量可以用基向量的线性组合表示
- 可以用子空间来对向量正交投影,对向量做近似估计