Яка хороша віконна функція FFT для відхилення постійного струму?


9

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

Я взяв функцію " плоский верх ", вилучив a0ухил і перетворив її з косинусів на синуси, але не впевнений, що це оптимально (або навіть значимо).

Будь-яка пропозиція?


9
просто відняти середнє значення перед вікном?
ендоліт

Відповіді:


2

Перша похідна найбільш поширених функцій безперервного вікна (фон Ханн та ін.) Буде відхиляти постійний струм, але все ще матиме частотну характеристику, подібну до вихідної функції вікна; тож ви все ще можете використовувати свої оригінальні критерії "доброти" для вибору вікон, якщо це не пов'язане з фазою.


2
Хоча ця відповідь в основному правильна, це більше зауваження, тому розширювати її було б дуже корисно.
Фонон

Однак, воно все-таки стурбовано моє питання.
Даніель Р Хікс

1
Чи є причина робити це замість того, щоб просто віднімати середнє значення перед вікном?
nibot

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

@nibot: Можливою причиною може бути те, що сума плюс віднімання неможлива (недоступна, наприклад, у певному фіксованому апаратному конвеєрі або затримці, наприклад)
hotpaw2

7

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

Щоб зрозуміти чому, вам потрібно подумати про те, що застосовує функція вікна для частотної характеристики кожного виходу DFT. DFT визначається як:

Х[к]=н=0N-1х[н]е-j2πнкN

Одне тлумачення того, як працює DFT, - це банк фільтрів у N однаково розташовані частоти між -fс2 і fс2. Переробити суму вище:

Х[к]=н=0N-1хк[н]

де:

хк[н]=х[н]е-j2πнкN

Отже, к-вихід DFT генерується спочатку приймаючи вхідний сигнал х[н] і помножуючи його на складну експоненцію на частоту -2πкN видавати сигнал, перетворений вниз хк[н]. Потім отриманий сигнал підсумовується надN-пробове вікно, щоб отримати вихід DFT Х[к]. Це фактично фільтр з ковзними середніми (іноді його називають фільтром боксерського автомобіля), імпульсна характеристика якого можна описати як:

б[н]={1, х=0,1,,N-10, інакше

Амплітудну характеристику фільтра боксерського автомобіля можна знайти, взявши дискретний перетворення Фур'є (DTFT) цього імпульсного відгуку:

|Н(f)|=|гріх(Nπffс)гріх(πffс)|

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

Тепер розглянемо, як все змінюється, якщо застосувати функцію вікна до вхідного сигналу х[н] перед виконанням DFT:

Х[к]=н=0N-1ш[н]х[н]е-j2πнкN=н=0N-1ш[н]хк[н]

З функцією вікна на місці, перетвореною вниз хк[н]ефективно проходить через фільтр FIR з імпульсною характеристикою, описаною функцією вікна. Отже, коефіцієнт відгуку величини DFT:

|Н(f)|=|W(f)|

де W(f) DTFT віконної функції ш[н]. Тепер зауважте, що якщо ви вибрали віконну функцію, яка мала нуль при постійному струмі, і використали її для попереднього множеннях[н]перед DFT, ви насправді призвели до непередбачуваного ефекту відміни не тільки постійного струму в отриманому спектрі, але й центральних частот кожного з виходів DFT. Це, мабуть, не те, що ви хочете.

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


3

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


Застосування фільтра високої частоти не є можливим, якщо сигнал не існує в аналоговій формі. Але я вважаю, що ви (і ендоліт) вірні, що віднімання середнього має працювати, особливо якщо також використовується вікно, яке підводить кінцеві точки до нуля. (І високочастотному фільтру знадобиться нижнє відсічення, враховуючи, що я аналізую сигнал вниз, можливо, до 0,01 Гц.)
Даніель Р Хікс

2
Чому, на вашу думку, потрібен аналоговий сигнал, щоб застосувати фільтр високої частоти? Звичайно, можна створити цифровий HPF.
Джейсон R

@JasonR - Я визнаю, що я дуже необізнаний у таких речах (мої курси сигналів були 40 років тому, набагато раніше FFT та ін.), Але мені здається, що для створення цифрового високочастотного фільтра я спершу треба виробляти перетворення Фур'є сигналу.
Даніель Р Хікс

1
Це зовсім не так; Ви можете генерувати фільтр високої частоти так само, як і низькочастотний, смуговий та ін. Насправді існують методи для взяття прототипу фільтрів низьких частот та його перетворення у фільтр високої частоти, який має аналогічну відповідь. Більшість програмного забезпечення для розробки фільтрів (наприклад, MATLAB) можна використовувати для виготовлення всіх типів фільтрів.
Джейсон R

1
Я не впевнений, звідки у вас склалося враження, що впровадження фільтра високої частоти вимагає диференціації. Диференціація - це операція з високою частотою, але не є придатною реалізацією для фільтра високої частоти (оскільки його частотна характеристика є пандусом, завдяки чому він посилює більш високі частоти, де часто присутній шум). Стаття у Вікіпедії про високопрохідні фільтри була б хорошим початком.
Jason R
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.