Головна Сигнали та Телекомунікації Аналізатор Спектру FFT

Аналізатор Спектру FFT

Аналізатор частотного спектру FFT у реальному часі. Синус, шум, пилоподібний та акорд — логарифмічна шкала, утримання піків.

Сигнали та Телекомунікації2DЛегкий60 FPS
fft-spectrum ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Про цю симуляцію

Аналізатор частотного спектру FFT (швидкого перетворення Фур'є) на основі Web Audio API. Оберіть одне з шести вбудованих аудіоджерел — синусоїда, білий і рожевий шум, пилоподібний сигнал, прямокутний сигнал і музичний акорд — і спостерігайте, як їхні спектральні відбитки миттєво з'являються на логарифмічній частотній осі зі шкалою амплітуди в децибелах. Маркери утримання піків та смуга осцилографічної хвилі дають повну картину час-частота.

🔬 Що показано

FFT (швидке перетворення Фур'є) розкладає будь-який часовий сигнал на його частотні складові. Для сигналу, дискретизованого з частотою f_s і N відліками, FFT видає N/2 частотних кошиків, кожен шириною f_s/N Гц. AnalyserNode Web Audio API обчислює віконне FFT з вікном Блекмана, щоб зменшити спектральне розтікання. Подвоєння розміру FFT вдвічі зменшує частотну роздільність, але вдвічі підвищує часову — фундаментальний компроміс час-частота.

🎮 Як користуватись

Оберіть аудіоджерело серед кнопок вище. Спектр показує частоту (20 Гц–20 кГц, логарифмічна шкала) відносно амплітуди (дБ). Для синусоїд перетягніть повзунок частоти, щоб побачити рух одиночного піка. Перемкніться на пилоподібний сигнал, щоб побачити основну частоту плюс непарні та парні гармоніки. Рожевий шум показує спад енергії 1/f (~3 дБ/октаву). Збільште розмір FFT для точнішої частотної роздільності ціною повільніших оновлень. Увімкніть Утримання піків, щоб відстежувати максимальні рівні.

💡 Чи знали ви?

Швидке перетворення Фур'є (1965, Кулі та Тьюкі) зменшило обчислення ДПФ з O(N²) до O(N log N) — FFT на 1024 відліки приблизно у 100 разів швидше за наївне ДПФ. Сучасні аудіоеквалайзери, розпізнавання мовлення та розпізнавання музики (Shazam) побудовані на аналізі FFT. Людське вухо має приблизно логарифмічне сприйняття частоти, тому аналізатори спектру використовують логарифмічні частотні осі.

Часті питання

Що таке аналізатор спектру FFT?

Це інструмент, що показує, скільки енергії міститься в сигналі на кожній частоті. Швидке перетворення Фур'є перетворює часовий сигнал у набір частотних кошиків, а аналізатор відображає їхні амплітуди. Тут результат малюється наживо у вигляді кольорових стовпчиків уздовж логарифмічної частотної осі.

Як ця симуляція генерує звук?

Вона використовує Web Audio API. Синусоїдальні, пилоподібні й прямокутні тони походять від OscillatorNode, акорд накладає три синусоїдальні осцилятори на нотах A4, C5 і E5, а джерела шуму заповнюються через ScriptProcessorNode. Усі джерела подаються на вузол підсилення, з'єднаний з AnalyserNode, який щокадрово виконує FFT.

Що насправді роблять елементи керування?

Кнопки джерела обирають, який сигнал аналізується. Повзунок частоти (20 Гц–8 кГц) задає висоту тону синусоїдальних, пилоподібних і прямокутних сигналів. Селектор розміру FFT змінює роздільність аналізу, а повзунок згладжування усереднює послідовні кадри. Пауза зупиняє малювання, а Утримання піків відстежує найвищий рівень, досягнутий у кожному кошику.

Що змінює розмір FFT?

Розмір FFT задає кількість відліків, що аналізуються за кадр: 512, 1024, 2048 або 4096. Більший розмір дає більше частотних кошиків і тоншу роздільність (кожен кошик охоплює f_s/N Гц), але охоплює довше часове вікно, тож відображення реагує повільніше. Панель статистики показує поточне значення Гц на кошик.

Яке ключове рівняння лежить в основі?

Дискретне перетворення Фур'є — це X[k] = сума за n від x[n], помноженого на e^(-i 2π k n / N). FFT — швидкий алгоритм, що обчислює той самий результат за O(N log N) операцій замість O(N²). Кошик k відповідає частоті k, помноженій на f_s і поділеній на N.

Чому частотна вісь логарифмічна?

Сприйняття висоти тону людиною приблизно логарифмічне, тож кожна октава подвоює частоту. Логарифмічна вісь дає рівний простір екрана кожній октаві, відповідаючи тому, як ми чуємо, і полегшуючи порівняння низьких, середніх і високих складових. Саме тому лінії сітки припадають на 20, 50, 100, 200, 500 Гц і так далі.

Що робить елемент керування згладжуванням?

Він задає smoothingTimeConstant вузла AnalyserNode — значення від 0 до 0.95, яке змішує поточний спектр з попереднім. Низькі значення дають швидку, нервову реакцію, що виявляє перехідні процеси; високі значення дають стабільніше, усереднене відображення, яке легше читати, але яке повільніше реагує.

Чому пилоподібний сигнал показує багато піків, а синусоїда — лише один?

Чиста синусоїда містить енергію лише на одній частоті, тож показує один пік. Пилоподібний сигнал багатий на гармоніки, з компонентами на кожному цілому кратному основної частоти, тож він виглядає як серія піків, що спадають за амплітудою. Прямокутний сигнал аналогічно показує непарні гармоніки.

Як обчислюється домінантна частота?

Щокадрово код сканує кожен кошик, знаходить той, що має найбільшу амплітуду, і переводить його назад у герци за формулою кошик, помножений на f_s і поділений на розмір FFT. Це значення показується як Домінантна частота. Точність обмежена шириною кошика, тож більші розміри FFT дають точніше значення.

Чи є ця візуалізація фізично точною?

Так, у межах можливостей браузерної демонстрації. AnalyserNode виконує справжнє віконне FFT і повідомляє реальні амплітуди в децибелах. Ширина кошиків, гармонічна структура та спад рожевого шуму поводяться коректно. Точні амплітуди піків залежать від внутрішньої віконної функції та обраного згладжування, тож сприймайте показники як орієнтовні, а не калібровані вимірювання.

Де аналізатори спектру використовуються в реальному житті?

Вони центральні для звукової інженерії, де скеровують еквалізацію та зведення, а також для телекомунікацій при дослідженні радіосигналів. Той самий аналіз FFT живить розпізнавання мовлення, сонар і моніторинг вібрацій, а також сервіси ідентифікації музики, такі як Shazam, які зіставляють записи з базою даних спектральних відбитків.

Схожі симуляції