楊柳 趙勇 楊洪元 袁偉娜
摘 要:信息傳輸?shù)暮诵膯栴}是有效性和可靠性,正交幅度調(diào)制(QAM)作為一種新的調(diào)制技術(shù)因其具有很高的頻帶利用率而得到廣泛應(yīng)用。IT++是基于C++語言的信號(hào)處理和通信方面的仿真庫函數(shù)工具。本文分析和研究了M-QAM調(diào)制在IT++平臺(tái)中的實(shí)現(xiàn)方法,并比較了不同M值的QAM的性能。仿真結(jié)果與理論分析一致,與MATLAB相比極大地提高了仿真速度。
關(guān)鍵詞:IT++;QAM;調(diào)制
中圖分類號(hào):TN911.3 文獻(xiàn)標(biāo)識(shí)碼:B
1 引言(Introduction)
提高頻譜利用率一直是現(xiàn)在通信中人們關(guān)注的焦點(diǎn)之一,尋找頻譜利用率較高的數(shù)字調(diào)制方式隨著通信業(yè)務(wù)需求的迅速增長已經(jīng)成為數(shù)字通信系統(tǒng)研究和設(shè)計(jì)的主要目標(biāo)之一。正交振幅調(diào)制(Quadrature Amplitude Modulation,QAM)是一種振幅和相位聯(lián)合鍵控[1],它是一種頻譜利用率很高的調(diào)制方式,其在有線電視網(wǎng)絡(luò)高速數(shù)據(jù)傳輸、大中容量數(shù)字微波通信系統(tǒng)、衛(wèi)星通信等各個(gè)領(lǐng)域均得到了廣泛的應(yīng)用[2]。
隨著通信技術(shù)的迅猛發(fā)展,無線通信系統(tǒng)的功能越來越強(qiáng)、性能越來越高。另一方面,通信系統(tǒng)技術(shù)研究和產(chǎn)品開發(fā)的周期越來越短。強(qiáng)大的計(jì)算機(jī)輔助分析設(shè)計(jì)技術(shù)和仿真工具的出現(xiàn)為解決以上兩個(gè)問題提供了有力的支撐。目前,進(jìn)行通信仿真的軟件主要采用Simulink/MATLAB和C/C++,二者各有優(yōu)點(diǎn)。MATLAB因其在處理向量以及矩陣方面功能強(qiáng)大,人機(jī)界面友好,編程效率高,擁有強(qiáng)大而智能化的畫圖功能,進(jìn)行較小規(guī)模的仿真十分方便。C/C++因其通用性強(qiáng),接近底層,運(yùn)行效率很好,被廣泛應(yīng)用于較大規(guī)模平臺(tái)的仿真。
IT++庫是由瑞典查爾姆斯理工大學(xué)(Chalmers University of Technology)前信息理論系創(chuàng)建的,主要用于模擬通信系統(tǒng)并進(jìn)行通信相關(guān)領(lǐng)域的研究。由于在編寫類庫時(shí)使用的是C++語言,故命名為IT++。IT++作為C++的一個(gè)庫,擁有許多類似MATLAB的向量、矩陣、數(shù)學(xué)、信號(hào)處理和通信的類和函數(shù),結(jié)合了兩者的優(yōu)點(diǎn),能夠快速、方便地進(jìn)行通信系統(tǒng)的仿真[3]。
本文將基于IT++實(shí)現(xiàn)QAM的調(diào)制與解調(diào)。
2 基于IT++的QAM調(diào)制解調(diào)算法實(shí)現(xiàn)(An
implementation of QAM modulation/
demodulation algorithm based on IT++)
2.1 QAM類介紹
在IT++中,QAM類所包含的各成員函數(shù)將實(shí)現(xiàn)比特流或符號(hào)到QAM星座點(diǎn)的映射及解映射過程。該類itpp::QAM與通用調(diào)制類的繼承關(guān)系如圖1所示。
圖1 QAM類繼承圖
Fig.1 Inheritance diagram of class QAM
QAM類用來實(shí)現(xiàn)方形M階QAM調(diào)制器,使用此類需添加頭文件:
#include[4]
QAM星座的大小是,這里k=1,2,...。每維符號(hào)值為。比特到符號(hào)的映射表采用格雷編碼,且符號(hào)是歸一化處理的,即平均能量是1,歸一化因子為。
2.2 實(shí)現(xiàn)過程
程序?qū)崿F(xiàn)模塊框圖如圖2和圖3所示。其中,比特調(diào)制模塊主要用于計(jì)算誤碼率,符號(hào)調(diào)制模塊用于繪制星座圖。
圖2 比特調(diào)制模塊框圖
Fig.2 Flow chart of'bit modulation'
圖3 符號(hào)調(diào)制模塊框圖
Fig.3 Flow chart of'symbol modulation'
上述模塊在程序中的實(shí)現(xiàn)代碼見表1到表4。
表1 信號(hào)產(chǎn)生模塊
Tab.1 Signal generating module
功能 實(shí)現(xiàn)代碼
設(shè)定發(fā)送符號(hào)個(gè)數(shù) const int no_symbols=10000;
設(shè)定每符號(hào)的比特?cái)?shù) int bps=round_i(qam.bits_per_symbol());
產(chǎn)生發(fā)送比特 bvec tx_bits=randb(no_symbols*bps);
產(chǎn)生發(fā)送符號(hào) ivec tx_sym_numbers=randi(no_symbols,0, pow2i(bps)-1);
表2 調(diào)制模塊
Tab.2 Modulation module
功能 實(shí)現(xiàn)代碼
初始化QAM調(diào)制類型 QAM qam(16);
比特調(diào)制 tx_symbols=qam.modulate_bits(rx_symbols);
符號(hào)調(diào)制 cvec tx_symbols=qam.modulate(tx_sym_numbers);
表3 噪聲模塊
Tab.3 Additive noise module
功能 實(shí)現(xiàn)代碼
設(shè)置噪聲功率 const double N0=0.01
產(chǎn)生噪聲 cvec noise=sqrt(N0)*randn_c(no_symbols);
接收符號(hào) cvec rx_symbols=tx_symbols+noise;
表4 解調(diào)模塊
Tab.4 Demodulation module
功能 實(shí)現(xiàn)代碼
比特硬解調(diào) bvec decbits=qam.demodulate_bits(rx_symbols);
AWGN信道軟比特近似解調(diào) vec softbits_approx=qam.demodulate_soft_bits (rx_symbols,N0,APPROX);
AWGN信道軟比特Log-MAP解調(diào) vec softbits=qam.demodulate_soft_bits (rx_symbols,N0,LO GMAP);
3 仿真結(jié)果(Simulation results)
基于IT++平臺(tái),以16QAM和64QAM為例,分別仿真了SNR=20dB和SNR=30dB時(shí)系統(tǒng)的誤碼率性能,并繪制了星座圖,如圖4到圖6所示。在相同SNR下,高階調(diào)制的誤碼率性能差于低階調(diào)制。對(duì)相同階數(shù)QAM調(diào)制,SNR越大,星座圖越清晰,系統(tǒng)性能越好。
a.16QAM星座圖
a.Constellations for 16QAM
b.添加噪聲后的16QAM星座圖(SNR=20dB)
b.Constellations for 16QAM with AWGN(SNR=20dB)
c.添加噪聲后的16QAM星座圖(SNR=30dB)
c.Constellations for 16QAM with AWGN(SNR=30dB)
圖4 不同SNR下16QAM調(diào)制星座圖
Fig.4 Constellations for 16QAM with different SNRs
a.64QAM星座圖
a.Constellation for 64QAM
b.添加噪聲后的64QAM星座圖(SNR=20dB)
b.Constellations for 64QAM with AWGN(SNR=20dB)
c.添加噪聲后的64QAM星座圖(SNR=30dB)
c.Constellations for 64QAM with AWGN(SNR=30dB)
圖5 不同SNR下64QAM調(diào)制星座圖
Fig.5 Constellations for 64QAM with different SNRs
圖6 16QAM、64QAM、256QAM誤碼率對(duì)比圖
Fig.6 BER comparison between 16QAM,64QAM and 256QAM
4 結(jié)論(Conclusion)
本文采用IT++庫這一新型工具,詳細(xì)研究了QAM調(diào)制解調(diào)的各個(gè)步驟,最終得到與理論一致的仿真結(jié)果。以16QAM調(diào)制為例,仿真點(diǎn)數(shù)為100000bit,基于IT++平臺(tái)運(yùn)行時(shí)間約為14s,與MATLAB相比極大地提高了仿真速度。本文以QAM調(diào)制為例進(jìn)行了研究,后續(xù)可以擴(kuò)展到鏈路級(jí),甚至系統(tǒng)級(jí)仿真,由此可以看出這一工具具有很大的研究空間和發(fā)展前景。
參考文獻(xiàn)(References)
[1] 樊昌信,曹麗娜.通信原理(第7版)[M].北京:國防工業(yè)出版社,2012.
[2] 朱泳霖,QAM調(diào)制解調(diào)技術(shù)研究及其FPGA實(shí)現(xiàn)[D].長沙:中南大學(xué),2010.
[3] 劉林,王平,陳紅.無線通信系統(tǒng)仿真.IT++分析與實(shí)例[M].北京:電子工業(yè)出版社,2012.
[4] IT++源代碼(4.3.1)[DB/OL].[2015-4-8]http://itpp.sourceforge.net/4.3.1/files.html.
作者簡(jiǎn)介:
楊 柳(1993-),男,本科生.研究領(lǐng)域:無線通信理論.
趙 勇(1993-),男,本科生.研究領(lǐng)域:無線通信理論.
楊洪元(1991-),男,本科生.研究領(lǐng)域:無線傳感器網(wǎng)絡(luò)技術(shù).
袁偉娜(1979-),女,博士,副教授.研究領(lǐng)域:無線通信理論
與關(guān)鍵技術(shù).