本文主要是介绍系统因果性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 τ y(t)=x(t)*h(t)=\int_\tau h(\tau)x(t-\tau)d\tau y(t)=x(t)∗h(t)=∫τh(τ)x(t−τ)dτ
如果系统满足因果性,则 y ( t ) y(t) y(t)由 x ( t − τ ) x(t-\tau) x(t−τ)决定,这意味着,系统冲激响应需满足:
h ( t ) = 0 , t < 0 h(t)=0, t<0 h(t)=0,t<0
下图给出了不同系统冲激响应示意图,显然只有红色曲线对应的冲激响应才满足因果系统条件。
2、因果系统频响需满足的条件
从上面的分析可知,因果系统的冲激响应满足 h ( t ) = 0 , t < 0 h(t)=0,t<0 h(t)=0,t<0,它可以进一步表示为:
h ( t ) = h ( t ) s i g n ( t ) (1) h(t)=h(t)sign(t) \tag{1} h(t)=h(t)sign(t)(1)
其中, s i g n ( t ) = { 1 , t ≥ 0 0 , t < 0 sign(t)=\left\{\begin{matrix}\ 1,t\geq 0 \\ 0,t<0\\ \end{matrix}\right. sign(t)={ 1,t≥00,t<0为符号函数。对 h ( t ) h(t) h(t)进行傅里叶变换,得到系统频响,此时有:
H ( ω ) = F ( h ( t ) s i g n ( t ) ) = 1 2 π F ( h ( t ) ) ∗ F ( s i g n ( t ) ) = 1 2 π H ( ω ) ∗ 2 j ω = 1 j π ∫ − ∞ ∞ H ( ω ′ ) ω − ω ′ d ω ′ (2) H(\omega)=\mathcal{F}(h(t)sign(t))=\frac{1}{2\pi}\mathcal{F}(h(t))*\mathcal{F}(sign(t))=\frac{1}{2\pi}H(\omega)* \frac{2}{j\omega}=\frac{1}{j\pi}\int_{-\infty}^{\infty} \frac{H(\omega')}{\omega - \omega'}d\omega' \tag{2} H(ω)=F(h(t)sign(t))=2π1F(h(t))∗F(sign(t))=2π1H(ω)∗jω2=jπ1∫−∞∞ω−ω′H(ω′)dω′(2)
令 H ( ω ) = U ( ω ) + j V ( ω ) H(\omega)=U(\omega)+j V(\omega) H(ω)=U(ω)+jV(ω),将其带入(2)中,可得:
H ( ω ) = U ( ω ) + j V ( ω ) = 1 j π ∫ − ∞ ∞ U ( ω ′ ) + j V ( ω ′ ) ω − ω ′ d ω ′ = 1 j π ∫ − ∞ ∞ U ( ω ′ ) ω − ω ′ d ω ′ + 1 j π ∫ − ∞ ∞ j V ( ω ′ ) ω − ω ′ d ω ′ = 1 π ∫ − ∞ ∞ V ( ω ′ ) ω − ω ′ d ω ′ − j 1 π ∫ − ∞ ∞ U ( ω ′ ) ω − ω ′ d ω ′ H(\omega)=U(\omega)+j V(\omega)=\frac{1}{j\pi}\int_{-\infty}^{\infty} \frac{U(\omega')+j V(\omega')}{\omega - \omega'}d\omega' \\=\frac{1}{j\pi}\int_{-\infty}^{\infty} \frac{U(\omega')}{\omega - \omega'}d\omega'+\frac{1}{j\pi}\int_{-\infty}^{\infty} \frac{j V(\omega')}{\omega - \omega'}d\omega' \\=\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{V(\omega')}{\omega - \omega'}d\omega'-j\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{U(\omega')}{\omega - \omega'}d\omega' H(ω)=U(ω)+jV(ω)=jπ1∫−∞∞ω−ω′U(ω′)+jV(ω′)dω′=jπ1∫−∞∞ω−ω′U(ω′)dω′+jπ1∫−∞∞ω−ω′jV(ω′)dω′=π1∫−∞∞ω−ω′V(ω′)dω′−jπ1∫−∞∞ω−ω′U(ω′)dω′
从上式可得:
U ( ω ) = 1 π ∫ − ∞ ∞ V ( ω ′ ) ω − ω ′ d ω ′ V ( ω ) = − 1 π ∫ − ∞ ∞ U ( ω ′ ) ω − ω ′ d ω ′ U(\omega) = \frac{1}{\pi}\int_{-\infty}^{\infty} \frac{V(\omega')}{\omega - \omega'}d\omega' \\ V(\omega)=-\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{U(\omega')}{\omega - \omega'}d\omega' U(ω)=π1∫−∞∞ω−ω′V(ω′)dω′V(ω)=−π1∫−∞∞ω−ω′U(ω′)dω′
从上面的式子可知,因果系统频响的实部和虚部并不是相互独立的,由实部可以推出虚部,同样由虚部也可以推出实部。这称为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 ω τ ) = U ( ω ) c o s ( ω τ ) + V ( ω ) s i n ( ω τ ) = 1 π ∫ − ∞ ∞ I m ( H ( ω ′ ) e − j ω ′ τ ) ω − ω ′ d ω ′ I m ( H ( ω ) e − j ω τ ) = V ( ω ) c o s ( ω τ ) − U ( ω ) s i n ( ω τ ) = − 1 π ∫ − ∞ ∞ R e ( H ( ω ′ ) e − j ω ′ τ ) ω − ω ′ d ω ′ Re(H(\omega)e^{-j\omega \tau})=U(\omega)cos(\omega \tau)+V(\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})=V(\omega)cos(\omega \tau)-U(\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ωτ)=U(ω)cos(ωτ)+V(ω)sin(ωτ)=π1∫−∞∞ω−ω′Im(H(ω′)e−jω′τ)dω′Im(H(ω)e−jωτ)=V(ω)cos(ωτ)−U(ω)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 NonCausality(h)=\frac{\sqrt{\int_{-\infty}^\tau h^2(t)dt}}{\sqrt{\int_{-\infty}^{\infty}h^2(t)dt}} NonCausality(h)=∫−∞∞h2(t)dt∫−∞τh2(t)dt
考虑到除了冲激响应外,阶跃响应、脉冲响应等不同类型的响应也经常用到,类似地可以定义这些类型的响应的因果性衡量指标,具体地:
N o n C a u s a l i t y ( r ) = ∫ − ∞ τ r 2 ( t ) d t ∫ − ∞ ∞ r 2 ( t ) d t NonCausality(r)=\frac{\sqrt{\int_{-\infty}^\tau r^2(t)dt}}{\sqrt{\int_{-\infty}^{\infty}r^2(t)dt}} NonCausality(r)=∫−∞∞r2(t)dt∫−∞τr2(t)dt
其中, 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、频域方法
频域方法的基本思路是基于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) 将变换后的实部/虚部重新组合成完成频响,则该频响即满足因果性。
5.2、时域方法
未完待续…
未完待续…
未完待续…
这篇关于系统因果性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!