codic算法原理
11页1、-2CORDIC算法与实现2.1 CORDIC算法原理CORDIC是一种迭代算法,它可以用来计算sin,cos等三角函数,计算幅值和相位等到所需的精度,CORDIC算法计算幅值和相位的原理如下:假设直角坐标系内有向量A(Xn,Yn),向量A顺时针旋转n后得到向量B(Xn,Yn),如图2所示。向量A和向量B之间存在以下关系,用矩阵表示为将cosn提出以后得到在这里我们取0i=arctan(1/2i),所有迭代的总和为,其中Si=-1,+1,则tani=Si2-i,可得上式Si中的符号决定了向量的旋转方向,当时Yi0,Si=1,顺时针旋转;当Yi0时,Si=-1,逆时针旋转,式中的cosi=cos(arctan(1/2i),随着迭代次数的增加它收敛于一个常数,我们暂不考虑这个常数增益,这样式(2-3)就变为设总共旋转的角度为,初值为0,则,给定向量 一组初值如下从上面的式子可以看出,当向量A旋转到X轴时,可以得到迭代的结果为 ,即可求得向量A的幅值和相位。由式(2-4)可知每次旋转的角度的正切值都是2的负幂次,在硬件实现时只需要执行右移和相加运算就可以实现每次迭代,易于硬件的实现。2.2
2、用CORDIC算法的流水结构实现坐标变换CORDIC迭代结构如图3所示,采用流水结构每次迭代完成一次旋转,每级迭代都用寄存器寄存,这样每个时钟周期都可以计算出一次幅度和相位。迭代的次数越多,精度越高,当然耗费的资源也就越多。在数字下变频器输出I,Q两路信号后(输出信号用补码表示),用CORDIC实现坐标变换时,为简化电路结构,只用计算的相角,其他象限的相角,采用处理后再映射的办法求取,冈此,对刚进入的数据会进行预处理。首先就是求输人数据的绝对值,并记录符号位作为处理后象限映射的依据。接下来,会判断I,Q两路数据的大小关系,并将较小的值交换到Q路,这样做的目的是要在同样的迭代次数下,达到更高的迭代精度。进入CORDIC迭代单元前会对I,Q两路数据进行位宽拓展,从而保证CORDIC迭代过程中,不会因截断误差造成太大的偏差。经过CORDIC迭代后所得的幅度值是有增益的,此时需要对其进行修正,另一方面,相位值需根据先前记录的I,Q两路数据的符号位和I,Q两路数据交换的情况作象限映射,表1列出了相位映射的规则。坐标变换模块的实现结构如图4所示。2.3 使用modeIsim仿真的结果图5是当输入激
《codic算法原理》由会员小**分享,可在线阅读,更多相关《codic算法原理》请在金锄头文库上搜索。
2020年高考真题——理科综合(全国卷Ⅲ)+Word版含答案
2021年绝味鸭脖策划书
2021年熟食店创业方案
2021年熟食店开店策划
2021年卤菜店创业计划书
2021年周黑鸭网络营销策划方案
东大21年1月考试《现代设计方法》考核作业
谈我国行政管理效率的现状及其改观对策(论文)
单证员考试-备考辅导-复习资料:无贸易背景信用证案分析.docx
土木工程毕业生答辩自述.docx
建筑学毕业后工作状态真实写照.doc
C#代码规范(湖南大学).doc
xx区食药监局2019年工作总结及2020年工作计划
2019年中医院药物维持治疗门诊工人先锋号先进事迹
2019年度xx乡镇林长制工作总结
2019年性艾科工作计划书
2019年人才服务局全国扶贫日活动开展情况总结
关于组工信息选题的几点思考
摘了穷帽子 有了新模样
2019年某集团公司基层党支部书记培训班心得体会
2024-04-08 33页
2024-04-08 10页
2024-04-08 25页
2024-04-08 12页
2024-04-08 10页
2024-04-08 21页
2024-04-08 40页
2024-04-08 34页
2024-04-08 28页
2024-04-08 28页