帮助中心帮助中心
cordicsin
罪
基于cordic的正弦近似
Y = cordicsin(theta)
Y = cordicsin(theta,niters)
y= cordicsin (θ)计算sinθ使用CORDIC算法逼近。
y= cordicsin (θ)
y
θ
例子
y= cordicsin (θ,硝酸钠)计算sinθ使用指定迭代次数的CORDIC算法近似,硝酸钠.
y= cordicsin (θ,硝酸钠)
硝酸钠
全部折叠
方法产生的结果进行比较cordicsin算法对结果进行了双精度处理罪函数。
创建1024个点[0, 2 *π).
[0, 2 *π)
stepSize = pi/512;thRadDbl = 0:stepSize:(2*pi - stepSize);thRadFxp = sfi(thRadDbl,12);%符号,12位固定点sinThRef = sin(double(thRadFxp));%参考结果
将迭代次数设置为10。
硝石= 10;cdcSinTh = cordicsin(thRadFxp,niters);errCdcRef = sinThRef - double(cdcSinTh);
比较定点cordicsin函数结果达到了结果的双精度罪函数。
图保存在轴([0 2*pi -1.25 1.25])“b”);情节(thRadFxp cdcSinTh,‘g’);情节(thRadFxp errCdcRef,“r”);ylabel (“sinθ(\)”);gca。XTick = 0:pi/2:2*pi; gca.XTickLabel = {' 0 ',π/ 2的,“π”,“3 *π/ 2”,“2 *π”};gca。YTick = -1:0.5:1; gca.YTickLabel = {“-1.0”,“-0.5”,' 0 ',“0.5”,“1.0”};ref_str =参考:罪(双(\θ));sprintf('12位CORDIC正弦;N = %d'、硝石);Err_str = sprintf('错误(max = %f)'马克斯(abs (errCdcRef)));传奇(ref_str cdc_str err_str);
经过10次迭代,CORDIC算法已经将sin逼近到双精度sin结果的0.005492以内。
输入角度(以弧度为单位),指定为有符号或无符号标量、矢量、矩阵或多维数组。的所有值θ必须为实数,范围为[-2π 2π)。
CORDIC算法执行的迭代次数,指定为正整数值标量。
如果您没有指定硝酸钠,或者如果指定的值太大,则算法使用最大值。对于定点运算,最大迭代次数小于的字长1θ.对于浮点运算,最大值为52 (double)或23 (single)。增加迭代次数可以产生更准确的结果,但也会增加计算费用并增加延迟。
基于cordic的sin的近似θ,作为标量、向量、矩阵或多维数组返回。
当函数的输入为浮点数时,输出数据类型与输入数据类型相同。当输入为定点时,输出的字长与输入的字长相同,且分数长度等于字- - - - - -2.
字
2
CORDIC是坐标旋转数字计算机的首字母缩写。基于Givens旋转的CORDIC算法是目前硬件效率最高的算法之一,因为它只需要迭代的shift-add操作(参见参考文献)。CORDIC算法消除了显式乘法器的需要。使用CORDIC,您可以计算各种函数,如正弦,余弦,弧正弦,弧余弦,弧正切和矢量大小。您还可以将此算法用于除函数、平方根函数、双曲函数和对数函数。
增加CORDIC迭代次数可以产生更准确的结果,但这样做会增加计算费用并增加延迟。
X表示sin,Y表示余弦,然后Z代表θ。CORDIC旋转核的准确性取决于对的初始值的选择X,Y,Z.该算法使用以下初始值:
z 0 初始化为 θ 输入参数值 x 0 初始化为 1 一个 N y 0 初始化为 0
CORDIC函数丢弃任何局部fimath连接到输入端。
fimath
CORDIC函数使用它们自己的内部fimath计算时:
OverflowAction- - - - - -包装
OverflowAction
包装
RoundingMethod- - - - - -地板上
RoundingMethod
地板上
输出没有附加fimath.
使用注意事项和限制:
不支持可变大小的信号。万博1manbetx
CORDIC算法执行的迭代次数,硝酸钠,必须是常数。
您可以为生成HDL代码cordicsin函数。
在R2010a中引入
cordiccexp|cordiccos|cordicsincos|罪|因为
cordiccexp
cordiccos
cordicsincos
因为
您有这个示例的修改版本。要使用编辑打开此示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处