資源描述:
《基于CORDIC算法的正余弦運算的FPGA實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、2011年3月電子測試Mar.2011第3期ELECTRONICTESTNo.3基于CORDIC算法的正余弦運算的FPGA實現(xiàn)麻志鵬,沈小林(中北大學通信與信息工程學院,太原山西,030051)摘要:正余弦函數(shù)在任意次諧波電流的無鎖相環(huán)ip-iq檢測法中有著重要應用。本文在基于傳統(tǒng)的CORDIC算法的理論分析和實驗的基礎上,提出了一些優(yōu)化措施。采用VHDL語言完成了正弦函數(shù)、余弦函數(shù)的運算系統(tǒng)設計,給出了具體計算公式,通過了仿真與適配;利用三角函數(shù)的對稱性,將輸入角度的范圍擴大到一個完整的周期。成功地實現(xiàn)了正弦函數(shù)、余弦函數(shù)的運算,仿真結果表明所設計的算法提高了運算速度、降低了系統(tǒng)所占
2、用的硬件資源。關鍵詞:正余弦函數(shù);CORDIC算法;FPGA;VHDL中圖分類號:TP302.1 文獻標識碼:AImplementationofsin&cosfunctiononFPGAbasedonCORDICalgorithmMaZhipeng,ShenXiaolin(CommunicationandInformationEngineeringNorthUniversityofChina,taiyuanshanxi,030051)Abstract:Sine、cosinealgorithmhasimportantapplicationinmethodforrandomharmoni
3、ccurrentdetectionofip-iqtransformationwithoutphaselockloop.ThisthesisproposesseriesoptimizedmeasuresonthebaseoftheoreticalandexperimentalanalysisoftraditionalCORDIC.Realizessine、cosinealgorithmwithVHSICHardwareDescriptionLanguage(VHDL),andtheequationandtheRTLframearegiven,andpasssimulationandada
4、ption.Usingthesymmetryoftrigonometricfunction,thescopeoftheinputangleisextendedtoaintactcircle.Realizessine、cosinealgorithm,Thesimulationresultsindicatethatthealgorithmsimprovescomputingspeedandreducesthesystemhardwareresourcesoccupied.Keywords:sine;cosine;CORDICalgorithm;FPGA;VHDL0引言[1]CORDIC(C
5、oordinateRotationDigitalComputer)算換。CORDIC算法是基于迭代的串行實現(xiàn)方法,將復雜法即坐標旋轉數(shù)字計算方法,被稱為算法中的瑞士軍刀。的三角函數(shù)運算分解為統(tǒng)一的加減、移位操作,極大地從這個稱謂能夠看到CORDIC算法用途極廣,可以近似降低了硬件設計的復雜性。本文在基于傳統(tǒng)的CORDIC計算三角函數(shù)(SIN,COS)、反三角函數(shù)、雙曲函數(shù)、對數(shù)、算法的理論分析和實驗的基礎上,采用超高速集成電路開平方、乘除法,以及直角坐標同極坐標之間的相互轉硬件描述語言VHDL成功地實現(xiàn)了正弦、余弦函數(shù)的運算。60微處理器與可編程器件應用2011.31CORDIC算法以
6、及如下迭代運算:?Xj=K()Xicos?Yisin?()Y=KYcos+Xsin[1]?jii(7)CORDIC算法包含圓周系統(tǒng),線性系統(tǒng),雙曲系式(7)中只含移位、加減法算法,特別適合硬件實統(tǒng)三種旋轉系統(tǒng)。本文采用圓周系統(tǒng),完成平面坐標旋現(xiàn),為硬件快速計算三角函數(shù)提供了一種新的算法。迭轉,如圖1所示,從圖1可以看出將向量(Xi,Yi)旋轉角,代計算時,為了跟蹤已經(jīng)旋轉的角度,還需引入一個新得到新向量(Xj,Yj),根據(jù)坐標變換規(guī)則,兩者有如下關系:n??X????cos??sin??XX1tan??變量,定義為Zn+1=?∑i,表示第i次旋轉后剩余??j==??????iicos(
7、1)??i=0??Yj????sincos??YYiitan1??未旋轉角度。2正弦余弦函數(shù)的FPGA實現(xiàn)使用CORDIC算法的旋轉模式,Z為初始化需要旋轉的角,當Z經(jīng)過逐次迭代旋轉變?yōu)?時,正弦和余弦[6-7]可以按如下CORDIC算法計算:(8)11其中,Xi==≈.060725Yi=0,。Zi=P.16467圖1平面坐標旋轉原理圖編程對應計算:將旋轉角分解為N個遞減的小旋轉角之和,即iN?1=,其中≥0,順時針旋轉時=-l,逆∑iii??