Jump to content
    

Кто работал с xilinx cordic, помогите

Всем доброго дня!

 

Запускаю IP, и что-то у меня не сходятся ответы. 

Параметры:

Translate

Вход 10 бит (fix 10_8) - и X и Y

Выход - 11 бит (Mag - fix11_9, phase - fix 11_8)

Выход - Radians,

Coarse rotation - выкл, No scale compensation. 

Даю на вход X=0x40, Y=0x40, на выходе получаю Mag = 0xd2, Phase = 0xc9. 

Тут вроде все нормально, 0xc9/256 = 0.785 рад = 45 градусов. 

Даю на вход X=0x20, Y=0x40, на выходе получаю Mag = 0xa4, Phase = 0xf5. 

0xf5/256 = 0,957 рад. 

atan (0x40/0x20) = 1,107рад. 

Далее, для любого вектора, у которого угол больше 0,957 рад. кордик выдает угол 0xf5 = 0,957рад. Проверял только для квадранта X+ Y+, но и тут уже не сходится. 

Т.е. при повороте вектора фаза растет до 0,957 а дальше упирается в это значение. При этом длина вектора считается нормально. Пробовал поставить в настройках кордика Scalеd radians - то же самое, только результат промасштабирован от не от -pi до pi, а от -1 до 1.  И значение, в которое упирается фаза, уже не 0,957, а примерно 0,3.

Что делаю не так?

  

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...