荊黎明
(河海大學計算機與信息學院,江蘇南京211100)
基于CORDIC算法的改進的平方環設計
荊黎明
(河海大學計算機與信息學院,江蘇南京211100)
在數字通信中,載波恢復電路是非常重要的電路環節,而其中的平方環變換以其電路的簡單受到了廣泛的使用。為了進一步簡化該電路結構,提出了一種改進的平方環電路,這種改進的平方環省去了2分頻電路,同時在文章中作者進一步改進了這個電路,將其中的多個乘法器用CORDIC算法來實現,該算法僅使用移位運算與加法器,便于流水線結構實現,降低了電路的復雜特性。最后,將該改進的電路聯合ISE14.7和Modelsim10.1a進行仿真,恢復出了輸入信噪比分別為6 dB和80 dB下的載波信號,驗證了該電路的可行性。
載波提??;NCO;CORDIC算法;ISE;Modelsim
在電臺互相通信時,要正確地接收對方的信息,接收方必須從接收信號中恢復出載波信號,使雙方載波的頻率、相位一致,這就是所謂的載波同步[1]。而載波同步的方法中,我們比較常用的是直接從接收到的信號中提取,也就是載波提取電路,比較常用的有平方變換法和科斯塔斯鎖相環,而平方變換法以其電路結構的簡單而得到了廣泛的使用。
在傳統的平方環電路中,在環路鎖定過程中,從NCO輸出的信號是兩倍的載頻,需要經過一個二分頻電路才能提取到載頻信號。但是二分頻電路在實現過程中,特別是對NCO進行數字分頻時,電路很復雜,用FPGA實現時會消耗許多資源[2]。同時,電路中由于使用了較多的乘法器,也會消耗很多資源。
因此本文中提出了一種基于CORDIC算法的改進的平方環電路,既避免了二分頻電路,同時又優化了乘法器的結構,可以實現從輸入BPSK信號中提取載波的功能,結構簡單,并且對其進行了仿真,驗證了其可行性、運行速度快和易于實現的優點。
1.1鎖相環的工作原理
鎖相環是一個相位的負反饋控制系統,雖然有各種形式的環路模型,但是最基本的還是由鑒相器(PD)、環路濾波器(LF)和電壓控制振蕩器(VCO)3個基本部件組成[3]。鑒相器是一個相位比較裝置,用來檢測輸入信號相位和反饋信號相位之間的相位差,通??捎贸朔ㄆ骱偷屯V波器的串接作為模型。而環路濾波器具有低通特性,它一方面可以起到低通濾波器的特性,更重要的是它對環路參數調整起著決定性的作用。壓控振蕩器是一個電壓-頻率變換裝置,在環路中作為被控振蕩器,它的振蕩頻率應隨著輸入控制電壓線性地變化。如圖1是鎖相環的基本組成原理圖。

圖1 鎖相環的基本組成
其中鑒相器是能夠進行相位跟蹤的關鍵部件,假設乘法器的相乘系數為Km(單位為1/V),輸入信號ui(t)與反饋信號uo(t)相乘后的輸出為:

乘法器輸出結果經過低通濾波器濾除頻率為2wo的高頻分量之后,得到誤差電壓為:

這就是鑒相器的其中一種最常用的電路模型。然后由這個誤差電壓Ud(t)經過環路濾波器,得到控制電壓uc(t),由這個控制電壓加到壓控振蕩器上使其產生頻率偏移,從而跟蹤輸入信號頻率wi(t)。若輸入wi為固定頻率,在uc(t)的作用下,壓控振蕩器的固有瞬時角頻率wv(t)向wi靠攏,一旦到達兩者相等時,在一定條件下,環路就可以穩定下來,穩定之后,壓控振蕩器振蕩頻率和輸入信號頻率相同,且維持一定的穩態相差,這就是鎖相環的捕獲和跟蹤過程。
1.2平方變換法的原理
平方環是直接提取載波技術中受到廣泛使用的一種電路。在調制信號過程中,為了節約傳輸信號功率,我們大多采用抑制載波的技術。但是這種抑制載波的技術的接收信號中沒有直接的載波頻率分量,不能進行直接的載波同步。但是信號中顯然含有載頻信息,只要經過非線性變換即可產生載波的倍頻分量。例如,最典型的BPSK信號[4]。

式中,m(t)為不含有直流分量的調制信號,對于BPSK來講,m(t)=±1,wc為載波頻率。顯然,已調信號s(t)中不含有載頻wc的頻譜分量。如果我們對接收到的信號進行平方變換,則可以得到:

從式(5)中可以看出,經過平方變換后的接收信號中,包含了兩倍頻的載波頻率分量。因此,我們可以采用普通鎖相環路對兩倍頻的載波分量進行提取,而后通過二分頻就可以得到我們所需要的相干載波信號,這種抑制載波信號提取的方法就成為平方環變換法。圖2為平方環提取載波的原理框圖。

圖2 平方環提取載波原理圖
CORDIC算法是用于計算廣義矢量旋轉的一種迭代運算,是J.D.Volder于1959年提出的,主要用于三角函數、雙曲函數、指數和對數的運算。該算法使得矢量的旋轉和定位運算不需要三角函數表及乘法、開方、反三角函數等復雜的運算,僅需要進行加減和移位即可。文獻[5-6]采用CORDIC法可實現常用函數的計算,其中包括了乘法器的實現,而文獻[7]中提出了對這種乘法器的進一步改進。
定義三參數的序列迭代集[5-6]{(xk,yk,zk)},當k≥0時,CORDIC迭代方程為:

式(6)中,εk,m的取值取決于所計算的函數。
當m=0時,可以實現乘、除運算,此時,CORDIC算法的迭代方程為:

我們進行若干次迭代后,zk+1→0,有:

因此,對于這種CORDIC算法提出的一種改進方法是[7]:當時≥2,取,并用之同時對x0,z0做歸一化處理,即:,再按CORDIC算法計算x與z的乘積,之后,最終的乘積結果再進行一次反操作,即A=z×。
文中提出了一種基于CORDIC算法的改進的平方環設計,既避免了傳統平方環設計中復雜的二分頻電路,同時將電路中的多個乘法器用CORDIC算法來實現,大大降低了電路的復雜特性,同時降低了載波同步的捕獲時間。改進的平方環原理圖如圖3所示。

圖3 改進的平方環原理圖
利用DDS產生的NCO數控振蕩器能夠輸出完全正交的正余弦信號,我們利用三角函數關系式sin(2wct+2△φ)=2sin(wc+△φ)cos(wc+△φ),可以將NCO中產生的信號直接作為要提取的載波信號wc,同時將NCO中產生的正余弦信號相乘,就可以實現增益兩倍的目的,然后將這個兩倍頻信號反饋到鑒相器中,就可以實現載波的提取,因此,用一個乘法器就可以代替復雜的二分頻電路。
同時,從原理圖中我們可以看出,平方變換,鑒相器和NCO產生信號的擴頻各需要一個乘法器。傳統的乘法器多采用改進的Booth算法產生部分積,用Wallace樹形加法器完成對部分積的求和,但是Wallace樹形加法器隨部分積項的增多,電路互聯變得較為復雜,因而采用上述CORDIC算法來實現乘法器。
在硬件實現過程中,FPGA芯片選用的是XILINX公司的SPARTAN6系列中的XC6SLX16芯片,并且聯合ISE 14.7和Modelsim 10.1a進行了仿真,將仿真結果在Matlab中進行比較,驗證其可行性。圖4是改進的平方環頂層RTL原理圖。

圖4 改進的平方環RTL原理圖
仿真輸入:發送端為4 MHz的原始碼速率,接收端處理后為70 MHz的載波中頻信號,且中頻采樣位數為8位,調制方式采用DPSK調制。分別設置輸入信噪比為80 dB和6 dB,得到NCO的輸入頻差信號和從NCO中輸出的載頻信號,并將載頻信號和輸入端的載頻信號相比較,在Matlab中實現如圖5、圖6所示。
從圖5和圖6中可以看出,即使信噪比為滿足鎖相環的最低要求的6 dB時,本設計仍然能夠正常捕獲載頻信號并且最終鎖定,驗證了本設計的可行性。從仿真圖中,我們可以看出,信噪比越高,捕獲時間越短,并且鎖定后NCO的輸入頻差信號的波動值越小。同時,我們注意到NCO的輸出信號和要提取的載波信號始終保持了一個穩定的相位差,這是因為在改進的平方環電路中,輸入信號經過了一系列的乘法器以及濾波器處理,這些處理都有著一定的延時,延時就導致了一定的相位差,但這個延時是可以計算出來的。因此,在最終的解調過程中,將輸出信號進行一定的延時處理,就可以提取到與輸入信號同頻同相的載波信號。

圖5 信噪比為80 dB的仿真分析圖

圖6 信噪比為6dB的仿真分析圖
該平方環提取載波電路避免了對鎖相環中本振信號的二分頻處理電路,同時將復雜的乘法器用CORDIC算法來實現,運行速度快,并且大大地節約了硬件資源。在成本不高的運行環境中,該平方環電路以其電路結構簡單,成本低的優點,可以得到廣泛的使用。
[1]樊昌信,曹麗娜.通信原理[M].北京:國防工業出版社,2010.
[2]呂鑫宇,姚遠程,譚清怡,等.基于直接提取載波技術的平方環設計[J].現代電子技術,2010(1):189-192.
[3]楊勇.數字通信同步技術的MATLAB與FPGA實現[M].北京:電子工業出版社,2013.
[4]陳聯連,孫玲.兩種抑制載波雙邊帶信號的載波提取方法比較[J].南通大學學報:自然科學版,2011,10(1):10-15.
[5]Volder JE.The CORDIC trigonometric computing technique[J].IRE Transactions on electronics Computers,1959,8(3):330-334.
[6]Walther J.A unified algorithm for elmentary functions[J].Joint Computer Conference Proceedings,1971,38(4):379-385.
[7]高順先,梁芳,周宏安.基于CORDIC算法的乘法器的VLSI實現[J].陜西理工學院學報:自然科學版,2010,26(2):18-21.
Design of modified squaring loop based on CORDIC algorithm
JING Li-ming
(College of Computer and Information,Hohai University,Nanjing 211100,China)
Carrier recovery is a very important part of the circuit in digital communication,and the squaring loop has been widely used for its simple circuit structure.To simplify the structure of the circuit further,a modified squaring loop circuit was proposed,which eliminates the need for two devided-frequency circuit.At the same time,we improve the circuit further by using CORDIC algorithm to realize a plurality of multipliers in this paper.The algorithm can be easily realized by pipelined architecture,and can reduce the complexity characteristic of the circuit,as this algorithm uses merely shift mathematical operation and adder.At the end,we unites ISE 14.7 with Modelsim 10.1a to go with the simulation of the modified circuit.Then we get the carrier signal of input SNR 6dB and 80 dB,respectively,which turns out to be feasible.
carrier extraction;NCO;CORDIC algorithm;ISE;Modelsim
TN911.8
A
1674-6236(2016)17-0093-03
2015-09-18稿件編號:201509134
荊黎明(1993—),男,河南焦作人,碩士研究生。研究方向:探測與對抗技術。