[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]

Отправлено ВН 21 марта 2002 г. 12:41
В ответ на: Нужны коэффициенты для точного вычисления синуса (ADSP-2181)! отправлено alexcyn 20 марта 2002 г. 12:30

Вообще-то формула дает максимальное абсолютное отклонение от точного значения синуса 0.00003. Или 1 младший разряд при 16 р. представлении синуса. При значениях аргумента от 0 до 0.5 (угол от 0 до pi/2).
Но такая ошибка получается при условии "правильного" возведения в степень. На 16 р. фиксированной точке неизбежны потери точности только на этой операции.
Еще один момент - 16-ти разрядное представление синуса само по себе не точно и отличается от истинного значения на +- 0.5 единицы младшего разряда. Отсюда - можно взять сколь угодно много коэффициентов разложения, но если результат ограничить 16-ю разрядами, то лучше чем 0.5 единицы младшего разряда точности не будет. При тех же значениях аргумента.
Поэтому совет - используйте плав. запятую.
Преобразования из фикс. в плав. и сами плавающие операции есть, по моему, в AD примерах.
А коэффициенты - вот 2 примера разложения (аппроксимация полиномом соотв. степени).
1. sin(pi*x)=A0+A1*x+A2*x^2+A3*x^3+A4*x^4+A5*x^5+A6*x^6
A0=-0.0000009929, A1=3.1417053758, A2=-0.0030941259,
A3=-5.1325874557, A4=-0.1989528976, A5=3.1482278419,
A6=-0.9248890576. Макс. абс. отклонение=0.000001
2. sin(pi*x)=A0+A1*x+A2*x^2+A3*x^3+A4*x^4+A5*x^5+A6*x^6+A7*x^7
A0=-0.0000000472, A1=3.141599374, A2=-0.0002311977,
A3=-5.1644031532, A4=-0.0239490857, A5=2.6441750443,
A6=-0.1967479624, A7=-0.4161147536.
Макс. абс. отклонение=0.00000007
В обоих примерах x от 0 до 0.5 или угол от 0 до pi/2.
Лучшие результаты дает Чебышевская аппроксимация.
Однако, повторюсь, если результат привести к 16-ти разрядам - лучшей точности, чем 0.5 единицы младшего разряда не будет, даже если все вычисления сделаны абсолютно точно.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru