新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CORDIC 2FSK調(diào)制器的FPGA設(shè)計

基于CORDIC 2FSK調(diào)制器的FPGA設(shè)計

作者: 時間:2011-06-03 來源:網(wǎng)絡(luò) 收藏

摘要:頻移鍵控(FSK)是用不同頻率的載波來傳遞數(shù)字信號,并用數(shù)字基帶信號控制載波信號的頻率。提出一種基于流水線算法的實現(xiàn)方案,可有效地節(jié)省的硬件資源,提高運(yùn)算速度。最后,給出該方案的硬件測試結(jié)果,驗證了設(shè)計的正確性。

0 引言

頻移鍵控(FSK)是用不同頻率的載波來傳送數(shù)字信號,并用數(shù)字基帶信號控制載波信號的頻率。具有抗噪聲性能好、傳輸距離遠(yuǎn)、誤碼率低等優(yōu)點。在中低速數(shù)據(jù)傳輸中,特別是在衰落信道中傳輸數(shù)據(jù)時,有著廣泛的應(yīng)用。傳統(tǒng)上以硬件實現(xiàn)載波的方法都是采用直接頻率合成器(DDS)實現(xiàn)。但是DDS傳統(tǒng)的實現(xiàn)方式是基于查找表思想,即通過查找預(yù)先存儲的正余弦表來產(chǎn)生需要的正余弦值。當(dāng)頻率、精度要求越高,需要存儲的值也就越多,考慮的RAM資源有限,傳統(tǒng)的DDS實現(xiàn)方式就有了應(yīng)用瓶頸。因此導(dǎo)致開發(fā)成本過高,甚至無法實現(xiàn),不適合現(xiàn)代通信系統(tǒng)的發(fā)展。

本文提出了應(yīng)用(Coordinate Rotation Digital Computer)算法實時計算正弦值的方案,并基于算法在FPGA芯片上設(shè)計了。這不僅能夠節(jié)省大量的FPGA邏輯資源,而且能很好地兼顧速度、精度、簡單、高效等方面。

1 CORDIC算法原理及結(jié)構(gòu)

1.1 CORDIC算法原理

CORDIC算法是由J.Volder于1959年提出的。該算法適用于解決一些三角學(xué)的問題,如平面坐標(biāo)的旋轉(zhuǎn)和直角坐標(biāo)到極坐標(biāo)的轉(zhuǎn)換等。C-ORDIC算法的基本思想是通過一系列固定的、與運(yùn)算基數(shù)有關(guān)的角度的不斷偏擺以逼近所需的旋轉(zhuǎn)角度。從廣義上講,CORDIC方法就是一種數(shù)值計算的逼近方法。該算法實現(xiàn)三角函數(shù)的基本原理如圖1所示。

基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計

設(shè)初始向量(x0,y0)逆時針旋轉(zhuǎn)角度θ后得到向量(xn,yn),如圖1所示。則:

基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計

為了避免復(fù)雜的乘法運(yùn)算,用一系列微旋轉(zhuǎn)來處理,第i次旋轉(zhuǎn)可表示為:

基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計

式中:θi表示第i次旋轉(zhuǎn)的角度,并且滿足tanθi=2-i;zi表示第i次旋轉(zhuǎn)后與目標(biāo)角度的差;δi表示 向量的旋轉(zhuǎn)方向,由zi的符號位來決定,即δi=sign zi。基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計為每一級的校正因子,也就是每一級旋轉(zhuǎn)時向量模長發(fā)生的變化,對于字長一定的運(yùn)算,總的校正因子是一個常數(shù)。若總的旋轉(zhuǎn)次數(shù)為n,則總校正因子用k表示為:

基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計

由式(7)可知:xn,yn分別為輸入角θ的余弦和正弦值,故基于CORDIC算法可產(chǎn)生正弦載波信號,而且由式(5)可以看出所有運(yùn)算簡化成加減法和移位操作,因此很容易用硬件實現(xiàn)。

fpga相關(guān)文章:fpga是什么



上一頁 1 2 下一頁

關(guān)鍵詞: CORDIC FPGA 2FSK調(diào)制器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉