文档

科迪西奇

正弦的基于脐带的近似

句法

Y = Cordicsin(Theta,Niters)

描述

y= cordicsin(Theta,,,,计算正弦Theta用一个脐带算法近似。

输入参数

Theta

Theta可以是签名或未签名的标量,向量,矩阵或n- 二维阵列包含弧度中的角度值。所有值Theta必须是真实的,并且在[–2π2π)中。

是电线算法执行的迭代次数。这是一个可选的论点。指定时,必须是一个积极的整数值标量。如果您不指定或者,如果指定一个太大的值,则该算法使用最大值。对于定点操作,最大迭代次数比单词长度少一个Theta。对于浮点操作,双重值的最大值为52,单次操作为23。增加迭代次数可以产生更准确的结果,但也增加了计算的费用并增加了延迟。

输出参数

y

y是基于脐带的正弦的近似Theta。当函数的输入是浮点时,输出数据类型与输入数据类型相同。当输入是固定点时,输出具有与输入相同的单词长度,而分数长度等于wordlength-2

例子

全部收缩

比较通过各种迭代产生的结果科迪西奇算法的双精度结果功能。

%在[0,2*pi)之间创建1024点stepize = pi/512;thraddbl = 0:stepize :( 2*pi -stepize);thradfxp = sfi(thraddbl,12);%签名,12位固定点sinthref = sin(double(thradfxp));参考结果%%使用12位量化输入并改变迭代次数%从2到10。%将固定点的Cordicsin功能与双精度罪函数的结果%。为了niters = 2:2:10 cdcsinth = cordicsin(thradfxp,niters);errcdcref = sinthref -double(cdcsinth);结尾轴([0 2*pi -1.25 1.25])图(thradfxp,sinthref,'b');情节(thradfxp,cdcsinth,'G');情节(thradfxp,errcdcref,'r');ylabel('罪(\ theta)'');gca.xtick = 0:pi/2:2*pi;gca.xticklabel = {'0',,,,'pi/2',,,,'pi',,,,'3*pi/2',,,,'2*pi'};gca.ytick = -1:0.5:1;gca.yticklabel = {'-1.0',,,,'-0.5',,,,'0',,,,'0.5',,,,'1.0'};ref_str =“参考:sin(double(\ theta))”;cdc_str = sprintf('12-宽大的正弦;n =%d',niters);err_str = sprintf('错误(max =%f)',max(abs(errcdcref)));传说(ref_str,cdc_str,err_str);

10次​​迭代后,脐带算法已近似Theta达到双精度正弦结果的0.005492。

更多关于

全部收缩

脐带

Cordic是坐标旋转数字计算机的首字母缩写。基于givens旋转的脐带算法是可用的最硬件有效算法之一,因为它仅需要迭代的偏移ADD操作(请参阅参考文献)。脐带算法消除了对显式乘数的需求。使用Cordic,您可以计算各种功能,例如正弦,余弦,正弦,弧余弦,弧形和矢量幅度。您也可以将此算法用于分裂,平方根,双曲线和对数函数。

增加脐带迭代的数量可以产生更准确的结果,但这样做也增加了计算的费用并增加了延迟。

算法

全部收缩

信号流程图

电源旋转内核

X代表正弦,y代表余弦,z代表theta。电源旋转内核的准确性取决于选择初始值的选择X,,,,y, 和z。该算法使用以下初始值:

z 0 被初始化为 θ 输入参数值 X 0 被初始化为 1 一个 n y 0 被初始化为 0

fimath繁殖规则

电线功能丢弃任何本地fimath附在输入上。

电线功能使用自己的内部功能fimath执行计算时:

  • 溢出-

  • 圆形的-地面

输出没有附件fimath

参考

[1] Volder,JE。“电线三角计算技术。”IRE电子计算机上的交易。卷。EC-8,1959年9月,第330–334页。

[2] Andraka,R。“基于FPGA的计算机的Cordic算法调查。”1998年ACM/SIGDA第六届国际田间可编程登机口阵列的论文集。2月22日至24日,1998年,第191-200页。

[3] Walther,J.S。“基本功能的统一算法。”惠利特 - 帕克德公司,帕洛阿尔托。春季关节计算机会议,1971年,第379–386页。(来自计算机历史博物馆的收藏)。www.computer.org/csdl/proceedings/afips/1971/5077/00/50770379.pdf

[4] Schelin,Charles W.“计算器函数近似。”美国数学月度。卷。90,第5期,1983年5月,第317–325页。

扩展功能

在R2010a中引入

这个话题有帮助吗?