Що таке FFT Насправді показує вам
Кожен звук, який ви чуєте, є сумою синьої хвилі. The Fast Fourier Transform позбавляє від суми. Ось що це означає, як це працює, і чому вже 60-річний алгоритм все ще всюди.
Питання
Грати акорд на фортепіано — скажіть, C і E разом. У вухах почуєте один звук. Але що звук два частоти накладаються: 261.6 Гц і 329.6 Гц. Ваш кохлі фізично відокремлює їх — різні клітинки для волосся, що резонують на різних частотах, надсилають різні сигнали до вашого мозку.
Швидке Чотириє Трансформування робить те ж саме, але з цифрами замість клітин волосся. Подаруйте сигнал (послідовність зразків амплітуди протягом часу) і повертає список частот і їх міцності. Відповіді: Відповіді про те, що існують, і скільки кожного?*
Що насправді щасливий
Зразок сигналу за часом є список номерів: амплітуда в кожній точці зразка. 1-секундний запис на 44,100 Гц становить 44,100 номерів. Ці номери описують сигнал в домені*** — амплітуда як функцію часу.
FFT перетворює це в частотний домен — амплітуда як функцію частоти. Інформація про інформацію, різні представництва. Як переключити між координаторами та полярними координаціями: нічого не створеного або знищеного, тільки репресовано.
Математичне ядро: кожен періодичний сигнал може бути написаний як сума синів і козинових хвиль на різних частотах. Це теорема Фур'єра (1807). FFT обчислює коефіцієнти цієї суми — скільки кожної частоти в сигналі.
Чому "Фаст"
Нав'язливий спосіб складання Чотириє трансформ вимагає N2 операції для зразків N. За 1024 зразків, що становить близько 1 млн операцій. Алгоритм Cooley-Tukey (1965) знижує це до N·log2(N) — близько 10000 операцій для одного введення. Швидкість 100x. Для мільйонів зразків швидкість - 50 000x.
Склад: розщеплення N-точкового перетворення на дві N/2-точкові трансформатори, що рекурсивно. Це вимагає N, щоб бути потужністю 2 (або ви намете з нулями). Кожен розщеплює проблему. Операція «метелик» поєднує в собі половинки:
X[k] = Even[k] + W · Odd[k]
X[k+N/2] = Even[k] - W · Odd[k]
Де W – це комплексний експоненціальний (поворот у складній площині). При цьому два підпункти дають вам два вихідні точки. Саме тому алгоритм «заспокійливих» — він повторює кожен розрахунок двічі.
Впровадження PinePaper є підручником Cooley-Tukey radix-2 DIT (розробка часу). 40 ліній JavaScript. Ми писали його з нуля, а не імпортувати бібліотеку, тому що ми хотіли, щоб студенти могли прочитати джерело і зрозуміти кожну лінію.
Що таке Барс Mean
Коли ви бачите спектр аналізатор — бари, що стрибають на музику — кожен бар являє собою частотний бункер. Висота - це величина (постійна) такої частоти в поточному сигналі.
- A чистий синус хвилі* виробляє один високий бар на його частоті і нічого іншого.
- A квадратна хвиля* виробляє бруски на принципі і кожен непарний гармонічний (3rd, 5th, 7th ...), зменшуючи як 1/n. Саме тому квадратні хвилі звучать «нечі» — вони містять високочастотну енергію, яка чисті гріхи не містять.
- Білий шум* виробляє бари грубо рівні висоти всюди. Кожна частота присутній з однаковою ймовірністю.
- А людина голос* виробляє фундаментальні (пошта, яку ви почуєте) плюс фігуранти — резонансні вершини з форми вокального тракту, що відрізняє волей.
Вікно: Чому краї Matter
Ось лов. FFT припускає сигнал, що повторюється назавжди. Але наш зразок скінченний — він починається і зупиняється. Якщо сигнал не з'явиться на нулі в обох точках, то різкий відтік створює штучний високочастотний вміст. Це називається*******.
Виправлення: помноження сигналу за допомогою функції window, які торкери плавно до нуля по краях. Загальні вікна:
- Hann* (козиновий дзвоник): хороша загальна мета, втратить роздільну здатність частоти
- Hamming*: схожий на Hann, але не досягає нуля на краях, трохи краще пригнічення бокового світла
- Blackman*: вузька головна лобка, краще пригнічення бокових водоростей, втрачає більш частотну роздільну здатність
Вибір завжди є торговою маркою між частотною роздільною здатністю (як точніше ви можете виявити частоту) і спектральним витоком (як багато енергозберігає в сусідні бункери). Не є ідеальним вікном. Це наслідок невизначеності принципу — ви не можете мати довільно точні знання одночасно і часової частоти.
Де FFT Lives
Ви взаємодієте з результатами FFT постійно:
- MP3 і AAC стиснення: перетворення аудіо на частотний домен, частота диска нижче порогу слуху, стиснення що залишається. Трансформація - це вся основа втрати аудіо стиснення.
- JPEG стиснення: версія 2D (DCT) перетворює 8 × 8піксельних блоків до періодичного домену, квантізує високочастотні компоненти. Саме тому артефакти JPEG з'являються як блоки.
- WiFi і 5G: кодування DM розбиває дані через багато частотних підкар'єрів. FFT перетворює між часовою трансмісією та частотно-доменевими символами даних.
- MRI-візитка: сирий сигнал від сканера MRI знаходиться в частотному просторі. Інверс ФФТ реконструює просторове зображення. Ви коли-небудь бачили - це зворотна трансформація.
- Shazam*: обчислює спектрограму (FFT над розсувними вікнами), витягує піки, відповідає шаблону на базу даних. FFT є першим кроком в визнання кожної пісні.
60-річний алгоритм, в кишені, що працює мільярди разів на добу.
Спробуйте
Відкрийте PinePaper, виберіть генератор Spectrum Analyzer. Генерувати квадратну хвилю. Подивіться на бруски — ви побачите непарні гармоніки, що випадають як 1/n. Перемикач на пилку — тепер присутні всі гармоніки, випадають як 1/n. Переключення шуму — плоский спектр, кожна частота однаково ймовірно.
Зміна функції вікна. Дивіться, як Ганн розгладжує спектр за вартістю більш широких вершин. Перемикач Blackman — вузькі вершини, але нижню частинулобів.
Ви не прочитаєте про FFT. Ви вимірюєте сигнали і збережи те, що відбувається перетворення. Це різниця між знаннями та розумінням.
Посилання
- Brigham, Е.О. (1988). Застосунок Fast Fourier і його застосування. Prentice Hall.
- Cooley, JW. & Tukey, JW. (1965). Алгоритм для машинного розрахунку комплексної чотириєї серії. Математика обчислення, 19(90), 297-301.
- Фур'єр, Дж. (1822). Терея анальнийytique de la chaleur. Париж: Фірма Дідо.
- Харріс, Ф.Ю. (1978). Про використання Windows для Harmonic аналізу з дискретним чотириєтом Transform. Продукції IEEE, 66(1), 51-83.
- Опенхайм, А.В. та Шафер, Р.В. (2009). Вихідно-часовий сигнал обробки (3rd ed.). Prentice Hall.
- Шеннон, С.Є. (1949). Комунікація в присутності шуму. Проведення IRE, 37(1), 10-21.
- Сміт, С.В. (1997). Науково-технічний посібник з обробки цифрових сигналів. Технічне видання Каліфорнія.
- Ван, А., та ін. (2003). Промислово-Strength Audio Search Algorithm. Проведення ISMIR 2003. (Шагам аудіо відбитків пальців.)
- Гаманець, Г.К. (1991). The JPEG Натюрморт зображення. Комунікації АТМ, 34(4), 30-44.
PinePaper's FFT - це реалізація Cooley-Tukey radix-2 з Hann, Hamming і Blackman, а також низький об'єм і високопасні фільтри. Спробуйте безкоштовно на pinepaper.studio/editor.
Ready to create?
Start making animated GIFs, videos, and graphics — free, no signup.
Open PinePaper Editor