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

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

Отправлено -=ВН=- 17 февраля 2006 г. 15:36
В ответ на: Про логарифм... (+) отправлено <font color=gray>Dark_Ghost</font> 17 февраля 2006 г. 13:13



Исх. N-разрядное число с фиксир. запятой - Y.
Находите экспоненту, E, этого числа.
Тогда Y=M*2^E. M - мантисса. Мантисса лежит в диапазоне 0.5-1.
M=H*(1+L/H). H - число образованное старшими K разрядами мантиссы, L -соответствнно N-K младшими.
Т.е. H=M&(((2^K)-1)<<(N-K)), L=M-H=M&((2^(N-K))-1).
H будет лежать в диапазоне 0.5 - 1, L будет минимум в 2^K раз меньше H, т.е. L/H будет иметь порядок 2^(-K).
Из всего сказанного
log10(Y)=log10(M*2^E)=log10(2^E)+log10(M)=log10(2^E)+log10(H*(1+L/H))=(E*A))+log10(H)+log10(1+L/H)=
=(E*A)+log10(H)+B*ln(1+L/H). A,B - константы, A=1/log2(10), B=1/ln(10).

log10(H) можно взять из таблицы размером K.

Для ln(1+L/H) можно воспользоваться разложением:
ln(1+x)=x-(x^2/2)+(x^3/3)-...
|x| должен быть меньше-равен 1.
x=L/H и максим. значение=2^(-K)
Вот погрешности для нескольких K и 2-х приближений, линейного и квадратичного.
a). ln(1+x)~=x
Для K=4, т.е. x=1/16, погрешность равна 3%, для K=5 - 1.6%, для K=6 - 0.8% И т.д.
b). ln(1+x)~==x-(x^2/2)
Для K=4 погрешность равна 0.1%, для K=5 - 0.03%, для K=6 - 0.01% И т.д.

И окончательно 3 варианта.
1. log10(Y)=(E*A)+log10(H). Т.е. B*ln(1+L/H) просто отброшено, что даст абсол. погрешность
порядка B*L/H~=B*2^(-K)~=2^(-(K+1)). И потребует табличку размером K для log10(H),
одно умножение и одно сложение.
2. log10(Y)=E*A+log10(H)+B*(L/H), использовано линейное приближение, ln(1+x)~=x
Таблица размером K для log10(H), 2 умножения и 3 сложения, одно деление. Относительные погрешности
приведены выше.
3. log10(Y)=E*A+log10(H)+B*(L/H)+0.5*B*((L/H)^2).
Таблица размером K, 4 умножения, 3 сложения, 1 деление. Погрешности приведены выше.





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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru