Як вибрати роздільну здатність частоти та розмір вікна у FFT?


9

Я роблю спектральний аналіз сигналу, що змінюється в часі, змінюючи частоту від 200 Гц до 10 кГц. Я використовую FFT для аналізу частотної складової в сигналі. Мої запитання:

  1. Як визначитися з роздільною здатністю частоти та шириною вікна для сигналу?
  2. Який тип віконної функції підходить для сигналу, що змінюється за часом?
  3. Яким має бути оптимальний розмір для FFT?

Частота дискретизації сигналу - 44,1 кГц.


2
Яка схема зміни частоти? Чи різко скача сигнал між різними частотами, або зміна частоти відбувається безперервно? Якщо сигнал скаче, за який проміжок часу ви можете припустити, що сигнал залишиться на тій же частоті? Якщо зміна частоти є безперервною, яку закономірність має ця зміна (лінійна, гауссова, інша)?
Василь

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

4
Ви кажете, що приймаєте FFT для аналізу частотної складової. Це проміжний крок, і щоб точно відповісти на ваше запитання, ми повинні знати, чого ви намагаєтесь досягти. Що ви маєте намір зробити з цією інформацією? Чому потрібно знати частотний компонент? Як часто вам потрібно оновлювати цю інформацію? Не розповідаючи нам цього матеріалу, ви єдиний, хто може знати, якою має бути резолюція. Насправді, якщо вам потрібно знати відповідь лише на одній або двох частотах, FFT може бути навіть не найкращим способом.
Скотт Сейдман

@ScottSeidman, ти читаєш мою думку.
Василь

1
@ trav1s, ми всі навчаємо по-різному. Якби мій студент прийшов до мене з таким запитанням, який я задав таким чином, я б спробував дати йому те саме прийняти додому повідомлення, до якого я звертався зі своїм детальним коментарем вище - "Інженер повинен зрозуміти, чому він чи вона робить щось, перш ніж приступати до цього ". Є тисячі ресурсів, де можна знайти рівняння, що описують роздільну здатність частоти як функцію N, і здавалося, що запитувач мав їх доступними, але це повідомлення не додається до них! Будемо сподіватися, що пробування дало запитувачеві зрозуміти, що він вже відповідає.
Скотт Сейдман

Відповіді:


4

Оскільки ви працюєте з фіксованою швидкістю вибірки, ваша довжина FFT (що вимагає, щоб ваше вікно було однаковою шириною) збільшить вашу частотну роздільну здатність. Перевага від точнішого дозволу частоти є двояким: очевидним є те, що ви отримуєте більш точну частоту роздільної здатності, щоб ви могли розрізнити два сигнали, які дуже близькі за частотою. Другий - при більш високій частоті роздільної здатності ваш шум FFT буде нижчим. Шум у вашій системі має фіксовану потужність, не пов'язану з кількістю точок вашої FFT, і ця потужність розподіляється рівномірно (якщо ми говоримо про білий шум) на всі ваші частотні компоненти. Таким чином, наявність більшої частоти компонентів означає, що індивідуальний внесок шуму ваших частотних бункерів буде знижений, тоді як загальний інтегрований шум залишається колишнім, що призводить до зниження рівня шуму. Це дозволить вам виділити більш високий динамічний діапазон.

Однак є недоліки використання більш тривалого FFT. По-перше, це те, що вам потрібно більше потужності для обробки. FFT - алгоритм O (NlogN), де N - кількість точок. Хоча це може бути не таким драматичним, як наївний DFT, збільшення N почне кровоточити ваш процесор, особливо якщо ви працюєте в обмеженій системі вбудованої системи. По-друге, збільшуючи N, ви набираєте частотну роздільну здатність, втрачаючи роздільну здатність часу. З більшим N потрібно брати більше зразків, щоб досягти результату вашої частотної області, а це означає, що потрібно брати зразки довший час. Ви зможете виявити більш високий динамічний діапазон і більш точне дозвіл частоти, але якщо ви шукаєте шпори, у вас буде менш чітке уявлення про те, КОЛИ саме ця шпора сталася.

Тип вікна, яке ви повинні використовувати, - це ціла інша тема, про яку я не так поінформований, щоб дати вам відповідь, Яке краще. Однак різні вікна мають різні вихідні характеристики, серед яких більшість (якщо не всі) є оборотними після обробки результату FFT. Деякі вікна можуть змусити ваші частотні компоненти відтікати до бічних бункерів (якщо я не помиляюся, вікно Hanning робить ваші компоненти відображатись на трьох бункерах.), Інші можуть покращити точність частоти, вводячи деякі компоненти помилок посилення у ваші компоненти. Це повністю залежить від характеру результату, якого ви намагаєтеся досягти, тому я б провів кілька досліджень (або деяких моделювань), щоб визначити, який з них є найкращим для вашої конкретної програми.


Зауважте, що хоч може бути інтуїтивно зрозумілим FFT оцінювати на послідовних блоках, можливо також запускати їх на блоках, що перекриваються вхідними даними, тобто запускати 1024-кратну FFT на кожні 256 зразків, даючи дещо кращу роздільну здатність часу, хоча, звичайно, на вартість ще більших обчислень.
Кріс Страттон

0

Тож спочатку спочатку частота дискретизації повинна бути щонайменше вдвічі більшою від максимальної частоти сигналу, який вона є (44,1 кГц> 2х10 кГц). Далі, якщо довжина вікна у часовій області становить T, роздільна здатність частоти з FFT дорівнює рівно 1 / T. Роздільна здатність у частотній області з використанням FFT не має нічого спільного з частотою вибірки у часовій області. Але як було зазначено в попередній відповіді, вікно часової області не може бути занадто великим, оскільки тоді ви втратите інформацію про помилкові сигнали, що спливають лише на мить. Тому має бути компроміс між роздільною здатністю частоти та виявленням помилкових сигналів. Нарешті, FFT - не єдиний алгоритм прийому сигналу з часової області в частотну область. Якщо ви шукаєте високої роздільної здатності в частотній області з обмеженою кількістю вибірок у часовій області, ви можете використовувати методи спектральної оцінки високої роздільної здатності, такі як MUSIC та ESPIRIT. Вони також використовуються для оцінки напрямку прибуття (DOA), що досить схоже на задачу спектральної оцінки.


гм ні ... перечитайте нейкіст. Якщо ви хочете надійно відновити частоту, вам знадобиться 5-10x. Так само ширше вікно дозволяє реконструювати найменшу частоту, що цікавить, перейти до під гармонік. Хибний сигнал не буде надійно помічений у FFT так чи інакше, імпульс дирака може мати вміст високої частоти. Його обов'язок "випадковий", лише надійний / періодичний компонент буде показаний зі значною амплітудою
JonRB

діапазон частот сигналу, який цікавить, становить від 200 Гц до 10 кГц ... тому частота дискретизації принаймні в 4,41 рази перевищує частоту сигналу ... якщо ми подивимось на нижній кінець спектра, частота дискретизації становить 220,5 разів ... нам може знадобитися знати, як статистично розподіляється частота ... так чи інакше, я думаю, що частота вибірки тут не є проблемою!
Ясір Ахмед
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.