Analýza fluktuací metodou DFA (Detrended fluctuation analysis)

Martin Ondráček, 4.roč., KEVF

Úvodem - co je to DFA a k čemu je dobrá


Algoritmus DFA je popsán např. v článku K. Hu, P. Ch. Ivanov, Z. Chen, P. Carpena, and H. Eugene Stanley, Effect of trends on detrended fluctuation analysis, Phys. Rev. E 64, 011114 (2001).

Tato metoda umožňuje zjistit korelace v signálu (podobně jako např. autokorelační funkce). Na rozdíl od analýzy pomocí autokorelační funkce nebude výsledek ovlivněn polynomiální závislostí, která by se případně superponovala na zkoumané fluktuace (tzv. trendem), pokud bude použitý řád metody DFA větší než stupeň polynomu představujícího trend. Např. DFA-2 (DFA druhého řádu) zcela potlačí vliv lineárního trendu, přítomnost takového lineárního trendu pak můžeme snadno poznat podle toho, že se výsledky metod DFA-1 a DFA-2 výrazně liší.

Výstupem DFA je závislost tzv. střední kvadratické fluktuace F (root mean square fluctuation, RMSF) na škále (scale) - škála má obvykle fyzikální rozměr času. Logaritmická derivace F podle škály se nazývá škálovací exponent (a). Závislost F na škále je vždy neklesající, takže a je vždy nezáporné. Vysoká korelovanost na určité škále se pozná podle toho, že F na této škále rychle roste a a je velké.

Jsou-li fluktuace úplně nekorelované (bílý šum), pak a = 0,5. Například pro fluktuace typu jednorozměrného Brownova pohybu je a = 1,5. Pro antikorelované fluktuace a < 0,5.

Popis programu

Hlavní součástí programu v IDL ( dfa.pro) je procedura RMSF, sloužící k výpočtu a zobrazení RMSF. Jejími parametry jsou dvě pole: jedno obsahuje ekvidistantně navzorkovaný signál a do druhého procedura zapíše vypočtenou RMSF. Hodnoty nezávisle proměnné (časy měření) procedura nepotřebuje, škálu vyjadřuje v násobcích vzorkovací periody. Volitelně lze zadat pojmenované parametry order (řád metody, implicitně 1), lowlim (dolní mez škály, implicitně desetinásobek vzorkovací periody), upplim (horní mez škály, implicitně desetina celkové délky signálu), win (číslo okna pro grafické znázornění výsledku, implicitně procedura nic nekreslí) a title (titulek okna, do kterého se vykresluje výsledek).

Protože proceduru RMSF jsem napsal se dvěma do sebe vnořenými cykly for a realizace cyklů je v IDL pomalá (je to interpretovaný jazyk), napsal jsem funkci pro stejný výpočet v C++ (MS Visual C++ 6.0), přeložil jako knihovnu DLL (Dynamic Link Library: dfa.cpp, dfa.h) a v IDL napsal proceduru RMSF_in_C, která má úplně stejné rozhraní (stejné parametry) jako procedura RMSF, ale sama nic nepočítá a jenom volá příslušnou funkci z DLL knihovny. Tato možnost - vytvořit si ty části programu, které nelze v IDL optimálně naprogramovat, pomocí překladače jiného jazyka a ke zobrazení výsledků pak již využít všech výhod interaktivního prostředí - dělá z IDL mocný nástroj pro zpracování dat nejrozmanitějších typů.

Program dále obsahuje funkci LogDeriv, sloužící k výpočtu logaritmické derivace, a proceduru ReadFile sloužící k natažení dat ze souboru.

Mým cílem bylo především naprogramovat jednotlivé procedury, realizující algoritmus metody DFA. Hlavní program slouží spíše jen jako příklad, jak se tyto procedury volají. Načte data ze souboru ve výše popsaném formátu, provede analýzu metodami DFA-1 a DFA-2 a pro každou z obou metod zobrazí dva grafy, závislost RMSF na škále a závislost škálovacího exponentu na škále. Protože hlavní program volá proceduru RMSF_in_C, nikoli RMSF, je třeba mít v pracovním adresáři adresář RELEASE se soubory příslušné release\dfa.dll DLL knihovny.

Příklad výstupu programu

Uvádím příklad zpracování dat ze souboru v1n1.dat, který obsahuje měření proudového šumu v tenké polospojité vrstvě platiny. Měření je výrazně rušeno síťovým napětím o frekvenci 50Hz. Přítomnost 50Hz harmonického trendu je patrná v grafu RMSF na charakteristickém "pahrbku" na škále 10 až 40ms se dvěma píky na 10ms a 20ms. Vlna, kterou vytváří graf škálovacího exponentu pro škály pod 100ms je způsobena harmonickým trendem, růst škálovacího exponentu na delších časových škálách prozrazuje, že proudové fluktuace jsou na těcho škálách výrazně korelovány.

DFA analyza
M.Ondráček, 23.5.2002