关于自己编写的CORDIC算法和xilinx的CORDIC核的区别?
但是中间有个疑问,花了很长时间都没解决。
自己编写的计算正余弦的模块Zscos
xilinx的计算正余弦的模块Xscos
对比两个模块的测试结果数据发现,当输入角度为0时,Xscos的输出结果分别为定点的0(sin)和1(cos)
Zscos的输出结果总是存在一个很小很小的误差。
其它特殊角度存在相同的问题。
我看了Xilinx的CORDIC核文档,它里面有说的计算过程中扩位了,然后最后将结果截位,这种方法我也试过,但是失败了。
不知道有没有哪位大侠研究过,给点指点下。
不知道描述清楚没...
以前做过,把你的详细spec给我说哈,比如多少位,多少级?
小编是自家人,提醒一下,你采用的扩位截位的方式不同,有可能结果不太一样。
还有,也不排除Xcordic专门针对特殊的角度做了修正,假定他们当时设计的时候也碰到类似的问题了呢。
24位,22级..
这个误差很小吧,没影响就好啊
CORDIC算法的处理包括很多特殊角度的处理。你的0度角可以直接输出。输出。
小编,有一个问题,想请教一下你:我在做的一个图像处理的IP中使用到了cordic core来进行流水线开方,自己没有写cordic core,是直接调用xilinx ISE13.1的core generator生成的cordic。在第一次仿真时就遇到过一个问题,就是输出的开方数据少于输入的数据个数,但是,我在另一个人的电脑上仿真时却又没有出现这个问题,所以我就把它归结为是我的ISE版本中的cordic 的simulation model有问题。图像处理的IP最后实现是没有问题的。这个问题,于是没有去深究,但最近又需要对整个IP进行大的仿真,所以,现在又遇到这个问题了,奇怪的是,原来的仿真工程中没有出现输出数据少与输入数据个数的问题,但是新的工程却一直有这个问题。两个工程在cordic的前后接口都是一样的,库及参数都是一俗样的,仿真器是modelsim6.5f。希望你能够帮帮我!我的email是464100513@qq.com
亲 小编你好,我用cordic做了正余弦,结果还可以,误差不是很大,打算做个反正切,可是 就是仿真不出来结果 ,我不知到问题出哪里了,希望得到你的指点
应该是特殊角度做了修正。
并且在四分之一圆查表时,可能加入了相位抖动
