4ask调制与解调的matlab_LTE中的调制和编码
LTE的調制方式
LTE中使用的調制方式包括QPSK、16QAM記憶64QAM。QPSK需要2bits數據來編碼4中不同的調制符號;16QAM使用4bits二進制信號來編碼16中不同的調制符號;64QAM需要6bits二進制信號來編碼64種不同的調制符號。
LTE中選用多種不同的調制方式主要是為了適應不同的信道環境。當當前環境的信噪比較高時,選用64QAM可以增加系統的吞吐量,因為一個64QAM符號可以解調為攜帶6bits的二進制信號。當信道中噪音功率較大時,可以選用QPSK,但是會使得每個調制符號所攜帶的信息減少而減小系統的吞吐量。
QPSK, 16QAM以及64QAM的星座圖LTE中的調制模塊的MATLAB仿真代碼可如下所示:
function y=Modulator(u, Mode) %% 初始化 persistent QPSK QAM16 QAM64 if isempty(QPSK) QPSK = comm.PSKModulator(4, 'BitInput', true, ... 'PhaseOffset', pi/4, 'SymbolMapping', 'Custom', ... 'CustomSymbolMapping', [0 2 3 1]); QAM16 = comm.RectangularQAMModulator(16, 'BitInput',true,... 'NormalizationMethod','Average power', 'SymbolMapping', 'Custom', ... 'CustomSymbolMapping', [11 10 14 15 9 8 12 13 1 0 4 5 3 2 6 7]); QAM64 = comm.RectangularQAMModulator(64, 'BitInput',true,... 'NormalizationMethod','Average power', 'SymbolMapping', 'Custom', 'CustomSymbolMapping', [47 46 42 43 59 58 62 63 45 44 40 41 ... 57 56 60 61 37 36 32 33 49 48 52 53 39 38 34 35 51 50 54 55 7 6 2 3 19 18 22 23 5 4 0 1 17 16 20 21 13 12 8 9 25 24 28 29 15 14 10 11 27 26 30 31]); end %% 調制模式選擇 switch Mode case 1 y=step(QPSK, u); case 2 y=step(QAM16, u); case 3 y=step(QAM64, u); end對于QPSK調制器,第一個參數輸入‘ModulationOrder’設置為4,即QPSK調制;‘BitInput’屬性設置為true,規定輸入的信號是二進制比特流,長度必須為偶數;若設置為false,則表示輸入信號為整數且范圍為[0,3]。‘PhaseOffset’屬性表示星座的相位偏移,設置為pi/4,說明LTE中選用pi/4-QPSK作為調制方式。‘SymbolMapping’屬性表示星座圖編碼規則,默認為‘Gray’編碼,其編碼規則如下表所示:
| 1 | 0 |
| 3 | 2 |
其他選項還有‘Binary’編碼,在此選擇為自定義編碼方式,‘CustomSymbolMapping’屬性定義了星座與2位bit數據的對應關系。
而其他兩個調制方式為16QAM和64QAM,采用的矩形QAM,較容易利用硬件實現。歸一化方法選擇‘Average power’,即根據星座圖將信號的平均功率歸一化到1,還有其他歸一化方法如:‘ Minimum distance between symbols’、‘Peak power’供選擇。和QPSK一樣,‘CustomSymbolMapping’設置自定義信號與星座的映射方式,使得與LTE所規定的模式相同。
該調制函數有兩個輸入參數:1.輸入比特流(u);2.調制模式(Mode),輸出調制后的符號。該函數完成了LTE標準中所選擇的三種不同調試方式,即:QPSK、16QAM和64QAM。
參考文獻
其中代碼主要源自《Understanding LTE with MATLAB》,本文主要對其進行注釋、分析與方便自己仔細理解代碼思路,學習寫文章的過程,后期將放上自己學習過程中寫的其他一些分析與代碼!!
歡迎大家評論、私信交流、批評與指正!!
總結
以上是生活随笔為你收集整理的4ask调制与解调的matlab_LTE中的调制和编码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取昨天凌晨毫秒数_Java 获取当前时
- 下一篇: 将函数当做参数 matlab,Matla