梅森增益公式 (英語:Mason's Gain Formula ,MGF )是寻找线性信号流图 (SFG)传递函数 的方法。该公式是塞缪尔·杰斐逊·梅森 推导出的,[ 1] 也是用他的名字命名的。MGF是用代数方法标记每个信号,将信号依赖于其他信号的方式写成方程,然后求解多元方程组得出输出信号与输入信号的关系,以求传递函数的方法。MGF提供了由信号流图一步一步获得传递函数的方法。通常,MGF可以通过检查信号流图 确定。该方法可以很容易地处理多变量、多回路包括内循环回路的信号流图。MGF经常出现在控制系统 和数字滤波器 的内容中,因为控制系统和数字滤波器常會用信号流图表示。
增益公式如下:
G
=
y
out
y
in
=
∑
k
=
1
N
G
k
Δ
k
Δ
{\displaystyle G={\frac {y_{\text{out}}}{y_{\text{in}}}}={\frac {\sum _{k=1}^{N}{G_{k}\Delta _{k}}}{\Delta \ }}}
Δ
=
1
−
∑
L
i
+
∑
L
i
L
j
−
∑
L
i
L
j
L
k
+
⋯
+
(
−
1
)
m
∑
⋯
+
⋯
{\displaystyle \Delta =1-\sum L_{i}+\sum L_{i}L_{j}-\sum L_{i}L_{j}L_{k}+\cdots +(-1)^{m}\sum \cdots +\cdots }
其中:
Δ
{\textstyle \Delta }
= 图的特征式
y
i
n
{\displaystyle y_{\mathrm {in} }}
= 输入节点变量
y
o
u
t
{\displaystyle y_{\mathrm {out} }}
= 输出节点变量
G =
y
i
n
{\displaystyle y_{\mathrm {in} }}
和
y
o
u
t
{\displaystyle y_{\mathrm {out} }}
间的总增益
N =
y
i
n
{\displaystyle y_{\mathrm {in} }}
与
y
o
u
t
{\displaystyle y_{\mathrm {out} }}
间的前向通道的总数
G k =
y
i
n
{\displaystyle y_{\mathrm {in} }}
与
y
o
u
t
{\displaystyle y_{\mathrm {out} }}
间的第 k 个前向通道的路径增益
L i = 系统中每个闭环回路增益
L i L j = 任意2个互不接触回路(没有公共节点)的回路增益的乘积
L i L j L k = 任何三个互不接触回路的回路增益的乘积
Δ
k
{\textstyle \Delta _{k}}
= 第 k 个前向通道的余子式,即将接触第 k 个前向通道的回路增益置为0后,特征式Δ所剩下的部分。
通道:一组沿标识方向的连接输入输出的连续分支
前向通道:从一个输入节点到一个输出节点的通道,每个节点接触不超过一次。
回路:起始和终止在相同节点,并且没有节点接触两次的通道。
路径增益:该通道的所有分支的增益之积。
回路增益:回路中所有分支的增益之积[ 2] 。
要使用这种方法,
列出前向通道和它们的增益,将他们记为 G k 。
列出所有回路和它们的增益,将他们记为 L i (对第 i 个回路)。列出所有互不接触的回路和他们的增益(L i L j )。列出所有三个互不接触的回路(L i L j L k ),然后四个,以至更多,直到找不出更多的互不接触的组合。
计算特征式 Δ 和余子式 Δk 。
运用公式。
包含二端口电路的信号流图。从输入到输出前向通道用不同的颜色显示。
需要求从 Vin 到 V2 的传递函数。
只有一个前向通路:
Vin 到 V1 到 I2 到 V2 增益为
G
1
=
−
y
21
R
L
{\displaystyle G_{1}=-y_{21}R_{L}\,}
有三个回路:
V1 到 I1 到 V1 增益为
L
1
=
−
R
i
n
y
11
{\displaystyle L_{1}=-R_{in}y_{11}\,}
V2 到 I2 到 V2 增益为
L
2
=
−
R
L
y
22
{\displaystyle L_{2}=-R_{L}y_{22}\,}
V1 到 I2 到 V2 到 I1 到 V1 增益为
L
3
=
y
21
R
L
y
12
R
i
n
{\displaystyle L_{3}=y_{21}R_{L}y_{12}R_{in}\,}
Δ
=
1
−
(
L
1
+
L
2
+
L
3
)
+
(
L
1
L
2
)
{\displaystyle \Delta =1-(L_{1}+L_{2}+L_{3})+(L_{1}L_{2})\,}
注意:L1 和 L2 相互不接触,而 L3 接触其他两个回路。
Δ
1
=
1
{\displaystyle \Delta _{1}=1\,}
注意:前向通路接触了所有回路,所以剩下的就是 1 。
G
=
G
1
Δ
1
Δ
=
−
y
21
R
L
1
+
R
i
n
y
11
+
R
L
y
22
−
y
21
R
L
y
12
R
i
n
+
R
i
n
y
11
R
L
y
22
{\displaystyle G={\frac {G_{1}\Delta _{1}}{\Delta }}={\frac {-y_{21}R_{L}}{1+R_{in}y_{11}+R_{L}y_{22}-y_{21}R_{L}y_{12}R_{in}+R_{in}y_{11}R_{L}y_{22}}}\,}
数字无限脉冲响应双二阶滤波器的信号流图(SFG)。信号流图有三个前向通道和两个回路。
经常将数字滤波器 化成信号流图。
有两个回路
L
1
=
−
a
1
Z
−
1
{\displaystyle L_{1}=-a_{1}Z^{-1}\,}
L
2
=
−
a
2
Z
−
2
{\displaystyle L_{2}=-a_{2}Z^{-2}\,}
Δ
=
1
−
(
L
1
+
L
2
)
{\displaystyle \Delta =1-(L_{1}+L_{2})\,}
注意,这两个回路接触,所以没有他们的乘积项。
有三个前向通道
G
0
=
b
0
{\displaystyle G_{0}=b_{0}\,}
G
1
=
b
1
Z
−
1
{\displaystyle G_{1}=b_{1}Z^{-1}\,}
G
2
=
b
2
Z
−
2
{\displaystyle G_{2}=b_{2}Z^{-2}\,}
所有的前向通道都接触,所以
Δ
0
=
Δ
1
=
Δ
2
=
1
{\displaystyle \Delta _{0}=\Delta _{1}=\Delta _{2}=1\,}
G
=
G
0
Δ
0
+
G
1
Δ
1
+
G
2
Δ
2
Δ
{\displaystyle G={\frac {G_{0}\Delta _{0}+G_{1}\Delta _{1}+G_{2}\Delta _{2}}{\Delta }}\,}
G
=
b
0
+
b
1
Z
−
1
+
b
2
Z
−
2
1
+
a
1
Z
−
1
+
a
2
Z
−
2
{\displaystyle G={\frac {b_{0}+b_{1}Z^{-1}+b_{2}Z^{-2}}{1+a_{1}Z^{-1}+a_{2}Z^{-2}}}\,}
伺服驅動器的信號流圖。θC = 理想的角度命令,θL = 實際負載的角度,KP = 位置迴路的增益,VωC = 速度命令, VωM = 馬達速度感測的電壓,KV =速度迴路增益,VIC = 電流命令,VIM = 電流感測器回授電壓,KC = 電流迴路增益,VA = 功率放大器輸出電壓,VM = 電感兩側的等效電壓,LM = 馬達互感,IM = 馬達電流,RM = 馬達電阻,RS = 電流感測器電阻,KM = 馬達轉矩常數(Nm/amp),T = 轉矩,M = 所有轉動元件的轉動慣量,α = 角加速度,ω = 角速度,β = 機械阻尼, GM = 馬達反電動勢常數,GT = 轉速表轉換增益常數。其中有一個前向通道(以不同顏色表示)及六個回路。假設馬達的軸有足夠的剛性,不需視為一個彈簧。其中的常數以黑色表示,變數則以紫色表示。
此信號流中有六個迴路,分別是:
L
0
=
−
β
s
M
{\displaystyle L_{0}=-{\frac {\beta }{sM}}\,}
L
1
=
−
(
R
M
+
R
S
)
s
L
M
{\displaystyle L_{1}={\frac {-(R_{M}+R_{S})}{sL_{M}}}\,}
L
2
=
−
G
M
K
M
s
2
L
M
M
{\displaystyle L_{2}=\,{\frac {-G_{M}K_{M}}{s^{2}L_{M}M}}}
L
3
=
−
K
C
R
S
s
L
M
{\displaystyle L_{3}={\frac {-K_{C}R_{S}}{sL_{M}}}\,}
L
4
=
−
K
V
K
C
K
M
G
T
s
2
L
M
M
{\displaystyle L_{4}={\frac {-K_{V}K_{C}K_{M}G_{T}}{s^{2}L_{M}M}}\,}
L
5
=
−
K
P
K
V
K
C
K
M
s
3
L
M
M
{\displaystyle L_{5}={\frac {-K_{P}K_{V}K_{C}K_{M}}{s^{3}L_{M}M}}\,}
Δ
=
1
−
(
L
0
+
L
1
+
L
2
+
L
3
+
L
4
+
L
5
)
+
(
L
0
L
1
+
L
0
L
3
)
{\displaystyle \Delta =1-(L_{0}+L_{1}+L_{2}+L_{3}+L_{4}+L_{5})+(L_{0}L_{1}+L_{0}L_{3})\,}
只有一个前向通路:
g
0
=
−
K
P
K
V
K
C
K
M
s
3
L
M
M
{\displaystyle g_{0}={\frac {-K_{P}K_{V}K_{C}K_{M}}{s^{3}L_{M}M}}\,}
所有的前向通道都接触,所以
Δ
0
=
1
{\displaystyle \Delta _{0}=1}
整個系統的增益是
θ
L
θ
C
=
g
0
Δ
0
Δ
{\displaystyle {\frac {\theta _{L}}{\theta _{C}}}={\frac {g_{0}\Delta _{0}}{\Delta }}\,}
梅森增益公式可以用簡單的矩陣公式表示。假設
T
{\displaystyle \mathbf {T} }
是信號流圖的轉換矩陣,其中
t
n
m
=
[
T
]
n
m
{\displaystyle t_{nm}=\left[\mathbf {T} \right]_{nm}}
是由節點m 到'n所有分支transmittance的和,則節點 m到'n 的增益為
u
n
m
=
[
U
]
n
m
{\displaystyle u_{nm}=\left[\mathbf {U} \right]_{nm}}
,其中
U
=
(
I
−
T
)
−
1
{\displaystyle \mathbf {U} =\left(\mathbf {I} -\mathbf {T} \right)^{-1}}
,
而
I
{\displaystyle \mathbf {I} }
為單位矩陣。
梅森增益公式也可以用在推導有巢狀網路(其內迴路在外迴路以內)的離散網路z域传递函数。若是離散網路可以以信號流圖表示,則梅森增益公式可以計算網路的z域传递函数H(z)。
由於有向圖的路徑數會隨節點會以階乘的形式增加,因此梅森增益公式的複雜度會以階乘的形式往上成長。先考慮完整的有
n
{\displaystyle n}
個頂點的有向圖,每二個頂點都有一個邊,從節點
y
i
n
{\displaystyle y_{in}}
到節點
y
o
u
t
{\displaystyle y_{out}}
的路徑會是其他
(
n
−
2
)
!
{\displaystyle (n-2)!}
個節點的
(
n
−
2
)
!
{\displaystyle (n-2)!}
個排列,因此在一般的情形下,高斯消去法 會比此方式有效率很多。
不過梅森增益公式將互相連接的系統的轉換函數用代數及組合的方處理,允許一些代数系统理论中較廣義的定義及計算方式。高斯消去法中會有許多的倒數計算,而梅森增益公式將其整理為單一的逆元素 ,其通式為
p
1
−
q
,
{\displaystyle {\frac {p}{1-q}},}
如上所述,
q
{\displaystyle q}
是迴路乘積的總和,每一個都是环论中的理想 。上式的分數形成有理函數 的子環
R
(
1
+
⟨
L
i
⟩
)
−
1
{\displaystyle R(1+\langle L_{i}\rangle )^{-1}}
。上述的觀察可以延伸到非交換性的情形[ 3] ,不過梅森增益公式會被里格尔公式 (Riegle's rule)所取代。
Bolton, W. Newnes. Control Engineering Pocketbook. Oxford: Newnes. 1998.
Van Valkenburg, M. E. Network Analysis 3rd. Englewood Cliffs, NJ: Prentice-Hall. 1974.