전자공학에서 **노달변형 회로분석법(Modified Nodal Analysis)** 또는 약어로 MNA는 노달 회로분석의 확장된 개념이다. 이 분석법은 교점(Node)에 걸리는 전압의 해석(노달 회로분석, Nodal Analysis)뿐만 아니라, 특정 지선(Branch)에 흐르는 전류또한 분석가능한 기법이다. 사실, 노달 회로분석에서는 흐르는 전류는 그대로 분석없이 표시되며 코일(인덕턴스, inductance)에 대한 분석을 하기 어렵다. 그리고, MNA는 모든 회로를 분석하여 이것을 행렬(매트릭스, Matrix)화 하여 수칙해석으로 적용이 가능하다. 실제적인 반도체 시뮬레이션이나 디자인에서는 노달 회로분석법 대신에 MNA를 사용하여 설계한다.

해석 방법
-----

**노달변형 회로 분석**에서는 BCE(Branch Constitutive Equation)나 KCL, KVL등을 모두 사용해서 해석을 한다.   

**분석 1**  

그라운드와 연결된 노드를 제외한 모든 노드에 입력과 아웃을 기준으로 KCL(키르히호프의 전하량 보존 법칙)을 적용한다. 노드를 기준으로 나아가는 것은 '+' 이고 들어오는 것은'-'이다. 아래 그림 1의 *e\_{2}* 노드를 기준으로 보면 들어오고 나아간 전류의 양의 합은 항상 0 이어야 한다.  

(여기에서 들어오는 것을 '+'로 하고 나아가는 것을 '-'으로 정한다고 해도 결과는 같다. 여러 가지 해석을 할 때 한가지 기준점이 필요하므로 이렇게 정의를 내리는 것 뿐이다. 사실, 전원은 주로 하나이고, 어드미턴스는 여러개인 경우가 많으므로 전원 하나 즉 들어오는 것을 '-'로 하고 나아가는 전류 즉 '+'로 하는 것이 수식을 기입하기 더 편리하다.)   

**분석 2** 

회로의 노드와 노드 사이의 가능한 모든 지선(Branch)에 BCE를 적용한다. 여기에서 노드의 전압은 'e' 가지(Branch)의 전압은 'V'로 표현한다. 노드1 과 노드 2사이 지선의 전압은 {\displaystyle V\_{R}=e\_{1}-e\_{2}}가 된다.(단 전류는 e\_{1}에서 e\_{2}로 흐른다)

**분석 3**

마지막으로 분석1에 분석2을 대입하여 식을 줄인다.

예제
--

아래 그림은 선형 저항과 콘덴스회로, RC회로이다. 저항은 R 대신에 어드미턴스(admittance) {\displaystyle G=1/R} 을 사용한다. 그럼 아래 회로를 해석해 보자.

RC CircuitRC 회로

| 요소 | 지선 공식 |
| --- | --- |
| 저항 | {\displaystyle I\_{R}=GV\_{R}} |
| 콘덴스 | {\displaystyle I\_{C}=C{\frac {dV\_{C}}{dt}}} |

**분석 1**

위의 회로는 두개의 노드가 있다. 노드의 전압을 e\_{1} 과 e\_{2}로 정의한다. 또한 여기에 {\displaystyle i\_{V\_{s}}} 그리고 {\displaystyle i\_{R}}, {\displaystyle i\_{C}} 3개의 전류가 존재한다. 위의 회로는 그라운드(Ground)를 기준으로 2 개의 노드(Node)와 3개의 가지(Branch)가 존재한다.

노드1 *e\_{1}*에 KCL 적용하면:

{\displaystyle i\_{V\_{s}}+i\_{R}=0}  

(여기에서 {\displaystyle i\_{V\_{s}}}은 '-' 값을 가진다. {\displaystyle -i\_{V\_{s}}=i\_{R}}에서 {\displaystyle i\_{V\_{s}}+i\_{R}=0} 로 치환된 값이다. 전류가 R에서 C의 방향으로 흐른다고 가정하면 전원의 실질적인 전자는 반대 방향으로 흐르게 된다. 그래서 전원의 값은 '-' 값을 가진다.)

노드2 *e\_{2}*에 값은:

{\displaystyle -i\_{R}+i\_{C}=0}

**분석 2**

BCE의 방식으로 위의 회로를 해석하면:

{\displaystyle V\_{s}=e\_{1}}  

(그라운드를 기준으로 V\_{s}는 e\_{1}과 같은 위치에 있다. 그래서 등식이 성립한다.)  

{\displaystyle V\_{R}=e\_{1}-e\_{2}}  

(전류는 전압이 높은 곳에서 낮은 곳으로 흐른다. 그래서 e\_{1}이 e\_{2}보다 높다. 높은 곳에서 낮은 곳으로 뺀다.)  

{\displaystyle V\_{C}=e\_{2}}
(그라운드를 기준으로 {\displaystyle V\_{C}}는 e\_{2}과 같은 위치에 있다.)  

분석 2의 식을 분석 1에 대입을 하면:  

{\displaystyle G(e\_{1}-e\_{2})+i\_{V\_{S}}=0}

{\displaystyle C{\frac {de\_{2}}{dt}}+G(e\_{2}-e\_{1})=0}

**분석 3**

실질적으로 두개의 노드에 관한 식이 성립하지만 BCE에 의해 숨겨진 식이 3개 존재한다. 위의 식을 다시 풀어 쓰면:  

{\displaystyle G(e\_{1})-G(e\_{2})+i\_{V\_{S}}=0}   

{\displaystyle -G(e\_{1})+G(e\_{2})+C{\frac {de\_{2}}{dt}}=0}

### 노달변형 회로분석과 대수미분식(differential algebraic equation)

{\displaystyle e\_{1}=V\_{s}}를 추가 하고   

위의 식을 다시 풀어쓰면 {\displaystyle {\begin{pmatrix}G&-G&1\\-G&G&0\\1&0&0\end{pmatrix}}{\begin{pmatrix}e\_{1}\\e\_{2}\\i\_{V\_{S}}\end{pmatrix}}+{\begin{pmatrix}0&0&0\\0&C&0\\0&0&0\end{pmatrix}}{\begin{pmatrix}e\_{1}\\e\_{2}\\i\_{V\_{S}}\end{pmatrix}}'={\begin{pmatrix}0\\0\\V\_{s}\end{pmatrix}}}로 다시 쓸 수 있다.  

만약 벡트매트릭스를 {\displaystyle \mathbf {x} ={\begin{pmatrix}e\_{1}&e\_{2}&i\_{V\_{S}}\end{pmatrix}}^{T}} 로 정의하면, {\displaystyle Ex'(t)+Ax(t)=f,}의 식으로 다시 풀어 쓸 수 있다.   

그러면 위의 식은 {\displaystyle A={\begin{pmatrix}G&-G&1\\-G&G&0\\1&0&0\end{pmatrix}}}, {\displaystyle E={\begin{pmatrix}0&0&0\\0&C&0\\0&0&0\end{pmatrix}}} 그리고 {\displaystyle f={\begin{pmatrix}0&0&V\_{s}\end{pmatrix}}}로 쓸 수 있다.

대수미분식에서 E 단수형의 수가 된다. 위와 같은 식은 SPICE와 같은 모든 반도체 디자인 회로 시뮬레이션 소프트웨어에서 적용된다

참조
--

* Ho, Ruehli, and Brennan (1974년 4월). 〈The Modified Nodal Approach to Network Analysis〉. 《Proc. 1974 Int. Symposium on Circuits and Systems, San Francisco》. 505–509쪽.  더 이상 지원되지 않는 변수를 사용함 (도움말) CS1 관리 - 여러 이름 (링크)
* Hachtel, G. Brayton, R, and Gustavson, F. (1971년 1월). "The Sparse Tableau Approach to Network Analysis and Design". 《IEEE Transactions on Circuit Theory》 **18**: 101–113. doi:10.1109/TCT.1971.1083223.  더 이상 지원되지 않는 변수를 사용함 (도움말) CS1 관리 - 여러 이름 (링크)
* Cheng, Chung-Kuan. Lecture Notes for CSE245: Computer-Aided Circuit Simulation and Verification. Spring 2006. Lecture 1
* Tischendorf C. Topological index of DAEs in the Circuit Simulation.