Spisu treści:
- Krok 1: Jak to działa (koncepcja):
- Krok 2: Jak to działa (w kodzie):
- Krok 3: Używanie kodu do analizy częstotliwości:
- Krok 4: Wyjście:
- Krok 5: Sprawdzanie różnych rozmiarów okien i próbek:
- Krok 6: Przykład:
Wideo: Arduino: Transformacja częstotliwości (DFT): 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
ten program ma obliczyć transformację częstotliwości na arduino z kontrolą ciasta nad parametrami. Rozwiązuje się go za pomocą zbezczeszczonej transformacji fouriior.
to nie jest FFT
FFT to algorytm używany do rozwiązywania DFT w krótszym czasie.
Kod FFT można znaleźć tutaj.
Krok 1: Jak to działa (koncepcja):
Dany program do transformacji częstotliwości zapewnia doskonałą kontrolę nad wymaganym wyjściem. program ten ocenia zakres częstotliwości podany przez użytkownika na danym wejściu dla zbioru danych.
- Na rysunku zestaw danych składający się z dwóch podanych częstotliwości o nazwach f2 i f5, które należy przetestować. f2 i f5 to losowe nazwy dla dwóch częstotliwości, wyższa liczba dla relatywnie wyższej częstotliwości. tutaj mniejsza częstotliwość f2 ma większą amplitudę, a f5 ma mniejszą amplitudę.
- Z matematycznego punktu widzenia można wykazać, że -sumowanie mnożenia dwóch zbiorów danych harmonicznych o różnej częstotliwości dąży do zera (większa liczba danych może skutkować biciem). W naszym przypadku Jeśli te dwie częstości mnożenia mają taką samą (lub bardzo zbliżoną) częstotliwość, suma mnożenia jest liczbą niezerową, gdzie amplituda zależy od amplitudy danych.
- w celu wykrycia określonej częstotliwości dany zestaw danych można pomnożyć przez różne częstotliwości testowe, a wynik może dać składnik tej częstotliwości w danych.
Krok 2: Jak to działa (w kodzie):
dla tych danych (f2+f5) kolejno f1 do f6 są mnożone i odnotowywana jest wartość sumy. ta końcowa suma reprezentuje zawartość tej częstotliwości. reszta (niedopasowanie) częstotliwości powinna być idealnie zerowa, ale w rzeczywistości nie jest to możliwe. aby suma była zerowa, wymagane jest posiadanie nieskończonego rozmiaru zbiorów danych.
- jak widać na rys. f1 do f6 częstotliwość prób i pokazano jej mnożenie przez zestaw danych w każdym punkcie.
- na drugiej figurze wykreśla się sumę tego mnożenia przy każdej częstotliwości. można zidentyfikować dwa piki przy 1 i 5.
więc używając tego samego podejścia do losowych danych, możemy ocenić dla tak wielu częstotliwości i przeanalizować zawartość częstotliwości danych.
Krok 3: Używanie kodu do analizy częstotliwości:
na przykład użyjmy tego kodu, aby znaleźć DFT fali prostokątnej.
najpierw wklej załączony kod (funkcja dft) po pętli, jak pokazano na obrazku
8 TERMINÓW, KTÓRE NALEŻY OKREŚLIĆ
- tablica, z której należy pobrać dft
- rozmiar tablicy
- odstęp czasowy między 2 odczytami w tablicy w milisekundach
- dolna wartość zakresu częstotliwości w Hz
- górna wartość zakresu częstotliwości w Hz
- wielkość kroków dla zakresu częstotliwości
- powtórzenie sygnału (minimum 1) wyższa liczba dokładność ciasta, ale dłuższy czas rozwiązania
-
funkcja okna:
0 dla braku okna 1 dla okna z płaskim dachem 2 dla okna Hanna 3 dla okna Hamminga
(jeśli nie masz pojęcia o wyborze okna, zachowaj domyślne 3)
przykład: dft(a, 8, 0,5, 0, 30, 0,5, 10, 3); tutaj a jest tablicą o rozmiarze 8 elementów do sprawdzenia dla 0 Hz do 30 Hz z krokiem 0,5 (0, 0,5, 1, 1,5, …, 29, 29,5, 30) 10 powtórzeń i okno hamminga
tutaj możliwe jest użycie tablic o większych rozmiarach, o ile arduino jest w stanie obsłużyć.
Krok 4: Wyjście:
jeśli skomentujesz
Serial.print(f);Serial.print("\t");
z kodu szeregowego ploter poda charakter widma częstotliwości, a jeśli nie szeregowy monitor poda częstotliwość wraz ze swoją amplitudą.
Krok 5: Sprawdzanie różnych rozmiarów okien i próbek:
na rysunku częstotliwość fali sinusoidalnej jest mierzona przy użyciu innych ustawień.
Krok 6: Przykład:
na rysunku porównuje się transformację danych za pomocą SciLab i arduino.
Zalecana:
Prosty licznik częstotliwości za pomocą Arduino: 6 kroków
Prosty licznik częstotliwości za pomocą Arduino: W tym samouczku nauczymy się, jak zrobić prosty licznik częstotliwości za pomocą Arduino. Obejrzyj wideo
Jak korzystać z generatora sygnału częstotliwości DDS Arduino AD9850: 7 kroków
Jak korzystać z generatora sygnału częstotliwości Arduino DDS AD9850: W tym samouczku dowiemy się, jak zrobić generator sygnału częstotliwości za pomocą modułu AD9850 i Arduino. Obejrzyj wideo! Uwaga: Udało mi się uzyskać częstotliwość do +50 MHz, ale jakość sygnału wzrasta gorzej z wyższymi częstotliwościami
Licznik częstotliwości z Arduino: 8 kroków (ze zdjęciami)
Licznik częstotliwości z Arduino: Jest to prosty i tani licznik częstotliwości oparty na arduino, który kosztuje mniej niż 4 $, bardzo przydatne było mierzenie małych obwodów
Pomiar częstotliwości i napięcia zasilania za pomocą Arduino: 6 kroków
Pomiar częstotliwości i napięcia zasilania za pomocą Arduino: Wstęp: Celem tego projektu jest pomiar częstotliwości i napięcia zasilania, które mieszczą się w zakresie od 220 do 240 woltów i 50 Hz w Indiach. Użyłem Arduino do przechwytywania sygnału i obliczania częstotliwości i napięcia, możesz użyć dowolnego innego mikrokonta
Stetoskop spektralny z szybką transformacją Hartleya: 22 kroki
Stetoskop spektralny z szybką transformacją Hartleya: W tej instrukcji dowiesz się, jak wykonać stetoskop spektralny za pomocą szybkiej transformacji Hartleya. Można to wykorzystać do wizualizacji dźwięków serca i płuc