1次遅れ系はネイピア数eを底とする指数関数で表現できる



制御理論(一般)

伝達関数

ボード線図

アナログフィルタ
ローパスフィルタ
・1次遅れ
 ・伝達関数

 ・ボード線図

 ・ネイピア数で表現

・2次遅れ
 ・伝達関数

 ・ボード線図

バターワースフィルタ

ベッセルフィルタ

ハイパスフィルタ:1次進み
完全微分

不完全微分

オールパスフィルタ
伝達関数,ボード線図

パデ近似

バンドストップフィルタ
ノッチフィルタ

バンドパスフィルタ


公開日:2024/2/25          

前提知識
 ・1次遅れ系
 ・ネイピア数e
 ・指数関数
 ・RL回路


1次遅れ系のシステムは、ネイピア数eを底とする指数関数で表すことができます。

■1次遅れ系のシステム例題(RL回路)

1次遅れ系のRL回路を例に説明します。



(1)式を以下のとおり変形します。



(2)式は以下のとおり変形する事ができます。(参照:ラプラス変換)


■pythonによる実装

(2)(3)式から電流i(t)の動きをそれぞれ計算するプログラムは以下となります。

import numpy as np
import matplotlib.pyplot as plt
import math

times = np.arange(0,10,0.01)
i_t, i2_t = [],[]
i, i2 = 0,0
R,L = 1,1
deltime = 0.01

for time in times:
    volt = 10
  #(2)式
    delt_i = (volt - i*R) / L * deltime
    i = i + delt_i # 電流
    i_t = np.append(i_t,i)
  #(3)式
    i2 = volt/R * (1 - math.e**(-1 * R/L * time)) # 電流
    i2_t = np.append(i2_t,i2)

plt.plot(times, i_t)
plt.plot(times, i2_t)
plt.show()


結果は以下のとおり、(2)(3)式は一致しているのが分かります。(重なっているため、線は一つしか見えません)



■(3)式は入力が変化しない前提
(3)式は入力(この場合は電圧)が変化しない全体のため、途中で入力が変化すると、以下のとおり上手くいきません。

5秒経過時点で電圧が10V⇒15Vに変化,オレンジが(3)式


■(3)式を逐次計算の式に変形する
上記問題を解消するため、(3)式を以下の様に逐次計算する方式に変更します。



プログラムは以下のとおり。

import numpy as np
import matplotlib.pyplot as plt
import math

times = np.arange(0,10,0.01)
i_t, i2_t = [],[]
i, i2 = 0,0
R,L = 1,1
deltime = 0.01

for time in times:
    if time<5 :volt = 10
    else :volt = 15
  #(2)式
    delt_i = (volt - i*R) / L * deltime
    i = i + delt_i # 電流
    i_t = np.append(i_t,i)
  #(3)式
    i2 = volt/R * (1 - math.e**(-R/L * deltime)) + i2 * math.e**(-R/L * deltime) # 電流
    i2_t = np.append(i2_t,i2)

plt.plot(times, i_t)
plt.plot(times, i2_t)
plt.show()


結果は以下のとおり、(2)(4)式が一致することが分かります。











サブチャンネルあります。⇒ 何かのお役に立てればと

関連記事一覧



制御理論(一般)

伝達関数

ボード線図

アナログフィルタ
ローパスフィルタ
・1次遅れ
 ・伝達関数

 ・ボード線図

 ・ネイピア数で表現

・2次遅れ
 ・伝達関数

 ・ボード線図

バターワースフィルタ

ベッセルフィルタ

ハイパスフィルタ:1次進み
完全微分

不完全微分

オールパスフィルタ
伝達関数,ボード線図

パデ近似

バンドストップフィルタ
ノッチフィルタ

バンドパスフィルタ