[an error occurred while processing this directive]
Тогда просто прочти то, что я написал про масштабирование в верхней веточке.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено st256 02 октября 2003 г. 13:49
В ответ на: Порядок у фильтра получился 1-ый (нужен очень малый завал, у второго порядка спад получается уже слишком крутой)... отправлено Dark_Ghost 02 октября 2003 г. 13:18

Я думаю, что Вы используете Си. А там следующие вещи происходят.

пусть у Вас звено типа 1(1-aZ(-1)), a = 1-2^(-10).

Это, во-первых, сразу ограничевает Ваш диапазон на 10 бит. Остается только 5. Очень вероятно переполнение. Потому как Си НЕ ИСПОЛЬЗУЕТ 40-разрядный аккумулятор (в смысле использует, но тебе это сугубо фиолетово). Плюс попробуй домножить сигнал из девяти и менее значищих бит на данное а. Что получится? Да ничего! Умножения не получится. Сигнал останится без изменения. Не будет у Вас в этот момент фильтрации...

Что делать?
-предварительно сдвигаешь сигнал на 10 бит влево (масштабируешь)
-теперь фильтрация начинает работать с 1 значащего бита сигнала.
-в процессе фильтрации у тебя может добавиться еще 11 бит (не помню точно формулу суммы геометрической прогрессии - или 10).
-итого 10 + 16 + 11 = 37 бит. Т.е еще на три можно подвинуть.
-результат двигаете обратно.

Все. Обобщайте на свой случай.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru