王正磊,周新力,宋斌斌
(海軍航空工程學院電子信息工程系,山東煙臺264001)
通信數(shù)據(jù)鏈中廣泛采用的一種信號形式為二進制最小頻移鍵控(MSK)信號,主要原因是其調(diào)制后的信號具有功率頻譜密度高、頻譜利用率高、旁瓣較小和誤碼率較低[1-2]等優(yōu)點,非常適合應用于頻帶受限的戰(zhàn)場環(huán)境中,因此MSK解調(diào)系統(tǒng)的設計與實現(xiàn)是數(shù)據(jù)鏈自動測試技術(shù)中的重要部分。盡管MSK信號是一種特殊的2FSK信號,但由于調(diào)制指數(shù)小,所以使用普通的FSK解調(diào)方法效果較差,而最佳相干解調(diào)方法在工程上又難以實現(xiàn)[3],因此需要根據(jù)MSK信號特性尋找更有效地解調(diào)方案。
現(xiàn)場可編程門陣列(FPGA)是一種集成度很高的專用集成電路,具有靜態(tài)可重復編程和動態(tài)在線系統(tǒng)重構(gòu)的特性[4-5]。FPGA在設計和編程方面的靈活性很強,并且可以在不改變硬件電路的條件下隨時修改設計,便于進行系統(tǒng)升級和維護,這些特性對構(gòu)建和改進信號解調(diào)系統(tǒng)是有利的。
文中在分析MSK信號特性的基礎(chǔ)上,設計了一種基于改進平方環(huán)的MSK相干解調(diào)系統(tǒng)并對其進行了FPGA實現(xiàn)。
MSK信號是二進制頻移鍵控(2FSK)信號的一種改進形式。FSK分為非連續(xù)相位FSK和連續(xù)相位FSK,兩者之間的區(qū)分特征為碼元轉(zhuǎn)換時刻的載波相位是否連續(xù)。MSK則是一種相位連續(xù)、包絡恒定、帶寬最小并且嚴格正交的2FSK信號[6],具有較好的抗干擾性能和誤碼率性能,信號表示式為:

式中,ωc是載波角頻率,ak是第k個碼元中的數(shù)據(jù)(輸入碼元為“1”和“0”時,ak分別取+1和-1),Tb是碼元寬度且有kTb≤t(k+1)Tb,?k是第k個碼元中的相位常數(shù)。
平方環(huán)是一種針對MSK信號特性而設計的相位負反饋控制系統(tǒng),它是在鎖相環(huán)(PLL)的基礎(chǔ)上建立起來的,主要區(qū)別是在鎖相環(huán)之前增加了平方變換和帶通濾波器,并在鎖相環(huán)之后增加了二分頻器,對鎖相環(huán)輸出的信號進行分頻處理。平方環(huán)的工作原理如圖1所示。

圖1 平方環(huán)工作原理圖
MSK信號經(jīng)過平方變換后,調(diào)制指數(shù)從0.5變?yōu)?,用鎖相環(huán)可分別提取出二倍頻的分量[7],即二倍傳號頻率2f1的分量和二倍空號頻率2f0的分量,再經(jīng)過二分頻就可以得到所需的相干載波信號。
鑒相器(PD)由乘法器和低通濾波器組成,可以對輸入信號和本振信號的相位進行比較[8],鑒相器的工作原理如圖2所示。
鑒相器的輸入信號可表示為:

式中,ω1為輸入角頻率,θ1(t)為輸入相位。
數(shù)控振蕩器輸出的本振信號可表示為:

式中,ω2為本振角頻率,穩(wěn)態(tài)情況下有ω1=ω2,θ2(t)為本振相位。
設乘法器的增益系數(shù)為C,則輸入信號與本振信號相乘后得到:

該信號經(jīng)過低通濾波器可以濾除其中2ω1的高頻分量,得到誤差信號:

由式(5)可知鑒相器輸出的誤差信號是相位差的函數(shù)。

圖2 鑒相器工作原理圖
環(huán)路濾波器(LF)對整個鎖相環(huán)能否有效運行起決定性作用,在平方環(huán)工程實現(xiàn)中最常用的為二階環(huán)路濾波器[9-10],二階環(huán)路濾波器的工作原理如圖3所示。

圖3 二階環(huán)路濾波器工作原理圖
二階環(huán)路濾波器的系統(tǒng)函數(shù)為:

由式(6)可知設計二階環(huán)路濾波器的關(guān)鍵在于確定C1和C2的取值。
數(shù)控振蕩器(NCO)的工作原理是在時鐘信號的驅(qū)動下讀取三角函數(shù)表,用于生成頻率和相位可控的正、余弦信號,在數(shù)字域相當于一個相位累加器[11-12],數(shù)控振蕩器的工作原理如圖4所示。
定義數(shù)控振蕩器相位控制增益為:


圖4 數(shù)控振蕩器工作原理圖
式中,fs為采樣頻率,N為相位累加字長,Tdds為相位累加字更新周期。
數(shù)控振蕩器輸出相位θ2(t)與控制電壓uc(t)之間的關(guān)系可表示為:

根據(jù)前面對鎖相環(huán)路各部件工作原理和數(shù)字模型的分析,可以得到整個鎖相環(huán)路的相位模型如圖5所示。

圖5 鎖相環(huán)路相位模型圖
根據(jù)相位模型可以推導出鎖相環(huán)路的系統(tǒng)函數(shù)H(z),通過將模擬鎖相環(huán)路的系統(tǒng)函數(shù)進行雙線性變換可以得到數(shù)字域的系統(tǒng)函數(shù)H'(z),根據(jù)H(z)=H'(z)可以求得環(huán)路濾波器中C1和C2的計算公式分別為:

式中,ωn是環(huán)路的自然角頻率,ξ是環(huán)路的阻尼系數(shù),K=UdK0'是環(huán)路的總增益。
傳統(tǒng)的NCO采用查表法產(chǎn)生正、余弦信號,在對輸出精度要求較高的情況下,需要占用大量的硬件存儲資源,并且輸出速度受到芯片RAM讀取速度的制約[13]。CORDIC算法可以將正、余弦的計算分解為一系列的加減和移位運算,算法結(jié)構(gòu)更加簡單[14],適合硬件實現(xiàn),同時占用更少的硬件存儲資源。
在正、余弦的計算過程中,CORDIC算法通過一系列固定的、與運算基數(shù)相關(guān)的角度不斷偏擺以逼近預定的旋轉(zhuǎn)角度[15],旋轉(zhuǎn)模式下的CORDIC算法原理如圖6所示。

圖6 旋轉(zhuǎn)模式CORDIC算法原理圖
在圖6所示坐標系中,向量A→(xi,yi)與向量B→(xi+1,yi+1)的坐標之間可建立如下關(guān)系式:

式(11)經(jīng)過變換得到:

設每次旋轉(zhuǎn)的角度為θi=arctan2-i,總共旋轉(zhuǎn)n次,則總的旋轉(zhuǎn)角度為:

式中,ai=+1時表示沿逆時針方向旋轉(zhuǎn),ai=-1時表示沿順時針方向旋轉(zhuǎn)。
定義zi為已旋轉(zhuǎn)角度和目標角度之間的偏差,用于確定下次旋轉(zhuǎn)方向,則式(12)可變換為:

若初始輸入數(shù)據(jù)x0=K,y0=0,z0=θ,則經(jīng)過n次迭代得到xn=cosθ,yn=sinθ,zn→0,由此可以簡單地求出旋轉(zhuǎn)角度的正、余弦值。
將CORDIC算法應用于NCO可以極大地減少硬件資源占用并提高輸出速度,基于CORDIC算法的NCO的工作原理如圖7所示。

圖7 基于CORDIC算法的NCO工作原理圖
其中的四分圓映射器是利用了正、余弦函數(shù)關(guān)于象限對稱的特性,通過z值的高兩位確定所在象限[16]。由正、余弦函數(shù)的性質(zhì)可知,正、余弦函數(shù)在同一象限內(nèi)還關(guān)于象限角平分線對稱,因此可以將圓周進一步劃分為八個區(qū)域,構(gòu)建八分圓映射器,使用z值的高三位確定所在區(qū)域。
根據(jù)文獻[17]提出了一種免除二分頻器的改進平方環(huán)方案,其工作原理如圖8所示。

圖8 改進平方環(huán)工作原理圖
改進平方環(huán)是利用NCO可以同時生成兩路相互正交的正、余弦信號,相乘后產(chǎn)生二倍頻的分量,與鑒相器的輸入信號進行鑒相處理后,就可以鎖定載波頻率fc,此時NCO輸出的正弦信號就是所需的相干載波信號,盡管改進平方環(huán)增加了一級乘法器,但是可以免除硬件電路更加復雜的二分頻器,更有利于工程實現(xiàn)。
文中選用Altera公司的Cyclone IV系列中的EP4CE15F17C8芯片,采用Quartus II[18]和ModelSim軟件進行聯(lián)合仿真,設定的初始條件:信號調(diào)制方式為MSK;碼元速率為1 Mb/s;載波頻率為3 MHz。
輸入MSK信號時環(huán)路濾波器的收斂情況和平方環(huán)的解調(diào)情況如圖9、圖10所示。

圖9 輸入MSK信號時環(huán)路濾波器收斂情況圖
圖9中,可以看出輸入MSK信號[19]時波形能夠快速收斂,但收斂后波動較大,這是由于MSK信號相當于單載波信號與噪聲信號的疊加,輸入信噪比相對較小。

圖10 輸入MSK信號時平方環(huán)解調(diào)情況圖
圖10中,data為原始信號,din為經(jīng)過MSK調(diào)制后的輸入信號,dout為經(jīng)過平方環(huán)解調(diào)后的輸出信號,對比data和dout信號可知,這兩個信號的數(shù)據(jù)值完全相同,但存在固定的相位差,證明設計的平方環(huán)解調(diào)電路能夠正確解調(diào)MSK信號,這個相位差是由數(shù)據(jù)讀取和處理過程中的延時造成的。
本文由淺入深地介紹了MSK平方環(huán)解調(diào)原理,重點對平方環(huán)的設計和實現(xiàn)過程加以分析,提出了一種基于改進平方環(huán)的MSK解調(diào)方法,最后通過Quartus II和ModelSim軟件進行聯(lián)合仿真,證明了設計的合理性,為數(shù)據(jù)鏈監(jiān)測設備的硬件改進提供了一種新思路。
[1]謝麗君,譚立志.基于FPGA的MSK調(diào)制器設計與實現(xiàn)[J].電子設計工程,2012,20(6):16-18.
[2]江海,蔣宇中,徐雙全,等.基于FPGA的MSK調(diào)制器設計與實現(xiàn)[J].艦船電子工程,2012,32(3):53-55.
[3]胡敏.MSK數(shù)字化調(diào)制解調(diào)技術(shù)研究[D].長沙:國防科學技術(shù)大學,2013.
[4]高亞軍.基于FPGA的數(shù)字信號處理[M].北京:電子工業(yè)出版社,2015.
[5]溫海洋.基于FPGA的MSK調(diào)制解調(diào)器的研制[D].哈爾濱:黑龍江大學,2013.
[6]樊昌信,曹麗娜.通信原理[M].北京:國防工業(yè)出版社,2012.
[7]杜勇.數(shù)字調(diào)制解調(diào)技術(shù)的MATLAB與FPGA實現(xiàn)[M].北京:電子工業(yè)出版社,2015.
[8]劉穎.鎖相環(huán)中鑒相器和環(huán)路濾波器的設計[D].西安:西安電子科技大學,2013.
[9]陳曉龍,朱靈,王家禮.相位噪聲測量中環(huán)路濾波器研究與實現(xiàn)[J].電子測量與儀器學報,2012,26(11):933-937.
[10]杜勇.數(shù)字濾波器的MATLAB與FPGA實現(xiàn)[M].北京:電子工業(yè)出版社,2015.
[11]羅寧,陳原聰,趙野.應用于全數(shù)字鎖相環(huán)的高性能數(shù)控振蕩器設計[J].微電子學與計算機,2015,32(12):59-62.
[12]韓暉翔,俞思辰,閔昊.全數(shù)字鎖相環(huán)中寬帶數(shù)控振蕩器設計[J].復旦學報,2013,52(4):505-511.
[13]劉春雅,馮向莉.基于改進cordic算法的數(shù)控振蕩器及其FPGA實現(xiàn)[J].自動化與儀器儀表,2015,35(8):131-133.
[14]胡普華,趙建龍,羅炬鋒,等.高速低功耗CORDIC算法的研究與實現(xiàn)[J].電子設計工程,2016,24(24):144-147.
[15]景標,邢維巍,張燕琴.基于CORDIC算法的正交信號源實現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(7):57-59.
[16]彭奇,習友寶.基于FPGA和改進CORDIC算法的NCO設計與實現(xiàn)[J].微型機與應用,2013,32(5):60-62.
[17]荊黎明.基于CORDIC算法的改進的平方環(huán)設計[J].電子設計工程,2016,24(17):93-95.
[18]陳彥麗,郭明安,羅通頂,等.快前沿程控高壓脈沖信號發(fā)生器研制[J].現(xiàn)代應用物理,2016,7(4):73-76.
[19]郜憲錦.基于小波變換的MSK信號碼速率盲估計[J].電子科技,2015,28(1):140.