Kysymys:
Suoritetaanko FFT matalilla taajuuksilla, mutta korkealla resoluutiolla?
Scorch
2016-06-07 23:05:16 UTC
view on stackexchange narkive permalink

Tässä yhteydessä haluan saavuttaa sekä nopean että suuren tarkkuuden biosignaalien mittaamiseen FFT: n kautta. Kuvaan lyhyen esimerkin nähdäksesi ymmärränkö tämän oikein sekä havainnollistan kysymystäni. Joten, jos minulla on tämä oikein, jos halusin ottaa matalataajuisen FFT: n, esimerkiksi taajuudet 0-64 Hz, jotta Nyquist-kriteeri täyttyisi, näytteenottotaajuuden olisi oltava vähintään kaksinkertainen, siis 128 Hz. Sitten, jos haluan taajuuden erottelutarkkuuden 1 Hz yhteen lokeroon, tarvitsen 64 lokeroa, mikä asettaisi minut 128 näytteeseen, koska siellä on sekä todellisia että kuvitteellisia osia. Siksi tämän 1 Hz: n resoluution saavuttamiseksi minulle näytettäisiin vain 128 Hz: n näytetaajuus samalla kun tarvitsisin ottaa 128 näytettä, mikä asettaisi minut tilanteeseen, jossa minulla olisi vain yksi FFT: n täysi suorituskyky joka sekunnin ajan että kuluu.

Loppujen lopuksi tämä johtaa minut todelliseen kysymykseeni: voiko matalilla taajuuksilla ottaa korkean resoluution FFT: n (sanoa 1 tai 2 Hz per bin) samalla, kun säilytät silti jonkin verran nopeutta? Vai onko tämä yksinkertaisesti mahdotonta muunnoksen rajoitusten vuoksi? Jos on, onko resoluution ja nopeuden välillä tehtävä jokin vaihtoehtoinen menetelmä tai jonkinlainen kompromissi? Sivumainoksena luin vähän aikaa sitten artikkelin näytteiden ylinäytteistämisestä ja heittämisestä tietylle kokonaislukukerralle tietyn pisteen ohi (tai jotain sellaista, anteeksi, että se oli vähän aikaa sitten) näytteenottoprosessin nopeuttamiseksi. Ehkä joku tietää, mikä se on (tai ehkä olen sekaisin tässä vaiheessa). Joko niin, kiitos avusta, jonka voit antaa etukäteen.

Käytä kappaleväliä, jotta kysymyksesi olisi luettavissa.
On myös muita menetelmiä tehospektrin arvioimiseksi ja erilaisia tapoja käsitellä FFT.https://fi.wikipedia.org/wiki/Spectral_density_estimation
Wavelet-muunnokset voivat olla myös erittäin hyödyllisiä tässä ympäristössä, koska ne tarjoavat suuremman ajallisen resoluution suuremmilla taajuuksilla samalla, kun matalammat taajuussignaalit voivat nousta ja laskea niin hitaasti kuin ehkä tarvitsevat.
Jos haluat korkean resoluution FFT: n, suorita pitkät mittaukset Nyquist Rate -nopeuden mukaisella näytteenottotaajuudella.1 sekunnin mittauksen FFT antaa 1 Hz: n tarkkuuden, 10 sekunnin mittaus - 0,1 Hz: n tarkkuuden
Neljä vastused:
user2943160
2016-06-07 23:18:21 UTC
view on stackexchange narkive permalink

Oletan, että "suurella nopeudella" tarkoitat pientä viivettä tiedonkeräämisestä tuloksena olevaan FFT: hen. Pienellä otosnopeudella laskennallinen kykysi ei ole rajoittava tekijä nykyaikaisissa tietokoneissa. Viiveongelma on siinä, että meillä on tarpeeksi tietoa analyysiä varten. Jos haluat, että 1 Hz: n lokero eroaa DC / 0 Hz: stä, sinun on kerättävä riittävästi signaalitietoja kaappaamaan koko signaalin jakso. Siksi kiinteälle näytetaajuudelle pidempi FFT antaa sinulle suuremman taajuusresoluution.

Näin ollen hyvin matalilla taajuuksilla matala näytetaajuus (128Hz) tarkoittaa, että se ottaa vain muutaman näytteen näiden taajuuksien erottamiseksi: 128-pisteen FFT: n resoluutio on 1 Hz ja 256-pisteen FFT: n resoluutio 0,5 Hz. Ongelma on näiden tietojen saamisessa. 256 pisteen kerääminen kestää koko 2 sekuntia 128 Hz: n näytetaajuudella. Nopeamman FFT-päivitysnopeuden saavuttamiseksi voit käyttää uudelleen näytteitä: ottaa sanotut 32 näytettä tietolohkoiksi ja laskea sitten 256 pisteen FFT käyttämällä viimeisintä 8 lohkoa. Kun sinulla on 32 uutta näytettä, voit heittää vanhimmat pois ja päivittää FFT: n 4 kertaa sekunnissa.

Olet päässyt kohtaamaan kompromisseja, joita tarvitaan spektrogramman a luomisessa. >: sinun on valittava taajuusresoluution ja aikapaikan välillä. (MATLAB-aktiivisuus ja esimerkki täällä) Suurempi taajuusresoluutio vaatii enemmän näytteitä, jolloin FFT edustaa pitkää aikaväliä. Lyhyen ajanjakson käyttö tarkoittaa vähemmän näytteitä, mikä pienentää FFT-taajuusresoluutioasi. Sinun on valittava, mikä on tärkeämpi sovelluksessasi.

+1 todellisen ongelman tunnistamisesta (tietojen ottaminen);aaltomuodon on tapahduttava sen mittaamiseksi, ja hitaasti vaihteleva tieto määritelmän mukaan kestää kauan aikaa poikkeamien mittaamiseen.
user4574
2016-06-08 00:12:00 UTC
view on stackexchange narkive permalink

Tavallisesti on hankittava useita näytteitä aaltomuodon jaksoa kohti, jotta FFT: stä saadaan hyviä tuloksia. Nyquist-raja, joka on 2 näytettä jaksoa kohti, on alaraja, mutta käytännössä käytetään yleensä 10 näytettä jaksoa kohti tai enemmän. Joten analysoidaksesi 64 Hz: n signaalia haluat todennäköisesti hankkia näytteitä vähintään 640 Hz: n taajuudella.

Lisäksi (pisteeseen saakka) saat parempia tuloksia mittaamalla todellisia jaksollisia signaaleja, jos hankit useita aaltomuotojaksoja näytteitä. Sinun on määritettävä, mikä ikkunan koko on järkevin sovelluksellesi, mutta 1 Hz: n signaalien sieppaamiseksi ehdotan, että siepataan noin 10 s: n arvoista dataa.

Joten sinun on periaatteessa hankittava näytteitä suurella nopeudella korkeimmalla taajuudella ja pitkään suhteessa alimpaan taajuuteen, jotta saat hyviä tuloksia. Tämä edellyttää, että tapahtuu jonkinlainen käsittelyviive, joka on moninkertainen alimman taajuutesi jaksoon. Tämä ei kuitenkaan estä sinua suorittamasta prosessointia niin usein kuin kerran näytteessä.

Joten jos haluat analysoida signaalin taajuuskomponentit sen muuttuessa ajan myötä, ja haluat nähdä, mitä FFT näyttää suurella nopeudella, voit ottaa vain tarvitsemasi näytteet. Suorita FFT. Siirrä kaikki näytteet 1 asemaan ja ota sitten FFT uudelleen seuraavalla näyteajalla.

ESIMERKKI:
1) Näyte 819,2 näytettä sekunnissa 10 sekunnin aikaikkunalla.
2) Anna näytteiden kerääntyä 10 sekunnin ajan (yhteensä 8192 näytettä)
3) Suorita FFT 8192 näytteellä.
4) Hävitä ensimmäinen näyte puskurissa ja pidä muut 8191 näytettä siirtämässä niitä yli 1-asento.
5) 1/819,2 sekuntia myöhemmin lisää seuraava näyte puskurin loppuun ja suorita FFT uudelleen.
6) Toista vaiheet 4-6, kunnes olet suorittanut analyysisi.

Tämä antaisi sinulle FFT: n, joka analysoi liukuvan dataikkunan 819,2 kertaa sekunnissa

Esimerkin tarvitsema prosessointiteho olisi noin 13 * 8192 * 819.2 Kerro-kerää opeaatioita sekunnissa (87 miljoonaa MAC / s).Tavallinen tietokone pystyi käsittelemään tämän helposti.Voit tietysti vähentää prosessointitehoa kertoimella N suorittamalla vain FFT ever N -näytteet (esimerkiksi suorittamalla se joka 8. näyte vaatii vain 11 M MAC-sekuntia).

OK, mielestäni on järkevää.Alkuperäinen lähtökohtani toimi ajatuksella, että minun oli kerättävä kokonaan uusi tietojoukko aina, kun halusin suorittaa muunnoksen, mutta on järkevää, että voit yksinkertaisesti suorittaa fft: n joka kerta, kun uusi tieto työnnetääntaulukko.Se näyttää olevan kaikki muutkin saamassa aikaan, mutta se ei oikeastaan napsahtanut ennen kuin luin selityksesi.Kiitos
Kaksi asiaa, jotka mielestäni saattavat olla hyödyllisiä tälle lähestymistavalle ja jotka ovat saattaneet olla liian ilmeisiä mainitsemiseksi: 1) Et voi erottaa 1 Hz: n signaalia pienitehoisemmasta 1 Hz: n signaalista plus DC-esijännityksestä nopeammin kuin 1 sekunti, joten se on matemaattinen raja.2) Kun tämä lähestymistapa on aloitettu, se kiertää tämän rajan uudelleenkäyttämällä vanhoja signaaleja.Tällä on ilmeinen vaikutus voimakkaiden korrelaatioiden luomiseen vierekkäisten signaalien välille.Kumpikaan näistä ei välttämättä merkitse sinua lopulta, mutta pidin niitä hyödyllisinä selittäessäsi, miksi tämä lähestymistapa näyttää "huijaavan".
John Birckhead
2016-06-07 23:14:48 UTC
view on stackexchange narkive permalink

Nykyaikaiset DSP-alukset pystyvät helposti käsittelemään kuvaamasi toiminnon;jos otat vain 128 kertaa sekunnissa, voit helposti tehdä FFT: n jokaiselle näytteelle ja siirtää yhden näytteen per FFT.

user113378
2016-06-08 12:43:27 UTC
view on stackexchange narkive permalink

Jos ainoa työkalusi on vasara, jokainen ongelma näyttää naulalta. Luulen, ettet ymmärrä mikä FFT todella on. Se on DFT: n (diskreetti Fourier-muunnos) nopea toteutus. DFT on analyyttinen työkalu erillisille signaaleille, joiden jaksot ovat analyysiväliä.

Tosielämän signaaleille (moottorisignaalien tai muiden pyörivien koneiden analysoinnin ulkopuolella) mittausvälisi ei todellisuudessa vastaa signaalin jaksottaisuus.

Tämän seurauksena "taajuusalustat" muuttuvat merkityksettömiksi ja vastaavat vain signaalin todellisia piirteitä kelautuvien esineiden ja hajautettujen spektrien linssin läpi.

Vaikka FFT: n ja sen perustoimintojen tehokkuus suhteessa lineaaristen siirtymävaihtelujärjestelmien ominaisfunktioihin tekee todennäköiseksi, että monien taajuuspohjaisten työkalujen hupun alla oleva työhevonen tulee lopulta FFT: ksi, raakatulosten tulkinta "taajuusastioina" on melkein varma, että ne liittyvät parhaimmillaan löyhästi todellisuuteen.

Jos se on yksittäinen signaali, jota yrität jäljittää / luonnehtia, olet todennäköisesti paremmin jollakin, joka perustuu LPC-kertoimiin.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...