殷嚴剛,王小華,何富運
(廣西師范大學電子工程學院,廣西桂林541004)
基于FPGA技術實現的OFDM基帶調制系統*
殷嚴剛*,王小華,何富運
(廣西師范大學電子工程學院,廣西桂林541004)
OFDM基帶調制的目的是將高速的串行數據流轉換成并行的低速數據流,再調制到頻譜是正交重疊的子載波上進行傳輸,以便于提高頻譜利用率。OFDM可以采用IFFT/FFT實現調制解調,在本設計中采用FPGA技術可以比較容易地實現OFDM通信系統的的調制器部分。整個系統包括RS編碼、交織、QAM星座映射,IFFT和插入CP等模塊,經過仿真驗證:提高了系統的處理速度,具有較高的應用價值。
正交頻分復用;現場可編程門陣列;頻譜;QAM星座映射
OFDM是一種高速的無線傳輸技術,雖然OFDM的理論發展很早就已經提出,并且已經邁向成熟,但是又在相當長的一段時間內OFDM理論在邁向實踐的進程變得相當緩慢。如果想直接產生OFDM信號,就需要用到載波發生器、濾波器和相干調制器,所以當N很大時,可以看出實現OFDM的系統會是多么的復雜。因此OFDM的技術設備的復雜度成為了其主要制約因素。雖然在七十年代提出OFDM的調制解調可以利用IDFT/DFT快速實現,在很大程度上降低了系統的實現復雜度,但直到大規模集成電路的出現才使OFDM技術的得到了更廣泛的應用。
目前的IFFT/FFT計算使得調制解調更為高速,而今基于IFFT/FFT的OFDM通信系統也是已經比較成熟了。
該調制器是以 IFFT為核心的,主要是實現OFDM的調制,待處理的基帶信號經過RS編碼、塊交織,添零、16QAM映射、IFFT,插入CP處理后,即完成了 OFDM的調制。系統模塊劃分如下圖1所示。

圖1 OFDM整體系統框圖
在該系統中,RS編碼器和塊交織器組成的信道編碼部分,以此提高系統的抗干擾能力,增強系統的可靠性。添零模塊和16QAM映射器是將傳輸數據調制成為合適進行IFFT的數據。基于FPGA系統設計主要包括有Reed Solomon編碼器、數據緩存器、塊交織器、添零模塊、16QAM星座的映射和IFFT實現模塊。
Reed Solomon編碼器,又簡稱RS編碼器。RS編碼是在代數編碼理論的總體框架上實現編碼和解碼的過程,中心思想是將原始數據流映射到抽象的多項式上,在映射的過程進行一系列的數學運算。RS編碼具有很好的容錯能力,它是一種線性塊編碼,表示為RS(N,K)。其意義是當收到一列信息數據時,將其分為若干個長度為K的數據塊,在經過編碼成為長度為N的數據塊。其糾錯能力的計算表達式為N-K=2T,T表示最多可以糾正T個隨機錯誤符號。在RS碼中的碼元符號不是二進制而是多進制符號,一般2M進制的使用更為廣泛。
在OFDM系統中的信道編碼使用的RS編碼器是用Altera的MegaCore實現。使用的版本為Reed Solomon Complier V9.0。參數設置為編碼后每個數據包6個Codeword,每個Symbol為4個bit,其中4個Symbol為被編碼的數據,2個是用來糾錯的冗余數據。由公式N-K=2T可知,只要錯誤在兩個數據之內,都是可以糾正過來的。
在這個模塊中,引腳rsin[4..1]是數據輸入端,rsout[4..1]數據輸出端,數據位寬設置為4 bit。
通過基于QuartusⅡ9.0仿真,其中數據包的長度為:9;3,4,5,6,7為送入編碼器編碼的5個數據。5,2,0,7為用來糾錯的4個冗余數據。
因為考慮到這個OFDM系統更多的是示意性的系統,另外,要修改RSMegaCore的參數也是很方便的。所以這里RS編碼器的參數設置也就不用考慮到其他更多的問題。
數據緩存器是要收集36個從經過RS編碼器編碼的數據,然后作為一個數據包送到塊交織器處理。該模塊用容量為4bit×64word的FIFO緩存數據,用計數器控制36個數據的收集及發送。
數字通信中一般采取的交織有塊交織和卷積交織兩種,在本中采用的是塊交織,塊交織也叫做矩陣行列轉置法,它是類似使用一個二維的矩陣序列存儲器。交織工程是先按行寫入數據,然后在按列讀出數據。
因為后面要進行64點的IFFT,而從交織器出來的數據包只有36個word,所以要為每個數據包插入28個0,將數據包擴展到64點。
OFDM作為一種多載波調制方式,其每個子載波所使用的調制可以不同,各個子載波根據信道狀況的不同選擇不同的調制方式,如BPSK、QPSK、8PSK、16QAM、64QAM等。
這里選擇使用16QAM的映射,一是它的效率要比 QPSK、8PSK的調制效率要高,二是它比64QAM的實現要簡單。主要作用是使數據流引入復數數據流以便進行IFFT的處理。
IFFT是整個OFDM系統的核心,它實現了多載波正交的調制。前面我們也提到過這個調制系統的系統正是基于FFT/IFFT的。借助Altera公司提供的IFFT/FFT的IPCore可以快速地完成設計任務。本設計中采用的是FFT MegaCore V2.2.1版本,這里調用的是64點的IFFT,數據位長設置為10。
其中data_real_in[9..0]、data_imag_in[9..0]是數據實部和虛部數據的輸入端;data_real_out[9.. 0]、data_imag_in[9..0]分別是IFFT后數據實部和虛部數據的輸出端。inv_i是IFFT/FFT模式選擇引腳,當inv_i置為高電平輸入時為IFFT,置為低電平時為FFT。
系統數據流是從左往右被發送處理,但整個系統搭建完畢之后,顯得非常之長,為了方便截圖,將其布局為兩個梯層。從16QAM星座映射出來后的復數數據流和實數數據流都引出了輸出端口,方便查看數據流的變化。
整個系統的仿真用的是100 M的時鐘,從上圖3可以看出數據流經過16QAM星座映射、IFFT、插入CP都有一定的輸出延時,這是由于程序結構和FPGA內部結構所決定的。這里使用的是QuartusⅡ的功能仿真,因為是一個示意性的系統,所以也沒有多大必要使用時序仿真。
仿真所選用的器件是 Altera的 Cyclone系列EP2C35U484C6器件。這個OFDM調制系統占用3487個邏輯單元和3032個寄存器,使用了81個I/O腳。

圖2 OFDM調制系統總體設計圖

圖3 OFDM調制系統仿真波形
本設計采用FPGA技術,在QuartusⅡ軟件開發平臺上,利用Verilog HDL硬件描述語言,再結合Altera公司的 MegaCore IP技術,在軟件上實現了OFAM信號調制器的仿真。其中的RS編碼器和IFFT模塊通過調用Altera公司的IP core來實現,整個設計通過測試,穩定性高,消耗資源少,便宜移植。
[1]汪裕民.OFDM關鍵技術與應用[M].北京:機械工業出版社,2007:1.
[2]田耕,徐文波,張延偉,等.無線通信PGGA設計[M].北京:電子工業出版社,2008:2.
[3]李廣軍,孟憲遠.可編程ASIC設計及應用[M].成都:電子科技大學出版社,2000:10.
[4]胡銳.OFDM基帶調制系統在FPGA上的實現[D].南京:東南大學,2004.
Based on FPGA Achieve OFDM Baseband M odulation System*
YIN YanGang*,WANG XiaoHua,HE FuYun
(Eelectronic Eengineering of College,Guangxi Normal University,Guilin Guangxi541004,China)
The target of OFDM is high-speed serial data stream into low-speed parallel data streams,and modulation spectrum is to transmit the orthogonal subcarriers overlap,so the spectrum utilization rate is advanced.And OFDM can be used to achieve IFFT/FFTmodulation and demodulation,realized easily by FPGA technology.The design is based on FPGA technology to realize themodulator part of OFDM communication system,which includes RS coding,interleaving,constellation mapping,QAM,IFFT and inserted into the CPmodule.The speed of system can be improved and it has higher application value by the simulation.
orthogonal frequency division multiplexing;field programmable gate array;frequency spectrum;QAM
10.3969/j.issn.1005-9490.2014.01.022
TN76 文獻標識碼:A 文章編號:1005-9490(2014)01-0089-03
項目來源:科技人員服務企業行動項目(2009GJE10006)
2013-04-23修改日期:2013-06-10
EEACC:1250;6120
殷嚴剛(1981-),男,講師,漢族,湖南邵東,講師,廣西第四批科技特派員,主要研究領域為信息處理與測控技術;

王小華(1980-),男,苗族,湖南隆回人,廣西師范大學講師,主要研究領域為FPGA系統設計與開發。