DFT - Видалення віконного ефекту в спектральній області зі згорткою


11

Я думав про тему вікон DFT, і на думку прийшла думка. DFT дасть спектр сигналу, складеного спектром використовуваного вікна, тому маючи основні долі та бічні частки.

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

введіть тут опис зображення

Зліва - це оригінальний спектр, сформований за допомогою вікна Ханінга. Право - це спектр, складений DFT вікна висловлювання. Зверху - саме спектр, знизу - findpeaksрезультат MATLAB .

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

Як я бачу, це може допомогти виявити пік, як ми бачимо на попередньому зображенні. Крім того, схоже, що спектр трохи спотворений, як ми бачимо на двох наступних зображеннях. :

введіть тут опис зображення введіть тут опис зображення

Де синій графік - це спектр, а червоний - постклітичний спектр.

  • Будь-яка думка з цього приводу?
  • Чи є проблема, яка може виникнути в результаті цього згортання після ПЗР?
  • Будь-який папір, що стосується теми?

EDIT

Ви можете знайти скрипт тут , який буде генерувати наступний графік:

введіть тут опис зображення


1
Чи можете ви надати код, який ви використовували для побудови фігур? Я припускаю, що гладкість згорнутої функції - це лише питання вирішення. Ви не можете скасувати кадрування звертаючи ще більше один раз з тим же вікном (ви дійсно повинні де згортку, який є тим, що відповідь RBJ посилається на). Крім того, справжнім поліпшенням буде збільшена частотна роздільна здатність та / або посилене придушення бокових каналів, жодне з яких тут не досягається. Знайти "правильні" піки відносно просто для обох функцій.
Метт Л.

Я щойно відредагував свою публікацію, щоб додати приклад коду.
Пір-Ів Лесард

Відповіді:


1

Насправді є і ваш мінус: всі сигнали, які ви показали, дуже чітко поділяються на їх частотні компоненти, але загалом сигнали в реальному житті, як правило, є більш галасливими.

Залежно від застосування, ви хочете отримати якомога більше демпфування витоку (більш високі головні часточки / менші бічні часточки частоти сигналу в трансформованому спектрі) або, як інший приклад, найбільш вузьку головну частку.

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

Однак ваша пропозиція все ще досить корисна для ідентифікації піку!


1

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

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

Одним словом: так можна. Незважаючи на те, що математичне видалення вікна (або в часовій, або в частотній області) передбачає реконструкцію даних, які втрачаються назавжди, на практиці ви можете, мабуть, з мінімальними втратами.

Візьмемо вікно Ханна (піднятий косинус). Формула його часової області - y = (1-cos (pi * x)) / 2, причому х становить від нуля до і виключаючи один через кадр. Її відповідне представлення частотної області - bin0 = (0,5,0i), bin1 = (- 0,5,0i). Щоб зняти його ефект у часовій області, ви можете просто розділити сигнал на вищезгадану функцію вікна. Для того, щоб зробити те ж саме в частотній області, ви можете просто закрутити спектр, який не буде віконним, на спектр зворотної згаданої функції. Оскільки ця функція дорівнює нулю на обох кінцях (насправді вона математично дорівнює нулю лише в першій точці, за винятком помилок округлення), щоб уникнути нескінченності, ви можете просто обмінювати нескінченність з великим значенням, таким як 10000 або близько того. Результатом такої згортки є безвіконний спектр. Перетворивши його на часовий домен,

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


0

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

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

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


6
В принципі я згоден на ваші заяви. Хоча в ОП йдеться не про деконволюцію, а обертання отриманого спектру спектром вікна Ханнінга. (тобто по суті вікна з вікном у квадратику)
Максиміліан Матте

1
ні, ОП говорить про усунення ефекту, а не про подвоєння ефекту. ділення те саме, що множення на зворотне. це множення на таке число, що дає результат, який ми називаємо коефіцієнтом . будучи тим, що згортання в один домен - це те саме, що множення в іншій області, то деконволюція - це те саме, що згортання з чимось спеціально визначеним.
Роберт Брістоу-Джонсон

2
ОП говорить про видалення пульсацій, виконуючи згортку отриманого спектру зі спектром вікна. Це дає множення сигналу на квадратне вікно (одне вікно від початкового множення у часі, друге - від згортання за частотою)
Максиміліан Матте

1
Ну не зовсім. Я роблю згортку величин спектру, які дають різні результати від множення вікна квадрата. Я не впевнений, що це математично являє ... Я розглядаю це як перехресну кореляцію між обома величинами спектру (оскільки спектри вікон симетричні).
Пір-Ів Лессард

0

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


Як я це розумію, це те, що я роблю перехресну кореляцію зі спектром, тому отримуючи піки в центрі основних часток. Використання вікон часової області здається очевидним вибором, і я не розумію, чому я використовував би перехресну кореляцію вікон, щоб дізнатися, де знаходиться спектр вікон Hannning. Чому ми б хотіли чогось іншого, ніж те саме вікно?
Пір-Ів Лесард

Так, результат, який ви описуєте, - це згортання з автокореляцією вікна, але це просто поєднання з іншим вікном. Автокореляція призведе до ДУЖЕ жорсткого піку при постійному струмі. Таким чином, ви ефективно поєднали спектр сигналу з дуже щільним фільтром низьких частот. Саме частотна характеристика цього фільтра дає результат, який ви бачите, а не факт, що це автокореляція. Те, що це автокореляція, - це збіг.
cassman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.