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