[제어공학] 9. 신호흐름선도
신호흐름선도(signal-flow graph, SFG)는 블록선도의 단순표현으로 생각할 수 있다. 신호흐름선도는 일련의 선형 대수방정식의 변수 사이의 입출력관계를 도식적으로 나타내는 방법으로 정의될 수 있다.
다음의 \(N\)개의 대수방정식으로 주어지는 선형시스템에서$$y_{j}=\sum_{k=1}^{N}{a_{kj}y_{k}}\,j=1,\,...,\,N$$다음과 같이 인과관계의 형태로 나타나있다.$$j\text{'th result}=\sum_{k=1}^{N}{(\text{gain for}k\,\text{to}j)\times(k\text{'th cause})}$$또는 간단히 다음과 같이 나타낼 수 있다.$$\text{output}=\sum{(\text{gain})\times(\text{input})}$$이것은 신호흐름선도가 그려질 대수방정식들을 구성하는데 가장 중요한 공리이다. 어떤 시스템이 미적분방정식으로 주어지면, 이 시스템을 라플라스변환을 하여 대수방정식으로 전환한 다음 위와 같은 대수방정식으로 전환한다. 즉$$Y_{j}(s)=\sum_{k=1}^{N}{G_{kj}(s)Y_{k}(s)}$$신호흐름선도를 그릴 때 마디(node, 또는 이음점)가 변수들을 나타내는데 사용된다. 마디들은 인과관계에 따라 가지(branch)로 연결되고, 가지는 이득과 방향을 갖고, 신호는 가지를 통해 화살표 방향으로 전달된다.
예: 어떤 선형시스템이 간단히 방정식 \(y_{2}=a_{12}y_{1}\)로 표현되고 \(y_{1}\)은 입력, \(y_{2}\)는 출력, \(a_{12}\)는 두 변수 사이의 이득이라고 하자. 마디 \(y_{1}\)과 \(y_{2}\)사이의 가지를 따라 이동하는 신호 \(y_{1}\)은 가지이득 \(a_{12}\)가 곱해져서 마디 \(y_{j}\)에 신호 \(a_{12}y_{1}\)이 전달되는 것이라고 볼 수 있고, 이 방정식의 신호흐름선도 표현은 다음과 같다.
마디 \(y_{1}\)(입력)에서 마디 \(y_{2}\)(출력)로 향하는 가지는 \(y_{2}\)의 \(y_{1}\)에 대한 의존관계를 나타내는 것이고 역은 성립하지 않는다. 이 것은 앞의 예의 방정식을 다음과 같이 나타낼 수는 있으나$$y_{1}=\frac{1}{a_{12}}y_{2}$$위의 신호흐름선도가 이러한 관계를 의미하지 않는다. 위의 식이 인과관계방정식으로 성립된다면 새로운 신호흐름선도가 \(y_{2}\)를 입력, \(y_{1}\)을 출력으로 하여 그려져야 한다.
다음의 연립대수방정식$$\begin{align*}y_{2}&=a_{12}y_{1}+a_{32}y_{3}\\y_{3}&=a_{23}y_{2}+a_{43}y_{4}\\y_{4}&=a_{24}y_{2}+a_{34}y_{3}+a_{44}y_{4}\\y_{5}&=a_{25}y_{2}+a_{45}y_{4}\end{align*}$$을 나타내는 신호흐름선도는 다음의 순서대로 그려진다.
신호흐름선도에 대해 앞에서 정의된 가지와 마디 외에 다음의 용어들이 신호흐름선도를 연산하는데 유용하게 사용된다.
입력마디(또는 소스, source): 입력마디(input node)는 밖으로 나가서 가지들만을 갖는 마디이다.
출력마디(또는 싱크, sink): 출력마디(output node)는 들어오는 가지들만을 갖는 마디이다. 그러나 이 조건이 출력마디에 언제나 충족되는 것은 아니다.
위의 왼쪽 그림의 신호흐름선도는 어느 마디도 출력마디가 아니다. 이 말은 \(y_{2}\) 또는 \(y_{3}\)를 출력마디로 간주할 필요가 있을 수 있다. \(y_{2}\)를 출력마디로 하려면 현재의 마디 \(y_{2}\)에서 새로운 마디 \(y_{2}\)로 단위이득(1)을 갖는 가지를 위의 오른쪽 그림처럼 연결하면 된다(\(y_{2}=y_{2}\)). \(y_{3}\)을 출력마디로 하려면 \(y_{3}\)에 새로운 마디 \(y_{3}\)로 단위이득을 갖는 가지를 연결하면 된다(\(y_{3}=y_{3}\)).
일반적으로 신호흐름선도의 임의의 비입력 마디는 앞의 방법에 의해 출력마디가 될 수 있으나 이 과정의 가지방향을 역으로 해서 비입력마디로 바꿀 수는 없다. 위의 왼쪽 그림의 마디 \(y_{2}\)는 입력마디가 아니다. \(y_{2}\)를 입력마디로 만들기 위해서 같은 마디 \(y_{2}\)에서의 단위이득을 갖는 가지로 연결하면 다음과 같이 된다.
위의 그림을 나타내는 방정식은 \(y_{2}=y_{2}+a_{12}y_{1}+a_{32}y_{3}\)이고, 이전의 왼쪽 그림과는 다른 방정식이다.
경로: 경로(path)는 같은 방향으로의 연속적인 가지들의 집합이다. 일반적으로 같은 마디를 여러번 거쳐도 된다.
전방경로: 전방경로(forward path)는 입력마디에서 출발해서 출력마디에서 끝나는 경로로 어느 마디도 한 번 이상 거쳐서는 안된다.
경로이득: 경로를 이루는 가지들의 이득의 곱을 경로이득(path gain)이라고 한다.
루프: 루프(loop)는 같은 마디에서 출발하고 끝나는 경로로서 다른 마디는 한 번 이상 거쳐서는 안된다.
전방경로이득: 전방경로이득(forward-path gain)은 전방경로의 경로이득이다.
루프이득: 루프이득(loop gain)은 루프의 경로이득이다. 예로 다음 그림의 루프 \(y_{2}-y_{4}-y_{3}-y_{2}\)의 루프이득은 \(a_{24}a_{43}a_{32}\)이다.
비접촉루프: 신호흐름선도의 두 부분이 공통의 마디를 공유하지 않으면 비접촉(nontouching)이다. 위의 그림에서 루프 \(y_{2}-y_{3}-y_{2}\)와 \(y_{4}-y_{4}\)는 비접촉루프이다.
신호흐름선도의 성질로부터 신호흐름선도의 조작과 연산법은 다음과 같다.
1. 마디로 표시된 변수의 값은 마디로 들어오는 모든 신호의 합과 같다. 다음 그림의 신호흐름선도에서 \(y_{1}\)의 값은 그 마디로 들어오는 모든 신호들의 합과 같다. 즉 \(y_{1}=a_{21}y_{2}+a_{31}y_{3}+a_{41}y_{4}+a_{51}y_{5}\)
3. 두 마디를 연결하는 같은 방향으로의 병렬가지는 병렬가지들의 이득의 합과 같은 이득을 갖는 하나의 가지로 대치될 수 있다. 이 경우에 대한 예는 다음의 그림이다.
4. 다음의 그림과 같이 같은 방향으로 직렬로 연결된 가지들은 가지이득들의 곱과 같은 이득을 갖는 하나의 가지로 대치될 수 있다.
다음의 그림에서
위의 오른쪽 신호흐름선도는 위의 왼쪽 블록선도를 갖는 피드백 제어시스템의 신호흐름선도이다. 일반적으로 블록선도와 신호흐름선도의 관계는 다음과 같다.
신호흐름선도나 블록선도가 주어졌을 때 대수적 연산으로 입출력관계를 찾는 것은 매우 번거로우나 관찰에 의해 신호흐름선도의 입출력 관계를 구할 수 있는 일반이득공식이 있다.
\(N\)개의 전방경로와 \(K\)개의 루프를 갖는 신호흐름선도가 주어지면, 입력마디 \(y_{\text{in}}\)과 출력마디 \(y_{\text{out}}\)사이의 이득은$$M=\frac{y_{\text{out}}}{y_{\text{in}}}=\sum_{k=1}^{N}{\frac{M_{k}\Delta_{k}}{\Delta}}$$여기서
\(y_{\text{in}}\)은 입력마디 변수, \(y_{\text{out}}\)은 출력마디 변수, \(M\)은 \(y_{\text{in}}\)과 \(y_{\text{out}}\)사이의 이득, \(N\)은 \(y_{\text{in}}\)과 \(y_{\text{out}}\)사이의 전방경로의 총 수, \(M_{k}\)는 \(y_{\text{in}}\)과 \(y_{\text{out}}\)사이의 \(k\)번째 전방경로의 이득$$\Delta=1-\sum_{i}{L_{i1}}+\sum_{j}{L_{j2}}-\sum_{k}{L_{k3}}+\cdots$$\(L_{mr}\)은 \(r\)개의 비접촉루프의 가능한 \(m\)번째(\(m=i,\,j,\,k\))조합의 이득 곱(\(1\leq r\leq K\))또는 \(\Delta\)를
1-(각각의 모든 루프이득의 합)+(두 개의 모든 비접촉루프의 가능한 모든 조합의 이득곱의 합)-(세 개의 비접촉루프의 가능한 모든 조합의 이득곱의 합)+...
\(\Delta_{k}\)는 \(k\)번째 전방경로와 접촉하지 않는 신호흐름선도에 대한 \(\Delta\)이다.
이득공식은 입력마디와 출력마디 사이에만 적용될 수 있다는 점에 유의한다.
위의 그림에서 \(R(s)\)와 \(Y(s)\)사이에는 오직 하나의 전방경로만 있고, 그 전방경로이득은 \(M_{1}=G(s)\)이다. 다음으로 오직 하나의 루프만 있고, 루프이득은 \(L_{11}=-G(s)H(s)\), 오직 하나의 루프이므로 비접촉루프들은 없다. 또한 전방경로가 그 루프와 접촉되어 있기 때문에 따라서 \(\Delta_{1}=1\)이고 \(\Delta=1-L_{11}=1+G(s)H(s)\), 폐루프 전달함수는 \(\displaystyle\frac{Y(s)}{R(s)}=\frac{M_{1}\Delta_{1}}{\Delta}=\frac{G(s)}{1+G(s)H(s)}\)이다.
위의 그림에서 이득공식을 이용해 \(y_{1}\)과 \(y_{5}\)사이의 이득을 결정하자.
\(y_{1}\)과 \(y_{5}\)사이의 세 개의 전방경로와 전방경로이득은
\(M_{1}=a_{12}a_{23}a_{34}a_{34}\) 전방경로: \(y_{1}-y_{2}-y_{3}-y_{4}-y_{5}\)
\(M_{2}=a_{12}a_{25}\) 전방경로: \(y_{1}-y_{2}-y_{5}\)
\(M_{3}=a_{12}a_{24}a_{45}\) 전방경로: \(y_{1}-y_{2}-y_{4}-y_{5}\)
이다. 신호흐름선도에서 네 개의 루프이득은$$L_{11}=a_{23}a_{32},\,L_{21}=a_{34}a_{43},\,L_{31}=a_{24}a_{43}a_{32},\,L_{41}=a_{44}$$비접촉루프는 \(y_{2}-y_{3}-y_{2}\)이고 \(y_{4}-y_{4}\)이다. 그래서 두 개의 비접촉 루프이득의 곱은 \(L_{12}=a_{23}a_{32}a_{44}\)이다. 모든 루프들은 전방경로 \(M_{1}\), \(M_{3}\)과 접촉하고 있고 따라서 \(\Delta_{1}=\Delta_{3}=1\)이다. \(y_{3}-y_{4}-y_{3}\)루프와 \(y_{4}-y_{4}\)루프는 전방경로와 접촉하지 않으므로 \(\Delta_{2}=1-a_{34}a_{43}-a_{44}\)이다. 그러면$$\begin{align*}\frac{y_{5}}{y_{1}}&=\frac{M_{1}\Delta_{1}+M_{2}\Delta_{2}+M_{3}\Delta_{3}}{\Delta}\\&=\frac{(a_{12}a_{23}a_{34}a_{45})+(a_{12}a_{25})(1-a_{34}a_{43}-a_{44})+a_{12}a_{24}a_{45}}{1-(a_{23}a_{32}+a_{34}a_{43}+a_{24}a_{32}a_{43}+a_{44})+a_{23}a_{32}a_{44}}\end{align*}$$이고, 여기서$$\begin{align*}\Delta&=1-(L_{11}+L_{21}+L_{31}+L_{41})+L_{42}\\&=1-(a_{23}a_{32}+a_{34}a_{43}+a_{24}a_{32}a_{43}+a_{44})+a_{23}a_{32}a_{44}\end{align*}$$이다. \(y_{2}\)를 출력으로 한다면 다음과 같다.$$\frac{y_{2}}{y_{1}}=\frac{a_{12}(1-a_{34}a_{43}-a_{44})}{\Delta}$$
위의 신호흐름선도에서$$\begin{align*}\frac{y_{2}}{y_{1}}&=\frac{1+G_{3}H_{2}+H_{4}+G_{3}H_{2}H_{4}}{\Delta},\,\frac{y_{4}}{y_{1}}=\frac{G_{1}G_{2}(1+H_{4})}{\Delta}\\ \frac{y_{6}}{y_{1}}&=\frac{y_{7}}{y_{1}}=\frac{G_{1}G_{2}G_{3}G_{4}+G_{1}G_{5}(1+G_{3}H_{2})}{\Delta}\end{align*}$$이고 여기서$$\begin{align*}\Delta&=1+G_{1}H_{1}+G_{3}H_{2}+G_{1}G_{2}G_{3}H_{3}+H_{4}+G_{1}G_{3}H_{1}H_{2}+G_{1}H_{1}H_{4}+G_{3}H_{2}H_{4}\\&+G_{1}G_{2}G_{3}H_{3}H_{4}+G_{1}G_{3}H_{1}H_{2}H_{4}\end{align*}$$이다.
일반적으로 \(y_{\text{in}}\)을 신호흐름선도의 입력, \(y_{\text{out}}\)을 출력이라고 하자. \(y_{2}\)가 입력이 아닐 때 이득 \(\displaystyle\frac{y_{\text{out}}}{y_{2}}\)는 다음과 같다.$$\frac{y_{\text{out}}}{y_{2}}=\frac{\displaystyle\frac{y_{\text{out}}}{y_{\text{in}}}}{\displaystyle\frac{y_{2}}{y_{\text{in}}}}=\frac{\sum M_{k}\Delta_{k}|_{y_{\text{in}}\text{to}y_{\text{out}}}}{\sum M_{k}\Delta_{k}|_{y_{\text{in}}\text{to}y_{2}}}$$일반적으로 시스템의 블록선도 또는 신호흐름선도에서 루프와 전방경로 사이에 비접촉루프가 없다면 입력 \(y_{\text{in}}\)과 출력 \(y_{\text{out}}\)사이의 이득은 다음과 같이 간단해진다.$$M=\frac{y_{\text{out}}}{y_{\text{in}}}=\sum\frac{\text{forward path gains}}{1-\text{loop gains}}$$
참고자료:
Automatic Control Systems 9th edition, Kuo, Golnaraghi, Wiley
'전자공학 > 제어공학' 카테고리의 다른 글
[제어공학] 11. 역학시스템의 모델링(2) (0) | 2020.07.08 |
---|---|
[제어공학] 10. 역학시스템의 모델링(1) (0) | 2020.07.07 |
[제어공학] 8. 블록선도(2) (0) | 2020.07.05 |
[제어공학] 7. 블록선도(1) (0) | 2020.07.04 |
[제어공학] 6. 선형시스템의 임펄스 응답, 전달함수 (0) | 2020.07.03 |