?? modu_sym.m
字號(hào):
function sym = modu_sym(bit_to_mod)
% 得到調(diào)制方式
mod_type = size(bit_to_mod,1);
switch mod_type
% BPSK調(diào)制
case 1
% 比特的映射關(guān)系: 0: -1, 1: 1
mapping_matrix = [ -1 1 ];
% 把輸入比特映射為符號(hào)
sym = mapping_matrix(bit_to_mod + 1);
% QPSK調(diào)制
case 2
% 比特的映射關(guān)系,00:-3/4*pi,01:3/4*pi,10: -1/4*pi,11: 1/4*pi
mapping_matrix = exp(j*[-3/4*pi 3/4*pi -1/4*pi 1/4*pi]);
index = [2 1]*bit_to_mod;
% 把輸入比特映射為符號(hào)
sym = mapping_matrix(index + 1);
% 8PSK調(diào)制
case 3
% 映射關(guān)系參見說明文檔
mapping_matrix = exp(j*[0 1/4*pi 3/4*pi 1/2*pi -1/4*pi -1/2*pi pi -3/4*pi ]);
index = [4 2 1]*bit_to_mod ;
sym = mapping_matrix(index + 1);
% 16QAM調(diào)制
case 4
% 映射關(guān)系參見說明文檔
m=1;
for k=-3:2:3
for l=-3:2:3
% 對(duì)符號(hào)能量進(jìn)行歸一化
mapping_vector(m) = (k+j*l)/sqrt(10);
m=m+1;
end;
end;
mapping_vector = mapping_vector([0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10]+1);
index = [8 4 2 1]*bit_to_mod ;
sym = mapping_vector(index + 1);
% 64QAM調(diào)制
case 6
% 映射關(guān)系參見說明文檔
m=1;
for k=-7:2:7
for l=-7:2:7
% 對(duì)符號(hào)能量進(jìn)行歸一化
mapping_vector(m) = (k+j*l)/sqrt(42);
m=m+1;
end;
end;
mapping_vector = mapping_vector(...
[[ 0 1 3 2 7 6 4 5]...
8+[ 0 1 3 2 7 6 4 5]...
24+[ 0 1 3 2 7 6 4 5]...
16+[ 0 1 3 2 7 6 4 5]...
56+[ 0 1 3 2 7 6 4 5]...
48+[ 0 1 3 2 7 6 4 5]...
32+[ 0 1 3 2 7 6 4 5]...
40+[ 0 1 3 2 7 6 4 5]]+1);
index = [32 16 8 4 2 1]*bit_to_mod ;
sym = mapping_vector(index + 1);
otherwise
error('調(diào)制方式有誤! 子程序modu_sym出錯(cuò)');
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -