CORDIC基本方程可以表示为:
xi +1 = xi - yidi2-i
yi +1 = yi - xidi2-i
zi +1 = yi - ditan-i(2-i)
其中di = -1 if zi < 0, else +1.
如果用来计算三角函数可以利用初始条件:
x0 = 1 / An (用来抵消迭代过程产生的增益)
y0 = 0
得到
xn = cos z0
yn = sin z0
附件中的代码一个是迭代方法实现,另一个是流水线方法实现。均采用参数化设计,便于修改。说明文档和程序流图也附在附件中。
CORDIC算法,我曾经也比较仔细地研究过。如果哪些朋友对CORDIC有疑惑,可以在EEPW上和我互相讨论、共同学习。
CORDIC.rar
CORDIC计算三角函数(附verilog代码)

只看楼主 1楼
关键词: CORDIC 计算 三角函数 verilog 代码





回复
打赏帖 | |
---|---|
【STM32F769】调试SD驱动,由于其时钟配置不对引起的错误以及排查记录被打赏35分 | |
C语言函数宏的三种封装方式被打赏50分 | |
【STM32F769】记一次由于开启D-Cache之后DMA数据传输出错的问题查找与解决被打赏35分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 |