» »

Določanje frekvence vrhov v nizu

Določanje frekvence vrhov v nizu

marsovcek ::

Recimo, da vprašanje spada v Šolo :).

Torej imam niz podatkov, ki periodično poraščajo in upadajo (z grafičnim prikazom so lepo vidne konice). Frekvenca in amplituda se s časom spreminjata. Zanima me, kako bi določil povprečno frekvenco "konic" v celotnem trajanju in v krajših (poljubnih) intervalih. Prav tako bi potreboval največjo in najmanjšo frekvenco, če niz razdelim na poljubne intervale.

Na voljo je Excel z data analysis paketom, lahko pa dobim tudi dostop do spss.

 Slika niza

Slika niza

Mipe ::

Tako na pamet, po palcu: število vrhov deliš s časom meritve. Pa imaš bolj ali manj približno frekvenco špic.

one too many ::

Frekvenco lahko določiš tako kot je predlagal Mipe. Vendar to deluje samo, če ima signal samo eno frekvenco, ampak za to potrebuješ utemeljen razlog. Ponavadi zaradi napak pri meritvi in eksperimentu zajameš tudi druge frekvence (npr. v elektroniki frekvenco omrežja) ali višje harmonike osnovne frekvence.
Načeloma pa določaš frekvenčni spekter s Fourierovo transformacijo (=FT) z algoritmom FFT (fast fourier transform). Glede algoritma ti ni potrebno skrbeti, ker je skoraj vedno samo FFT. Excel kakor vem ima FFT, če ne kot funkcijo pa v solverju.

Ampak ti imaš po mojem odziv na (naključne) sunke. To se vidi po skokih in eksponentnem pojemanju.
Prvo kar moraš narediti je odčitati čas in amplitude sunkov.
Čas sunka je, ko signal poskoči.
Amplituda znaša v bistvu kar razliko med prejšnjo vrednostjo v signalu in novo ob sunku. Oziroma če hočeš biti natančnejši, lahko podatke od prejšnjega sunka fitaš in izračunaš vrednost v novem času, če ne bi prišlo do sunka (tudi to ni čisto točno, ker bi moral upoštevati vse prejšnje vrhove). To je zlasti pomembno, če podatkov nimaš zajetih pogosto (sicer ne zgleda tako) in, ko sta vrhova hitro skupaj. V bistvu naredi linearno aproksimacijo od pred prejšnje (indeks: -2) in prejšnje točke (-1) v točko ob sunku (0). Bo verjetno dovolj natančno.

Potem pa delaš statistiko na teh podatkih. NE delat FFT! Sam bi naredil histogram frekvenc in amplitud (z izjemo 1/10, ko so amplitude očitno polovične!). Iz teh podatkov lahko tudi izračunaš povprečne vrednosti, deviacijo, mediano, ... To je pomojem z excelom precej enostavno.
Če je na sliki celotni signal, ne bi ga delil na manjše kose, ker imaš že tako malo vrhov.


PS: Mogoče sem na začetku napisal preveč osnovno. Sem šele kasneje videl, da dejansko sprašuješ po povprečnih vrednostih. Lahko da obstaja kakšen poseben pristop za tak problem, ne vem.

marsovcek ::

Metoda s štetjem vrhov je sicer v redu, vendar imam takih nizov (zaenkrat) okrog 40 in večinoma so daljši od tega.

Podatki so kar taki, kot je prikazano. Poenostavljeno gre za določanje koncentracije indikatorja v tekočini. Amplitude niso problematične (tiste polovične so kar prave), tudi povprečje/mediana/razpršenost ni problem dobiti. Zatika se mi zgolj pri določanju frekvence teh konic.
Fourier v Excelu sicer obstaja, vendar želi imeti 2^n točk (kar bi že prilagodil) in največ 4096 točk. Tukaj se pa zatakne, kajti moji nizi imajo povprečno okrog 10.000 točk.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

fizika naloga

Oddelek: Šola
101649 (1431) onitam

Magnet(izem) - teorija izvora

Oddelek: Znanost in tehnologija
71396 (1271) zee
»

Kje iz te slike lahko razberem frekvenco?

Oddelek: Zvok in slika
7933 (800) c0dehunter
»

Osciloskop in FFT

Oddelek: Elektrotehnika in elektronika
51066 (981) AtaStrudl
»

[Matlab] Fouriereva transformacija in analiza odzivov procesa

Oddelek: Programiranje
92792 (2617) nosk8fx

Več podobnih tem