Sisällysluettelo:

Arduino: taajuudenmuutos (DFT): 6 vaihetta
Arduino: taajuudenmuutos (DFT): 6 vaihetta

Video: Arduino: taajuudenmuutos (DFT): 6 vaihetta

Video: Arduino: taajuudenmuutos (DFT): 6 vaihetta
Video: Использование термопары MAX6675 с LCD1602 и Arduino 2024, Heinäkuu
Anonim
Arduino: taajuudenmuutos (DFT)
Arduino: taajuudenmuutos (DFT)

Tämä ohjelma on laskea taajuusmuunnoksen arduinoon taikinaohjauksella parametrien yli. se ratkaistaan käyttämällä häpäistävää neljännen muunnosta.

tämä ei ole FFT

FFT on algoritmi, jota käytetään ratkaisemaan DFT lyhyemmällä ajalla.

FFT -koodi löytyy täältä.

Vaihe 1: Kuinka se toimii (käsite):

Kuinka se toimii (konsepti)
Kuinka se toimii (konsepti)
Kuinka se toimii (konsepti)
Kuinka se toimii (konsepti)

Annettu taajuusmuunnosohjelma tarjoaa suuren hallinnan tarvitsemastasi ulostulosta. Tämä ohjelma arvioi taajuusalueen, jonka käyttäjä on antanut tietosarjan tulolle.

  • Kuvassa tietojoukko, joka koostuu kahdesta taajuudesta nimeltä f2 ja f5, jotka on testattava. f2 ja f5 ovat satunnaisia nimiä kahdelle taajuudelle, suurempi luku suhteellisen korkealle taajuudelle. tässä pienemmällä taajuudella f2 on suurempi amplitudi ja f5: llä on pienempi amplitudi.
  • Voidaan osoittaa matemaattisesti, että kahden eri taajuudella olevan harmonisen tietojoukon kertomisen yhteenlasku on yleensä nolla (suurempi datamäärä voi johtaa taikinatulokseen). Meidän tapauksessamme Jos näillä kahdella kertotaajuudella on sama (tai hyvin lähellä oleva) taajuus, kertomisen summa on nollasta poikkeava luku, jossa amplitudi riippuu datan amplitudista.
  • tietyn taajuuden havaitsemiseksi annettu tietojoukko voidaan kertoa eri testitaajuuksilla ja tulos voi antaa komponentin tästä taajuudesta datassa.

Vaihe 2: Kuinka se toimii (koodissa):

Kuinka se toimii (koodissa)
Kuinka se toimii (koodissa)
Kuinka se toimii (koodissa)
Kuinka se toimii (koodissa)

kyseiselle datalle (f2+f5) yksi kerrallaan f1 - f6 on kertolasku ja summan arvo merkitään muistiin. että lopullinen summa edustaa kyseisen taajuuden sisältöä. Taajuuden lepo (ei täsmää) tulisi olla ihanteellisesti nolla, mutta se ei ole mahdollista todellisessa tapauksessa. summan nollaamiseksi vaaditaan ääretön kokoisia tietojoukkoja.

  • kuten kuviosta f1 - f6 voidaan nähdä, kokeilutaajuus ja sen kertominen datajoukon kanssa jokaisessa kohdassa on esitetty.
  • toisessa kuvassa esitetään tämän kertolaskun summaus jokaisella taajuudella. kaksi piikkiä kohdissa 1 ja 5 on tunnistettavissa.

joten käyttämällä samaa lähestymistapaa satunnaisdatalle voimme arvioida niin monta taajuutta ja analysoida datan taajuussisältöä.

Vaihe 3: Koodin käyttäminen taajuusanalyysiin:

Koodin käyttäminen taajuusanalyysiin
Koodin käyttäminen taajuusanalyysiin

Esimerkiksi käytämme tätä koodia löytääksesi DFT neliön aalto.

liitä ensin liitetty koodi (dft -toiminto) silmukan jälkeen kuvan osoittamalla tavalla

8 EHDOT, JOTKA ON TARKOITETTAVA

  1. ryhmä, josta dft on otettava
  2. taulukon koko
  3. aikaväli kahden lukeman välillä taulukossa milliSECONDS
  4. alempi taajuusalue Hz
  5. taajuusalueen ylempi arvo Hz
  6. taajuusalueiden portaiden koko
  7. signaalin toistaminen (vähintään 1) suurempi taikinan tarkkuus, mutta lisää ratkaisuaikaa
  8. ikkunatoiminto:

    0 ei ikkunaa 1 litteä ikkuna 2 hann-ikkunaa 3 vasara-ikkunaa varten

(jos sinulla ei ole aavistustakaan ikkunan valitsemisesta, pidä oletusarvo 3)

esimerkki: dft (a, 8, 0,5, 0, 30, 0,5, 10, 3); tässä a on koko 8 -elementti, joka tarkistetaan 0 Hz - 30 Hz 0,5 askeleella (0, 0,5, 1, 1,5,…, 29, 29,5, 30) 10 toisto- ja vasara -ikkuna

täällä on mahdollista käyttää isompaa kokotaulukkoa niin paljon kuin arduino pystyy käsittelemään.

Vaihe 4: Lähtö:

Lähtö
Lähtö
Lähtö
Lähtö

jos kommentoit

Sarjajälki (f); Sarjajälki ("\ t");

koodista sarjaplotteri antaa taajuusspektrin luonteen, jos ei Sarjamonitori antaisi taajuuden amplitudinsa kanssa.

Vaihe 5: Erilaisten ikkuna- ja näytekokojen tarkistaminen:

Erilaisten ikkuna- ja näytekokojen tarkistaminen
Erilaisten ikkuna- ja näytekokojen tarkistaminen

kuvassa siniaallon taajuus mitataan eri asetuksella.

Vaihe 6: Esimerkki:

Esimerkki
Esimerkki

kuvassa verrataan tietojen muunnosta SciLabia ja arduinoa käyttäen.

Suositeltava: