基于FPGA的IJF數(shù)字基帶編碼的實現(xiàn)
1 引言
20世紀80年代初,加拿大渥太華大學的費赫教授(K.Feher)領(lǐng)導(dǎo)的科研小組發(fā)明了IJF-OQPSK調(diào)制技術(shù)。IJF-OQPSK中文名稱叫做無碼間干擾和抖動-交錯正交相移鍵控。他是現(xiàn)代數(shù)字恒包絡(luò)調(diào)制技術(shù)中新型的調(diào)制技術(shù)之一。
進行這種調(diào)制時,首先要對數(shù)字基帶信號進行IJF編碼,將其變換成一種無碼間干擾和抖動、頻譜主瓣窄、具有快速滾降的基帶波形,然后再用OQPSK調(diào)制。這樣,調(diào)制后的基帶信號就具有了以下特點:以調(diào)波的相位平滑連續(xù),而且每個號碼內(nèi)的相位變化不會超過π/2,以調(diào)波的包絡(luò)近于恒包絡(luò),頻譜主瓣窄,高頻滾降快,帶外能量低。
2 IJF編碼原理
在數(shù)字傳輸系統(tǒng)中,與誤碼率有直接關(guān)系的是接收信號在取樣點上的值與理想值的偏差。若排除噪聲的影響,則誤差主要來源于傳輸過程中的碼間干擾和取樣點的定時抖動。在實際工程系統(tǒng)中,用奈奎斯特脈沖代表隨機二進制數(shù)據(jù),他的主瓣占2b寬度。由于奈奎斯特脈沖拖尾的存在,使得合成波形的過零點向左或右偏移,產(chǎn)生定時抖動。另外,拖尾還會造成波形的幅度起伏,使誤碼率提高。IJF編碼的特點是采用一種新的基帶成形脈沖--時限雙碼元間隔脈沖,因其不存在振蕩尾巴,從而消除了碼間干擾和定時抖動。
2.1 IJF編碼波形--時限雙碼元間隔升余弦脈沖
雙碼元間隔升余弦脈沖,當滾降系數(shù)a=1時,其表達式為:
其他特性如下:
- 脈沖邊緣處,即t=±Ts,其值為零。
- t=±Ts/2處,脈沖幅度為峰值的一半;
- 在t=0處,為脈沖峰值。
如果采用雙碼元間隔升余弦脈沖代表隨機二進制序列中的“1”和“0”,且當前脈沖總是在前一個脈沖的中點開始,可以證明由此得到的代表隨機二進制序列的波形,其頻譜特性和單個雙碼元間隔升余弦脈沖的特性一樣。
分析雙碼元間隔升余弦脈沖可知,S(t)為一偶函數(shù),且滿足如下2個條件:
以上條件保證了由雙碼元間隔升余弦脈沖同步疊加厚的隨機波形為一連續(xù)信號,即S(t)和S(t-Ts)之和,在一個碼元間隔內(nèi)任何時刻均為1;而他們之差為一偶函數(shù)。由于雙碼元間隔脈沖在t≥±Ts時,其值為零,因而不存在碼間干擾;t=Ts/2時,幅值為峰值的一半,表示數(shù)字1和0的正負脈沖同步疊加后,合成波在Ts/2處總為零。因此過零點固定,也不會產(chǎn)生定時抖動。
2.2 IJF非線性濾波器編碼方法
實現(xiàn)IJF編碼方法有脈沖疊加法,橫向濾波器法和非線性濾波器法等幾種。非線性濾波器法實質(zhì)上是一種分段合成IJF波形的方法。
單碼元間隔偶脈沖和奇脈沖,根據(jù)式(2)可導(dǎo)出:
式(6),(7)表達了無符號間抖動和碼間干擾的條件。根據(jù)隨機二進制數(shù)據(jù)相鄰位(bit)的變化,利用式(3),(4)定義的單間隔脈沖,可導(dǎo)出構(gòu)成IJF編碼的4個基本波形函數(shù)S1-S4:
式中xn為當前比特,xn-1為前一比特。
設(shè)輸入的數(shù)據(jù)(NRZ)信號為:
他是隨輸入數(shù)據(jù)變化的隨機序列,其波形可視為4個基本波形的組合,即:
由此可得出非線性轉(zhuǎn)換濾波器IJF編碼信號形成的方案,如圖1所示。
3 IJF編碼的FPGA實現(xiàn)
首先給出一個IJF-OQPSK調(diào)制器的組成原理框圖如圖2所示。其中的串并變換、延時、差分編碼和IJF編碼采用XILINX公司的FPGA器件SPARTANII XC2S200來實現(xiàn)。I,Q兩支路經(jīng)IJF編碼成形的數(shù)據(jù)通過數(shù)/模轉(zhuǎn)換器AD9765轉(zhuǎn)換為模擬幅值送入正交調(diào)制器AD6122后得到70MHz中頻的IJF-OQPSK調(diào)制信號。
有上述的分析可以看出,IJF-OQPSK調(diào)制的關(guān)鍵在于IJF編碼。下面重點討論IJF編碼的FPGA實現(xiàn)方法。
由式(9)和圖1可看出,IJF編碼的過程就是根據(jù)前后碼元的組合關(guān)系去波形系數(shù)表中查表,以一定的采樣時鐘取得相應(yīng)的波形系數(shù)從而實現(xiàn)波形成形。因此首先需要建立波形系數(shù)表。假設(shè)原始輸入數(shù)據(jù)信息速率為2Mb/s,經(jīng)過串并轉(zhuǎn)換后I,Q支路碼速率為1Mb/s,若以50MHz的時鐘采樣,則每個碼元需要50個波形采樣數(shù)據(jù),理論上有4種基本波形,需要存儲200個波形數(shù)據(jù),但S1(t)=+1,S2(t)=-1是 固定值,不需要存儲單元,只需對進行存儲即可,共需要100個存儲單元,由于FPGA后端的數(shù)/模轉(zhuǎn)換器AD9765為12位,因此存儲單元中的地址線寬度為7位,數(shù)據(jù)線寬度為12位。這里采用XILINX的COREGenerator提供的IP核Single Prot Block Memory來構(gòu)建ROM用于存儲波形系數(shù)。此IP核的一些主要特點是:
- 支持Virtex,VirtexII,SpartanII,SpartanIIE等系列的FPGA;
- 可以被配置為ROM或者單口RAM;
- 支持的數(shù)據(jù)寬度是1-256b;
- 數(shù)據(jù)深度支持2-1M個數(shù)據(jù)。
關(guān)于IP核的生成與使用方法可以參考文獻[1]。生成的ROM還需向其中添加coe文件,即波形系數(shù)表,其文件格式如下:
其中關(guān)鍵字MEMORY_INITIALIZATION_RADIX說明了ROM數(shù)據(jù)的進制(2,10,16可選)。GLOBAL_IN1T_VALUE定義了全局初始值。MEMORY_INITALIZATION_VECTOR即定義了IJE編碼的波形系數(shù)表。其中前50個系數(shù)對應(yīng)著,后50個系數(shù)對應(yīng)著。最終生成的波形系數(shù)ROM如圖3所示。此方法生成的ROM將使用FPGA提供的BLOCK RAM,而不會占用distribute RAM,從而節(jié)省了寶貴的可編程資源。
4 結(jié)語
圖4顯示了IJF-OQPSP與OQPSK基帶編碼和調(diào)制信號頻譜的比較。從圖4可以看出,采用時限雙碼元間隔升余弦脈沖波形進行的IJF編碼,在時域具有光滑連續(xù)的優(yōu)點,而且非常適宜于數(shù)字實現(xiàn)。已經(jīng)證明雙碼元間隔升余弦脈沖波形是時域分布長度有限的最佳波形[2],可以做到理論上的無碼間干擾和相位抖動。IJF編碼后使得信號的相位路徑變得連續(xù)、平緩,從而在很大程度上改善了信號的譜性能。由圖4可以看到IJF-OQPSK調(diào)制信號的功率譜性能明顯好于QPSK的功率譜,不僅衰減速度快,而且主瓣寬度與QPSK保持一樣的情況下旁瓣寬度壓縮為QPSK信號旁瓣寬的一半。通過對其功率譜的分析比較可以看出,IJF-OQPSK調(diào)制體制在頻譜資源愈顯緊張的形勢下,具有較大的應(yīng)用潛力。
本方案采用FPGA和集成器件來實現(xiàn)IJF編碼和IJF-OQPSK調(diào)制具有高度集成化、配置靈活、性能穩(wěn)定、易于實現(xiàn)的特點,由于IJF編碼有很多性能更好的變形,只需在此基礎(chǔ)修改ROM中的波形系數(shù)即可進一步實現(xiàn)多種IJF編碼方案。