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


9

У мене сигнал відібраний у де i = 0..n-1. Я хочу знайти першу похідну сигналу: f '(t).Δт:fi(тi=iΔт)

Моя перша думка полягала в тому, щоб оцінити це по центральній різниці:

f'(тi)=f(тi+1)-f(тi-1)2Δт

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

Колега запропонував більш швидкий спосіб пошуку згладженої оцінки похідної: використовувати центральну різницю у порівнянні з 2n зразками, де n >> 1:

f'(тi)=f(тi+н)-f(тi-н)2нΔт

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

Якщо ми формуємо суму:

S=2Δт[f'(тi-н+1)+f'(тi-н+2)+..+f'(тi+н-1)]

і розгорніть кожну похідну на центральну різницю на кроці :Δт

S=f(тi-н+2)-f(тi-н)+f(тi-н+3)-f(тi-н+2)+..+f(тi+н)-f(тi+н-2)

усі умови, крім двох скасування:

S=f(тi+н)-f(тi-н)=2нΔтf'(тi)

Тому:

f'(тi)=1н[f'(тi-н+1)+f'(тi-н+2)+..+f'(тi+н-1)]

Отже взяття центральної різниці понад 2n зразків еквівалентно спочатку згортання прямокутним вікном розміром 2n - 2, а потім взяттям центральної різниці понад +/- 1 вибірки.

Наскільки «погано» згладжувати прямокутне вікно?

Якщо ми візьмемо FFT, це призведе до "дзвону", але нам не потрібно приймати FFT.

Заздалегідь дякую за будь-які відповіді!

Відповіді:


4

З цим питанням взагалі важко впоратися. Згладжування прямокутним вікном використовується весь час (його часто називають «ковзною середньою»), тому це не обов'язково є проблемою. Я не впевнений, про який дзвінок ви маєте на увазі, можливо, бічні смуги частотної відповіді прямокутного вікна.

Диференціація за своєю суттю є високопрохідною операцією; ідеальний диференціатор безперервного часу має функцію передачі:

Н(с)=с

Так що його величина відгуку:

|Н(jω)|=ω

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

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

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.