基于DSP Builder的 軟件無線電調(diào)制器的設(shè)計(jì)與實(shí)現(xiàn)
軟件無線電(software defined radio)是由J.Mitola在1992年提出的一個(gè)概念,它的核心思想是在完全可編程的硬件平臺(tái)上通過注入不同的軟件,實(shí)現(xiàn)對(duì)工作頻段、調(diào)制解調(diào)方式、信道多址方式等無線功能的改變。
調(diào)制解調(diào)技術(shù)在軟件無線電的研究過程中是一個(gè)重要的組成部分。目前對(duì)于軟件無線電調(diào)制技術(shù)的實(shí)現(xiàn)多是采用具有調(diào)制功能的專用芯片(其中應(yīng)用較為廣泛的是AD公司的AD985X系列)[l]或是可編程器件和專用器件相結(jié)合的設(shè)計(jì)方法實(shí)現(xiàn)[2],然而在某些場(chǎng)合,這些調(diào)制方式和控制方式與系統(tǒng)的要求差距很大。因而,完全采用高性能的FPGA器件設(shè)計(jì)出符合自己需要的調(diào)制電路就是一個(gè)很好的解決方法[3],它提供了一個(gè)良好的數(shù)字無線通訊系統(tǒng)驗(yàn)證環(huán)境,可以將多種調(diào)制算法在實(shí)驗(yàn)平臺(tái)上實(shí)現(xiàn),并通過平臺(tái)提供的基本控制系統(tǒng)實(shí)現(xiàn)對(duì)系統(tǒng)的驗(yàn)證仿真,并且用這種軟件化硬件的設(shè)計(jì)方案,可以產(chǎn)生多種模式的數(shù)字調(diào)試方式,具有多功能性、通用性、集成度高、易于升級(jí)等優(yōu)點(diǎn)[4Ⅱ5]。
本文采用了Altera公司推出的FPGA的DSP開發(fā)工具DSP Builder軟件,基于DDS(直接數(shù)字頻率合成)技術(shù)原理,設(shè)計(jì)了一種適合于軟件無線電使用的可控?cái)?shù)字調(diào)制器,可以完成FSK、PSK、ASK等調(diào)制方式,并采用此方法在FPGA芯片上進(jìn)行系統(tǒng)實(shí)現(xiàn)。
2.FSK、PSK、ASK調(diào)制原理
在數(shù)字通信系統(tǒng)中,數(shù)字基帶信號(hào)通常要經(jīng)過數(shù)字編碼然后調(diào)制后再傳輸。常見的調(diào)制方式有頻移鍵控(FSK)、相移鍵控(PSK)、幅移鍵控(ASK)等[6]。
以基帶數(shù)字波形序列來表示{ak},通常二進(jìn)制數(shù)字基帶信號(hào)表示為:
其中,ak為二元碼符號(hào),1或0;g()為單極性不歸0波形,歸一化幅度;Tb為二元序列碼元問隔。
則頻移鍵控(FSK)信號(hào)為:
其中W1為傳號(hào)載頻;W2為空號(hào)載頻;θ1.和θ2分別為傳號(hào)與空號(hào)載波的初相,在[-π,π]均勻分布;w0=(w1+w2)/2為載波頻率;kTb≤t≤(k+1)Tb。
對(duì)于所設(shè)計(jì)的系統(tǒng)采用正交調(diào)制,對(duì)此表現(xiàn)在已調(diào)信號(hào)(傳號(hào)與空號(hào))各自的相關(guān)系數(shù)--正交關(guān)系。FSK和ASK相關(guān)系數(shù)均為ρ12=0,PSK的相關(guān)系數(shù)為ρ12= 一l。一般的,要滿足此條件,應(yīng)考慮到載波頻率fo是碼元頻率Rb=1/Tb整數(shù)倍,即fo=mRb或1bit間隔包括整數(shù)個(gè)載波周期,即Tb=mTo,這是對(duì)以后在DSP Builder中優(yōu)化系統(tǒng)時(shí)的依據(jù)。實(shí)現(xiàn)上述調(diào)制的方法有多種,采用DDS技術(shù)做正交調(diào)制,能夠克服解調(diào)輸出的嚴(yán)重失真,提高抗噪聲性能。
3.DDS的基本原理
直接數(shù)字合成(DDS,Direct Digital Synthesize)是一種新型的頻率合成技術(shù)。DDS以數(shù)控振蕩器的方式產(chǎn)生頻率、相位和幅度可控的正弦波[7]。以DDS產(chǎn)生的正弦波作為調(diào)制的載波,可以達(dá)到精確、無偏離、便于集成等優(yōu)點(diǎn)。圖1為DDS的基本實(shí)現(xiàn)原理結(jié)構(gòu)圖同。
電路包括相位累加器、相位調(diào)制器、正弦ROM查找表、基準(zhǔn)時(shí)鐘源、D/A轉(zhuǎn)換器等組成。其中前三者是DDS結(jié)構(gòu)中的數(shù)字部分,具有數(shù)控頻率合成的功能。DDS是基于查找表方法,將一個(gè)正弦波周期的N個(gè)均勻采樣點(diǎn)存儲(chǔ)在存儲(chǔ)器中,以均勻速率將這些采樣點(diǎn)輸送到DAC,即可得到一個(gè)單頻正弦波,如果每隔K個(gè)采樣點(diǎn)輸出一個(gè)數(shù)據(jù),則會(huì)得到K倍頻的正弦波。但是,系統(tǒng)會(huì)存在一個(gè)上限頻率,這取決于N的選擇和系統(tǒng)的采樣頻率。設(shè)一正弦波為:
將一個(gè)周期的正弦平均分為N份,取N為2的整數(shù)冪。則每一份的相位的大小是:
δ=2 π/N (4)
如果每隔K個(gè)點(diǎn)輸出一個(gè)采樣值,則相位增量就是K δ,輸出頻率為:
f=K δ/2πTs=Kf/N (5)
根據(jù)采樣定理,K應(yīng)該滿足K≤N/2。如果想得到更高的輸出頻率,只有增加一個(gè)周期的采樣點(diǎn)N,也就是增加采樣頻率。這是以后計(jì)算中頻調(diào)制參數(shù)的依據(jù)。
DDS在此可調(diào)調(diào)制系統(tǒng)中作為載波信號(hào)發(fā)生部分,與傳統(tǒng)的頻率合成技術(shù)相比,具有頻率穩(wěn)定度高,頻率轉(zhuǎn)換速度快,輸出相對(duì)帶寬寬,頻率分辨率高等特點(diǎn),而且DDS的這些功能應(yīng)用于軟件無線電中,可以部分降低CPU的處理負(fù)擔(dān),使整個(gè)系統(tǒng)的性能達(dá)到較好的程度[8]。
4.基于DSP Builder的軟件無線電調(diào)制模塊設(shè)計(jì)
DSP Builder是Altem公司推出的一個(gè)面向DSP開發(fā)的系統(tǒng)級(jí)工具,通過Simulink的圖形化界面進(jìn)行設(shè)計(jì)。Altera的DSP Builder 將Math Works的Matlab和Simulink系統(tǒng)級(jí)的設(shè)計(jì)工具與Altem的開發(fā)工具組合在一起,為用戶提供了一個(gè)完整的DSP開發(fā)平臺(tái),縮短DSP開發(fā)的周期。DSP Builder。設(shè)計(jì)流程如圖2[9].
根據(jù)DDS基本原理,基于Matlab/Altera DSP Build 建立適合軟件無線電的調(diào)制器模型如圖3。電路全部采用有符號(hào)數(shù),其中頻率字為32位,幅度字為l 8位,分別控制載波的頻率值及載波幅度值。系統(tǒng)由兩個(gè)控制按鍵(key l和key2)、一個(gè)信號(hào)輸入端、三個(gè)初值輸入端(key3、key4和key5)組成。其中key l和key2控制調(diào)制方式,key3和key4是載波的頻率控制字輸入口,key5是載波幅度控制字的輸入端。
整個(gè)系統(tǒng)主要由一個(gè)DDS構(gòu)成,包括兩個(gè)查表ROM及其他控制電路。當(dāng)key1、key2為11、01、00時(shí),分別實(shí)現(xiàn)FSK、PSK、ASK調(diào)制;當(dāng)key1、key2為10時(shí)無信號(hào)輸出。在信號(hào)的輸人端接收被調(diào)制的信號(hào)。由AltBus、Parallel Adder Substractor、Delay 構(gòu)成DDS的核心部分--相位累加器。正弦查找表模塊LUT的計(jì)算式為:
255*sin(10*[O:1*pi/(2∧10):10*pi])+256
受存儲(chǔ)器容量和成本限制,正弦查找表模塊LUT容量有限,這里設(shè)置為10位,為了獲得較高的頻率分辨率,DDS模塊的頻率字設(shè)置為32位,也即相位累加器字長位32位,DDS將獲得fcal/232頻率分辨率。
由于要達(dá)到軟件無線電傳輸標(biāo)準(zhǔn)的調(diào)制器設(shè)計(jì),通過計(jì)算得到頻率字的取值。設(shè)基帶碼元速率為1kHz,系統(tǒng)采樣頻率為32MHz,即對(duì)每個(gè)碼元采樣32個(gè)點(diǎn),要達(dá)到一個(gè)中頻載頻取中頻載頻為:f1=600k,f2=1M,取N=232,根據(jù)式(5),可得其頻率控制字分別為:Key1=80000000;key2=134000000;取幅度控制字key5=233。對(duì)此系統(tǒng)進(jìn)行仿真驗(yàn)證。
5. 系統(tǒng)仿真及硬件實(shí)現(xiàn)。
按照?qǐng)D3所示的調(diào)制器結(jié)構(gòu)在Simulink中完成仿真系統(tǒng)的搭建,并對(duì)其進(jìn)行系統(tǒng)級(jí)仿真,施加合適的激勵(lì).添加合適的觀察區(qū)間,在模型窗口選擇Simulink菜單,再選Start項(xiàng)仿真。雙擊Scope 模塊,分別得到FSK、PSK、ASK仿真波形,如圖4。
FSK模型(key1=1,key2=1):FSK調(diào)制載波的頻率有兩種,這兩個(gè)頻率值可通過key3和key4來設(shè)置。當(dāng)輸入是高電平1時(shí),選擇的頻率是key4,在正弦查找表ROM中取數(shù)據(jù)作為輸出;當(dāng)輸入為低電平0時(shí),選擇的頻率值為key3,在正弦查找表ROM中取數(shù)據(jù)作為輸出。
PSK模型(key l=0,key2=1):由兩個(gè)ROM來完成,一個(gè)正弦查表,另一個(gè)余弦查表。它的調(diào)制載波頻率也是由key3來設(shè)置的。當(dāng)輸入信號(hào)為高電平l時(shí),選擇正弦查表ROM中的數(shù)據(jù)輸出;當(dāng)輸入信號(hào)為低電平0時(shí),選擇余弦查表ROM的數(shù)據(jù)作為輸出。
ASK模型(kev1=O,key2=O):調(diào)制載波的頻率是由key3來設(shè)置。當(dāng)輸入信號(hào)偉為高電平1時(shí),選擇DDS中的正弦信號(hào)作為輸出,而當(dāng)輸入信號(hào)為低電平O時(shí),選擇一個(gè)常量值作為輸出,從而實(shí)現(xiàn)
ASK調(diào)制。
通過Simulink系統(tǒng)級(jí)仿真后對(duì)模塊進(jìn)行編譯,這在Simulink中自動(dòng)完成后續(xù)的綜合、時(shí)序分析等操作。通過SignalComplier(如圖4)把Simulink的模塊文件(.mdl)轉(zhuǎn)換成通過的硬件描述語言VHDL文件,選定Cyclone系列芯片,并由Quartus II進(jìn)行綜合、適配、時(shí)序分析,最終得到可供下載使用的.sof文件。
打開Quartus II,進(jìn)行Cyclone系列的EP1C6Q240C8芯片,進(jìn)行重新編譯、仿真,下載到芯片通過D/A采樣后可以從示波器中看到圖3所示調(diào)制波形,通過撥碼開關(guān)控制使其能實(shí)現(xiàn)可調(diào)的系統(tǒng)功能。
6.結(jié)論
該設(shè)計(jì)避免了編寫繁瑣的硬件描述程序,同時(shí)避免了向ROM中填寫大量的波形數(shù)據(jù)。充分利用了Matlab中Simulink的DSP Builder 工具箱的圖形化界面建模、系統(tǒng)仿真功能,同時(shí)又區(qū)別于完全圖形化的方法。針對(duì)第二代RFID的標(biāo)準(zhǔn)中混頻是從600KHz-4MHz中頻上變頻,數(shù)據(jù)速率基本上是1200bps、2400bps,文中的基于軟件無線電的調(diào)制器所達(dá)到的600KHz、1MHz中頻,數(shù)據(jù)速率達(dá)到1000bps的設(shè)計(jì)基本滿足一般應(yīng)用的需求。而對(duì)于如何控制調(diào)制器的頻率是下一步研究的內(nèi)容。
評(píng)論