metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-01-27 11:07 am

Неравномерные отсчеты и DSP

А вот скажите, как правильно делать FFT, цифровую фильтрацию и тому подобное, если отсчеты сигнала идут неравномерно во времени? Вся теория, которую я когда либо изучал, обычно заточена под постоянный период отсчетов.
В принципе, можно было бы в лоб интерполировать равномерные отсчеты, исходя из неравномерных данных, но может есть еще какие-нибудь вуду-оккультные методы?

[personal profile] ex0_planet 2011-01-27 09:41 am (UTC)(link)
интерполяция - уже неявное наложение фильтра, в этом-то и проблема.

[identity profile] psilogic.livejournal.com 2011-01-27 09:46 am (UTC)(link)
да. но если неравномерность отсчетов не очень большая, то сильно хуже не будет. такая интерполяция "сгладит" возможные всплески длительностью порядка максимального расстояния между отсчетами. это
будет как фильтр отсекающий очень высокие частоты - в районе предельных для FFT, которые все равно вряд ли удастся засечь

[personal profile] ex0_planet 2011-01-27 09:50 am (UTC)(link)
Ну единичные выколотые отсчеты, как мне кажется, FFT и так сожрет (в том смысле, что погрешность размажется по спектру и ее вклад будет небольшой). Вопрос в том, что делать, когда таких много.

[personal profile] ex0_planet 2011-01-27 09:53 am (UTC)(link)
А интерполяция - наверное проще будет сразу поделить на ноль устроить децимацию и тупо отрезать кусок спектра фильтром, и дальше работать с уменьшенной частотой отсчетов - один хрен в высоких частотах мусор.

[identity profile] nivanych.livejournal.com 2011-01-27 01:59 pm (UTC)(link)
Неявное наложение фильтра на отсутствующие данные.

[identity profile] nivanych.livejournal.com 2011-01-27 02:05 pm (UTC)(link)
Можно, конечно, любой фильтр ассоциировать с интерполятором.
Если этот фильтр ещё и высокие частоты убирать будет, тогда даже интуитивно будет похож на интерполятор.
Но только, с неравномерными отсчётами, спектр этого фильтра получится ну очень непохож на отсекание по частоте.