Inhaltsverzeichnis:
- Schritt 1: Wie es funktioniert (Konzept):
- Schritt 2: Wie es funktioniert (im Code):
- Schritt 3: Verwenden von Code für die Frequenzanalyse:
- Schritt 4: Ausgabe:
- Schritt 5: Überprüfen verschiedener Fenster- und Stichprobengrößen:
- Schritt 6: Beispiel:
Video: Arduino: Frequenztransformation (DFT) - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Dieses Programm soll die Frequenztransformation auf Arduino mit Batteriekontrolle über Parameter berechnen. Es wird mit der Entweihung der Fouriior-Transformation gelöst.
das ist nicht FFT
FFT ist ein Algorithmus, der verwendet wird, um DFT mit geringerer Zeit zu lösen.
Code für FFT finden Sie hier.
Schritt 1: Wie es funktioniert (Konzept):
Das angegebene Programm für die Frequenztransformation bietet eine große Kontrolle über die von Ihnen benötigte Ausgabe. Dieses Programm wertet den Frequenzbereich aus, der vom Benutzer bei einer bestimmten Eingabe für den Datensatz angegeben wurde.
- In Abbildung ist ein Datensatz aus zwei Frequenzen mit den Namen f2 und f5 gegeben, die getestet werden müssen. f2 und f5 sind zufällige Namen für zwei Frequenzen, höhere Zahlen für relativ höhere Frequenzen. hier hat die kleinere Frequenz f2 eine höhere Amplitude und f5 hat eine kleinere Amplitude.
- Es kann mathematisch gezeigt werden, dass die Summe der Multiplikation von zwei harmonischen Datensätzen mit unterschiedlicher Frequenz gegen Null tendiert (eine höhere Anzahl von Daten kann zu einem Schlagergebnis führen). In unserem Fall, wenn diese beiden Multiplikationsfrequenzen dieselbe (oder sehr nahe) Frequenz haben, ist diese Multiplikationssumme eine Zahl ungleich Null, wobei die Amplitude von der Amplitude der Daten abhängt.
- um eine bestimmte Frequenz zu erkennen, kann ein gegebener Datensatz mit verschiedenen Testfrequenzen multipliziert werden und das Ergebnis kann eine Komponente dieser Frequenz in den Daten ergeben.
Schritt 2: Wie es funktioniert (im Code):
für diese gegebenen Daten (f2+f5) wird eins nach dem anderen von f1 bis f6 multipliziert und der Wert der Summe wird notiert. diese Endsumme repräsentiert den Inhalt dieser Frequenz. Rest (Nichtübereinstimmung) der Frequenz sollte idealerweise Null sein, aber dies ist im realen Fall nicht möglich. um die Summe Null zu machen, ist es erforderlich, eine unendliche Größe von Datensätzen zu haben.
- wie in den Abbildungen f1 bis f6 gezeigt wird, ist die Versuchsfrequenz und ihre Multiplikation mit dem Datensatz an jedem Punkt gezeigt.
- in der zweiten Figur ist die Summation dieser Multiplikation bei jeder Frequenz aufgetragen. zwei Peaks bei 1 und 5 sind identifizierbar.
Wenn wir also den gleichen Ansatz für Zufallsdaten verwenden, können wir so viele Frequenzen auswerten und den Frequenzinhalt von Daten analysieren.
Schritt 3: Verwenden von Code für die Frequenzanalyse:
Als Beispiel verwenden wir diesen Code, um die DFT der Rechteckwelle zu finden.
Fügen Sie zuerst den angehängten Code (dft-Funktion) nach der Schleife ein, wie im Bild gezeigt
8 BEDINGUNGEN, DIE ANGEGEBEN WERDEN MÜSSEN
- ein Array, von dem dft genommen werden muss
- Größe eines Arrays
- Zeitintervall zwischen 2 Messwerten im Array in Millisekunden
- unterer Wert des Frequenzbereichs in Hz
- oberer Wert des Frequenzbereichs in Hz
- Schrittweite für Frequenzbereich
- Wiederholung eines Signals (mindestens 1) höhere Schlagzahlgenauigkeit, aber längere Lösungszeit
-
Fensterfunktion:
0 für kein Fenster1 für Flat-Top-Fenster 2 für Hann-Fenster 3 für Hamming-Fenster
(Wenn Sie keine Ahnung haben, wie Sie das Fenster auswählen sollen, behalten Sie die Standardeinstellung bei 3)
Beispiel: dft(a, 8, 0,5, 0, 30, 0,5, 10, 3); hier ist a ein Array der Größe 8 zu prüfendes Element für 0 Hz bis 30 Hz mit 0.5 Schritt (0, 0.5, 1, 1.5, …, 29, 29.5, 30) 10 Wiederholung und Hamming Window
Hier ist es möglich, ein größeres Array zu verwenden, so viel wie Arduino verarbeiten kann.
Schritt 4: Ausgabe:
wenn du auskommentierst
Serial.print (f); Serial.print ("\t");
vom seriellen Code-Plotter gibt die Art des Frequenzspektrums an und wenn nicht, würde der serielle Monitor die Frequenz mit seiner Amplitude angeben.
Schritt 5: Überprüfen verschiedener Fenster- und Stichprobengrößen:
In der Abbildung wird die Frequenz der Sinuswelle mit einer anderen Einstellung gemessen.
Schritt 6: Beispiel:
in Abbildung Transformation von Daten mit SciLab und Arduino verglichen.
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i