差分方程的零输入响应与零状态响应
Posted TaigaComplex求职中
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了差分方程的零输入响应与零状态响应相关的知识,希望对你有一定的参考价值。
差分方程的经典分析方法存在以下不足之处:
- 若激励信号发生变化,则特解部分需要重新求解。
- 若差分方程右边激励项比较复杂,则难以处理。
- 若初始条件发生变化,则须全部重新求解
- 这种方法是一种纯数学方法,无法突出系统响应的物理概念。
差分方程的迭代分析方法存在以下不足之处:
- 没有得出闭式解,不利于数学上进行分析
- 需要从头计算才能计算出某时刻的输出
本文章在此引入差分方程的零输入响应与零状态响应分析方法,对于系统来说,该分析方法能很好地表述出系统响应的物理意义。
差分方程的分解
有差分方程
$\\displaystyle{ \\sum_{i=0}^N a_i y[n-i] = \\sum_{k=0}^M b_k x[n-k] } \\qquad (a_0=1)$
该差分方程表征的系统如下图
从整个系统来说,输出$y[n]$由两类外部参数决定:
- 初始状态$y[-N],y[-N+1],…,y[-2],y[-1]$
- 输入为$x[-M],x[-M+1],…,x[-1],x[0],x[1],…,x[n]$
零输入响应(Zero Input Response)
零输入表示$x[-M],x[-M+1],…,x[-1],x[0],x[1],…,x[n]$全为0,也就是整个系统的输出只受初始状态的影响。此时输出(输入响应)为$ y_{zi}$。
零输入响应的迭代计算
$y_{zi}[0] = -( a_1 y[-1] + a_2 y[-2] + \\cdot\\cdot\\cdot+a_N y[-N])$
$y_{zi}[1] = -( a_1 y_{zi}[0] + a_2 y[-1] + \\cdot\\cdot\\cdot+a_N y[-N+1])$
$y_{zi}[2] = -( a_1 y_{zi}[1] + a_2 y[0] + \\cdot\\cdot\\cdot+a_N y[-N+2])$
$\\cdot\\cdot\\cdot$
$y_{zi}[n] = -( a_1 y_{zi}[n-1] + a_2 y_{zi}[n-2] + \\cdot\\cdot\\cdot+a_N y_{zi}[n-N])$
零输入响应的闭式解
零输入响应的输入全为0,即差分方程的右边为0,也就是说需要求解如下的差分方程:
$\\displaystyle{ \\sum_{i=0}^N a_i y[n-i] = 0 } $
最后通过初始条件(初始状态)$y[-N],y[-N+1],…,y[-1]$求出幂多项式的各个系数。
零状态响应(Zero State Response)
零状态的在这里的意思是零初始状态,也就是说$y[-N]=y[-N+1]=,…,=y[-1]=0$。那么整个系统的输出只受到输入影响,此时输出为$y_{zs}$
零状态响应的迭代计算
$y_{zs}[0] = b_0x[0]+b_1x[-1]+\\cdot\\cdot\\cdot+b_Mx[-M]$
$y_{zs}[1] = b_0x[1]+b_1x[0]+\\cdot\\cdot\\cdot+b_Mx[-M+1] - a_1y_{zs}[0]$
$y_{zs}[2] = b_0x[2]+b_1x[1]+\\cdot\\cdot\\cdot+b_Mx[-M+2] – (a_1y_{zs}[1]+a_2y_{zs}[0])$
$\\cdot\\cdot\\cdot$
$y_{zs}[n] = b_0x[n]+b_1x[n-1]+\\cdot\\cdot\\cdot+b_Mx[n-M] – (a_1y_{zs}[n-1]+a_2y_{zs}[n-2]+\\cdot\\cdot\\cdot+a_Ny_{zs}[n-N])$
零状态响应的闭式解
零状态响应的初始状态全为0,也就是说我们需要像往常一样求得差分方程的闭式解
$\\displaystyle{ \\sum_{i=0}^N a_i y[n-i] = \\sum_{k=0}^M b_k x[n-k] } $
不过在最后求系数阶段用到的初始条件(初始状态)为:$y[-N]=y[-N+1]=,…,=y[-1]=0$
输y[n]
回头看零输入响应以及零状态响应的迭代计算,我们发现如下规律:
$\\begin{align*}
y[0] &= -( a_1 y[-1] + a_2 y[-2] + \\cdot\\cdot\\cdot+a_N y[-N])\\\\
&\\qquad+b_0x[0]+b_1x[-1]+\\cdot\\cdot\\cdot+b_Mx[-M] \\\\
&= y_{zi}[0]+y_{zs}[0]
\\end{align*}$
$\\begin{align*}
y[1] &= -( a_1 y[0] + a_2 y[-1] + \\cdot\\cdot\\cdot+a_N y[-N+1]) \\\\
&\\qquad +b_0x[1]+b_1x[0]+\\cdot\\cdot\\cdot+b_Mx[-M+1] \\\\
&= -( a_1 y_{zi}[0] + a_2 y[-1] + \\cdot\\cdot\\cdot+a_N y[-N+1])\\\\
&\\qquad + b_0x[1]+b_1x[0]+\\cdot\\cdot\\cdot+b_Mx[-M+1] - a_1y_{zs}[0]\\\\
&= y_{zi}[1]+y_{zs}[1]
\\end{align*}$
$y[2] = y_{zi}[2]+y_{zs}[2]$
$\\cdot\\cdot\\cdot$
$y[n] = y_{zi}[n]+y_{zs}[n]$
得出结论,线性常系数差分方程系统的输出是由零输入响应与零状态响应组合而来。
以上是关于差分方程的零输入响应与零状态响应的主要内容,如果未能解决你的问题,请参考以下文章
在MATLAB中利用filter函数在给定输入和差分方程时求差分方程的解。给出如下差分方程: