ГоловнаСтаттіАкустика

Фурійське перетворення та звук

Кожен звук є суперпозицією чистих тонів — Фурієве перетворення розкриває які саме, а FFT робить це достатньо швидко для безперервного використання.

mysimulator teamОновлено — червень 2026≈ 10 хв читання▶ Відкрити симуляцію

Синусоїди та частотний спектр

Чистий тон на частоті f є синусоїдою, x(t) = A·cos(2πft+φ). Трансформа обернений Фурієра розкладає будь-який сигнал на точно комплексні експоненти, які додаються до нього:

X(f) = ∫ x(t)·e^(−i2πft) dt // аналіз: сигнал → спектр x(t) = ∫ X(f)·e^(+i2πft) df // синтез: спектр → сигнал |X(f)|² = потужність спектру на частоті f

Цифрові аудіо зразки цей безперервний сигнал із фіксованим коефіцієнтом f_s — 44,100 Гц для аудіо CD. Теорема Найквастера-Шеннона гарантує, що обмежений за смугою пропускання сигнал може бути ідеально відтворений з вибірок, взятих швидше ніж вдвічі його найвищої частоти; на 44.1 кГц це охоплює частоти до 22,050 Гц, що охоплює весь слуховий діапазон.

X(f) = ∫ x(t)·e^(−i2πft) dt          // analysis: signal → spectrum
x(t) = ∫ X(f)·e^(+i2πft) df          // synthesis: spectrum → signal
|X(f)|² = power spectral density at frequency f
жива демонстрація · пов'язана симуляція● LIVE

Дискретна швидкісність перетворення

Враховуючи N зразків x[0]…x[N−1], DFT (Швидкість перетворення дискретно) виробляє N комплексних значень у частотному діапазоні, де bin k відповідає фізичній частоті f_k = k·f_s/N:

X[k] = Σ_(n=0)^(N-1) x[n]·e^(−i2πkn/N),  k = 0…N−1
// computed directly: O(N²) — unusably slow for N ≥ 4096

Коеіль-Тукі FFT (Швидке перетворення Фур'є)

Ключова ідея (Коеіль та Тукі, 1965; також виявлена Гаусом у 1805 році) полягає в роз suddivisione довжини DFT (N) на два DFT довжиною N/2 для парних та непарних індексів, а потім їх об'єднанні за допомогою «потужного фактора»:

X[k] = E[k] + W_N^k · O[k] X[k+N/2] = E[k] − W_N^k · O[k] E[k] = DFT парних індексів, O[k] = DFT непарних індексів W_N^k = e^(−i2πk/N) // потужний фактор Застосовується рекурсивно на стадіях log₂N з «батерфляй» комбінацій N/2, що коштує O(N log₂N) замість O(N²) — прискорення в 682 рази для N = 4096. У практиці вхідні дані спочатку перевертаються бітовим чином, а потім той самий ядро «батерфляй» запускається етап за етапом:

X[k]       = E[k] + W_N^k · O[k]
X[k+N/2]   = E[k] − W_N^k · O[k]
  E[k] = DFT of even-indexed samples,  O[k] = DFT of odd-indexed samples
  W_N^k = e^(−i2πk/N)                  // twiddle factor

Вікно та спектрограма

DFT явно припускає періодичність аналізованого блоку. Різкий обріз блоку еквівалентний множенню на прямокутне вікно, яке має широке синус-інтерпольоване спектр, що призводить до витоку енергії в сусідні біни. Використання розширеного вікна – Ханна, Хеммінга, Блекмана-Герріса – пригнічує цей витік за рахунок трохи ширших основних піків. Переміщення віконного DFT вздовж сигналу з перекриттям дає Короткочасний швидкісний перетворення; побудова діаграми її амплітуди як функції часу та частоти-інтенсивності створює спектрограму, де ноти музичних інструментів відображаються горизонтальними лініями, а форми артикуляції – вертикальним смуженням.

Від скрині до реальних застосувань

Визначення висоти звуку (pitch detection) знаходить базову частоту, для якої найсильніша за величиною буде відповідна біна; аудіо стиснення (MP3, AAC) відкидає частотні компоненти, які людський слух не розрізняє, завдяки психоакустичному маскуванню; мелограма – спотворення осі частот для узгодження з людським сприйняттям висоти звуку – є стандартним вхідним представленням для моделей мовлення, таких як Whisper. Все це походить від однієї й тієї ж мережі «Коолі-Тукі» (Cooley-Tukey butterfly network).

Frequently asked questions

Чому нам потрібна FFT замість простого обчислення DFT безпосередньо?

Пряма формула DFT коштує O(N²) множень, що стає непридатним для використання після кількох тисяч зразків. Швидкість Коулі-Тьюкі Fast Fourier Transform рекурсивно розділяє DFT довжиною N на дві DFT довжиною N/2, зменшуючи вартість до O(N log N) – це прискорення в 682 рази при N = 4096 – шляхом обчислення абсолютно тих самих чисел, але значно ефективніше.

Чому DFT реального запису потрібно спочатку вікна?

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

Який компроміс у виборі розміру блоку FFT N?

Більший N забезпечує більш високу роздільну здатність по частоті (fs/N Гц на бін), але меншу роздільність по часу, оскільки весь блок розглядається як один момент часу. Аналіз мовлення зазвичай використовує N = 512–2048 (11–46 мс при 44,1 кГц); виявлення музичних тонів часто використовує N = 4096 для більш чітких бінів частоти.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте the simulation і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію the simulation

Що ви знайшли?

Додати кроки відтворення (опційно)