Практическая устойчивость IIR фильтров
От: McSeem2 США http://www.antigrain.com
Дата: 14.06.10 23:31
Оценка:
Есть простые фильтры типа IIR (скажем, до 3-го порядка), применяются для обработки звука. Конечно, в математическим смысле они должны бытть устойчивы. Однако, поскольку фильтры рекурсивные, а точность чисел конечна, не пойдет ли он со временем вразнос чисто из за погрешности float/double? Не придется ли его ресетить время от времени? И если да, то какова грубая оценка, скажем, простого LP фильтра третьего порядка, на сколько самплов его хватает — тысячи? миллионы? миллиарды?
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re: Практическая устойчивость IIR фильтров
От: denisko http://sdeniskos.blogspot.com/
Дата: 15.06.10 03:01
Оценка: 30 (1)
Здравствуйте, McSeem2, Вы писали:

MS>Есть простые фильтры типа IIR (скажем, до 3-го порядка), применяются для обработки звука. Конечно, в математическим смысле они должны бытть устойчивы. Однако, поскольку фильтры рекурсивные, а точность чисел конечна, не пойдет ли он со временем вразнос чисто из за погрешности float/double? Не придется ли его ресетить время от времени? И если да, то какова грубая оценка, скажем, простого LP фильтра третьего порядка, на сколько самплов его хватает — тысячи? миллионы? миллиарды?

Зависит от конкретного вида фильтра и полосы пропускания. По народным приметам, если отношение минимального коэффициента при x к максимальному при y лежит в пределах точности экспоненциально не разнесет и ошибка монотонно со временем накапливаться не будет.
<Подпись удалена модератором>
Re: Практическая устойчивость IIR фильтров
От: Rostislav_Pro  
Дата: 16.06.10 18:30
Оценка: 30 (1)
Здравствуйте, McSeem2, Вы писали:

MS>Есть простые фильтры типа IIR (скажем, до 3-го порядка), применяются для обработки звука. Конечно, в математическим смысле они должны бытть устойчивы. Однако, поскольку фильтры рекурсивные, а точность чисел конечна, не пойдет ли он со временем вразнос чисто из за погрешности float/double? Не придется ли его ресетить время от времени? И если да, то какова грубая оценка, скажем, простого LP фильтра третьего порядка, на сколько самплов его хватает — тысячи? миллионы? миллиарды?


В теории цифровой фильтр стабилен, если полюса пердаточной ф-и лежат где угодно внутри единичной окружности, но на практике из-за погрешности округления они должны находиться на некотором безопасном расстоянии от нее, т.е. по модулю быть чуть меньше единицы. И чем больше порядок фильтра, тем меньше допустимый радиус для полюсов.
Ресетить фильтры бесполезно, ибо если они нестабильны, то обычно очень быстро уходят в бесконечность, и звук превращается в полное Г. Решение — преобразовывать фильтры большого порядка в набор последовательных либо параллельных фильтров 2 порядка
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.