• 2022.7.17:初始版本

状态空间平均法与小信号基本建模法遵循相同的建模思想,即:求平均变量、分离扰动、线性化。我们以buck变换器建模为例来阐述这一建模方法。

1. 求平均变量

开关变换器在一个周期内有多个状态,针对第n个状态的等效电路列写工作状态的状态方程和输出方程如下:

\[\bold{\dot x}_n(t)=\bold A_n\bold x(t)+\bold B_n \bold u(t)\\
\bold y_n(t)=\bold C_n\bold x(t)+\bold E_n\bold u(t)
\]
其中:
1. \(\bold x(t)\)为状态向量,在开关变换器网络中选取电感电流和电容电压。
2. \(\bold u(t)\)为输入向量,为网络独立输入的量,如电源电压,二极管压降(可以看成电压源)
3. \(\bold{\dot x}(t)\)是状态向量的一阶导数。
4. \(\bold y(t)\)为输出向量,可以自由选择受控变量,主要是输入电感电流和输出电容电压。
5. \(A,B\)为状态矩阵和输入矩阵。
6. \(C,E\)为输出矩阵和传递矩阵。
为消除开关纹波影响,对状态变量\(\bold x_n\)在一个开关周期内取平均,建立平均状态变量的状态方程如下:
\[<\bold x(t)>_{T_s}=\frac{1}{T_s}\int_t^{t+T_s}x(\tau)d\tau
\]
因此得到:
\[\begin{align}
<\bold{\dot x}(t)>_{T_s}&=\frac{d(<\bold x(t)>_{T_s})}{dt}\\
&=\frac{d}{dt}(\frac{1}{T_s}\int_t^{t+T_s}\bold x(\tau)d\tau)\\
&=\frac{1}{T_s}\int_t^{t+T_s}(\frac{d\bold x(\tau)}{d\tau})d\tau\\
&=\frac{1}{T_s}\int_t^{t+T_s}\bold{\dot x}(\tau)d\tau\\
&=\frac{1}{T_s}(\int_t ^{t+dT_s}\bold{\dot x}(\tau)d\tau+\int_{t+dT_s}^{t+T_s}\bold{\dot x}(\tau)d\tau)\\
&=\frac{1}{T_s}\{\int_t^{t+dT_S}[\bold A_1\bold x(\tau)+\bold B_1\bold u(\tau)]d\tau+\int_{t+dT_s}^{t+T_s}[\bold A_2\bold x(\tau)+\bold B_2\bold u(\tau)]d\tau\}\\
&\simeq\frac{1}{T_s}\{\int_t^{t+dT_S}[\bold A_1\bold <\bold x(\tau)>_{T_s}+\bold B_1<\bold u(\tau)>_{T_s}]d\tau+\int_{t+dT_s}^{t+T_s}[\bold A_2<\bold x(\tau)>_{T_s}+\bold B_2<\bold u(\tau)>_{T_s}]d\tau\}\\
&\simeq\frac{1}{T_s}\{[\bold A_1<\bold x(\tau)>_{T_s}+\bold B_1<\bold u(\tau)>_{T_s}]dT_s+[A_2<\bold x(\tau)>_{T_s}+\bold B_2<\bold u(\tau)>_{T_s}](1-d)T_s\}\\
&=[d(t)\bold A_1+d'(t)\bold A_2]<\bold x(t)>_{T_s}+[d(t)\bold B_1+d'(t)\bold B_2]<\bold u(t)>_{T_s}
\end{align}
\]
同理,可以得到:
\[<\bold y(t)>_{T_s}=[d(t)\bold C_1+d'(t)\bold C_2]<\bold x(t)>_{T_s}+[d(t)\bold E_1+d'(t)\bold E_2]<\bold u(t)>_{T_s}
\]

求解状态空间python 状态空间方法_状态方程

如图a所示,在buck变换器中只有一个电感和一个电容,因此,我们设:

\[\bold x(t)=\begin{bmatrix}i_L(t)\\v_2(t)\end{bmatrix}\\
\bold u(t)=\begin{bmatrix}v_1(t)\end{bmatrix}\\
\bold y(t)=\begin{bmatrix}i_1(t)\\v_2(t)\end{bmatrix}
\]
其中,\(v_1,v_2,i_1,i_L\)分别代表输入电压、输出(电容)电压、输入电流和电感电流。
1. 工作状态1
如图b所示,\(i_1=i_L\),对电感和电容列写微分方程,有:
\[v_L=v_1-v_2=L\frac{di_L}{dt}
\longrightarrow \frac{di_L}{dt}=\frac{v_1}{L}-\frac{v_2}{L}\\
i_C=i_L-i_2=C\frac{dv_2}{dt}
\longrightarrow \frac{dv_2}{dt}=\frac{i_1}{C}-\frac{v_2}{RC}
\]
因此得到状态方程:
\[\begin{bmatrix}\frac{di_L}{dt}\\\frac{v_2}{dt}\end{bmatrix}=\begin{bmatrix}0\ \ \ \ \ \ -\frac{1}{L}\\\frac{1}{C}\ \ \ \ -\frac{1}{RC}\end{bmatrix}\begin{bmatrix}i_
L(t)\\v_2(t)\end{bmatrix}+\begin{bmatrix}\frac{1}{L}\\0\end{bmatrix}\begin{bmatrix}v_1(t)\end{bmatrix}
\]
输出方程:
\[\begin{bmatrix}i_1\\v_2\end{bmatrix}=\begin{bmatrix}1\ \ \ \ 0\\0\ \ \ \ 1\end{bmatrix}\begin{bmatrix}i_L(t)\\v_2(t)\end{bmatrix}+\begin{bmatrix}0\\0\end{bmatrix}\begin{bmatrix}v_1(t)\end{bmatrix}
\]
因此得到矩阵\(A_1,B_1,C_1,E_1\)为:
\[\begin{align}
&\bold{A_1}=\begin{bmatrix}0\ \ \ \ \ \ -\frac{1}{L}\\\frac{1}{C}\ \ \ \ -\frac{1}{RC}\end{bmatrix}\\
&\bold{B_1}=\begin{bmatrix}\frac{1}{L}\\0\end{bmatrix}\\
&\bold{C_1}=\begin{bmatrix}1\ \ \ \ 0\\0\ \ \ \ 1\end{bmatrix}\\
&\bold{E_1}=\begin{bmatrix}0\\0\end{bmatrix}
\end{align}
\]2. 工作状态2
如图c所示,\(i_1=0\),对电感和电容列写微分方程,有:
\[v_L=0-v_2=L\frac{di_L}{dt}\longrightarrow \frac{di_L}{dt}=-\frac{v_2}{L}\\
i_C=i_L-i_2=C\frac{dv_2}{dt}\longrightarrow \frac{dv_2}{dt}=\frac{i_L}{C}-\frac{v_2}{RC}
\]
因此得到状态方程:
\[\begin{bmatrix}\frac{di_L}{dt}\\\frac{v_2}{dt}\end{bmatrix}
=\begin{bmatrix}0\ \ \ \ \ \ -\frac{1}{L}\\\frac{1}{C}\ \ \ \ -\frac{1}{RC}\end{bmatrix}
\begin{bmatrix}i_L(t)\\v_2(t)\end{bmatrix}
+\begin{bmatrix}0\\0\end{bmatrix}
\begin{bmatrix}v_1(t)\end{bmatrix}
\]
输出方程:
\[\begin{bmatrix}i_1\\v_2\end{bmatrix}=\begin{bmatrix}0\ \ \ \ 0\\0\ \ \ \ 1\end{bmatrix}\begin{bmatrix}i_L(t)\\v_2(t)\end{bmatrix}+\begin{bmatrix}0\\0\end{bmatrix}\begin{bmatrix}v_1(t)\end{bmatrix}
\]
因此得到矩阵\(A_2,B_2,C_2,E_2\)为:
\[\begin{align}
&\bold{A_2}=\begin{bmatrix}0\ \ \ \ \ \ -\frac{1}{L}\\\frac{1}{C}\ \ \ \ -\frac{1}{RC}\end{bmatrix}\\
&\bold{B_2}=\begin{bmatrix}0\\0\end{bmatrix}\\
&\bold{C_2}=\begin{bmatrix}0\ \ \ \ 0\\0\ \ \ \ 1\end{bmatrix}\\
&\bold{E_2}=\begin{bmatrix}0\\0\end{bmatrix}
\end{align}
\]3. 求静态工作点
\[\begin{align}
&\bold A=d\bold A_1+d'\bold A_2=
\begin{bmatrix}0\ \ \ \ \ \ -\frac{1}{L}\\\frac{1}{C}\ \ \ \ -\frac{1}{RC}\end{bmatrix}\\
&\bold B=d\bold B_1+d'\bold B_2=\begin{bmatrix}\frac{d}{L}\\0\end{bmatrix}\\
&\bold C=d\bold C_1+d'\bold C_2=\begin{bmatrix}d\ \ \ \ 0\\0\ \ \ \ 1\end{bmatrix}\\
&\bold E=d\bold E_1+d'\bold E_2=\begin{bmatrix}0\\0\end{bmatrix}
\end{align}
\]2. 分离扰动
为了得到开关变换器的等效电路和传递函数,需要分离出直流分量和扰动分量。小信号的传递函数实际上是对于扰动量的传递函数。
对平均向量做分解:
\[<\bold x(t)>_{T_s}=\bold x+\bold{\hat x}(t)\\
<\bold{\dot x(t)}>_{T_s}=\bold{\dot x}+\bold{\hat{\dot x}}(t)\\
<\bold u(t)>_{T_s}=\bold u+\bold{\hat u}(t)\\
<\bold y(t)>_{T_s}=\bold y+\bold{\hat y}(t)\\
d(t)=D+\hat d(t)\\
d'(t)=1-d(t)=D'-\hat d(t)
\]
带入\(<\bold{\dot x}(t)>_{T_s}\)和\(<\bold y(t)>_{T_s}\)表达式,得到:
\[\bold{\dot x}+\bold{\hat{\dot x}}(t)=\bold A\bold x+\bold B\bold u+\bold A\bold{\hat x}(t)+\bold B\bold{\hat u}(t)+[(\bold A_1-\bold A_2)\bold x+(\bold B_1-\bold B_2)\bold u]\hat d(t)+(\bold A_1-\bold A_2)\bold{\hat x(t)}\hat d(t)+(\bold B_1-\bold B_2)\bold{\hat u}(t)\hat d(t)\\

\bold y+\bold{\hat y}(t)=\bold C\bold x+\bold E\bold u+\bold C\bold{\hat x}(t)+\bold E\bold{\hat u}(t)+[(\bold C_1-\bold C_2)\bold x+(\bold E_1-\bold E_2)\bold u]\hat d(t)+(\bold C_1-\bold C_2)\bold{\hat x(t)}\hat d(t)+(\bold E_1-\bold E_2)\bold{\hat u}(t)\hat d(t)
\]
因此得到直流量表达式为:
\[\bold{\dot x}=\bold A\bold x+\bold B\bold u\\
\bold y=\bold C\bold x+\bold E\bold u\\
\]
令稳态时直流分量\(\bold x\)为常数,\(\bold{\dot x}=0\),则:
\[\bold x=-\bold A^{-1}\bold B\bold u\\
\bold y=(\bold E-\bold C\bold A^{-1}\bold B)\bold u
\]
扰动量表达式为:
\[\bold{\hat{\dot x}}(t)=\bold A\bold{\hat x}(t)+\bold B\bold{\hat u}(t)+[(\bold A_1-\bold A_2)\bold x+(\bold B_1-\bold B_2)\bold u]\hat d(t)+(\bold A_1-\bold A_2)\bold{\hat x(t)}\hat d(t)+(\bold B_1-\bold B_2)\bold{\hat u}(t)\hat d(t)\\

\bold{\hat y}(t)=\bold C\bold{\hat x}(t)+\bold E\bold{\hat u}(t)+[(\bold C_1-\bold C_2)\bold x+(\bold E_1-\bold E_2)\bold u]\hat d(t)+(\bold C_1-\bold C_2)\bold{\hat x(t)}\hat d(t)+(\bold E_1-\bold E_2)\bold{\hat u}(t)\hat d(t)
\]
对于buck变换器,我们令:
\[\bold x=\begin{bmatrix}I_L\\V_2\end{bmatrix}\\
\bold u=[V_1]\\
\bold y=\begin{bmatrix}I_1\\V_2\end{bmatrix}\\
\]
则变换器的静态工作点可求出:
\[\bold x=\begin{bmatrix}I_L\\V_2\end{bmatrix}=\begin{bmatrix}0\ \ \ \ \ \ -\frac{1}{L}\\\frac{1}{C}\ \ \ \ -\frac{1}{RC}\end{bmatrix}^{-1}\begin{bmatrix}\frac{d}{L}\\0\end{bmatrix}V_1=\begin{bmatrix}\frac{d}{R}\\d\end{bmatrix}V_1\\

\bold y=\begin{bmatrix}I_1\\V_2\end{bmatrix}=(\begin{bmatrix}0\\0\end{bmatrix}-\begin{bmatrix}d\ \ \ \ 0\\0\ \ \ \ 1\end{bmatrix}\begin{bmatrix}0\ \ \ \ \ \ -\frac{1}{L}\\\frac{1}{C}\ \ \ \ -\frac{1}{RC}\end{bmatrix}^{-1}\begin{bmatrix}\frac{d}{L}\\0\end{bmatrix})V_1=\begin{bmatrix}\frac{d^2}{R}\\d\end{bmatrix}V_1\\
\]
则电压增益,电感电流稳态值,输入电流稳态值可求出:
\[M=\frac{V_2}{V_1}=d\\
I_L=\frac{V_2}{R}=\frac{dV_1}{R}\\
I_1=\frac{d^2V_1}{R}
\]
3. 线性化
对于\(\bold{\hat{\dot x}}(t)\)和\(\bold{\hat y(t)}\)表达式,忽略高阶小量,得到:
\[\bold{\hat{\dot x}}(t)=\bold A\bold{\hat x}(t)+\bold B\bold{\hat u}(t)+[(\bold A_1-\bold A_2)\bold x+(\bold B_1-\bold B_2)\bold u]\hat d(t)\\

\bold{\hat y}(t)=\bold C\bold{\hat x}(t)+\bold E\bold{\hat u}(t)+[(\bold C_1-\bold C_2)\bold x+(\bold E_1-\bold E_2)\bold u]\hat d(t)
\]
至此扰动量线性化完成。
4. 小信号分析
对线性化后的表达式做拉普拉斯变换,得到:
\[s\bold{\hat x}(s)=\bold A\bold{\hat x}(s)+\bold B\bold{\hat u}(s)+[(\bold A_1-\bold A_2)\bold x+(\bold B_1-\bold B_2)\bold u]\hat d(s)\\

\bold{\hat y}(s)=\bold C\bold{\hat x}(s)+\bold E\bold{\hat u}(s)+[(\bold C_1-\bold C_2)\bold x+(\bold E_1-\bold E_2)\bold u]\hat d(s)
\]
联立方程,解得:
\[\bold{\hat x}(s)=(s\bold I-\bold A)^{-1}\bold B\bold{\hat u}(s)+(s\bold I-\bold A)^{-1}[(\bold A_1-\bold A_2)\bold x+(\bold B_1-\bold B_2)\bold u]\hat d(s)\\

\bold{\hat y}(s)=(\bold C(s\bold I-\bold A)^{-1}\bold B+\bold E)\bold{\hat u}(s)+\{\bold C(s\bold I-\bold A)^{-1}[(\bold A_1-\bold A_2)\bold x+(\bold B_1-\bold B_2)\bold u]+[(\bold C_1-\bold C_2)\bold x+(\bold E_1-\bold E_2)\bold u]\}\hat d(s)
\]
得到四个传递函数:
1. 状态变量\(\bold{\hat x}(s)\)对输入变量\(\hat v_1(s)\)的传递函数:
\[G(s)=\frac{\bold{\hat x}(s)}{\hat v_1(s)}|_{\hat d(s)=0}=(s\bold I-\bold A)^{-1}\bold B
\]2. 状态变量\(\bold{\hat x}(s)\)对控制变量\(\hat d(s)\)的传递函数:
\[G(s)=\frac{\bold{\hat x}(s)}{\hat d(s)}|_{\hat v_g(s)=0}=(s\bold I-\bold A)^{-1}[(\bold A_1-A_2)\bold x+(\bold B_1-\bold B_2)v_1]
\]3. 输出变量\(\bold{\hat y}(s)\)对输入变量\(\hat v_1(s)\)的传递函数:
\[G(s)=\frac{\bold{\hat y}(s)}{\hat v_1(s)}|_{\hat d(s)=0}=\bold C(s\bold I-\bold A)^{-1}\bold B+\bold E
\]4. 输出变量\(\bold{\hat y}(s)\)对控制变量\(\hat d(s)\)的传递函数:
\[G(s)=\frac{\bold{\hat y}(s)}{\hat d(s)}|_{\hat v_g(s)=0}=\bold C(s\bold I-\bold A)^{-1}[(\bold A_1-A_2)\bold x+(\bold B_1-\bold B_2)v_1]+(\bold C_1-\bold C_2)\bold x+(\bold E_1-\bold E_2)v_1
\]

因此得到占空比\(d\)和输出电压\(v_2\)之间的传递函数\(G_{vd}=\frac{v_1}{1+s\frac{L}{R}+s^2LC}\)

其他传递函数可以自行推导,后续更新。