Пытаюсь реализовать для учебного проекта способ генерации синусоиды на базе нестабильного звена второго порядка по следующей схеме:

Задержку и умножитель объединил в блок

, выход
register первого блока заведен на
in_data второго,
out_data обоих блоков заведены на сумматор, результат сдвигается на один разряд влево (*2) и идет на вход
in_data первого блока и на выход генератора.
Генерируется 40 отсчетов на период. Коэффициенты фильтра A=1.975 и B=-1 поделены на 2: 0x7e66 и 0xC000 (из-за этого выход суматора и сдвигается).
У меня по сигналу сброса на регистре первого блока устанавливается начальное значение 0.1409 (0x1209), а на регистре второго блока 0 (0x0000).
Делаю по аналогии с документом Texas Instruments:
скачать.
В итоге у меня ничего не работает, вернее генерируется 3 положительных значения, 3 отрицательных и т.д., но ничего общего с тем, что должно быть.
Подскажите, я неправильно строю устройство, ошибка в коэффициентах или что-то еще. Код пока не выкладываю, т.к. он написан довольно сумбурно, но в компонентах я абсолютно уверен, соединения простейшие и ошибки скорее всего нет.
Сообщение отредактировал hattons - Dec 14 2008, 22:00