Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: непонятное поведение CORDIC алгортма
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
MKS
Здравствуйте увожаемые.
Изучил алгоритм по этому документу:Нажмите для просмотра прикрепленного файлаНаписал скрипт для матлаба считающий значения sin и cos, все работает правильно за исключением точек кратных pi/4, в которых есть странные выбросы (см. рис.):Нажмите для просмотра прикрепленного файла
Ктонибуть может объяснить наличие этих выбросов ?
Основная часть функции выполняющая операцию поворот для диапазона 0..pi/2:
Код
z(1)=phi2;
x(1)=1;
y(1)=0;
if (z(1)==0)
  sigma=1;
else
  sigma=sign(z(1));
end
for i=1:k
  x(i+1) = x(i) - sigma*y(i)*2^(-i+1);
  y(i+1) = y(i) + sigma*x(i)*2^(-i+1);
  z(i+1) = z(i) - sigma*atan(2^(-i+1));
  sigma = sign(z(i+1));
end

Весь скрипт вот:Нажмите для просмотра прикрепленного файла
petrov
Сделайте в цикле то же что и во всех остальных местах вы сделали с sign, ещё лучше напишите свою функцию sign.
MKS
Да действительно с sign это я упустил, исправил и все заработало как надо. Большое спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.