Jump to content
    

arctg() на VHDL/AHDL ?

Интересно, есть ли готовые семплы по вычислению этой функции ?

Есть. Ключевое слово для поиска - CORDIC

Share this post


Link to post
Share on other sites

Интересно, есть ли готовые семплы по вычислению этой функции ?

Используйте табличный метод, так проще и как правило большего не требуется

Share this post


Link to post
Share on other sites

Интересно, есть ли готовые семплы по вычислению этой функции ?

Я когда то реализовывал на VHDL преобразование декартовых координат в полярные. Там кажись получилась точность 0.1 град по углу и +- 0.1 дБ по амплитуде (щас уже не помню).Латентность что то около 6..7 тактов. Если интересует могу дома поискать исходники.

Share this post


Link to post
Share on other sites

Используйте табличный метод, так проще и как правило большего не требуется

+1 . Если набор входных данных не большой , то наиболее приемлимый способ .

Иначе cordic

Share this post


Link to post
Share on other sites

+1 . Если набор входных данных не большой , то наиболее приемлимый способ .

Иначе cordic

Но, к сожалению, точность при не большом количетсве значений в таблице, тоже не высокая :(

 

Я когда то реализовывал на VHDL преобразование декартовых координат в полярные. Там кажись получилась точность 0.1 град по углу и +- 0.1 дБ по амплитуде (щас уже не помню).Латентность что то около 6..7 тактов. Если интересует могу дома поискать исходники.

 

Так Вы Cordic сделали или просто преобразователь "декартовых координат в полярные". Поясните пожайлуста.

Share this post


Link to post
Share on other sites

Ну необходимо вспомнить про единичную окружность. И графическое представление тангенса на ней. Это можно сделать например тут: http://ru.wikipedia.org/wiki/Тангенс

 

Если ограничеть максимальное значение Y(т.е. не устремлять его до бесконечности, где аргумент равен pi/2), то можно использовать CORDIC для расчета atan

Share this post


Link to post
Share on other sites

Так Вы Cordic сделали или просто преобразователь "декартовых координат в полярные". Поясните пожайлуста.

Преобразователь на основе алгоритма Cordic. :) Вычисляет модуль и фазу комплексного числа по реальной и мнимой части. Ну а фаза это и есть arctg.

P.S.

Глянул, исходники к сожалению на Verilog

Share this post


Link to post
Share on other sites

Преобразователь на основе алгоритма Cordic. :) Вычисляет модуль и фазу комплексного числа по реальной и мнимой части. Ну а фаза это и есть arctg.

P.S.

Глянул, исходники к сожалению на Verilog

 

Спасибо, за информативный ответ! :)

Жаль, что на Verilog :crying:

Share this post


Link to post
Share on other sites

Спасибо, за информативный ответ! :)

Жаль, что на Verilog :crying:

 

Я попробовал три варианта вычисления арктангенса,и остановился на табличном.Рекомендую.

Подробности здесь:

http://electronix.ru/forum/index.php?showtopic=46672&hl=

Share this post


Link to post
Share on other sites

Преобразователь на основе алгоритма Cordic. :) Вычисляет модуль и фазу комплексного числа по реальной и мнимой части. Ну а фаза это и есть arctg.

P.S.

Глянул, исходники к сожалению на Verilog

Здравстуйте! А не могли-бы Вы поделиться исходниками на Verilog, буду очнень признателен.

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...