INHOUDSOPGAWE:
- Stap 1: Hoe dit werk (konsep):
- Stap 2: Hoe dit werk (in kode):
- Stap 3: Gebruik kode vir frekwensie -analise:
- Stap 4: Uitset:
- Stap 5: Kontroleer verskillende venster- en steekproefgroottes:
- Stap 6: Voorbeeld:
Video: Arduino: Frequency Transform (DFT): 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
hierdie program is om die frekwensietransformasie op arduino te bereken met beslagbeheer oor parameters. dit word opgelos met behulp van desecrate fouriior transform.
dit is nie FFT nie
FFT is 'n algoritme wat gebruik word om DFT met kleiner tyd op te los.
Kode vir FFT kan hier gevind word.
Stap 1: Hoe dit werk (konsep):
Gegewe die program vir frekwensietransformasie bied uitstekende beheer oor die uitvoer wat u benodig. hierdie program evalueer die frekwensiebereik wat die gebruiker op die gegewe invoer vir die datastel gegee het.
- In figuur word 'n datastel gemaak van twee frekwensies met die naam f2 en f5, wat getoets moet word. f2 en f5 is ewekansige name vir twee frekwensies, hoër getalle vir relatief hoër frekwensies. hier het kleiner frekwensie f2 'n hoër amplitude en f5 het 'n kleiner amplitude.
- Dit kan wiskundig aangetoon word dat die som van vermenigvuldiging van twee harmoniese datastelle met verskillende frekwensies tot nul neig ('n groter aantal data kan lei tot 'n beslaglegging). In ons geval As hierdie twee vermenigvuldigingsfrekwensies dieselfde (of baie naby) frekwensie het, is die som van vermenigvuldiging 'n nulnommer waar amplitude afhang van die amplitude van data.
- om 'n spesifieke frekwensie op te spoor, gegewe datastel kan vermenigvuldig word met verskillende toetsfrekwensies en die resultaat kan 'n komponent van die frekwensie in data gee.
Stap 2: Hoe dit werk (in kode):
vir die gegewe gegewens (f2+f5) is een vir een f1 tot f6 vermenigvuldig en die waarde van som word aangeteken. die finale som verteenwoordig die inhoud van die frekwensie. Die rus (nie-ooreenstemmende) frekwensie moet verkieslik nul wees, maar in werklike gevalle is dit nie moontlik nie. Om die som nul te maak, moet u 'n oneindige grootte datastelle hê.
- soos getoon kan word in figuur f1 tot f6 proeffrekwensie en die vermenigvuldiging daarvan met datastel op elke punt word getoon.
- in die tweede figuur word die opsomming van die vermenigvuldiging by elke frekwensie geteken. twee pieke by 1 en 5 is identifiseerbaar.
Met dieselfde benadering vir ewekansige data kan ons dus vir soveel frekwensies evalueer en die frekwensie -inhoud van data ontleed.
Stap 3: Gebruik kode vir frekwensie -analise:
Met 'n voorbeeld kan ons hierdie kode gebruik om DFT van vierkantgolf te vind.
plak eers aangehegte kode (dft -funksie) na lus, soos op die prentjie
8 BEPALINGS WAT SPESIFISEER MOET WORD
- 'n verskeidenheid waarvan dft geneem moet word
- grootte van 'n skikking
- tydsinterval tussen 2 lesings in skikking in milliSECONDS
- laer waarde van frekwensiebereik in Hz
- boonste waarde van frekwensiebereik in Hz
- grootte van stappe vir frekwensiebereik
- herhaling van 'n sein (minimum 1) groter getal beslag akkuraatheid, maar verhoogde oplossingstyd
-
venster funksie:
0 vir geen venster1 vir platvenster 2 vir hann-venster 3 vir venstervenster
(hou standaard 3 as u geen idee het oor die keuse van venster nie)
voorbeeld: dft (a, 8, 0.5, 0, 30, 0.5, 10, 3); hier is a 'n skikking van grootte 8 -element wat gekontroleer moet word op 0 Hz tot 30 Hz met 0,5 stap (0, 0,5, 1, 1,5, …, 29, 29,5, 30) 10 herhalings- en hamvenster
hier is dit moontlik om 'n groter skikking te gebruik, soveel as wat arduino kan hanteer.
Stap 4: Uitset:
as jy kommentaar lewer
Serial.print (f); Serial.print ("\ t");
vanaf die kode seriële plotter gee die aard van die frekwensiespektrum 'n Seriële monitor, indien nie, 'n frekwensie met die amplitude.
Stap 5: Kontroleer verskillende venster- en steekproefgroottes:
in figuur word die frekwensie van sinusgolf gemeet met behulp van verskillende instellings.
Stap 6: Voorbeeld:
in figuurtransformasie van data met SciLab en arduino word vergelyk.
Aanbeveel:
Hoe om die Arduino DDS Frequency Signal Generator AD9850 te gebruik: 7 stappe
Hoe om die Arduino DDS Frequency Signal Generator AD9850 te gebruik: In hierdie tutoriaal leer ons hoe om 'n Frequency Signal Generator te maak met 'n AD9850 -module en Arduino. Kyk na die video! erger met die hoër frekwensies
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
EasyFFT: Fast Fourier Transform (FFT) vir Arduino: 6 stappe
EasyFFT: Fast Fourier Transform (FFT) vir Arduino: Meting van frekwensie van die vasgelegde sein kan 'n moeilike taak wees, veral op Arduino, aangesien dit 'n laer rekenkrag het. Daar is metodes beskikbaar om nulkruising vas te lê, waar die frekwensie vasgelê word deur hoeveel keer die
Fast Hartley Transform Spectral Stetoskoop: 22 stappe
Fast Hartley Transform Spectral Stethoscope: In hierdie instruksies leer jy hoe om 'n spektrale stetoskoop te maak met behulp van die vinnige hartley transform. Dit kan gebruik word om hart- en longklanke te visualiseer
Transform-a-Car: Afstandsbediening na selfbeheerde: 4 stappe
Transform-a-Car: Remote Controlled to Self Controlled: Dit is 'n hack op 'n RC-motor met 'n gebreekte afstandsbediening. U kan baie vind by motorhuisverkope