Sadržaj:

Arduino: Frekvencijska transformacija (DFT): 6 koraka
Arduino: Frekvencijska transformacija (DFT): 6 koraka

Video: Arduino: Frekvencijska transformacija (DFT): 6 koraka

Video: Arduino: Frekvencijska transformacija (DFT): 6 koraka
Video: Kako napraviti merac frekvencije ??? 2024, Lipanj
Anonim
Arduino: Frekvencijska transformacija (DFT)
Arduino: Frekvencijska transformacija (DFT)

ovaj program služi za izračunavanje frekvencijske transformacije na arduinu s kontrolom tijesta nad parametrima. rješava se pomoću oskrnavljene četvorne transformacije.

ovo nije FFT

FFT je algoritam koji se koristi za rješavanje DFT -a s kraćim vremenom.

Kôd za FFT možete pronaći ovdje.

Korak 1: Kako to funkcionira (koncept):

Kako to funkcionira (koncept)
Kako to funkcionira (koncept)
Kako to funkcionira (koncept)
Kako to funkcionira (koncept)

Dati program za frekvencijsku transformaciju pruža veliku kontrolu nad izlazom koji vam je potreban. ovaj program procjenjuje frekvencijski raspon koji daje korisnik na danom ulazu za skup podataka.

  • Na slici je dan skup podataka sastavljen od dvije frekvencije pod imenom f2 i f5 koje je potrebno testirati. f2 i f5 su nasumični nazivi za dvije frekvencije, veći broj za relativno veću frekvenciju. ovdje manja frekvencija f2 ima veću amplitudu, a f5 ima manju amplitudu.
  • Matematički se može pokazati da -zbroj množenja dvaju harmoničkih skupova podataka s različitom frekvencijom teži nuli (veći broj podataka može dovesti do rezultata testa). U našem slučaju Ako ove dvije frekvencije množenja imaju istu (ili vrlo blisku) frekvenciju, taj zbroj množenja je broj različit od nule gdje amplituda ovisi o amplitudi podataka.
  • Za otkrivanje određene frekvencije zadani skup podataka može se pomnožiti s različitim frekvencijama ispitivanja, a rezultat može dati komponentu te frekvencije u podacima.

2. korak: Kako to radi (u kodu):

Kako to radi (u kodu)
Kako to radi (u kodu)
Kako to radi (u kodu)
Kako to radi (u kodu)

jer se ti podaci (f2+f5) jedan po jedan f1 do f6 množe i bilježi vrijednost zbroja. taj konačni zbroj predstavlja sadržaj te frekvencije. odmor (neusklađenost) frekvencije idealno bi trebao biti nula, ali to u stvarnom slučaju nije moguće. kako bi zbroj bio nula potrebno je imati beskonačnu veličinu skupova podataka.

  • kao što se može prikazati na slikama od f1 do f6 učestalost ispitivanja i prikazano je njezino množenje sa skupom podataka u svakoj točki.
  • na drugoj slici prikazan je zbroj tog množenja pri svakoj frekvenciji. dva vrha na 1 i 5 se mogu identificirati.

pa pomoću istog pristupa za slučajne podatke možemo procijeniti toliko učestalosti i analizirati učestalost sadržaja podataka.

Korak 3: Korištenje koda za analizu učestalosti:

Korištenje koda za analizu učestalosti
Korištenje koda za analizu učestalosti

na primjer, pomoću ovog koda možemo pronaći DFT kvadratnog vala.

prvo zalijepite priloženi kôd (dft funkcija) nakon petlje kao što je prikazano na slici

8 UVJETA KOJE TREBA NAVESTI

  1. niz od kojih je potrebno uzeti dft
  2. veličina niza
  3. vremenski interval između 2 čitanja u nizu u milliSECONDS
  4. niža vrijednost frekvencijskog područja u Hz
  5. gornja vrijednost frekvencijskog područja u Hz
  6. veličina koraka za frekvencijski raspon
  7. ponavljanje signala (minimalno 1) veća točnost brojača, ali povećano vrijeme rješenja
  8. funkcija prozora:

    0 za prozor bez prozora1 za prozor s ravnim krovom 2 za prozor Hann 3 za zabijanje prozora

(ako nemate pojma o odabiru prozora, zadržite zadano 3)

primjer: dft (a, 8, 0,5, 0, 30, 0,5, 10, 3); ovdje je niz elemenata veličine 8 koje treba provjeriti za 0 Hz do 30 Hz sa 0,5 koraka (0, 0,5, 1, 1,5,…, 29, 29,5, 30) 10 ponavljanja i prozora za udaranje

ovdje je moguće koristiti niz većih dimenzija koliko arduino može podnijeti.

Korak 4: Izlaz:

Izlaz
Izlaz
Izlaz
Izlaz

ako komentirate

Serial.print (f); Serial.print ("\ t");

iz koda serijski ploter će dati prirodu frekvencijskog spektra i ako ne serijski monitor bi dao frekvenciju svojom amplitudom.

Korak 5: Provjera različitih veličina prozora i uzoraka:

Provjera različitih veličina prozora i uzoraka
Provjera različitih veličina prozora i uzoraka

na slici se frekvencija sinusnog vala mjeri različitim postavkama.

Korak 6: Primjer:

Primjer
Primjer

na slici se uspoređuje transformacija podataka pomoću SciLaba i arduina.

Preporučeni: