· 5 min read

Що таке 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-річний алгоритм, в кишені, що працює мільярди разів на добу.

Interactive demo — open in editor pp:PinePaper

Спробуйте

Відкрийте 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