Sadržaj:
- Korak 1: Kako to funkcionira (koncept):
- 2. korak: Kako to radi (u kodu):
- Korak 3: Korištenje koda za analizu učestalosti:
- Korak 4: Izlaz:
- Korak 5: Provjera različitih veličina prozora i uzoraka:
- Korak 6: Primjer:
Video: Arduino: Frekvencijska transformacija (DFT): 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
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):
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):
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:
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
- niz od kojih je potrebno uzeti dft
- veličina niza
- vremenski interval između 2 čitanja u nizu u milliSECONDS
- niža vrijednost frekvencijskog područja u Hz
- gornja vrijednost frekvencijskog područja u Hz
- veličina koraka za frekvencijski raspon
- ponavljanje signala (minimalno 1) veća točnost brojača, ali povećano vrijeme rješenja
-
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:
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:
na slici se frekvencija sinusnog vala mjeri različitim postavkama.
Korak 6: Primjer:
na slici se uspoređuje transformacija podataka pomoću SciLaba i arduina.
Preporučeni:
EasyFFT: Brza Fourierova transformacija (FFT) za Arduino: 6 koraka
EasyFFT: Brza Fourierova transformacija (FFT) za Arduino: Mjerenje frekvencije iz snimljenog signala može biti težak zadatak, posebno na Arduinu jer ima manju računalnu snagu. Dostupne su metode za snimanje prijelaza nulte točke gdje se učestalost bilježi provjeravajući koliko puta
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: 6 koraka
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: Stoga će za ovaj projekt možda biti potrebno malo pozadine. Ljudi s kućnim ljubimcima vjerojatno su imali isti problem kao i ja: godišnji odmori i zaborav. Stalno sam zaboravljao nahraniti svoju ribu i uvijek sam to pokušavao učiniti prije nego što je otišlo u s
Akustična levitacija s Arduino Uno Korak po korak (8 koraka): 8 koraka
Akustična levitacija s Arduino Uno Korak po korak (8 koraka): ultrazvučni pretvarači zvuka L298N Dc ženski adapter za napajanje s muškim dc pinom Arduino UNOBreadboard Kako to funkcionira: Prvo učitavate kôd na Arduino Uno (to je mikrokontroler opremljen digitalnim i analogni portovi za pretvaranje koda (C ++)
Mjerač koraka 1. dio: Jednobojni zaslon 128x32 i Arduino: 5 koraka
Mjerač koraka 1. dio: Jednobojni zaslon 128x32 i Arduino: Ovo je osnovni vodič koji podučava kako koristiti OLED zaslon sa svojim Arduinom. Koristim zaslon veličine 128x32, ali možete koristiti i zaslon različite rezolucije i promijeniti rezoluciju/koordinate prema potrebi. U ovom dijelu ću vam pokazati kako
Najjeftiniji Arduino -- Najmanji Arduino -- Arduino Pro Mini -- Programiranje -- Arduino Neno: 6 koraka (sa slikama)
Najjeftiniji Arduino || Najmanji Arduino || Arduino Pro Mini || Programiranje || Arduino Neno: …………………………. PRETPLATITE SE na moj YouTube kanal za više videa ……. .Ovaj projekt govori o tome kako spojiti najmanji i najjeftiniji arduino ikada. Najmanji i najjeftiniji arduino je arduino pro mini. Slično je arduinu