數(shù)字頻率信號校正的FPGA實(shí)現(xiàn)
0 引言
在無線電接收機(jī)系統(tǒng)中,由于會受到發(fā)射機(jī)運(yùn)動、接收機(jī)運(yùn)動和標(biāo)準(zhǔn)頻率隨時間動態(tài)變化等因素的影響,其接收機(jī)接收信號往往會發(fā)生頻率偏移,因而需要進(jìn)行頻偏校正。在擴(kuò)頻通信系統(tǒng)中,頻偏校正電路能消除中頻偏移對接收機(jī)擴(kuò)頻碼的捕獲以及數(shù)據(jù)解調(diào)性能的影響,從而提高接收機(jī)的性能。
頻偏校正電路中通常需要根據(jù)給定相位產(chǎn)生余弦信號和正弦信號,其中最重要的實(shí)現(xiàn)技術(shù)是CORDIC (Coordinate Rotation Digital Computer,坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī))算法。本文將詳細(xì)分析CORDIC算法的原理及其FPGA實(shí)現(xiàn)方法。
1 CORDIC算法的基本原理
在直角坐標(biāo)系統(tǒng)中,假設(shè)有一向量(x,y),按逆時針方向旋轉(zhuǎn)φ度得到向量(x1,y1),則兩向量的代數(shù)關(guān)系為:
在式(1)中,如果讓旋轉(zhuǎn)的角度φ滿足條件:tanφ=±2-i,則式(1)中的乘法操作就可以轉(zhuǎn)換為移位操作,從而很容易在FPGA中實(shí)現(xiàn)。圖l所示是直角坐標(biāo)下的向量旋轉(zhuǎn)示意圖。若需要旋轉(zhuǎn)的角度為θ,那么就可以通過n次旋轉(zhuǎn)一系列預(yù)定角度αi來完成。
(2)式中,di表示每次旋轉(zhuǎn)的方向?yàn)棣羒。由于每次旋轉(zhuǎn)都為預(yù)定角度值,所以cosαi為常數(shù),而n次旋轉(zhuǎn)中每次迭代的處理可表示為:
評論