Analizator widma FFT
Analizator widma częstotliwości FFT w czasie rzeczywistym oparty na Web Audio API. Wizualizuj sinusoidę, szum, przebieg piłokształtny i akordy w skali logarytmicznej z podtrzymaniem szczytów.
Podobne symulacje
O tej symulacji
Analizator widma częstotliwości w czasie rzeczywistym oparty na węźle AnalyserNode z Web Audio API. Wybierz jedno z sześciu wbudowanych źródeł dźwięku — fale sinusoidalne, szum biały i różowy, przebieg piłokształtny, fala prostokątna oraz akord muzyczny — i obserwuj, jak ich odciski widmowe pojawiają się natychmiast na logarytmicznej osi częstotliwości ze skalą amplitudy w dB. Znaczniki podtrzymania szczytu oraz pasek przebiegu oscyloskopu dają pełny obraz czasowo-częstotliwościowy.
🔬 Co pokazuje
Szybka transformata Fouriera (FFT) rozkłada dowolny sygnał w dziedzinie czasu na jego składowe częstotliwościowe. Dla sygnału próbkowanego z częstotliwością fs przy N próbkach FFT daje N/2 przedziałów częstotliwości (binów), z których każdy obejmuje fs/N Hz. Węzeł AnalyserNode z Web Audio API oblicza okienkowaną FFT, wykorzystując okno Blackmana, aby ograniczyć przeciek widmowy. Podwojenie rozmiaru FFT zwiększa dwukrotnie rozdzielczość częstotliwościową, ale też dwukrotnie zmniejsza rozdzielczość czasową — to podstawowy kompromis czasowo-częstotliwościowy.
🎮 Jak korzystać
Wybierz źródło dźwięku spośród przycisków powyżej. Widmo pokazuje częstotliwość (20 Hz–20 kHz, skala logarytmiczna) w funkcji amplitudy (dB). Dla fali sinusoidalnej przeciągnij suwak częstotliwości, aby zobaczyć przesuwający się pojedynczy szczyt. Przełącz na przebieg piłokształtny, aby zobaczyć częstotliwość podstawową wraz z harmonicznymi parzystymi i nieparzystymi. Szum różowy pokazuje spadek energii 1/f (ok. 3 dB/oktawę). Zwiększ rozmiar FFT, aby uzyskać dokładniejszą rozdzielczość częstotliwościową kosztem wolniejszych aktualizacji. Włącz Peak Hold, aby śledzić maksymalne poziomy.
💡 Czy wiesz, że?
Szybka transformata Fouriera (1965, Cooley i Tukey) zredukowała złożoność obliczania DFT z O(N²) do O(N log N) — FFT dla 1024 próbek jest około 100 razy szybsza niż naiwne DFT. Współczesne korektory dźwięku, rozpoznawanie mowy oraz rozpoznawanie utworów muzycznych (Shazam) opierają się na analizie FFT. Ludzkie ucho odbiera częstotliwość w sposób w przybliżeniu logarytmiczny, dlatego analizatory widma używają logarytmicznej osi częstotliwości.
Najczęstsze pytania
Czym jest analizator widma FFT?
To narzędzie, które pokazuje, ile energii sygnał zawiera przy każdej częstotliwości. Szybka transformata Fouriera zamienia przebieg w dziedzinie czasu na zestaw przedziałów częstotliwości, a analizator wykreśla ich amplitudy. Tutaj wynik jest rysowany na żywo jako kolorowe słupki na logarytmicznej osi częstotliwości.
Jak ta symulacja generuje dźwięk?
Wykorzystuje Web Audio API. Tony sinusoidalny, piłokształtny i prostokątny pochodzą z węzła OscillatorNode, akord łączy trzy oscylatory sinusoidalne na A4, C5 i E5, a źródła szumu są wypełniane przez węzeł ScriptProcessorNode. Wszystkie źródła zasilają węzeł wzmocnienia połączony z węzłem AnalyserNode, który wykonuje FFT w każdej klatce.
Co dokładnie robią elementy sterujące?
Przyciski źródła wybierają, który sygnał jest analizowany. Suwak częstotliwości (20 Hz do 8 kHz) ustawia wysokość dźwięku tonów sinusoidalnego, piłokształtnego i prostokątnego. Selektor rozmiaru FFT zmienia rozdzielczość analizy, a suwak wygładzania uśrednia kolejne klatki. Pauza zatrzymuje rysowanie, a Peak Hold śledzi najwyższy poziom osiągnięty w każdym przedziale.
Co zmienia rozmiar FFT?
Rozmiar FFT ustala liczbę próbek analizowanych w każdej klatce: 512, 1024, 2048 lub 4096. Większy rozmiar daje więcej przedziałów częstotliwości i dokładniejszą rozdzielczość (każdy przedział obejmuje fs/N Hz), ale obejmuje dłuższe okno czasowe, więc wyświetlacz reaguje wolniej. Panel statystyk pokazuje aktualną wartość Hz na przedział.
Jakie jest kluczowe równanie stojące za tym mechanizmem?
Dyskretna transformata Fouriera to X[k] = suma po n z x[n] razy e^(-i 2π k n / N). FFT to szybki algorytm, który daje ten sam wynik w O(N log N) operacji zamiast O(N²). Przedział k odpowiada częstotliwości k razy fs podzielone przez N.
Dlaczego oś częstotliwości jest logarytmiczna?
Percepcja wysokości dźwięku przez człowieka jest z grubsza logarytmiczna, więc każda oktawa podwaja częstotliwość. Oś logarytmiczna daje każdej oktawie taką samą przestrzeń na ekranie, odpowiadając sposobowi, w jaki słyszymy, i ułatwiając porównywanie treści niskich, średnich i wysokich częstotliwości. Dlatego linie siatki wypadają przy 20, 50, 100, 200, 500 Hz i tak dalej.
Co robi regulator wygładzania?
Ustawia parametr smoothingTimeConstant węzła AnalyserNode — wartość od 0 do 0,95, która miesza aktualne widmo z poprzednim. Niskie wartości dają szybką, niestabilną reakcję ujawniającą stany przejściowe; wysokie wartości dają bardziej stabilny, uśredniony obraz, łatwiejszy do odczytu, ale wolniej reagujący.
Dlaczego fala piłokształtna pokazuje wiele szczytów, a sinusoida tylko jeden?
Czysta fala sinusoidalna zawiera energię przy jednej częstotliwości, więc pokazuje jeden szczyt. Fala piłokształtna jest bogata w harmoniczne, ze składowymi przy każdej całkowitej wielokrotności częstotliwości podstawowej, więc pojawia się jako seria szczytów o malejącej amplitudzie. Fala prostokątna podobnie pokazuje nieparzyste harmoniczne.
Jak obliczana jest częstotliwość dominująca?
W każdej klatce kod przeszukuje wszystkie przedziały, znajduje ten o największej wartości i przelicza go z powrotem na herce jako numer przedziału razy fs podzielone przez rozmiar FFT. Ta wartość jest pokazywana jako Dominant freq. Dokładność jest ograniczona szerokością przedziału, więc większe rozmiary FFT dają dokładniejszy odczyt.
Czy ta wizualizacja jest fizycznie dokładna?
Tak, w granicach możliwości demonstracji przeglądarkowej. Węzeł AnalyserNode wykonuje prawdziwą okienkowaną FFT i zwraca rzeczywiste wartości w decybelach. Odstępy między przedziałami, struktura harmonicznych oraz spadek szumu różowego zachowują się poprawnie. Dokładne amplitudy szczytów zależą od wewnętrznej funkcji okna i wybranego wygładzania, więc odczyty należy traktować jako orientacyjne, a nie skalibrowane pomiary.
Gdzie analizatory widma są wykorzystywane w praktyce?
Są kluczowe w inżynierii dźwięku, gdzie kierują korekcją i miksowaniem, oraz w telekomunikacji przy badaniu sygnałów radiowych. Ta sama analiza FFT napędza rozpoznawanie mowy, sonar i monitorowanie drgań, a także usługi rozpoznawania muzyki, takie jak Shazam, które dopasowują nagrania do bazy odcisków widmowych.