資源簡介
MATLAB實現16psk的調制解調,無錯誤!!
代碼片段和文件信息
%%?16PSK調制解調及求誤碼率曲線
clc;clear?all;close?all;
N?=?10^4;???????????????????????????????????%???待傳輸的符號數
M?=?16;?????????????????????????????????????%???進制位數
k?=?log2(M);????????????????????????????????%???每符號的比特數
phaseMpsk?=?[0:M-1]*2*pi/M;?????????????????%???相位權值
Eb_N0_dB??=?[0:25];?????????????????????????%???信噪比的值
Es_N0_dB??=?Eb_N0_dB?+?10*log10(k);?????????%???這里是一個問題(理解多進制的時候是否加的噪聲過程不一樣?k為2時附加值即為0)
%%?星座圖的點與格雷碼之間的相互轉換
ref?=?[0:M-1];
map?=?bitxor(reffloor(ref/2));?????????????????????????????????%二進制異或(生成格雷碼)
[tt?ind]?=?sort(map);???????????????????????????????????????????%ind十進制數對應的格雷碼的下標值
ipPhaseHat?=?zeros(1N);????????????????????????????????????????%解調時用到相位
%%?調制解調過程
for?i=1:length(Es_N0_dB)
????%生成發送符號
????BitArray=rand(1N*k)>0.5;
????Bin2DecMatrix=ones(N1)*(2.^[(k-1):-1:0]);
????BitReshape=reshape(BitArraykN).‘;
????DecArray=[sum(BitReshape.*Bin2DecMatrix2)].‘;?
????
????%對應生成星座圖
????PhaseIndex=ind(DecArray+1)-1;
????ConsPhase=PhaseIndex*2*pi/M;
- 上一篇:MATLAB對dijkstra算法的仿真
- 下一篇:PCA-matlab
評論
共有 條評論