目录

1、Cordic算法介绍

2、Cordic IP核介绍

3、仿真

4、存在的问题

5、参考

1、Cordic算法介绍

cordic算法将正余弦计算转换为简单的迭代过程(一系列的加减和移位操作), 非常适合硬件实现,是对正余弦等数学计算的逼近。

以旋转过程为例,简述cordic算法思想(计算正余弦可以认为起始点P在x轴上,旋转结果的xy坐标即为旋转角度的cos、sin):

和差化积公式:

带入P点:

进一步:

伪旋转:

伪旋转不再考虑

,导致旋转后模值改变(变大):

旋转分解:

将旋转分解成为一系列的微旋转(直接旋转难以计算,将其分解为一系列易于计算的微旋转),实现了一系列加减和移位来逼近正切值计算。

第i+1 次旋转后的结果为:

微旋转角度选择, 正是它使得该算法非常易于硬件实现, 即令:

这里di∈{-1,1}, 结合式( 3.99), 式 (3.98) 可重新改写为:

不难看出, 每次微旋转在xy坐标上带来的影响是1/(2^i),因此只需要加法 、 减法和移位操作即可完成。

结论:

这一系列微旋转角已知,Cordic计算的过程就是通过一系列微旋转角度的旋转(根据理想角度与当前角度大小关系选择顺时针还是逆时针旋转),逼近计算角度的过程。

微旋转角度和存在极值,因此理想角度存在输入范围。超出范围的需要预处理。

伪旋转对模值的影响,近似为放大了1/K倍。K=0.607252935

2、Cordic IP核介绍

1、功能设置,包括旋转、正余弦计算、开方运算等,此处设置为正余弦计算

2、配置设置,选择为并行

3、数据形式设置,选择为有符号小数

4、相位格式设置,包括弧度(-3.14-3.14)和缩放(-1-1)

5、数据位宽设置(精度)

6、配置结束,可以看出输出延迟为20个clk

7、配置结束,对应的数据位宽和分配

3、仿真

可以看出:

1、正余弦计算正确

2、输出延迟确实为20clk

4、存在的问题

经过105ns以后的输入才有对应输出,这105ns如何确定?实际中如何处理这一段时间?

5、参考

CORDIC算法详解(一)-CORDIC 算法之圆周系统之旋转模式

Cordic v6.0 IP CORE使用说明

vivado中cordic IP 6.0 关于sin/cos输入输出位数问题

cordic ip核 vivado_vivado中Cordic IP核使用——计算正余弦(sin/cos)相关推荐

  1. vivado中Cordic IP核使用——计算正余弦(sin/cos)

    目录 1.Cordic算法介绍 2.Cordic IP核介绍 3.仿真 4.存在的问题 5.参考 1.Cordic算法介绍 cordic算法将正余弦计算转换为简单的迭代过程(一系列的加减和移位操作), ...

  2. php 什么函数获取ip,在PHP中获取ip地址的方法有哪些

    在PHP中获取ip地址的方法有哪些 发布时间:2021-02-15 18:37:36 来源:亿速云 阅读:97 作者:Leah 这篇文章给大家介绍在PHP中获取ip地址的方法有哪些,内容非常详细,感兴 ...

  3. linux脚本显示ip地址,Linux中显示ip地址的命令【显哥出品,必为精品】

    在Linux中有三种查看ip地址的方法,下面我分别来介绍 1.ip address命令 使用ip address命令可以查看具体是ip信息 [root@lixian ~]#ip address 1: ...

  4. go ip过滤_Go 中基于 ip 地址的速率限制 http 请求

    如果您正在运行HTTP服务器并希望对端点进行速率限制请求,则可以使用维护良好的工具,例如 github.com/didip/tollbooth.但是如果你正在构建一些非常简单的东西,那么自己实现它并不 ...

  5. php屏蔽ip时间段,php中限制ip段访问、禁止ip提交表单的代码分享/用PHP打印出前一天的时间格式:...

    /加IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $ ...

  6. sql 从ip列表中查询ip段_IP地址段查询深度优化案例

    作者介绍 陈华军,苏宁IT总部架构专家,PostgreSQL及MySQL产品技术负责人,PostgreSQL中文社区核心成员. 问题 某日,研发的小伙伴扔过来一个SQL希望帮忙优化. select n ...

  7. YiLu代理中住宅IP代理和数据中心/机房IP代理分析及对比

    YiLu代理的代理IP池根据代理类型分类的话主要可以分为住宅IP代理和数据中心/机房IP代理2大类,本文主要讲解下YiLu Proxy中住宅IP代理和数据中心/机房IP代理它们各自的特点以及两者之间存 ...

  8. 计算机中使用四核处理器四内核的主要作用是,酷睿2四核

    面向台式机的英特尔酷睿2 四核处理器采用强大的多核技术,能有效处理密集计算和虚拟化工作负载.最新型英特尔 酷睿2 四核处理器基于45纳米英特尔酷睿微体系结构,具有速度快.温度低 等优点,可满足下一代高 ...

  9. 计算机网络——网络层路由协议、IP组播、移动 IP、路由器

    文章目录 前言 一.RIP 协议与距离向量算法 1.RIP 协议 2.距离向量算法 二.OSPF 协议与链路状态算法 1.OSPF 协议 2.链路状态算法 三.BGP 协议和三种路由协议的比较 1.B ...

最新文章

  1. leetcode — maximum-subarray
  2. 函数式编程语言python-10分钟学会python函数式编程
  3. 对象并不一定都是在堆上分配内存的
  4. mysql5.5集群数据同步_[转]配置mysql5.5主从复制数据库集群
  5. extjs4.2 前端读取对象的方法
  6. Pandas 表连接(Merge,join,concatenate)
  7. java输出两个整数的积_如何检查Java中的两个数字相乘是否会导致溢出?
  8. python下载安装教程-一招解决:各种版本的Python下载安装教程
  9. 【Flutter】微信项目实战【08】 聊天界面搭建(上)
  10. SpringBoot系列(3):SpringBoot2.1.x源码阅读环境搭建详解
  11. 【MATLAB深度学习工具箱】学习笔记--字符识别Character Recognition
  12. 利用cookie实现登陆知网与抽屉网 基于session自动登录抽屉网 cookie与session区别
  13. 【Vue实战】使用vue-admin-template模板开发后台管理
  14. oracle 生成随机姓名_Oracle生成随机码
  15. 如何解决失眠有效方法,五个助眠小妙招
  16. Jzoj5542 董先生的钦点
  17. 图像视频压缩编码概述
  18. 【软件工程】一文完全理解用例和用例图
  19. 编译好的GDAL库,支持ECW格式,支持proj,支持geos
  20. 加壳学习系列(二)-壳代码

热门文章

  1. element table表格里的多选按钮,根据条件判断是否可以被选中
  2. php默认语法,PHP基本语法总结
  3. perl java远程调用函数调用_如何从Java调用Perl?
  4. mysql 指令没有用_Mysql指令
  5. linux c 运行脚本,linux 将c源代码当作shell一样脚本运行_沃航科技
  6. java 调用wget_通过命令行执行WGET下载会更快,而通过Java代码执行时会更慢
  7. gsp计算机软件管理,米多GSP管理系统
  8. linux管道通信题目,操作系统实训(Linux)——习题解答、例题解析、实验指导-王红-实验实验7软中断及管道通信课案.ppt...
  9. ie 打开后端发过来的pdf_JS如何下载资源文件,并且兼容IE、Edge
  10. 基于matlab 的图像重建,基于Matlab的2D-FFT图像重建软件的设计