Uživatelské nástroje

Nástroje pro tento web


workshopy:tlmivy_clen

Guytnov tlmivý člen

K postupným adaptáciam v priebehu času sa v modeli používa integrálny filter s časovou konštantou. Z matematického hladiska sa jedná o filtráciu prudkých zmien priebehu funkce, čo znamená že výstup sa približuje k hodnote na vstupe na základe predchádzajúcej hodnoty výstupu.


Skúmaný vzťah

> Fo = ∫ (Fi - Fo)*k dt

je možno taktiež vyjadriť ako

dFo / dt = (Fi - Fo)*k
dSo / dt = (Fi - k*So) , kde Fo := So * k (resp. dFo := dSo * k )


Pri vyjadrení pomocou So nadobúda kumulačná hodnota v integrále T-krát vyšších hodnôt. T je pritom časová konštanta rovná 1/k, obvykle v rádoch desiatkach, či stovkách minút.






Pokiaľ sa hodnota vstupnej funkcie v priebehu jedného časového kroku (napr. 1 min) príliž nemení, tak je možné filter implementovať pomocou sumy.

j+1 = ∑j + (Aj+1 - ∑j)*k
resp.
Sj+1 = Sj + (Aj+1 - Sj*k)

Nasledujúcim odvodením je možné dokázať, že i v tomto prípade nám platí vzťah ∑j+1 = k*Sj+1.

j+1 = k*Aj+1 + (1-k)*∑j = k*(Aj+1 + (1-k)Aj + (1-k)2Aj-1 + …)
Sj+1 = Aj+1 + (1-k)*Sj = Aj+1 + (1-k)Aj + (1-k)2Aj-1 + …

Takéto zjednodušenie používa aj Gyuton v pôvodnej implementácii vo Fortrane. Tu je však veľmi dôležité aby bola filtračná konštatnta k menšia ako jedna (vzhľadom k nášmu výberu konštantného kroku = 1), pretože inak začne výstupná hodnota oscilovať. [Ak by k bolo rovné jednej tak bude výstup rovnaký ako vstup.] Pre malé časové konštanty T (=1/k) je tak zabezpečená táto podmienka pomocou predpočítaním k aproximáciou z exponencionály. A to tak aby vždy ležalo k medzi nulou a jednotkou. Konštanta k sa tak pred použitím prepočíta pomocou vzťahu

k := 1 - e-k

Pri bližšom náhľade na funkci, je možné zistiť, že pre malé k sa hodnota príliž nemení. [funkce je spojitá, dokonca v každej hodnote je nekonecne derivovatelná; prechádza nulou, kde má deriváciu 1. Tj. dotýka sa funkce k:=k v nule]. Navyše každé k, ktoré do nej vstupovalo väčšie ako jedna prevedie na k, ktoré už nebude oscilovať. [limita danej funkce v nekonečnu je jedna].


Na použitie daného postupu je možné nahliadnuť v Guytnovej implementácii modelu angiotenzínu vo Fortrane.

Marek Mateják

workshopy/tlmivy_clen.txt · Poslední úprava: 2009/11/28 17:32 autor: marek