Tartalomjegyzék:

Arduino: Frekvenciaátalakítás (DFT): 6 lépés
Arduino: Frekvenciaátalakítás (DFT): 6 lépés

Videó: Arduino: Frekvenciaátalakítás (DFT): 6 lépés

Videó: Arduino: Frekvenciaátalakítás (DFT): 6 lépés
Videó: Температурное реле ТР100 2024, Július
Anonim
Arduino: Frekvenciaátalakítás (DFT)
Arduino: Frekvenciaátalakítás (DFT)

ez a program a frekvenciaátalakítás kiszámítására szolgál az arduino -n, a tésztavezérléssel a paraméterek felett. megoldása a megszentségtelenített négyiior transzformációval történik.

ez nem FFT

Az FFT olyan algoritmus, amely a DFT megoldására szolgál rövidebb idő alatt.

Az FFT kódja itt található.

1. lépés: Hogyan működik (koncepció):

Hogyan működik (koncepció)
Hogyan működik (koncepció)
Hogyan működik (koncepció)
Hogyan működik (koncepció)

A frekvenciaátalakításra adott program nagyszerűen szabályozza a kívánt kimenetet. ez a program kiértékeli a felhasználó által az adatkészlet adott bemenetén megadott frekvenciatartományt.

  • Az ábrán két, f2 és f5 nevű frekvenciából álló adathalmaz van megadva, amelyeket tesztelni kell. f2 és f5 véletlenszerű elnevezések két frekvenciához, magasabb számok viszonylag magasabb frekvenciához. itt a kisebb frekvencia f2 nagyobb amplitúdóval rendelkezik, az f5 pedig kisebb amplitúdóval.
  • Matematikailag kimutatható, hogy két különböző frekvenciájú harmonikus adathalmaz szorzatának összeadása nullára hajlik (a nagyobb számú adat tésztaeredményhez vezethet). Esetünkben Ha ennek a két szorzási frekvenciának azonos (vagy nagyon közeli) frekvenciája van, akkor a szorzás összege nem nulla szám, ahol az amplitúdó az adatok amplitúdójától függ.
  • A meghatározott frekvencia kimutatásához az adott adatkészletet meg lehet szorozni különböző tesztfrekvenciákkal, és az eredmény megadhatja ennek a frekvenciának az összetevőjét.

2. lépés: Hogyan működik (kódban):

Hogyan működik (kódban)
Hogyan működik (kódban)
Hogyan működik (kódban)
Hogyan működik (kódban)

az adott adatokra (f2+f5) egyenként f1 -f6 szorz és az összeg értékét feljegyezzük. hogy a végső összeg az adott gyakoriság tartalmát jelenti. a többi (nem egyező) frekvenciának ideális esetben nullának kell lennie, de ez valós esetben nem lehetséges. ahhoz, hogy az összeg nulla legyen, végtelen méretű adathalmazokra van szükség.

  • amint az az f1 -f6 ábrákon látható, a próba gyakorisága és annak minden ponton való adathalmazokkal való szorzata látható.
  • a második ábrán ennek a szorzásnak az összes gyakoriságán való összegzését ábrázoljuk. két csúcs azonosítható az 1 -nél és az 5 -nél.

így ugyanazt a megközelítést alkalmazva egy véletlenszerű adatra, annyiféle gyakoriságot értékelhetünk, és elemezhetjük az adatok gyakorisági tartalmát.

3. lépés: A kód használata a frekvenciaelemzéshez:

A kód használata a frekvenciaelemzéshez
A kód használata a frekvenciaelemzéshez

egy példa segítségével ezt a kódot használva megkeressük a négyzethullám DFT -jét.

először illessze be a csatolt kódot (dft függvény) a ciklus után az ábrán látható módon

8 FELTÉTELEK, amelyeket pontosítani kell

  1. egy tömb, amelyből dft -t kell venni
  2. tömb mérete
  3. időintervallum 2 leolvasás között tömbben milliSECONDS -ban
  4. a frekvenciatartomány alacsonyabb értéke Hz -ben
  5. a frekvenciatartomány felső értéke Hz -ben
  6. a frekvenciatartomány lépéseinek mérete
  7. egy jel megismétlése (minimum 1) nagyobb számú tészta pontosság, de megnövelt oldási idő
  8. ablak funkció:

    0 ablak nélkül1 lapos tetejű ablaknál 2 hann ablaknál 3 hamming ablaknál

(ha fogalma sincs az ablak kiválasztásáról, akkor tartsa alapértelmezettként 3)

példa: dft (a, 8, 0,5, 0, 30, 0,5, 10, 3); itt a 8 -as méretű tömb, amelyet 0 Hz és 30 Hz között kell ellenőrizni 0,5 lépéssel (0, 0,5, 1, 1,5,…, 29, 29,5, 30) 10 ismétlés és kalapáló ablak

itt lehetőség van nagyobb méretű tömb használatára, amennyit az arduino képes kezelni.

4. lépés: Kimenet:

Kimenet
Kimenet
Kimenet
Kimenet

ha kommentelsz

Soros.nyomtatás (f); Soros.nyomtatás ("\ t");

A soros plotter kódból a frekvencia spektrum természetét adja meg, ha nem A soros monitor adna frekvenciát az amplitúdójával.

5. lépés: A különböző ablak- és minta méretek ellenőrzése:

Különféle ablak- és minta méretek ellenőrzése
Különféle ablak- és minta méretek ellenőrzése

ábrán a szinuszhullám frekvenciáját különböző beállításokkal mérik.

6. lépés: Példa:

Példa
Példa

ábrán az adatok átalakítását SciLab és arduino segítségével hasonlítjuk össze.

Ajánlott: