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

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

Отправлено SM 19 августа 2004 г. 22:22
В ответ на: Вычисление корня из суммы квадратов(+) отправлено Rodik 19 августа 2004 г. 21:56

только вчера кому-то предлагал в соседней конфе...

Есть эффективный метод уточнения неточно вычисленного 1/sqrt(v). То есть:

1) Приблизительно вычислить y(0)=1/sqrt(v). Допустим с точностью 6 значащих разрядов. Например через табличку, если входное значение нормализовано.
2) y[1] = y[0]*(1.5 – (v/2)*y[0]*y[0]) => имеем уже точность 12 разрядов.
3) y[2] = y[1]*(1.5 – (v/2)*y[1]*y[1]) => имеем уже точность 24 разряда! Это уже хватит для IEEE double.
4) ну и последнее: sqrt(v) = v/sqrt(v) = v*y[2]. Имеем корень с 24-битной точностью.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru