cordic ip核 vivado_vivado中Cordic IP核使用——计算正余弦(sin/cos)
目录
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)相关推荐
- vivado中Cordic IP核使用——计算正余弦(sin/cos)
目录 1.Cordic算法介绍 2.Cordic IP核介绍 3.仿真 4.存在的问题 5.参考 1.Cordic算法介绍 cordic算法将正余弦计算转换为简单的迭代过程(一系列的加减和移位操作), ...
- php 什么函数获取ip,在PHP中获取ip地址的方法有哪些
在PHP中获取ip地址的方法有哪些 发布时间:2021-02-15 18:37:36 来源:亿速云 阅读:97 作者:Leah 这篇文章给大家介绍在PHP中获取ip地址的方法有哪些,内容非常详细,感兴 ...
- linux脚本显示ip地址,Linux中显示ip地址的命令【显哥出品,必为精品】
在Linux中有三种查看ip地址的方法,下面我分别来介绍 1.ip address命令 使用ip address命令可以查看具体是ip信息 [root@lixian ~]#ip address 1: ...
- go ip过滤_Go 中基于 ip 地址的速率限制 http 请求
如果您正在运行HTTP服务器并希望对端点进行速率限制请求,则可以使用维护良好的工具,例如 github.com/didip/tollbooth.但是如果你正在构建一些非常简单的东西,那么自己实现它并不 ...
- php屏蔽ip时间段,php中限制ip段访问、禁止ip提交表单的代码分享/用PHP打印出前一天的时间格式:...
/加IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $ ...
- sql 从ip列表中查询ip段_IP地址段查询深度优化案例
作者介绍 陈华军,苏宁IT总部架构专家,PostgreSQL及MySQL产品技术负责人,PostgreSQL中文社区核心成员. 问题 某日,研发的小伙伴扔过来一个SQL希望帮忙优化. select n ...
- YiLu代理中住宅IP代理和数据中心/机房IP代理分析及对比
YiLu代理的代理IP池根据代理类型分类的话主要可以分为住宅IP代理和数据中心/机房IP代理2大类,本文主要讲解下YiLu Proxy中住宅IP代理和数据中心/机房IP代理它们各自的特点以及两者之间存 ...
- 计算机中使用四核处理器四内核的主要作用是,酷睿2四核
面向台式机的英特尔酷睿2 四核处理器采用强大的多核技术,能有效处理密集计算和虚拟化工作负载.最新型英特尔 酷睿2 四核处理器基于45纳米英特尔酷睿微体系结构,具有速度快.温度低 等优点,可满足下一代高 ...
- 计算机网络——网络层路由协议、IP组播、移动 IP、路由器
文章目录 前言 一.RIP 协议与距离向量算法 1.RIP 协议 2.距离向量算法 二.OSPF 协议与链路状态算法 1.OSPF 协议 2.链路状态算法 三.BGP 协议和三种路由协议的比较 1.B ...
最新文章
- leetcode — maximum-subarray
- 函数式编程语言python-10分钟学会python函数式编程
- 对象并不一定都是在堆上分配内存的
- mysql5.5集群数据同步_[转]配置mysql5.5主从复制数据库集群
- extjs4.2 前端读取对象的方法
- Pandas 表连接(Merge,join,concatenate)
- java输出两个整数的积_如何检查Java中的两个数字相乘是否会导致溢出?
- python下载安装教程-一招解决:各种版本的Python下载安装教程
- 【Flutter】微信项目实战【08】 聊天界面搭建(上)
- SpringBoot系列(3):SpringBoot2.1.x源码阅读环境搭建详解
- 【MATLAB深度学习工具箱】学习笔记--字符识别Character Recognition
- 利用cookie实现登陆知网与抽屉网 基于session自动登录抽屉网 cookie与session区别
- 【Vue实战】使用vue-admin-template模板开发后台管理
- oracle 生成随机姓名_Oracle生成随机码
- 如何解决失眠有效方法,五个助眠小妙招
- Jzoj5542 董先生的钦点
- 图像视频压缩编码概述
- 【软件工程】一文完全理解用例和用例图
- 编译好的GDAL库,支持ECW格式,支持proj,支持geos
- 加壳学习系列(二)-壳代码
热门文章
- element table表格里的多选按钮,根据条件判断是否可以被选中
- php默认语法,PHP基本语法总结
- perl java远程调用函数调用_如何从Java调用Perl?
- mysql 指令没有用_Mysql指令
- linux c 运行脚本,linux 将c源代码当作shell一样脚本运行_沃航科技
- java 调用wget_通过命令行执行WGET下载会更快,而通过Java代码执行时会更慢
- gsp计算机软件管理,米多GSP管理系统
- linux管道通信题目,操作系统实训(Linux)——习题解答、例题解析、实验指导-王红-实验实验7软中断及管道通信课案.ppt...
- ie 打开后端发过来的pdf_JS如何下载资源文件,并且兼容IE、Edge
- 基于matlab 的图像重建,基于Matlab的2D-FFT图像重建软件的设计