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

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

Отправлено Vallav 15 марта 2004 г. 21:28
В ответ на: отбрасывание или округление? отправлено Oleg_0515 15 марта 2004 г. 18:42

X=12345=0x3039
1) (0x3039*0x68db9 + 1)/0x10000 = 0x13C083E31/0x10000 = 0x13C08

=0x13c09
Забыли добавить 1 ( можно конечно и округлить результат умножения,
но 1 добавить проще, а эффект тот же )
w1=1, X=0x3C08

x=0x3c09

2) 0x3c08*0xA = 0x25850, w2=2, X=0x5850

x=0x585a

3) 0x5850*0xA = 0x37320, w3=3, X=0x7320

x=0x7384

4) 0x7320*0xA = 0x47F40, w4=4, X=0x7F40

x=0x8328

5) 0x7F40*0xA = 0x4F880, w5=4???

0x8328*0xa=0x51f90

Все тип-топ.

Похоже, что wi=(Xi*0xA+0x8000)/0x10000, X(i+1)=Xi&0xFFFF. Так?
Всегда ли?
Если можно - ссылку или автора.
За алгоритм - спасибо. Красиво.

Автора не знаю. А суть BH правильно изложил. Целое число в двоичном
коде переводится в дробное с теми же десятичными цифрами умножением
на 1/10000. Далее цыфры из дробного числа вытаскиваются последователь-
ным умножением на 10.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru