[an error occurred while processing this directive]
|
1 + z(-1) + ... + z(-n)
Эту сумму можно вычислять очень просто. Допустим для n=31.
Сначала сумируем (накапливаем) все отсчеты от 1 до 32. Получаем первый выходной отсчет. Добавляем 33-й отсчет, но вычитаем 1-й. Получаем второй выходной отсчет. И т.д. Добавляем новый отсчет, вычитаем задержанный на 32 такта.
В принципе тут нужен накопитель всего на 5 разрядов и 32 задержки. Хотя мой очень авторитетный, но немного безграмотный шеф утверждал, что эта система нестабильна (любая ошибка возникшая в накопителе будет там крутиться вечно), я ничего такого за ней не заметил.
Теперь о рекурентной части. Это если вам надо вылущить спектр около нуля, то не нужны перемножители. Но мы имеем фильтр с равноотстоящими нулями по оси частот. Поэтому всегда есть соблазн компенсировать не первый ноль, а любой другой. При прореживании, эфект будет тот же. Так вот для компенсации используют настоящее рекурсивное звено с полюсом в том месте, где надо компенсировать ноль. Про мерзопакостность этого звена я и говорил. Т.е. работать можно, но...
E-mail: info@telesys.ru