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

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

Отправлено fontp 15 июля 2004 г. 12:26
В ответ на: Надо считать угол между комлексными числами (разницу фаз). А есть ли что-нибудь проще чем atan(Im1/Re1)-atan(Im2/Re2)? отправлено AntZ 15 июля 2004 г. 11:17

сложность вычислений определяется сложностью ф-и atan2. Atan2 после разборки по квадрантам вычисляется через atan(x/y). Вообще полезно найти и посмотреть эти функции в библиотеках С и ассемблерных. После этого остаётся выбрать себе аппроксимацию atan с достаточной для задачи точностью. С относительной точностью в 0.5% есть например такая апроксимация
в интервале от -pi/2 до +pi/2

atan(x) = (x<0) ? x*(1.0597+0.27131*x) : x*(1.0597-0.27131*x)

Для DSP скорее лучше вычислять без сравнений, через abs(x)

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru