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

Отправлено GroundCtrl 04 сентября 2001 г. 15:27
В ответ на: Ответ: отправлено Dima 04 сентября 2001 г. 13:29

С использованием блочной экспоненты для промежуточных вычислений -вы правы. Коррекция результатов производится на каждом проходе преобразования, кроме последнего. В этом проходе функция коррекции вызывается, но вылетает по условию. При каждой коррекции данные сдвигаются вправо так, чтобы получить спереди два избыточных знаковых бита. Переменная blk_exponent хранит общее количество сдвигов вправо.
Если ваше значание экспоненты - значение этой переменной в конце преобразования, то выходное число представляется в виде reg*2^blk_exponent . В вашем случае:
0х413В*2^0x000A~0.5*2^10=512
0x20A3*2^0x000B~0.25*2^11=512.
Где-то потерялся множитель 4 (или сдвиг на два порядка), т.к. теоретическое значание макс.пика для 4096 отсчётов ~2000-2055.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru