基于CORDIC算法2FSK调制器的FPGA设计

基于CORDIC算法2FSK调制器的FPGA设计,第1张

 

  本文提出了应用CORDIC(Coordinate RotaTIon Digital Computer)算法实时计算正弦值的方案,并基于CORDIC算法在FPGA芯片上设计了2FSK调制器。这不仅能够节省大量的FPGA逻辑资源,而且能很好地兼顾速度、精度、简单、高效等方面。

  1 CORDIC算法原理及结构

  1.1 CORDIC算法原理

  CORDIC算法是由J.Volder于1959年提出的。该算法适用于解决一些三角学的问题,如平面坐标的旋转和直角坐标到极坐标的转换等。C-ORDIC算法的基本思想是通过一系列固定的、与运算基数有关的角度的不断偏摆以逼近所需的旋转角度。从广义上讲,CORDIC方法就是一种数值计算的逼近方法。该算法实现三角函数的基本原理如图1所示。

  

基于CORDIC算法2FSK调制器的FPGA设计,b.jpg,第2张

 

  设初始向量(x0,y0)逆时针旋转角度θ后得到向量(xn,yn),如图1所示。则:

  

基于CORDIC算法2FSK调制器的FPGA设计,c.jpg,第3张

 

  为了避免复杂的乘法运算,用一系列微旋转来处理,第i次旋转可表示为:

  

基于CORDIC算法2FSK调制器的FPGA设计,d.jpg,第4张

 

  式中:θi表示第i次旋转的角度,并且满足tanθi=2-i;zi表示第i次旋转后与目标角度的差;δi表示向量的旋转方向,由zi的符号位来决定,即δi=sign zi。

  

基于CORDIC算法2FSK调制器的FPGA设计,e.jpg,第5张

 

  

基于CORDIC算法2FSK调制器的FPGA设计,f.jpg,第6张

 

  为每一级的校正因子,也就是每一级旋转时向量模长发生的变化,对于字长一定的运算,总的校正因子是一个常数。若总的旋转次数为n,则总校正因子用k表示为:

  

基于CORDIC算法2FSK调制器的FPGA设计,g.jpg,第7张

 

  由式(7)可知:xn,yn分别为输入角θ的余弦和正弦值,故基于CORDIC算法可产生正弦载波信号,而且由式(5)可以看出所有运算简化成加减法和移位 *** 作,因此很容易用硬件实现。

  

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2467409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存