Analýza údajov a kriviek



    Obsah 6. kapitoly

    6. Analýza údajov a kriviek
    6.1. Rýchla Fourierova transformácia (Fast Fourier Transform)
    6.2. Korelácia (Correlation)
    6.3. Konvolúcia (Convolution)
    6.4. Dekonvolúcia (Deconvolution)
    6.5. Aproximácia (Fit Wizard)
    6.6. Aproximácia na špecifické krivky
    6.6.1. Lineárna aproximácia (Fit Linear)
    6.6.2. Polynomická aproximácia (Fit Polynomial)
    6.6.3. Aproximácia Bolzmannovou funkciou (Fit Bolzmann)
    6.6.4. Aproximácia Gaussovou funkciou (Fit Gaussian)
    6.6.5. Aproximácia Lorentzovou funkciou (Fit Lorentzian)
    6.7. Aproximácia krivkou s viacerými vrcholmi
    6.8. Filtrovanie
    6.8.1. Dolnopriepustný filter (FFT low pass filter)
    6.8.2. Hornopriepustný filter (FFT high pass filter)
    6.8.3. Pásmový filter (FFT band pass filter)
    6.8.4. Filter na odstránenie pásma (FFT block band filter)
    6.9. Interpolácia (Interpolation)



    6. Analýza údajov a kriviek


    6.1. Rýchla Fourierova transformácia (Fast Fourier Transform)

    Prístup k funkcii je možný príkazom FFT...., ktorý sa nachádza v Analysis Menu, keď je vybraná tabuľka alebo graf. Fourierova transformácia rozkladá signál na jeho elementárne zložky a vychádza z predpokladu, že signál x(t) je možné napísať ako sumu:

\begin{equation} x(t)=\sum_n a_n cos(\omega_n t+\psi_n) \end{equation}

Rovnica 6.1 Fourierova rovnica


kde ωn sú frekvencie, an sú amplitúdy danej frekvencie a ψn sú fázy odpovedajúcej frekvencie. QtiPlot vypočíta všetky tieto parametre a vytvorí nový graf amplitúd ako funkciu frekvencie.
    Na krivke bola vykonaná FFT, aby sa pre ňu určili charakteristické frekvencie. Signál je na dolnom grafe, závislosť amplitúdy od frekvencie je na vrchnej vrstve grafu. V tomto prípade bola amplitúda krivky normalizovaná a pre frekvencie bola zvolená možnosť Shift Results, aby výsledkom bola súmernosť podľa osi x.


Obr. 6.1 Príklad inverznej FFT


    Niektoré vlastnosti FFT môžu byť modifikované v dialógovom okne FFT dialog.



    6.2. Korelácia (Correlation)

    Prístup k tejto funkcii je možný príkazom Correlate, ktorý sa nachádza v Analysis Menu, keď je označená tabuľka. Funkcia korelácie známa tiež ako kovariančná funkcia sa používa na testovanie podobnosti dvoch signálov x(t) a y(t). Vypočíta sa ako:

\begin{equation} R(\tau)=\overline{(x(t)-\overline{x}).(y(t+\tau)-\overline{y}} \end{equation}

Rovnica 6.2 Kovariancia funkcie dvoch signálov x(t) a y(t)


kde x a y sú hodnoty signálov x(t) a y(t).
    Ak je počet bodov N, funkcia bude vypočítaná z hodnôt -N/2N/2. Na osi x sú preto čísla bodov a nie hodnoty.
    Na prvom grafe sú znázornené dva signály, na druhom je korelácia týchto dvoch signálov a na treťom je Fourierova transformácia, ktorá sa používa na určenie charakteristických frekvencií korelačnej funkcie.


Obr. 6.2 Príklad korelácie dvoch sínusových funkcií


    V spektrálnej analýze sa používa tiež korelácia signálu s tým istým signálom (potom sa nazýva tiež autokorelácia alebo autokovariančná funkcia).



    6.3. Konvolúcia (Convolution)



    6.4. Dekonvolúcia (Deconvolution)



    6.5. Aproximácia (Fit Wizard)

    Prístup k tejto funkcii je možný príkazom Correlate, ktorý sa nachádza v Analysis Menu, keď je označená tabuľka.
Výsledky sa zobrazujú v záznamovom okne, krivka je vykreslená do aktívneho okna a vytvorená je nová tabuľka s údajmi aproximácie.


Obr. 6.3 Výsledky aproximácie



    6.6. Aproximácia na špecifické krivky

    Súčasťou QtiPlot sú aj najpoužívanejšie funkcie používané pri aproximácii.



    6.6.1. Lineárna aproximácia (Fit Linear)

    Príkaz sa používa na aproximáciu krivkou, ktorá má lineárny tvar.


Obr. 6.4 Výsledky lineárnej aproximácie (Fit Linear)


    Výsledky aproximácie budú v záznamovom okne:



    6.6.2. Polynomická aproximácia (Fit Polynomial)

    Príkaz sa používa na aproximáciu krivkou, ktorá má spojitý charakter. Výsledky aproximácie budú v záznamovom okne.



Obr. 6.5 Výsledky polynomickej aproximácie (Fit Polynomial), na obrázku sú počiatočné údaje, aproximačná krivka pridaná do grafu a výsledky v záznamovom okne



    6.6.3. Aproximácia Bolzmannovou funkciou (Fit Bolzmann)

    Príkaz sa používa na aproximáciu krivkou, ktorá má tvar písmena "S". Použitá funkcia má tvar:

\begin{equation} y=\frac{A_1-A_2}{1+e^{(x-x_0)/dx}}+A_2 \end{equation}

Rovnica 6.3 Bolzmannova rovnica


kde A1 je dolná hranica Y, A2 je horná hranica Y, x0 je inflexný bod a dx je šírka.


Obr. 6.6 Výsledky Bolzmannovej aproximácie (Fit Bolzmann)


    Keď je pre os x použitá logaritmická stupnica, príkaz Fit Bolzmann používa na aproximáciu rovnicu:

\begin{equation} y=\frac{A_1-A_2}{1+(x/x_0)^p}+A_2 \end{equation}

Rovnica 6.4 Rovnica pre logaritmickú aproximáciu


kde A1 je počiatočná hodnota Y, A2 je konečná hodnota Y, x0 je inflexný bod (stred) a p je výkon (energia).



    6.6.4. Aproximácia Gaussovou funkciou (Fit Gaussian)

    Príkaz sa používa na aproximáciu krivkou, ktorá má tvar Gaussovej krivky. Použitá funkcia má tvar:

\begin{equation} y=y_0+A.exp\left(\frac{-(x-x_c)^2}{2w^2}\right) \end{equation}

Rovnica 6.5 Gaussova rovnica


kde A je výška, w je šírk

a, xc je stred a y0 je offset pre hodnoty Y.



Obr. 6.7 Výsledky Gaussovej aproximácie (Fit Gaussian)



    6.6.5. Aproximácia Lorentzovou funkciou (Fit Lorentzian)

    Príkaz sa používa na aproximáciu krivkou, ktorá má tvar Gaussovej krivky. Použitá funkcia má tvar:

\begin{equation} y=y_0+2 \frac{A}{\pi} \frac{w}{4(x-x_c)^2+w^2}\end{equation}

Rovnica 6.6 Lorentzova rovnica


kde A je plocha, w je šírka, xc je stred a y0 je offset pre hodnoty Y.


Obr. 6.8 Výsledky Lorentzovej aproximácie (Fit Lorentzian)



    6.7. Aproximácia krivkou s viacerými vrcholmi

    Tento spôsob aproximácie umožňuje aproximovať údajové body zjednotením N Gaussových alebo Lorentzových funkcií.
    Prvým krokom je určenie počtu vrcholov. Potom je potrebné definovať polohu každého vrcholu krivky. To sa robím kliknutím do grafu a potvrdením výberu každého vrcholu klávesou Enter.


Obr. 6.9 Výsledky aproximácie krivkou s viacerými vrcholmi (Fit Multi-peak ->Gaussian....)



    6.8. Filtrovanie

    V tejto časti budeme predpokladať, že máme z údajov vytvorenú nasledujúcu krivku:


    Signál má spektrum vysokými a nízkymi frekvenciami. Analyzovať ho je možné analýzou FFT, ktorej výsledok je na nasledujúcom obrázku:


    V ďalších častiach bude rozoberaný vplyv rôznych filtrov použitých pre danú krivku.



    6.8.1. Dolnopriepustný filter (FFT low pass filter)

    Tento filter umožňuje odstrániť vysoké frekvencie signálu. Potrebné je zadať len medznú frekvenciu.
    Predpokladajme, že chceme zachovať len frekvencie menšie ako 1 Hz, potom dostaneme:


Obr. 6.10 Signál po použití dolnopriepustného filtra (FFT low pass filter)


    Na spektre nového signálu je vidieť, že frekvencie menšie ako 1 Hz boli zachované.



    6.8.2. Hornopriepustný filter (FFT high pass filter)

    Tento filter umožňuje odstrániť nízke frekvencie signálu. Potrebné je zadať len medznú frekvenciu.
    Predpokladajme, že chceme zachovať len frekvencie väčšie ako 1 Hz, potom dostaneme:


Obr. 6.11 Signál po použití hornopriepustného filtra (FFT high pass filter)


    Na spektre nového signálu je vidieť, že frekvencie väčšie ako 1 Hz boli zachované.




    6.8.3. Pásmový filter (FFT band pass filter)

    Tento filter umožňuje odstrániť nízke a vysoké frekvencie signálu. Potrebné je zadať medznú dolnú frekvenciu signálu a medznú hornú frekvenciu signálu.
    Predpokladajme, že chceme zachovať frekvencie medzi 1.5 a 3.5 Hz, potom dostaneme:


Obr. 6.12 Signál po použití pásmového filtra (FFT band pass filter)


    Na spektre nového signálu je vidieť, že zachované boli len frekvencie medzi 1.5 a 3.5 Hz.



    6.8.4. Filter na odstránenie pásma (FFT block band filter)

    Tento filter umožňuje ponechať nízke a vysoké frekvencie signálu. Potrebné je zadať medznú dolnú frekvenciu signálu a medznú hornú frekvenciu signálu.
    Predpokladajme, že chceme odstrániť frekvencie medzi 1.5 a 3.5 Hz, potom dostaneme:


Obr. 6.13 Signál po použití filtra na odstránenie pásma (FFT block band filter)


    Na spektre nového signálu je vidieť, že zachované boli len frekvencie menšie ako 1.5 Hz a väčšie ako 3.5 Hz.



    6.9. Interpolácia (Interpolation)

    Príkaz Interpolation vytvorí novú krivku s veľkým počtom bodov interpoláciou údajov. Tento počet bodov je možné definovať v dialógovom okne (východzia hodnota = 1000). Potom je potrebné zvoliť metódu interpolácie, interval hodnôt X a farbu krivky. Príkazom sa do aktívneho grafu vykreslí nová krivka a taktiež nová tabuľka s údajovými bodmi.


    Najjednoduchšou metódou interpolácie je lineárna metóda (Linear). V tomto prípade sa na výpočet údajových bodov medzi dvoma bodmi používa lineárna zmena. Kubická metóda (Cubic) využíva metódu kriviek tretieho stupňa (v tomto prípade sú potrebné minimálne 4 body). Posledná metóda Akima je polynomická interpolácia. Pre detailnejší popis je potrebné pozrieť si odpovedajúcu časť v GNU Scientific Library.


Obr. 6.14 Porovnanie troch metód interpolácie