正交幅度調製(QAM)訊號的產生與解調介紹及matlab實現
1.QAM訊號的產生
1.1 原理
1.2 模擬程式碼
clear all
M=8;
msg = [1 4 3 0 7 5 2 6]; %訊息訊號
ts = 0.01; %抽樣時間間隔
T = 1; %符號週期
t = 0:ts:T; %符號持續時間向量
x = 0:ts:length(msg); %所有符號的傳輸時間
fc = 1; %載波頻率
c = sqrt(2/T)*exp(j*2*pi*fc*t); %載波訊號
msg_qam = qammod(msg,M).'; %基帶8-QAM調製
tx_qam = real(msg_qam*c); %載波調製
tx_qam= reshape(tx_qam.',1,length(msg)*length(t));
plot(x,tx_qam(1:length(x)));
title("8QAM訊號波形")
xlabel("時間t");ylabel("載波振幅");
scatterplot(msg_qam)
title("8QAM訊號星座圖")
xlabel("同相分量");ylabel("正交分量");
1.3 模擬結果
QAM訊號波形振幅不恆定,說明其既調幅又調相。
2.QAM訊號的解調
2.1 原理
2.2 模擬程式碼
%基帶等效方式模擬16-QAM載波調製訊號在AWGN通道下的誤位元率效能
clear all
nsymbol = 100000; %每種SNR下傳送的符號數
M=16; %16-QAM
graycode = [0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10];
EsN0 = 5:20;
snr1 = 10.^(EsN0/10); %訊雜比轉換為線性值
msg = randi([0,1],1,nsymbol); %訊息資料
msg1 = graycode(msg+1); % Gray對映
msgmod = qammod(msg1, M); %16-QAM調製
spow = norm(msgmod).^2/nsymbol; %求每個符號的平均gonglv
for indx=1:length(EsN0)
sigma = sqrt(spow/(2*snr1(indx))); %根據符號功率求噪聲功率
rx = msgmod+sigma*(randn(1,length(msgmod))+j*randn(1,length(msgmod))); %加高斯白噪聲
y = qamdemod(rx,M); %判決
demsg = graycode(y+1);
[err,ber(indx)] = biterr(msg,demsg,log2(M));
[err,ser(indx)] = symerr(msg,demsg);
end
P4 = 2*(1-1/sqrt(M))*qfunc(sqrt(3*snr1/(M-1)));
ser1 = 1-(1-P4).^2;
ber1 = 1/log2(M)*ser1;
semilogy(EsN0,ber,"-ko", EsN0, ser, "-k*", EsN0, ser1, "-r*", EsN0, ber1, "-ro");
title("16-QAM載波調製訊號在AWGN通道下的誤位元率效能")
xlabel("EbN0");
ylabel("誤位元率P和誤符號率");
legend("誤位元率", "誤符號率", "理論誤符號率", "理論誤位元率")
2.3 模擬結果
相關文章
- Matlab實現模擬調製與解調Matlab
- 【Matlab】BFSK的調製與解調模擬Matlab
- 無線通訊中的IQ調製,BPSK調製,QPSK調製,16QAM調製的理解
- 基於星座圖整形方法的QAM調製解調系統MATLAB誤位元速率模擬,對比16,32,64,256四種QAM調製方式Matlab
- PM的正交解調法
- FM的正交解調法
- DSB的數字正交解調
- 筆記-AM的正交解調法筆記
- WiFi協議的調製技術介紹WiFi協議
- 正交多項式介紹及應用
- 【Matlab】BASK的除錯與解調模擬Matlab除錯
- 雷達原理--線性調頻訊號的MATLAB模擬Matlab
- 基於BP神經網路的64QAM解調演算法matlab效能模擬神經網路演算法Matlab
- 基於BP神經網路的16QAM解調演算法matlab效能模擬神經網路演算法Matlab
- 差分進化演算法介紹及matlab實現演算法Matlab
- 1-7訊號調製與PCM基礎(物理層)
- matlab實現調整圖片的對比度Matlab
- Linux系統調優介紹Linux
- JVM常用調優工具介紹JVM
- 通訊原理:基於MATLAB的AM調幅分析Matlab
- 編碼與調製
- IM及實時音視訊調研
- FPGA數字訊號處理(22)FSK調製技術FPGA
- 2ASK調製解調的VERILOG程式程式碼
- BiLSTM介紹及程式碼實現
- CNN介紹及程式碼實現CNN
- 中科三方解讀域名管理之:域名序號產生器構介紹
- 文通產品及解決方案介紹
- FFT原理及C++與MATLAB混合程式設計詳細介紹FFTC++Matlab程式設計
- sku演算法介紹及實現演算法
- 基於FPGA的16QAM調製+軟解調系統,包含testbench,高斯通道模組,誤位元速率統計模組,可以設定不同SNRFPGA
- 訊號課組(一) 訊號與系統 Part 0 MATLAB在訊號與系統中的使用Matlab
- WebView詳解與簡單實現Android與H5互調WebViewAndroidH5
- Java生產環境下效能監控與調優詳解視訊教程 百度雲 網盤Java
- 小波變換檢測訊號突變點的MATLAB實現Matlab
- 生產服務GC調優實踐基本流程總結GC
- Flink sql實現原理及Apache Calcite介紹SQLApache
- Redis學習 主從複製(master-replica)架構介紹及實現RedisAST架構