基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計(jì)
摘要:頻移鍵控(FSK)是用不同頻率的載波來(lái)傳遞數(shù)字信號(hào),并用數(shù)字基帶信號(hào)控制載波信號(hào)的頻率。提出一種基于流水線CORDIC算法的2FSK調(diào)制器的FPGA實(shí)現(xiàn)方案,可有效地節(jié)省FPGA的硬件資源,提高運(yùn)算速度。最后,給出該方案的硬件測(cè)試結(jié)果,驗(yàn)證了設(shè)計(jì)的正確性。
關(guān)鍵詞:移頻鍵控;調(diào)制器;CORDIC算法;FPGA
0 引言
頻移鍵控(FSK)是用不同頻率的載波來(lái)傳送數(shù)字信號(hào),并用數(shù)字基帶信號(hào)控制載波信號(hào)的頻率。具有抗噪聲性能好、傳輸距離遠(yuǎn)、誤碼率低等優(yōu)點(diǎn)。在中低速數(shù)據(jù)傳輸中,特別是在衰落信道中傳輸數(shù)據(jù)時(shí),有著廣泛的應(yīng)用。傳統(tǒng)上以硬件實(shí)現(xiàn)載波的方法都是采用直接頻率合成器(DDS)實(shí)現(xiàn)。但是DDS傳統(tǒng)的實(shí)現(xiàn)方式是基于查找表思想,即通過(guò)查找預(yù)先存儲(chǔ)的正余弦表來(lái)產(chǎn)生需要的正余弦值。當(dāng)頻率、精度要求越高,需要存儲(chǔ)的值也就越多,考慮FPGA的RAM資源有限,傳統(tǒng)的DDS實(shí)現(xiàn)方式就有了應(yīng)用瓶頸。因此導(dǎo)致開(kāi)發(fā)成本過(guò)高,甚至無(wú)法實(shí)現(xiàn),不適合現(xiàn)代通信系統(tǒng)的發(fā)展。
本文提出了應(yīng)用CORDIC(Coordinate Rotation Digital Computer)算法實(shí)時(shí)計(jì)算正弦值的方案,并基于CORDIC算法在FPGA芯片上設(shè)計(jì)了2FSK調(diào)制器。這不僅能夠節(jié)省大量的FPGA邏輯資源,而且能很好地兼顧速度、精度、簡(jiǎn)單、高效等方面。
1 CORDIC算法原理及結(jié)構(gòu)
1.1 CORDIC算法原理
CORDIC算法是由J.Volder于1959年提出的。該算法適用于解決一些三角學(xué)的問(wèn)題,如平面坐標(biāo)的旋轉(zhuǎn)和直角坐標(biāo)到極坐標(biāo)的轉(zhuǎn)換等。C-ORDIC算法的基本思想是通過(guò)一系列固定的、與運(yùn)算基數(shù)有關(guān)的角度的不斷偏擺以逼近所需的旋轉(zhuǎn)角度。從廣義上講,CORDIC方法就是一種數(shù)值計(jì)算的逼近方法。該算法實(shí)現(xiàn)三角函數(shù)的基本原理如圖1所示。
設(shè)初始向量(x0,y0)逆時(shí)針旋轉(zhuǎn)角度θ后得到向量(xn,yn),如圖1所示。則:
評(píng)論