- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2005年11月 第十四届全国半导体集成电路、硅材料学术会议 珠海
电路设计
黄媛媛边伟 甘学温半
(北京大学信息科学技术学院微电子学系,北京,100871)
摘要: 本文提出基于CORDIC算法实现三角函数发生器的CMOS电路设计。给出了该三
角函数发生器的结构,以及其中各部分的CMOS电路实现,利用电路模拟验证了电路的功
能,并且通过电路模拟对该发生器的精度进行了分析。
关键词:CORDIC算法,三角函数发生器,电路设计,电路模拟
一、引言
一般情况下可以用软件来实现三角函数的计算,但是由于三角函数在各种数字信号处
理中有着广泛的应用,所以将三角函数的发生用硬件来实现更有利于将其集成在各种信号
处理器中,从而提高信号处理速度。
利用CORDIC算法u1可以将计算sin、COS函数过程中的乘、除计算转换为单纯的加减
法和移位操作,从而降低了三角函数发生器的硬件实现复杂度。已经有人用FPGA实现了
三角函数的计算u。,本文基于CORDIC算法实现了三角函数发生器的CMOS电路设计。给出
了该三角函数发生器的结构,以及其中各部分的电路实现。
二、CORDIC算法原理
CORDIC(CoordinateRotation
Digital
提出来的埋。,它是一种用于计算一些常用基本函数和算术操作的循环迭代算法,其基本思
想是用一系列与运算基数相关的角度的不断旋转从而逼近所需的角度。1971年,
js.Walther提出了统一的CORDIC算法形式旧1,成功的把圆周旋转、双曲旋转和直线旋转
统一到同一个CORDIC迭代方程中,为使用同一硬件实现多功能计算提供了前提。
向量V。(x。,Y。)通过旋转角度0得到向量Vz(x。,y2),如图1,则V。和Vz的坐标满
足如下关系式:
x2=x。·cos0一YI·sin8
r1、
Y2=Y。‘cos0+z。·sin8
对(1)式进行变形,得到:
X2=Xl一),1.tanO)·cos0 Y2)
/Oh
y2=(yl+X1·tan矽)·COS矽
为了便于硬件实现,规定每次旋转角度矽的正
切值为2~,即tan
a=2一,则a=arctan(21);
则第i步旋转可写为: 图1. CORDIC原理示意图
x川=(Xi—Yi·di·21)·cos(arctan(21))
r¨
Yi+l=(yf+工i·di·21)·cos(arcta:n(21))
其中dt=±1,代表第i步的旋转方向,l表示逆时针旋转,一1表示顺时针旋转。令
K,=cos(arctan(21))为校正因子,可以用Kt的乘积对输入数据进行修正。
= ,口
去掉 K后旋转方程变为 t (4)
卫.1
= .,Z ;^二
h‰ H叫%
2005年11月 第十四届全国半导体集成电路、硅材料学术会议 珠海
如此硬件实现时将只有加、减和移位操作。
由于d决定了每次旋转的方向,所以确定了d才能够得到最后结果。为了决定d,引
入下列方程式:
Zf+I=Zf-di-arcmn(2一) (5)
其中Z为角度,Z的初值为所要计算的三角函数的角度。如果ZO,口l=一l:如果Z=0,
di=+l。由此式可以计算出对应各个角度的d序列。所以要计算的角度与d序列的关系为:
Zo=∑di·arc
文档评论(0)