Vivado cordic IP求模求角教程
前言
当需要对复数求模的时候,用FPGA怎么求呢?怎么开根号?
方法1:先求幅值平方和,再使用cordic IP开根号。(蠢办法)
方法2:直接用cordic求取模值。
此处只介绍方法2,资源占用更少,更方便。
求模原理如下图所示。已知(x0,y0),即复信号的实部和虚部,要求模值和角度,即为(r,ɵ)。

流程
(1)既然是用IP,自然首先要看官方的IP说明文档。
文档名称:pg105-cordic
查看文档得知,需要使用codic的translate模式。
Vector translation rotates the vector (X_IN,Y_IN) around the circle until the Y component equals zero as illustrated in Figure 3-9. The outputs from vector translation are the magnitude, X’, and phase, , of the input vector (X,Y).

由下图可知,角度最高bit表示符号位,高2bit表示整数,其余位表示小数位。

对下图中的0.707,也可看做是707(小数点右移3),则结果为750。

(2)例化IP仿真,本次使用18bit的输入,则IP配置界面可如下图所示。注意选中缩放补偿,否则求模结果被缩放,结果需要乘缩放值Z才是模值结果。注意端口与实际含义的对应关系。


(3)仿真验证:假定X=32000,Y=32750,则模值输出为45788。角度为高3bit(最高bit为符号位)为整数部分,其余为小数部分。则实际的角度弧度值为26115/2^15。可以看到与matlab算出的结果是一致的。


以上。
Vivado cordic IP求模求角教程的更多相关文章
- 【转】C/C++求模求余运算符——2013-08-20
http://blog.csdn.net/whealker/article/details/6203629 求模运算符(%),或称求余运算符,也就是数学上所谓的除法中的余数,%两侧均应为整数, |小| ...
- 【C语言学习趣事】_33_关于C语言和C++语言中的取余数(求模)的计算_有符号和无符号数的相互转换问题
最近再次复习C++语言,用的教材是<C++ Primer>这本教材, 看到第二章的时候,里面有个问题困扰了我. 于是想上网查查怎么回事, 结果看了很久都没有得到一个满意的答案. 书上有这么 ...
- 求余VS求模--C语言中表述
之前看帖子,发现许多时候基本上大家都把求模和求余混为一谈了.但实际上二者的概念是有区别的 1. 求余 在C语言中,求余对应的操作符是%,且a%b求余的最后结果总是与a符号相同,最后的数值为|a|% ...
- eq相等 ne、neq不相等, gt大于, lt小于 gte、ge大于等于 lte、le 小于等于 not非 mod求模 等
eq相等 ne.neq不相等, gt大于, lt小于 gte.ge大于等于 lte.le 小于等于 not非 mod求模 is [not] div by是否能被某数整除 i ...
- NYOJ-102 次方求模 AC 分类: NYOJ 2014-02-06 18:53 184人阅读 评论(0) 收藏
地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=102 //a^b mod c=(a mod c)^b mod c很容易设计出一个基于二分的递归 ...
- 大数求模 sicily 1020
Search
- UVA 11174 Stand in a Line (组合+除法的求模)
题意:村子里有n个人,给出父亲和儿子的关系,有多少种方式可以把他们排成一列,使得没人会排在他父亲的前面 思路:设f[i]表示以i为根的子树有f[i]种排法,节点i的各个子树的根节点,即它的儿子为c1, ...
- HDOJ1021题 Fibonacci Again 应用求模公式
Problem Description There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) ...
- nyoj 102 次方求模【快速幂】
次方求模 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 求a的b次方对c取余的值 输入 第一行输入一个整数n表示测试数据的组数(n<100)每组测试只有一 ...
随机推荐
- nginx多层反向代理获取客户端真实ip
访问路径: 用户 --> www.chinasoft.cn(nginx反向代理) --> www.chinasoft.com(nginx反向代理) --> python服务端程序 经 ...
- Python3基础 complex real imag __abs__ 取复数的实部 虚部 模
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- JS中的match和test正则表达式验证密码或用户名的一种规则
match语法:字符串.match(正则表达式)有符合的:返回符合的数组无符合的:返回null test语法:正则表达式.test(字符串)有符合的:返回true无符合的 :返回false 该文的密码 ...
- vue 静态资源文件夹src下的assets 和static的区别
static下的静态资源在项目打包的时候,直接在dist文件夹下直接把static文件夹打包进去src下的assets,在打包时,vue是按照模块来引入里面的静态资源,一般使用这种方式
- js实现深度优先遍历和广度优先遍历
深度优先遍历和广度优先遍历 什么是深度优先和广度优先 其实简单来说 深度优先就是自上而下的遍历搜索 广度优先则是逐层遍历, 如下图所示 1.深度优先 2.广度优先 两者的区别 对于算法来说 无非就是时 ...
- 基于java的简单Socket编程
1TCP协议与UDP协议 1.1 TCP TCP是(Tranfer Control Protocol)的简称,是一种面向连接的保证可靠传输的协议.通过TCP协议传输 ...
- python scipy包进行GO富集分析p值计算
最近总是有需要单独对某一个类型的通路进行超几何分布的p值计算,这里记录一下python包的计算方法 使用scipy的stat里面的hypergeom.sf方法进行富集分析的p值计算 hsaxxxxx ...
- jar 常用操作
查看 jar 包中的文件列表,并进行重定向 jar -tvf a.jar > a.txt 更新文件到 jar 中,目录需对应 jar -uf a.jar com/a.class a.class ...
- [Asp.Net Core] - 使用 ViewComponents 实现分页控件
分页控件(定义分页参数) ~/ViewComponents/PaginationViewComponent.cs using HelloWorld.DataContext; using Microso ...
- phpstrom xdebug phpstudy调试,跳不到设置断点的原因,以及配置方法
设置的是127 的地址,而用localhost 方式请求,所以无法跳到断点 环境 phpstudy 2018 php 7.2.10 xdebug版本 (因为要与php版本要对应,注意别选错了,我的用的 ...