1、因果系统的定义
若系统当前输出仅由系统当前或过去的输入决定,则称该系统为因果系统。由于因果系统是物理课实现的,且具有稳定性和可预测性,所以得到广泛应用。设系统输入、输出分别为
x
(
t
)
x(t)
x(t),
y
(
t
)
y(t)
y(t),系统冲激响应为
h
(
t
)
h(t)
h(t)。则
y
(
t
)
=
x
(
t
)
∗
h
(
t
)
=
∫
τ
h
(
τ
)
x
(
t
−
τ
)
d
τ
(1)
y(t)=x(t)*h(t)=\int_\tau h(\tau)x(t-\tau)d\tau \tag{1}
y(t)=x(t)∗h(t)=∫τh(τ)x(t−τ)dτ(1)
如果系统满足因果性,则
y
(
t
)
y(t)
y(t)由
x
(
t
−
τ
)
x(t-\tau)
x(t−τ)决定,这意味着,系统冲激响应需满足:
h
(
t
)
=
0
,
t
<
0
(2)
h(t)=0, t<0 \tag{2}
h(t)=0,t<0(2)
下图给出了不同系统冲激响应示意图,显然只有红色曲线对应的冲激响应才满足因果系统条件。
2、因果系统需满足的条件
2.1、冲激响应需满足的条件
任何信号都可以表示成一个奇信号和一个偶信号的和,即
h
(
t
)
=
h
e
v
e
n
(
t
)
+
h
o
d
d
(
t
)
h
e
v
e
n
(
t
)
=
h
(
t
)
+
h
(
−
t
)
2
h
o
d
d
(
t
)
=
h
(
t
)
−
h
(
−
t
)
2
(3)
h(t)=h_{even}(t)+h_{odd}(t)\\ h_{even}(t)=\frac{h(t)+h(-t)}{2}\\ h_{odd}(t)=\frac{h(t)-h(-t)}{2} \tag{3}
h(t)=heven(t)+hodd(t)heven(t)=2h(t)+h(−t)hodd(t)=2h(t)−h(−t)(3)
考虑到因果系统
h
(
t
)
=
0
,
t
<
0
h(t)=0, t<0
h(t)=0,t<0,则
h
e
v
e
n
(
t
)
h_{even}(t)
heven(t)和
h
o
d
d
(
t
)
h_{odd}(t)
hodd(t)需要满足:
h
e
v
e
n
(
t
)
=
{
v
(
−
t
)
2
,
t
<
0
0
,
t
=
0
v
(
t
)
2
,
t
>
0
,
h
o
d
d
(
t
)
=
{
−
v
(
−
t
)
2
,
t
<
0
0
,
t
=
0
v
(
t
)
2
,
t
>
0
h_{even}(t)=\left\{\begin{matrix}\ \frac{v(-t)}{2},t < 0 \\ 0,t=0\\ \frac{v(t)}{2},t>0 \end{matrix}\right., h_{odd}(t)=\left\{\begin{matrix}\ -\frac{v(-t)}{2},t < 0 \\ 0,t=0\\ \frac{v(t)}{2},t>0 \end{matrix}\right.
heven(t)=⎩
⎨
⎧ 2v(−t),t<00,t=02v(t),t>0,hodd(t)=⎩
⎨
⎧ −2v(−t),t<00,t=02v(t),t>0
所以:
h
e
v
e
n
(
t
)
=
s
i
g
n
(
t
)
h
o
d
d
(
t
)
h
o
d
d
(
t
)
=
s
i
g
n
(
t
)
h
e
v
e
n
(
t
)
(4)
h_{even}(t)=sign(t)h_{odd}(t)\\ h_{odd}(t)=sign(t)h_{even}(t) \tag{4}
heven(t)=sign(t)hodd(t)hodd(t)=sign(t)heven(t)(4)
其中,
s
i
g
n
(
t
)
=
{
1
,
t
>
0
0
,
t
=
0
−
1
,
t
<
0
sign(t)=\left\{\begin{matrix}\ 1,t> 0 \\ 0,t=0\\ -1,t<0 \end{matrix}\right.
sign(t)=⎩
⎨
⎧ 1,t>00,t=0−1,t<0表示符号函数。从上面的分析可知,因果系统的冲激响应不仅需要满足
h
(
t
)
=
0
,
t
<
0
h(t)=0,t<0
h(t)=0,t<0的条件,而且组成
h
(
t
)
h(t)
h(t)的奇信号和偶信号之间可以通过符号函数联系起来。
2.2、频响需满足的条件
对
h
(
t
)
h(t)
h(t)做傅里叶变换即可得到系统频响,具体地,有如下关系:
H
(
ω
)
=
F
(
h
(
t
)
)
=
H
R
(
ω
)
+
j
H
I
(
ω
)
H
e
v
e
n
(
ω
)
=
F
(
h
e
v
e
n
(
t
)
)
=
H
R
(
ω
)
H
o
d
d
(
ω
)
=
F
(
h
o
d
d
(
t
)
)
=
j
H
I
(
ω
)
S
I
G
N
(
ω
)
=
F
(
s
i
g
n
(
t
)
)
=
2
j
ω
H(\omega)=\mathcal{F}(h(t))=H_R(\omega)+jH_I(\omega)\\ H_{even}(\omega)=\mathcal{F}(h_{even}(t))=H_R(\omega)\\ H_{odd}(\omega)=\mathcal{F}(h_{odd}(t))=jH_I(\omega)\\ SIGN(\omega)=\mathcal{F}(sign(t))=\frac{2}{j\omega}
H(ω)=F(h(t))=HR(ω)+jHI(ω)Heven(ω)=F(heven(t))=HR(ω)Hodd(ω)=F(hodd(t))=jHI(ω)SIGN(ω)=F(sign(t))=jω2
结合上小节得到的冲激响应奇函数和偶函数之间的关系,可以得到:
H
R
(
ω
)
=
1
2
π
S
I
G
N
(
ω
)
∗
j
H
I
(
ω
)
=
1
π
∫
−
∞
∞
H
I
(
ω
′
)
ω
−
ω
′
d
ω
′
j
H
I
(
ω
)
=
1
2
π
S
I
G
N
(
ω
)
∗
H
R
(
ω
)
=
−
j
π
∫
−
∞
∞
H
R
(
ω
′
)
ω
−
ω
′
d
ω
′
(5)
H_R(\omega)=\frac{1}{2\pi}SIGN(\omega)*jH_I(\omega)=\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{H_I(\omega')}{\omega - \omega'}d\omega' \\ jH_I(\omega)=\frac{1}{2\pi}SIGN(\omega)*H_R(\omega)=-\frac{j}{\pi}\int_{-\infty}^{\infty} \frac{H_R(\omega')}{\omega - \omega'}d\omega' \tag{5}
HR(ω)=2π1SIGN(ω)∗jHI(ω)=π1∫−∞∞ω−ω′HI(ω′)dω′jHI(ω)=2π1SIGN(ω)∗HR(ω)=−πj∫−∞∞ω−ω′HR(ω′)dω′(5)
从上面的式子可知,因果系统频响的实部和虚部并不是相互独立的,由实部可以推出虚部,同样由虚部也可以推出实部。这称为Kramers-Kroningt条件。
3、时延因果系统
上面讨论的均是无时延的因果系统,实际系统一般都是有时延的。设系统时延为
τ
\tau
τ,若该系统具备因果性,则需满足:
h
(
t
)
=
0
,
t
<
τ
h(t)=0,t<\tau
h(t)=0,t<τ
若
H
(
ω
)
H(\omega)
H(ω)为对应
h
(
t
)
h(t)
h(t)的频响,则
h
(
t
−
τ
)
→
H
(
ω
)
e
−
j
ω
τ
h(t-\tau) \rightarrow H(\omega)e^{-j\omega \tau}
h(t−τ)→H(ω)e−jωτ。此时其对应的Kramers-Kroningt条件为
R
e
(
H
(
ω
)
e
−
j
ω
τ
)
=
H
R
(
ω
)
c
o
s
(
ω
τ
)
+
H
I
(
ω
)
s
i
n
(
ω
τ
)
=
1
π
∫
−
∞
∞
I
m
(
H
(
ω
′
)
e
−
j
ω
′
τ
)
ω
−
ω
′
d
ω
′
I
m
(
H
(
ω
)
e
−
j
ω
τ
)
=
H
I
(
ω
)
c
o
s
(
ω
τ
)
−
H
R
(
ω
)
s
i
n
(
ω
τ
)
=
−
1
π
∫
−
∞
∞
R
e
(
H
(
ω
′
)
e
−
j
ω
′
τ
)
ω
−
ω
′
d
ω
′
Re(H(\omega)e^{-j\omega \tau})=H_R(\omega)cos(\omega \tau)+H_I(\omega)sin(\omega \tau)= \frac{1}{\pi}\int_{-\infty}^{\infty} \frac{Im(H(\omega')e^{-j\omega' \tau})}{\omega - \omega'}d\omega' \\ Im(H(\omega)e^{-j\omega \tau})=H_I(\omega)cos(\omega \tau)-H_R(\omega)sin(\omega \tau)= -\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{Re(H(\omega')e^{-j\omega' \tau})}{\omega - \omega'}d\omega' \\
Re(H(ω)e−jωτ)=HR(ω)cos(ωτ)+HI(ω)sin(ωτ)=π1∫−∞∞ω−ω′Im(H(ω′)e−jω′τ)dω′Im(H(ω)e−jωτ)=HI(ω)cos(ωτ)−HR(ω)sin(ωτ)=−π1∫−∞∞ω−ω′Re(H(ω′)e−jω′τ)dω′
上面的表达式相对比较复杂,在实际计算中由于各种非理想因素或计算误差的影响,可能导致一个因果系统的也无法完全满足上面的条件。为此,需要对系统的因果性进行评估,必要时需要对系统响应进行处理,保证足够的因果性。
4、因果性大小的计算
如下图所示,因果性通常用系统时延
τ
\tau
τ以前的冲激响应围成的面积和总面积的比值来衡量,具体地:
N
o
n
C
a
u
s
a
l
i
t
y
(
h
)
=
∫
−
∞
τ
h
2
(
t
)
d
t
∫
−
∞
∞
h
2
(
t
)
d
t
(6)
NonCausality(h)=\frac{\sqrt{\int_{-\infty}^\tau h^2(t)dt}}{\sqrt{\int_{-\infty}^{\infty}h^2(t)dt}} \tag{6}
NonCausality(h)=∫−∞∞h2(t)dt∫−∞τh2(t)dt(6)
考虑到除了冲激响应外,阶跃响应、脉冲响应等不同类型的响应也经常用到,类似地可以定义这些类型的响应的因果性衡量指标,具体地:
N
o
n
C
a
u
s
a
l
i
t
y
(
r
)
=
∫
−
∞
τ
r
2
(
t
)
d
t
∫
−
∞
∞
r
2
(
t
)
d
t
(7)
NonCausality(r)=\frac{\sqrt{\int_{-\infty}^\tau r^2(t)dt}}{\sqrt{\int_{-\infty}^{\infty}r^2(t)dt}} \tag{7}
NonCausality(r)=∫−∞∞r2(t)dt∫−∞τr2(t)dt(7)
其中,
r
(
t
)
=
h
(
t
)
∗
v
(
t
)
r(t)=h(t)*v(t)
r(t)=h(t)∗v(t),
v
(
t
)
v(t)
v(t)表示阶跃信号或脉冲信号。
用不同响应来计算因果性程度可能会得到明显不同的结果,如下图所示,红色表示系统的冲激响应,蓝色表示系统的脉冲响应。根据冲激响应计算得到的非因果度是11%,而根据脉冲响应计算得到的非因果度是0.01%。这说明有大约11%的非因果性是来源于系统的高频响应的(高于信号波特率),所以当要求系统工作在低频时,可以大致认为系统是因果的。
5、非因果产生原因分析
5.1、带限
设原始频响为
H
(
f
)
H(f)
H(f),带限滤波器频响为
R
(
f
)
R(f)
R(f)(这边以理想带限为例),则带限频谱为
H
B
(
f
)
=
H
(
f
)
R
(
f
)
H_B(f)=H(f)R(f)
HB(f)=H(f)R(f)
带限前/后频谱示意示意图如图4(a)所示。若带限前的冲激响应为
h
(
t
)
h(t)
h(t),则带限后的冲激响应为
h
(
t
)
h(t)
h(t)和
s
i
n
c
sinc
sinc函数的卷积,具体地
h
B
(
t
)
=
B
h
(
t
)
∗
s
i
n
c
(
π
B
t
)
h_B(t)=B h(t)*sinc(\pi B t)
hB(t)=Bh(t)∗sinc(πBt)
显然,即使理想系统满足因果性,带限后的冲激响应卷积上非因果的sinc函数后,也极有可能变成非因果。
5.2、频响采样
理论分析时都认为频响是连续的,但实际应用时频响都是离散的。下面分析离散频响对系统因果性的影响。设频响的采样间隔为
Δ
f
\Delta f
Δf,频域采样会造成时域冲激响应的周期延拓,延拓周期
T
0
=
1
/
Δ
f
T_0=1/\Delta f
T0=1/Δf,即
h
d
i
s
c
r
e
t
e
(
t
)
=
∑
n
=
−
∞
∞
h
c
o
n
t
i
n
u
o
u
s
(
t
−
n
T
0
)
,
n
=
.
.
.
−
1
,
0
,
1....
h_{discrete}(t)=\sum_{n=-\infty}^{\infty}h_{continuous}(t-nT_0),n=...-1,0,1....
hdiscrete(t)=n=−∞∑∞hcontinuous(t−nT0),n=...−1,0,1....
若下图所示,由于原始连续频响对应的冲激响应(红色曲线)的持续时间超过延拓周期
T
0
T_0
T0,导致不同延拓周期内的冲激响应相互叠加,相互影响,叠加后的冲激响应偏离连续频响对应的冲激响应(图中蓝线和红线)。若进一步提高频响采样精度,即减小
f
0
f_0
f0,则冲激响应的延拓周期
T
0
T_0
T0将增大,此时各个延拓周期内的冲激响应的相互影响将变小,离散频响对应的冲激响应和连续频响对应的冲激响应的一致性更高,因果性更好。
6、强制因果操作
我们期望系统满足因果性,因为这样的系统是物理可实现的,具有稳定性且可预测。但是实际处理时,由于各种非理想因素的影响,导致系统无法完全满足因果性,此时往往需要通过一些处理手段,强制系统满足因果性。下面介绍常用的时域和频域方法。
6.1、频域方法
频域方法的基本思路是基于Kramers-Kroningt条件构造满足要求的系统频响的实部和虚部。具体地,包含以下步骤:
(1)估计和补偿系统时延
τ
\tau
τ,即
H
1
(
ω
)
=
H
(
ω
)
e
−
j
ω
τ
=
U
(
ω
)
+
j
V
(
ω
)
H_1(\omega)=H(\omega)e^{-j\omega \tau}=U(\omega)+jV(\omega)
H1(ω)=H(ω)e−jωτ=U(ω)+jV(ω)
(2) 求系统频响的实部,并根据Kramers-Kroningt条件
V
(
ω
)
=
−
1
π
∫
−
∞
∞
U
(
ω
′
)
ω
−
ω
′
d
ω
′
V(\omega)=-\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{U(\omega')}{\omega - \omega'}d\omega'
V(ω)=−π1∫−∞∞ω−ω′U(ω′)dω′利用系统实部构造系统虚部,该表达式本质上就是对实部进行希尔伯特变换。
(3) 将变换后的实部/虚部重新组合成完成频响,则该频响即满足因果性。
6.2、时域方法
时域方法的基本思路是基于冲激响应奇函数和偶函数之间的关系实现的。具体包含以下步骤:
(1)根据表达式(3)从原始冲激函数
h
(
t
)
h(t)
h(t)中计算奇函数和偶函数;
(2)用奇函数构造偶函数或用偶构造奇函数,具体地:
h
c
a
u
s
a
l
,
e
v
e
n
(
t
)
=
h
e
v
e
n
(
t
)
+
s
i
g
n
(
t
)
h
e
v
e
n
(
t
)
h
c
a
u
s
a
l
,
o
d
d
(
t
)
=
h
o
d
d
(
t
)
+
s
i
g
n
(
t
)
h
o
d
d
(
t
)
h_{causal,even}(t)=h_{even}(t)+sign(t)h_{even}(t)\\ h_{causal,odd}(t)=h_{odd}(t)+sign(t)h_{odd}(t)\\
hcausal,even(t)=heven(t)+sign(t)heven(t)hcausal,odd(t)=hodd(t)+sign(t)hodd(t)
(3) 将重新生成的奇/偶函数与原始的偶/奇函数叠加,即可得到满足因果性的信号,即
h
c
a
u
s
a
l
(
t
)
=
h
c
a
s
u
l
,
e
v
e
n
(
t
)
+
h
c
a
u
s
a
l
,
o
d
d
(
t
)
2
h_{causal}(t)=\frac{h_{casul,even}(t)+h_{causal,odd}(t)}{2}
hcausal(t)=2hcasul,even(t)+hcausal,odd(t)