正函数交的内容,线性系统的时域分析方法,是将复杂信号分解为简单信号之和,通过求解系统对简单信号的响应进而求解对复杂信号的响应。
在时域中,信号被分解为冲激信号的积分,根据系统对冲激信号的冲激响应,运用卷积求解系统对复杂信号的响应。
而信号的分解不仅仅可以使用冲激信号,也可以使用其它简单信号。**这一部分内容将使用正弦信号将复杂信号进行分解。并且通过对正弦信号响应的求解,进而求解对任意信号的响应。**这样便引出了信号在频域的分析和求解。
在讨论过程中将使用MATLAB进行计算或简单处理,同时可能使用Python对数据进行可视化和进一步处理。
1. 对信号在频域研究的基本思路
和分析求解时域信号的思路相似,信号在频域的分析和求解同样需要解答如下问题:
- 选取什么子信号?
- 如何将任意信号分解为一系列正弦信号之和?
- 如何求解系统对各个子信号的响应?
- 如何将各个子信号的响应进行叠加,从而合成系统对激励信号的响应?
在这四个问题中,第一个问题已经解答,使用正弦信号,而第三个问题在电路分析课程中也已经解决,即正弦稳态信号的响应,稍后将会进行回顾。所以任务的重点在于回答如何分解以及和成信号,以及如何叠加子信号的响应这两个问题上。其中傅里叶级数、傅里叶变换均在讨论信号的合成与分解,后期的拉普拉斯变换以及Z变换则在讨论信号响应的求解和分析。
2. 正交函数集的相关概念
正交函数集也可以称为标准信号集,是用来方便的分解或表示任意信号的信号集合,即:
f
(
t
)
=
C
1
f
1
(
t
)
+
C
2
f
2
(
t
)
+
C
3
f
3
(
t
)
+
⋯
+
C
n
f
n
(
t
)
=
∑
i
=
1
n
C
i
f
i
(
t
)
f(t) = C_1f_1(t)+C_2f_2(t)+C_3f_3(t)+ \cdots+C_nf_n(t)=\sum_{i=1}^{n}C_if_i(t)
f(t)=C1f1(t)+C2f2(t)+C3f3(t)+⋯+Cnfn(t)=i=1∑nCifi(t)
其中
f
(
t
)
f(t)
f(t)为原信号,即需要被表达的信号,
f
i
(
t
)
f_i(t)
fi(t)是标准信号集中的信号。
类似于标准矢量基,标准信号集同样需要满足以下三个条件:
- 归一化:即信号集中的信号 f i ( t ) f_i(t) fi(t)和 f j ( t ) f_j(t) fj(t)满足 ∫ t 1 t 2 f i ( t ) f j ( t ) d t = 1 \int_{t_1}^{t_2}f_i(t)f_j(t)dt=1 ∫t1t2fi(t)fj(t)dt=1,这可以方便在运算过程中对计算进行化简;
- 正交化:即信号集中的信号 f i ( t ) f_i(t) fi(t)和 f j ( t ) f_j(t) fj(t)满足 ∫ t 1 t 2 f i ( t ) f j ( t ) d t = 0 , i ≠ j \int_{t_1}^{t_2}f_i(t)f_j(t)dt=0,i\neq j ∫t1t2fi(t)fj(t)dt=0,i=j,这是为了方便确定组成原信号的子信号的系数,也就是上式的 C i C_i Ci。不正交的基信号的系数难以确定,因为每个基信号的系数与其他基信号均有关联。
- 完备性:可以用这个信号集中不同信号的线性组合表示任意信号。
完备的正交函数集一般包含无穷多个函数,如三角函数集等。但是实际应用中不可能使用无穷多个函数,因此只能使用正交函数集近似的表示任意函数。
那么当子信号前的系数 C i C_i Ci为何值时,原信号可以被最好的表达呢?回答这个问题,首先要了解如何评定信号之间的误差。
原函数与通过正交函数集表示的信号之间的误差,使用方均误差表示,即:
ε
2
(
t
)
‾
=
1
t
2
−
t
1
∫
t
1
t
2
ε
2
(
t
)
d
t
\overline{\varepsilon^2(t)}=\frac{1}{t_2-t_1} \int_{t_1}^{t_2}\varepsilon^2(t)dt
ε2(t)=t2−t11∫t1t2ε2(t)dt
其中
ε
(
t
)
=
f
(
t
)
−
∑
i
=
1
n
C
i
f
i
(
t
)
\varepsilon(t) = f(t)-\sum_{i=1}^{n}C_if_i(t)
ε(t)=f(t)−∑i=1nCifi(t)。
通过回顾信号与系统(1)- 信号可知,上式代表着信号在一定时间区间上的功率,因此信号之间的误差,通过功率体现。
为使
ε
2
(
t
)
‾
\overline{\varepsilon^2(t)}
ε2(t)最小,通过对
ε
2
(
t
)
‾
=
1
t
2
−
t
1
∫
t
1
t
2
[
(
f
(
t
)
−
∑
i
=
1
n
C
i
f
i
(
t
)
]
2
d
t
\overline{\varepsilon^2(t)}=\frac{1}{t_2-t_1} \int_{t_1}^{t_2}[(f(t)-\sum_{i=1}^{n}C_if_i(t)]^2dt
ε2(t)=t2−t11∫t1t2[(f(t)−∑i=1nCifi(t)]2dt中系数
C
i
C_i
Ci求偏导数,进而求极值可知,当系数
C
i
C_i
Ci满足:
C
i
=
∫
t
1
t
2
f
(
t
)
f
i
(
t
)
d
t
∫
t
1
t
2
f
i
(
t
)
f
i
(
t
)
d
t
C_i = \frac{\int_{t_1}^{t_2}f(t)f_i(t)dt}{\int_{t_1}^{t_2}f_i(t)f_i(t)dt}
Ci=∫t1t2fi(t)fi(t)dt∫t1t2f(t)fi(t)dt
此时的
ε
2
(
t
)
‾
\overline{\varepsilon^2(t)}
ε2(t)具有最小值,即误差最小。此时的系数
C
i
C_i
Ci也称为最佳系数,
C
i
C_i
Ci也称为
f
(
t
)
f(t)
f(t)和
f
i
(
t
)
f_i(t)
fi(t)之间的相似系数。注意:只有
f
i
(
t
)
f_i(t)
fi(t)两两正交时,系数
C
i
C_i
Ci才可以通过上式确定。
如果
f
(
t
)
f(t)
f(t)和
f
i
(
t
)
f_i(t)
fi(t)为复函数信号,则信号之间的误差为:
ε
2
(
t
)
‾
=
1
t
2
−
t
1
∫
t
1
t
2
∣
ε
(
t
)
∣
2
d
t
=
1
t
2
−
t
1
∫
t
1
t
2
ε
(
t
)
⋅
ε
∗
(
t
)
d
t
\overline{\varepsilon^{2}(t)}=\frac{1}{t_{2}-t_{1}} \int_{t_{1}}^{t_{2}}|\varepsilon(t)|^{2} d t=\frac{1}{t_{2}-t_{1}} \int_{t_{1}}^{t_{2}} \varepsilon(t) \cdot \varepsilon^{*}(t) d t
ε2(t)=t2−t11∫t1t2∣ε(t)∣2dt=t2−t11∫t1t2ε(t)⋅ε∗(t)dt
且最佳系数
C
i
C_i
Ci为:
C
i
=
∫
t
1
t
2
f
(
t
)
f
i
∗
(
t
)
d
t
∫
t
1
t
2
f
i
(
t
)
f
i
∗
(
t
)
d
t
C_i = \frac{\int_{t_1}^{t_2}f(t)f_i^*(t)dt}{\int_{t_1}^{t_2}f_i(t)f_i^*(t)dt}
Ci=∫t1t2fi(t)fi∗(t)dt∫t1t2f(t)fi∗(t)dt
若
C
i
=
0
C_i=0
Ci=0,则称
f
(
t
)
f(t)
f(t)和
f
i
(
t
)
f_i(t)
fi(t)正交。
问题:为什么使用功率作为信号之间的误差?
因为如果仅仅通过信号相减的方式,有时候难以确定信号之间的差异,如下图所示得两个信号:
如果通过幅值确定,在前期,信号 f 1 ( t ) f_1(t) f1(t)明显相对基准误差要大,而后期,则明显 f 2 ( t ) f_2(t) f2(t)相对基准的误差要大。因此很难判定哪个信号距离基准更近。
3. 正交函数集(标准信号集)和标准矢量基的类比
正交函数集和标准矢量基之间有很多相似点,如下表所示:
运算 | 矢量 | 函数 |
---|---|---|
加法: | A 1 ⃗ + A 2 ⃗ \vec{A_1}+\vec{A_2} A1+A2 | f 1 ( t ) + f 2 ( t ) f_1(t)+f_2(t) f1(t)+f2(t) |
标量乘法: | C ⋅ A ⃗ C\cdot \vec{A} C⋅A | C ⋅ f ( t ) C \cdot f(t) C⋅f(t) |
乘法 | A ⃗ ⋅ A i ⃗ = ∣ A ⃗ ∣ A i ⃗ ∣ c o s α \vec{A}\cdot \vec{A_i} = \mid{\vec{A}} \mid{\vec{A_i}}\mid cos\alpha A⋅Ai=∣A∣Ai∣cosα | ∫ t 1 t 2 f ( t ) f i ( t ) d t \int_{t_1}^{t_2}f(t)f_i(t)dt ∫t1t2f(t)fi(t)dt |
正交性 | A ⃗ ⋅ A i ⃗ = 0 \vec{A}\cdot \vec{A_i} =0 A⋅Ai=0 | ∫ t 1 t 2 f ( t ) f i ( t ) d t = 0 \int_{t_1}^{t_2}f(t)f_i(t)dt=0 ∫t1t2f(t)fi(t)dt=0 |
归一性 | A ⃗ = 1 \vec{A}=1 A=1 | ∫ t 1 t 2 f ( t ) f ( t ) d t = 1 \int_{t_1}^{t_2}f(t)f(t)dt=1 ∫t1t2f(t)f(t)dt=1 |
误差 | ε = A ⃗ − A i ⃗ \varepsilon =\vec{A}-\vec{A_i} ε=A−Ai | ε = f ( t ) − f i ( t ) \varepsilon = f(t)-f_i(t) ε=f(t)−fi(t) |
误差代价函数 | ∣ ε ∣ 2 \mid \varepsilon \mid^2 ∣ε∣2 | ε 2 ( t ) ‾ = 1 t 2 − t 1 ∫ t 1 t 2 ε 2 ( t ) d t \overline{\varepsilon^2(t)}=\frac{1}{t_2-t_1} \int_{t_1}^{t_2}\varepsilon^2(t)dt ε2(t)=t2−t11∫t1t2ε2(t)dt |
系数 | C i = A ⃗ ⋅ A i ⃗ A i ⃗ ⋅ A i ⃗ C_i=\frac{\vec{A}\cdot \vec{A_i}}{\vec{A_i}\cdot \vec{A_i}} Ci=Ai⋅AiA⋅Ai | C i = ∫ t 1 t 2 f ( t ) f i ( t ) d t ∫ t 1 t 2 f i ( t ) f i ( t ) d t C_i = \frac{\int_{t_1}^{t_2}f(t)f_i(t)dt}{\int_{t_1}^{t_2}f_i(t)f_i(t)dt} Ci=∫t1t2fi(t)fi(t)dt∫t1t2f(t)fi(t)dt或 C i = ∫ t 1 t 2 f ( t ) f i ∗ ( t ) d t ∫ t 1 t 2 f i ( t ) f i ∗ ( t ) d t C_i = \frac{\int_{t_1}^{t_2}f(t)f_i^*(t)dt}{\int_{t_1}^{t_2}f_i(t)f_i^*(t)dt} Ci=∫t1t2fi(t)fi∗(t)dt∫t1t2f(t)fi∗(t)dt |
4. 附录:矢量运算的相关内容
4.1 单个矢量基的分解:
假设存在一个矢量 A ⃗ \vec{A} A,以及一个基矢量 A 1 ⃗ \vec{A_1} A1,如下图左边所示:
如果通过基矢量
A
1
⃗
\vec{A_1}
A1表示矢量
A
⃗
\vec{A}
A,则需要一个系数
C
1
C_1
C1对基矢量进行缩放,并且存在一个误差
ε
\varepsilon
ε,如上图右边所示,即:
A
⃗
=
C
1
A
1
⃗
+
ε
⃗
\vec{A} = C_1\vec{A_1}+\vec{\varepsilon}
A=C1A1+ε
由图可知,最小的
ε
\varepsilon
ε为垂线,且该垂线大小为
∣
A
⃗
∣
⋅
s
i
n
α
|\vec{A}|\cdot sin\alpha
∣A∣⋅sinα,此时:
C
∣
A
1
⃗
∣
=
∣
A
⃗
∣
⋅
c
o
s
α
C|\vec{A_1}|=|\vec{A}|\cdot cos\alpha
C∣A1∣=∣A∣⋅cosα
即,使误差
ε
\varepsilon
ε最小的C为:
C
=
∣
A
⃗
∣
⋅
c
o
s
α
∣
A
1
⃗
∣
=
∣
A
⃗
∣
∣
A
1
⃗
∣
⋅
c
o
s
α
∣
A
1
⃗
∣
∣
A
1
⃗
∣
⋅
c
o
s
0
=
A
⃗
⋅
A
1
⃗
A
1
⃗
⋅
A
1
⃗
\begin{aligned} C &= \frac{|\vec{A}|\cdot cos\alpha}{|\vec{A_1}|} \\&= \frac{|\vec{A}||\vec{A_1}|\cdot cos\alpha}{|\vec{A_1}||\vec{A_1}|\cdot cos0} \\&=\frac{\vec{A}\cdot \vec{A_1}}{\vec{A_1}\cdot \vec{A_1}} \end{aligned}
C=∣A1∣∣A∣⋅cosα=∣A1∣∣A1∣⋅cos0∣A∣∣A1∣⋅cosα=A1⋅A1A⋅A1
其中,C称为矢量
A
⃗
\vec{A}
A和
A
1
⃗
\vec{A_1}
A1的相似系数。如果**
C
=
0
C=0
C=0,则意味着两个矢量的夹角
α
\alpha
α为90度,即矢量正交。**在上述的表达中,除非基矢量
A
1
⃗
\vec{A_1}
A1和
A
⃗
\vec{A}
A方向重合,即夹角为0,否则总存在一个误差。
4.2 多个矢量基的分解
在基矢量 A 1 ⃗ \vec{A_1} A1的基础上添加一个新的基矢量 A 2 ⃗ \vec{A_2} A2,如下图所示:
由上图左边部分可知,若矢量
A
⃗
\vec{A}
A和两个基矢量在同一个平面上,通过平面任意方向的两个基矢量可以没有误差的表示出矢量
A
⃗
\vec{A}
A, 即
A
⃗
=
C
1
A
1
⃗
+
C
2
A
2
⃗
\vec{A} = C_1\vec{A_1}+C_2\vec{A_2}
A=C1A1+C2A2
但是,由于每个基矢量的系数
C
i
C_i
Ci不仅与特定的矢量
A
i
⃗
\vec{A_i}
Ai有关,与其他基矢量也有关,很难确定。但是,如果基矢量之间两两正交,如上图右边所示,则可以证明,当:
C
1
=
A
1
⃗
⋅
A
⃗
A
1
⃗
⋅
A
1
⃗
,
C
2
=
A
2
⃗
⋅
A
⃗
A
2
⃗
⋅
A
2
⃗
C_1 = \frac{\vec{A_1} \cdot \vec{A}}{\vec{A_1} \cdot \vec{A_1}},\space C_2 = \frac{\vec{A_2} \cdot \vec{A}}{\vec{A_2} \cdot \vec{A_2}}
C1=A1⋅A1A1⋅A, C2=A2⋅A2A2⋅A
此时可以通过基矢量
A
1
⃗
,
A
2
⃗
\vec{A_1},\vec{A_2}
A1,A2没有误差的表达矢量
A
⃗
\vec{A}
A。
扩展到多维基矢量,若基矢量满足两两正交,则:
A
⃗
=
C
1
A
1
⃗
+
C
2
A
2
⃗
+
⋯
+
C
n
A
n
⃗
=
∑
i
=
i
n
C
i
A
i
⃗
\vec{A} = C_1\vec{A_1}+C_2\vec{A_2}+ \cdots + C_n\vec{A_n}=\sum_{i=i}^{n}C_i\vec{A_i}
A=C1A1+C2A2+⋯+CnAn=i=i∑nCiAi
且系数为
C
i
=
A
i
⃗
⋅
A
⃗
A
i
⃗
⋅
A
i
⃗
C_i = \frac{\vec{A_i} \cdot \vec{A}}{\vec{A_i} \cdot \vec{A_i}}
Ci=Ai⋅AiAi⋅A
为了简化运算,以及能够使用基矢量表示任意矢量,标准矢量基的定义如下:
- 归一化:标准矢量基的模等于1——这是为了使得公式的分母可以化简,简化运算;
- 正交化:标准矢量基两两正交——这是为了便于计算各个矢量基的系数;
- 完备性:可以不失真的组合出任意矢量——这是将任意矢量分解为基矢量的条件。
5. 总结
了解正交函数集是后续学习傅里叶级数、傅里叶变换的基础数学知识,因为傅里叶级数或傅里叶变换,正是通过一组正弦函数对任意信号进行表示。并且傅里叶级数或傅里叶变换的许多性质和正交性密不可分。
谢谢阅读,若有不当之处欢迎评论批评指正!