Indholdsfortegnelse:
- Trin 1: Sådan fungerer det (koncept):
- Trin 2: Sådan fungerer det (i kode):
- Trin 3: Brug af kode til frekvensanalyse:
- Trin 4: Output:
- Trin 5: Kontrol af forskellige vindues- og prøvestørrelser:
- Trin 6: Eksempel:
Video: Arduino: Frequency Transform (DFT): 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
dette program er til at beregne frekvensomdannelse på arduino med batterkontrol over parametre. det løses ved hjælp af desecrate fouriior transform.
dette er ikke FFT
FFT er en algoritme, der bruges til at løse DFT med mindre tid.
Kode til FFT findes her.
Trin 1: Sådan fungerer det (koncept):
Givet program til frekvensomformning giver stor kontrol over output, du har brug for. dette program evaluerer frekvensområde givet af bruger ved givet input til datasæt.
- I figur et datasæt bestående af to frekvenser navngivet f2 og f5 givet, som skal testes. f2 og f5 er tilfældige navne for to frekvenser, højere tal for relativt højere frekvens. her har mindre frekvens f2 højere amplitude og f5 har mindre amplitude.
- Det kan matematisk vises, at -summation af multiplikation af to harmoniske datasæt med forskellige frekvenser har tendens til nul (højere antal data kan føre til batterresultat). I vores tilfælde Hvis disse to multiplikationsfrekvenser har samme (eller meget tæt) frekvens, er multiplikationssummen et nul -nummer, hvor amplituden afhænger af datamængden.
- til at detektere specifik frekvens givet datasæt kan multipliceres med forskellige testfrekvenser, og resultatet kan give komponent af denne frekvens i data.
Trin 2: Sådan fungerer det (i kode):
for de givne data (f2+f5) en efter en f1 til f6 er multiplikationer og sumværdien noteres. den endelige sum repræsenterer indholdet af denne frekvens. resten (ikke-matchende) frekvens bør ideelt set være nul, men det er ikke muligt i virkelige tilfælde. for at gøre summen nul er det påkrævet at have uendelig størrelse af datasæt.
- som det kan vises i figur f1 til f6 prøvefrekvens og dens multiplikation med datasæt på hvert punkt vises.
- i anden figur summeres denne multiplikation ved hver frekvens. to toppe ved 1 og 5 kan identificeres.
så ved hjælp af samme tilgang til tilfældige data kan vi evaluere for så mange frekvenser og analysere frekvensindhold i data.
Trin 3: Brug af kode til frekvensanalyse:
for et eksempel kan vi bruge denne kode til at finde DFT for firkantbølge.
indsæt først vedhæftede kode (dft -funktion) efter sløjfe som vist billede
8 BETINGELSER, DER SKAL SPECIFICERES
- en matrix, som dft skal tages
- størrelse på en matrix
- tidsinterval mellem 2 læsning i array i milliSECONDS
- lavere værdi af frekvensområde i Hz
- øvre værdi af frekvensområde i Hz
- trinstørrelse for frekvensområde
- gentagelse af et signal (minimum 1) højere nummer batternøjagtighed, men øget løsningstid
-
vinduesfunktion:
0 for intet vindue1 for fladvindue 2 for hann vindue 3 til hammer vindue
(hvis du ikke har nogen idé om at vælge vindue, skal du beholde standard 3)
eksempel: dft (a, 8, 0,5, 0, 30, 0,5, 10, 3); her a er en matrix af størrelse 8 -element, der skal kontrolleres for 0 Hz til 30 Hz med 0,5 trin (0, 0,5, 1, 1,5,…, 29, 29,5, 30) 10 gentagelses- og hamningvindue
her er det muligt at bruge større størrelse så meget som arduino kan klare.
Trin 4: Output:
hvis du kommenterer
Serial.print (f); Serial.print ("\ t");
fra kode seriel plotter vil give karakter af frekvensspektrum en hvis ikke Seriel monitor ville give frekvens med sin amplitude.
Trin 5: Kontrol af forskellige vindues- og prøvestørrelser:
i figur måles sinusbølgens frekvens ved hjælp af forskellige indstillinger.
Trin 6: Eksempel:
i figur transformering af data ved hjælp af SciLab og arduino sammenlignes.
Anbefalede:
Sådan bruges Arduino DDS Frequency Signal Generator AD9850: 7 trin
Sådan bruges Arduino DDS Frequency Signal Generator AD9850: I denne vejledning lærer vi, hvordan man laver en Frequency Signal Generator ved hjælp af et AD9850 modul og Arduino. Se videoen! Bemærk: Det lykkedes mig at få frekvens op til +50MHz, men signalkvaliteten bliver værre med de højere frekvenser
EasyFFT: Fast Fourier Transform (FFT) til Arduino: 6 trin
EasyFFT: Fast Fourier Transform (FFT) til Arduino: Måling af frekvens fra det indfangede signal kan være en vanskelig opgave, især på Arduino, da den har lavere beregningseffekt. Der er metoder til rådighed til at fange nulkryds, hvor frekvensen registreres ved at kontrollere, hvor mange gange
Hurtigt Hartley Transform Spectral Stethoscope: 22 trin
Hurtigt Hartley Transform Spectral Stethoscope: I denne instruktive vil du lære at lave et spektralstetoskop ved hjælp af den hurtige hartley -transformation. Dette kan bruges til at visualisere hjerte- og lungelyde
Transform-a-Car: Fjernstyret til selvstyret: 4 trin
Transform-a-Car: Remote Controlled to Self Controlled: Dette er et hack på en RC bil med en ødelagt fjernbetjening. Du kan finde masser ved garagesalg
[DIY] Transform mobiltelefon batterioplader: 6 trin
[DIY] Transform mobiltelefon batterioplader: Mobiltelefonens batterioplader er en forkortelse for sædeladeren, hvilket betyder, at batterikortet placeres på toppen til opladning, hvilket er meget praktisk at bruge. Opladeren er primært en oplader designet til en eller en mobiltype