Pytohon에서 학습한 제어 공정 6탄: 전달 함수 모델과 상태 공간 모델

#Python에서 학습한 제어 프로젝트 <전달 함수 모델과 상태 공간 모델>


개시하다


파이톤은 기본적인 제어공학을 실시하고 제어공학에 대한 이해를 복습하고 깊이 있게 하는 것을 목적으로 한다.
6탄 처리 전달 함수 모델과 상태 공간 모델로

상태 공간 모델과 전달 함수 모델의 관계


상태 공간 모델은 유일한 전달 함수 모델로 변환된 다음에 과정을 표시할 수 있다.

그러나 거꾸로 정해지지 않았다.

이루어지다


Pythhon으로 아까의 변환을 실현해 보십시오. 다음은 원본 코드와 당시의 출력을 표시합니다.
소스 코드
"""
2021/02/23
@Yuya Shimizu

状態空間モデルと伝達関数モデル
"""

from control import tf, tf2ss, ss2tf, canonical_form

#適当な伝達関数モデルを準備
numerator = [0, 1]
denominator = [1, 1, 1]
P = tf(numerator, denominator)



#伝達関数モデル → 状態空間モデル
Pss = tf2ss(P)
print(f"<伝達関数モデル → 状態空間モデル>\n{P}\n ↓\n\n{Pss}\n")

#状態空間モデル → 伝達関数モデル
Ptf = ss2tf(Pss)
print(f"\n<状態空間モデル → 伝達関数モデル>\n{Pss}\n ↓\n{Ptf}")



#可制御正準形への変換
Pr, T = canonical_form(Pss, form = 'reachable')
print(f"\n<可制御正準形への変換>\n{Pss}\n ↓\n\n{Pr}")

#可観測正準形への変換
Pr, T = canonical_form(Pss, form = 'observable')
print(f"\n<可観測正準形への変換>\n{Pss}\n ↓\n\n{Pr}")
출력
<伝達関数モデル → 状態空間モデル>

     1
-----------
s^2 + s + 1

 ↓

A = [[-1. -1.]
 [ 1.  0.]]

B = [[-1.]
 [ 0.]]

C = [[ 0. -1.]]

D = [[0.]]



<状態空間モデル → 伝達関数モデル>
A = [[-1. -1.]
 [ 1.  0.]]

B = [[-1.]
 [ 0.]]

C = [[ 0. -1.]]

D = [[0.]]

 ↓

     1
-----------
s^2 + s + 1


<可制御正準形への変換>
A = [[-1. -1.]
 [ 1.  0.]]

B = [[-1.]
 [ 0.]]

C = [[ 0. -1.]]

D = [[0.]]

 ↓

A = [[-1. -1.]
 [ 1.  0.]]

B = [[1.]
 [0.]]

C = [[-0.  1.]]

D = [[0.]]


<可観測正準形への変換>
A = [[-1. -1.]
 [ 1.  0.]]

B = [[-1.]
 [ 0.]]

C = [[ 0. -1.]]

D = [[0.]]

 ↓

A = [[-1.  1.]
 [-1.  0.]]

B = [[0.]
 [1.]]

C = [[1. 0.]]

D = [[0.]]

여기에 프로그램을 보충합니다.control 라이브러리tf2ss에서 상태 공간 모델로 전환되었지만 앞에서 설명한 바와 같이 유일하게 확정된 것이 아니기 때문에 통제할 수 있는 표준형이 아니라control는 라이브러리의 함수canonical_form를 통해 한층 더 변환을 진행한다. 또한 정적 변환을 제어할 수 있을 때reachable(도달 가능)로 지정한다. 이는 연속 시간의 선형 시스템에서 도달 가능성과 제어성이 같다는 뜻이기 때문이다.

등록 정보


마지막으로 시스템 설계에 필요한 속성을 정리한다.

감상


전달 함수 모델과 상태 공간 모델의 관계에 대해 이야기했다.나는 아직 이해하지 못했다는 것을 알아차렸다. 특히 홍보적인 의미에 관해서는. 나는 이것이 시스템 설계에서 매우 중요한 개념이라는 것을 이해했다.

참고 문헌


Pyhton의 제어공학 입문 남우수저 옴사

좋은 웹페이지 즐겨찾기