胡同花,周維龍
(1.永州職業(yè)技術(shù)學(xué)院 湖南 永州 425100 2.湖南工業(yè)大學(xué) 電氣與信息工程學(xué)院,湖南 株洲 412008)
OFDM系統(tǒng)的基本思想是把高速傳輸?shù)臄?shù)據(jù)流通過串并轉(zhuǎn)換,分配到傳輸速率相對較低的若干個正交的子信道中進(jìn)行傳輸。它通過降低每個子信道上的數(shù)據(jù)通信速率從而有效的降低由多徑傳輸引起的碼間干擾;并且OFDM系統(tǒng)與CDMA技術(shù)的結(jié)合使得OFDM系統(tǒng)在未來的移動通信中有著更廣泛應(yīng)用前景的可能性。
OFDM設(shè)計(jì)優(yōu)點(diǎn):1)無需線性均衡,從而避免了噪聲的增強(qiáng),而且由于它的符號間隔很長,對多徑效應(yīng)、脈沖噪聲和快速衰落有較強(qiáng)的抵抗能力;2)由于子載波是相互正交的,所以頻譜可以交疊使用,頻譜利用率比普通的多載波系統(tǒng)要高得多。為了防止各子信道之間的串?dāng)_,OFDM要求子載波相互正交。利用這種正交性,接收機(jī)能正確分離開各個子數(shù)據(jù)流。為了保證子載波之間的正交性,OFDM要求各子載波在時間、頻率上均保持同步,而且要求相鄰子載波的頻率間隔為OFDM的有效符號時間間隔T的倒數(shù)[1]。
使用數(shù)字中頻對信號進(jìn)行I/Q調(diào)制可以精確地做到Q路的90°相移,在I/Q兩路調(diào)制時沒有幅度上的失真,所以在很大程度上克服了模擬I/Q調(diào)制的幅度和相位不平衡性。由于使用數(shù)字電路,克服了模擬混頻電路非線性的影響,減少了非線性交調(diào)產(chǎn)生的諧波干擾。使用數(shù)字電路設(shè)計(jì)混頻器、濾波器簡化了硬件電路設(shè)計(jì)。由于FPGA的可編程性,使用FPGA實(shí)現(xiàn)數(shù)字中頻,可以提高系統(tǒng)的可編程性。
在FPGA中OFDM的數(shù)字中頻在發(fā)射部分使用平方根升余弦濾波器對基帶信號濾波,以消除符號間干擾,濾波后的I/Q兩路信號通過乘法器與NCO中的正弦和余弦中頻載波相乘完成I/Q調(diào)制,最后兩路信號相加通過D/A轉(zhuǎn)換送入射頻部分。如圖1所示,其中關(guān)鍵的技術(shù)就是濾波器和數(shù)字壓控振蕩器的設(shè)計(jì)。本文祥細(xì)介紹了FIR濾波器和NCO的FPGA實(shí)現(xiàn)方法,并結(jié)合QuratusII給出了相應(yīng)的仿真波形。
圖1 OFDM調(diào)制原理圖Fig.1 Diagram of OFDM modulation principle
Altera提供的FIR Complier是一個結(jié)合Altera FPGA器件的 FIR Filter Core,DSP Builder與 FIR Compiler可以緊密結(jié)合起來。DSP Builder提供了一個FIR Core的應(yīng)用環(huán)境和仿真驗(yàn)證環(huán)境。
為了調(diào)用FIR IP Core,在Simulink環(huán)境中新建一個模型文件,放置Signal Compiler模塊和FIR模塊。啟動Simulink的方法:打開Matlab,在主命令窗口直接鍵入Simulink,按回車即可。然后打開Altera DSP Builder模塊,在MegaCore Functions調(diào)出fir_compiler_v7_0。
雙擊模型中的FIR模塊,在彈出來的選擇窗口中有:關(guān)于這個核(About this Core)、程序說明書(Documentation)、顯示元件(Display Symbol)、步驟 1 確定參數(shù)(Step1:Parameterize)和步驟2生成 (Step2:Generate)等4個不同的選項(xiàng)。點(diǎn)擊Step1,便打開了FIR濾波器核的參數(shù)設(shè)置窗口,如圖2所示。
由圖2可見,濾波器的系數(shù)精度為32位,器件為CycloneIII,結(jié)構(gòu)為并行濾波,器結(jié)構(gòu)選擇了1級流水線,濾波器由LC邏輯宏單元構(gòu)成,系數(shù)數(shù)據(jù)存于FPGA的M9K模塊中,1個輸入通道,32位有符號并行輸入,全精度數(shù)據(jù)輸出。設(shè)定后會直接顯示濾波器的頻率響應(yīng) (Frequency Response)或時域響應(yīng)與系數(shù)值(Time Response&Coefficeient Values)。由其頻率響應(yīng)圖可以看出,此FIR濾波器為低通濾波器。如果不符合設(shè)計(jì)要求,則可以通過對Edit Coefficient Set選項(xiàng),對濾波器的進(jìn)行重新配置。
圖2 確定FIR濾波器系數(shù)Fig.2 Sure FIR filter coefficient
完成FIR濾波器核配置后,便可得到設(shè)計(jì)好的濾波器,加入輸入、輸出信號,便形成了如圖3所示電路。點(diǎn)擊SignalCompiler,再選擇 Analyze,選擇 Sigle step compilation 中的Convert MDL to VHDL。就可以生成對應(yīng)的VHDL語言。
圖3 FIR濾波器編譯電路圖Fig.3 FIR filter compiler diagram
在QuartusII中打開編譯后生成的fir.qpf工程文件,就可以得到濾波器的VHDL語言[3]。
數(shù)控振蕩器在數(shù)字中頻中相對來說是比較復(fù)雜的,也是決定數(shù)字中頻性能的主要因素之一,NCO的目標(biāo)是產(chǎn)生一個理想的正弦波或余弦波,如式(1):
圖4 NCO原理框圖Fig.4 NCO principle diagram
相位累加器由N位加法器與N位寄存器級聯(lián)構(gòu)成。每來一個時鐘fc,加法器將頻率控制字K與寄存器輸出的累加相位數(shù)據(jù)相加,再把相加后的結(jié)果送至寄存器的數(shù)據(jù)輸入端。相位累加器輸出的數(shù)據(jù)就是合成信號的相位,當(dāng)相位累加器累加到最大值時會產(chǎn)生一次溢出,完成一個周期的動作。溢出頻率就是NCO輸出的信號頻率??捎肰HDL語言實(shí)現(xiàn)相位累加器的設(shè)計(jì),其主要代碼如下:
8位相位累加器的仿真波形如圖5所示。由波形圖可以看出,當(dāng)k=08時,在每一個有效脈沖的作用下,輸出的數(shù)值比前一個輸出的數(shù)值大8;當(dāng)k=09時,輸出的數(shù)值比前一個輸出的數(shù)值大9;結(jié)果證明,該程序?qū)崿F(xiàn)了相位的累加。
用相位累加器輸出的數(shù)據(jù)作為波形存儲器的取樣地址,完成相位序列(相位碼)向幅度序列(幅度碼)的轉(zhuǎn)換。這里用ROM構(gòu)造一個查找表。N位的尋址ROM相當(dāng)于把一個周期的正弦 波形信號離散成具有2N個幅值的序列,若波形ROM有D位數(shù)據(jù)位,則2N個幅值以D位二進(jìn)制數(shù)值固化在FPGA的ROM中,按照給定地址的不同可以輸出相應(yīng)相位的正弦信號的幅度編碼。
圖5 8位相位累加器的仿真波形如圖Fig.5 Diagram of showing the stimulated wave of 8 bit Phase-Accumulator
本文采用ROM表壓縮結(jié)構(gòu),所以只需要產(chǎn)生1/4正弦波的數(shù)據(jù),然后通過對相位和幅度進(jìn)行適當(dāng)?shù)姆D(zhuǎn)便可得到整個周期的波形數(shù)據(jù)。查找表中的數(shù)據(jù)通過在matlab中編程獲得,也可以通過C語言編寫的正弦函數(shù)數(shù)據(jù)采樣得到。matlab實(shí)現(xiàn)的1/4正弦波的仿真波形如圖6所示。
圖6 1/4正弦波形的仿真圖Fig.6 Diagram of showing a quarter of the stimulated sin wave
由matlab程序生成的數(shù)據(jù)存放于sin_rom·coe文件中作為初始值文件。這樣,通過QuartusII7.2中的IPcore將存放波形數(shù)據(jù)的sin_rom·coe文件加入工程,實(shí)現(xiàn)對ROM賦初始值。
把上述各部分所生的symbol在QuartusII7.2提供的BlockDiagram/SchematicFile中用 Graphic Editor編輯連接起來,就形成了圖1的虛線所示的部分,編譯后進(jìn)行整體模塊仿真,經(jīng)過器件編程,可將整體模塊程序燒寫到合適的FPGA芯片中,再配以相應(yīng)的D/A器件及其它外圍電路,調(diào)試后即完成設(shè)計(jì)。
用FPGA來實(shí)現(xiàn)OFDM調(diào)制器,電路簡單,設(shè)計(jì)靈活,便于修改和調(diào)試,可靠性高。另外,Altera公司的QuartusII7.2應(yīng)用軟件具有較強(qiáng)大的開放性和綜合性,它可以利用其它各種EDA資源以及先進(jìn)的設(shè)計(jì)方法,使其功能更加完善和強(qiáng)大。它可以實(shí)現(xiàn)從簡單的接口電路設(shè)計(jì)到復(fù)雜的狀態(tài)機(jī),甚至“Sys-temon Chip”。它的可編程特性帶來了電路設(shè)計(jì)的靈活性,縮短了產(chǎn)品的“Time ToMarket”。
[1]梁偉洋,馮祥.OFDM系統(tǒng)中自適應(yīng)調(diào)制技術(shù)的研究[J]電子設(shè)計(jì)工程,2010(7):22-23.
LIANG Wei-yang FENG Xiang.OFDM on adaptive modulation technique in OFDM systems [J]Eelectronic Design Engineering,2010(7):22-23.
[2]王洪強(qiáng).OFDM調(diào)制/解調(diào)的FPGA實(shí)現(xiàn)[J]通信與廣播電視,2009(1):5-10.
WANG Hong-qiang.OFDM M odulation/demodulation with FPGA[J]Communication&Audio and Video,2009 (1):5-10.
[3]FIR Compiler User Guide. Altera Corporation[EB/OL].(2006-09)http://www.altera.com.cn.
[4]胡紫英,周維龍,聶輝.基于SOPC的FIR濾波器設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010,33(12):72-74.
HU Zi-ying,ZHOU Wei-long,NIE Hui.Design and realization ofFIR filterbased on SOPC [J]Modern Electronics Technique,2010,33(12):72-74.
[5]萬福,周文偉,呂一希.OFDM系統(tǒng)數(shù)字中頻的FPGA設(shè)計(jì)[J]通信與廣播電視,2006(3):1-6.
WAN Fu,ZHOU Wen-wei,LU Yi-xi.Design of digital if based on FPGA in OFDM system [J].Communication&Audio and Video,2006(3):1-6.
[6]楊威,左月明,劉洋,等.利用FPGA實(shí)現(xiàn)DDS信號發(fā)生器的研究[J]山西農(nóng)業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2007,27(3):329-332.
YANG Wei,ZUO Yue-ming,LIU Yang,et al.The research on using FPGA to realize DDS signal generator[J]Shanxi Agric.Univ.:Natural Science Edition,2007,27(3):329-332.