qam16.m
来自「alamouti結合ofdm系統下 做的仿真系統。 提供大家討論使用 」· M 代码 · 共 56 行
M
56 行
function [Ichannel, Qchannel] = qam16(b)
% Done !!!
% d = qam16(b)
% Input:
% b = bits {0, 1} to be mapped into 16-QAM symbols
%
% Output:
% I-channel and Q-channel
% Gray mapping
% 0010 0110 1110 1010
% 0011 0111 1111 1011
% 0001 0101 1101 1001
% 0000 0100 1100 1000
j = sqrt(-1);
outlen = length(b)/4;
%d = zeros(1, outlen);
Ichannel = zeros(1, outlen);
Qchannel = zeros(1, outlen);
%int Ichannel, Qchannel;
%int
%I-channel
k = 1;
for i = 1:4:length(b)
if b(i) == 0
if b(i+1) == 0
Ichannel(k) = -3;
else
Ichannel(k) = -1;
end
else
if b(i+1) == 0
Ichannel(k) = +3;
else
Ichannel(k) = +1;
end
end
%% Q-channel
if b(i+2) == 0
if b(i+3) == 0
Qchannel(k) = -3;
else
Qchannel(k) = -1;
end
else
if b(i+3) == 0
Qchannel(k) = +3;
else
Qchannel(k) = +1;
end
end
% d(k) = Ichannel(k) + j*Qchannel(k);
k = k+1;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?