?? m_qam.m
字號:
end;
end;
%Decision-Circuit-Q 8-level
for i=1:1:tsymbol
LcompQ(i) = LdetQ(3*tsampling*(2*i-1));
if (LcompQ(i) < -6)
recLsymbolQ(((i-1)*6*tsampling+1):(i*6*tsampling)) = -7*ones(1,6*tsampling);
end;
if ((LcompQ(i) >= -6) & (LcompQ(i) < -4))
recLsymbolQ(((i-1)*6*tsampling+1):(i*6*tsampling)) = -5*ones(1,6*tsampling);
end;
if ((LcompQ(i) >= -4) & (LcompQ(i) < -2))
recLsymbolQ(((i-1)*6*tsampling+1):(i*6*tsampling)) = -3*ones(1,6*tsampling);
end;
if ((LcompQ(i) >= -2) & (LcompQ(i) < 0))
recLsymbolQ(((i-1)*6*tsampling+1):(i*6*tsampling)) = -1*ones(1,6*tsampling);
end;
if ((LcompQ(i) >= 0) & (LcompQ(i) < 2))
recLsymbolQ(((i-1)*6*tsampling+1):(i*6*tsampling)) = 1*ones(1,6*tsampling);
end;
if ((LcompQ(i) >= 2) & (LcompQ(i) < 4))
recLsymbolQ(((i-1)*6*tsampling+1):(i*6*tsampling)) = 3*ones(1,6*tsampling);
end;
if ((LcompQ(i) >= 4) & (LcompQ(i) < 6))
recLsymbolQ(((i-1)*6*tsampling+1):(i*6*tsampling)) = 5*ones(1,6*tsampling);
end;
if ((LcompQ(i) >= 6))
recLsymbolQ(((i-1)*6*tsampling+1):(i*6*tsampling)) = 7*ones(1,6*tsampling);
end;
end;
%8-level symbol to 2-level tribit in Channel-I
for i=1:1:tsymbol
III(i) = recLsymbolI(6*tsampling*(i-1)+1);
if III(i) == -7
rxtribitI((6*i-6)*tsampling+1:(6*i-4)*tsampling) = ones(1,2*tsampling);
rxtribitI((6*i-4)*tsampling+1:(6*i-2)*tsampling) = ones(1,2*tsampling);
rxtribitI((6*i-2)*tsampling+1:(6*i-0)*tsampling) = ones(1,2*tsampling);
end;
if III(i) == -5
rxtribitI((6*i-6)*tsampling+1:(6*i-4)*tsampling) = ones(1,2*tsampling);
rxtribitI((6*i-4)*tsampling+1:(6*i-2)*tsampling) = ones(1,2*tsampling);
rxtribitI((6*i-2)*tsampling+1:(6*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == -3
rxtribitI((6*i-6)*tsampling+1:(6*i-4)*tsampling) = ones(1,2*tsampling);
rxtribitI((6*i-4)*tsampling+1:(6*i-2)*tsampling) = zeros(1,2*tsampling);
rxtribitI((6*i-2)*tsampling+1:(6*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == -1
rxtribitI((6*i-6)*tsampling+1:(6*i-4)*tsampling) = ones(1,2*tsampling);
rxtribitI((6*i-4)*tsampling+1:(6*i-2)*tsampling) = zeros(1,2*tsampling);
rxtribitI((6*i-2)*tsampling+1:(6*i-0)*tsampling) = ones(1,2*tsampling);
end;
if III(i) == 1
rxtribitI((6*i-6)*tsampling+1:(6*i-4)*tsampling) = zeros(1,2*tsampling);
rxtribitI((6*i-4)*tsampling+1:(6*i-2)*tsampling) = zeros(1,2*tsampling);
rxtribitI((6*i-2)*tsampling+1:(6*i-0)*tsampling) = ones(1,2*tsampling);
end;
if III(i) == 3
rxtribitI((6*i-6)*tsampling+1:(6*i-4)*tsampling) = zeros(1,2*tsampling);
rxtribitI((6*i-4)*tsampling+1:(6*i-2)*tsampling) = zeros(1,2*tsampling);
rxtribitI((6*i-2)*tsampling+1:(6*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == 5
rxtribitI((6*i-6)*tsampling+1:(6*i-4)*tsampling) = zeros(1,2*tsampling);
rxtribitI((6*i-4)*tsampling+1:(6*i-2)*tsampling) = ones(1,2*tsampling);
rxtribitI((6*i-2)*tsampling+1:(6*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == 7
rxtribitI((6*i-6)*tsampling+1:(6*i-4)*tsampling) = zeros(1,2*tsampling);
rxtribitI((6*i-4)*tsampling+1:(6*i-2)*tsampling) = ones(1,2*tsampling);
rxtribitI((6*i-2)*tsampling+1:(6*i-0)*tsampling) = ones(1,2*tsampling);
end;
end;
clear i;
%8-level symbol to 2-level tribit in Channel-Q
for i=1:1:tsymbol
QQQ(i) = recLsymbolQ(6*tsampling*(i-1)+1);
if QQQ(i) == -7
rxtribitQ((6*i-6)*tsampling+1:(6*i-4)*tsampling) = ones(1,2*tsampling);
rxtribitQ((6*i-4)*tsampling+1:(6*i-2)*tsampling) = ones(1,2*tsampling);
rxtribitQ((6*i-2)*tsampling+1:(6*i-0)*tsampling) = ones(1,2*tsampling);
end;
if QQQ(i) == -5
rxtribitQ((6*i-6)*tsampling+1:(6*i-4)*tsampling) = ones(1,2*tsampling);
rxtribitQ((6*i-4)*tsampling+1:(6*i-2)*tsampling) = ones(1,2*tsampling);
rxtribitQ((6*i-2)*tsampling+1:(6*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if QQQ(i) == -3
rxtribitQ((6*i-6)*tsampling+1:(6*i-4)*tsampling) = ones(1,2*tsampling);
rxtribitQ((6*i-4)*tsampling+1:(6*i-2)*tsampling) = zeros(1,2*tsampling);
rxtribitQ((6*i-2)*tsampling+1:(6*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if QQQ(i) == -1
rxtribitQ((6*i-6)*tsampling+1:(6*i-4)*tsampling) = ones(1,2*tsampling);
rxtribitQ((6*i-4)*tsampling+1:(6*i-2)*tsampling) = zeros(1,2*tsampling);
rxtribitQ((6*i-2)*tsampling+1:(6*i-0)*tsampling) = ones(1,2*tsampling);
end;
if QQQ(i) == 1
rxtribitQ((6*i-6)*tsampling+1:(6*i-4)*tsampling) = zeros(1,2*tsampling);
rxtribitQ((6*i-4)*tsampling+1:(6*i-2)*tsampling) = zeros(1,2*tsampling);
rxtribitQ((6*i-2)*tsampling+1:(6*i-0)*tsampling) = ones(1,2*tsampling);
end;
if QQQ(i) == 3
rxtribitQ((6*i-6)*tsampling+1:(6*i-4)*tsampling) = zeros(1,2*tsampling);
rxtribitQ((6*i-4)*tsampling+1:(6*i-2)*tsampling) = zeros(1,2*tsampling);
rxtribitQ((6*i-2)*tsampling+1:(6*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if QQQ(i) == 5
rxtribitQ((6*i-6)*tsampling+1:(6*i-4)*tsampling) = zeros(1,2*tsampling);
rxtribitQ((6*i-4)*tsampling+1:(6*i-2)*tsampling) = ones(1,2*tsampling);
rxtribitQ((6*i-2)*tsampling+1:(6*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if QQQ(i) == 7
rxtribitQ((6*i-6)*tsampling+1:(6*i-4)*tsampling) = zeros(1,2*tsampling);
rxtribitQ((6*i-4)*tsampling+1:(6*i-2)*tsampling) = ones(1,2*tsampling);
rxtribitQ((6*i-2)*tsampling+1:(6*i-0)*tsampling) = ones(1,2*tsampling);
end;
end;
clear i;
elseif orde == 3
%Decision-Circuit-I 16-level
for i=1:1:tsymbol
LcompI(i) = LdetI(4*tsampling*(2*i-1));
if (LcompI(i) < -14)
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = -15*ones(1,8*tsampling);
end;
if ((LcompI(i) >= -14) & (LcompI(i) < -12))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = -13*ones(1,8*tsampling);
end;
if ((LcompI(i) >= -12) & (LcompI(i) < -10))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = -11*ones(1,8*tsampling);
end;
if ((LcompI(i) >= -10) & (LcompI(i) < -8))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = -9*ones(1,8*tsampling);
end;
if ((LcompI(i) >= -8) & (LcompI(i) < -6))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = -7*ones(1,8*tsampling);
end;
if ((LcompI(i) >= -6) & (LcompI(i) < -4))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = -5*ones(1,8*tsampling);
end;
if ((LcompI(i) >= -4) & (LcompI(i) < -2))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = -3*ones(1,8*tsampling);
end;
if ((LcompI(i) >= -2) & (LcompI(i) < 0))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = -1*ones(1,8*tsampling);
end;
if ((LcompI(i) >= 0) & (LcompI(i) < 2))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = 1*ones(1,8*tsampling);
end;
if ((LcompI(i) >= 2) & (LcompI(i) < 4))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = 3*ones(1,8*tsampling);
end;
if ((LcompI(i) >= 4) & (LcompI(i) < 6))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = 5*ones(1,8*tsampling);
end;
if ((LcompI(i) >= 6) & (LcompI(i) < 8))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = 7*ones(1,8*tsampling);
end;
if ((LcompI(i) >= 8) & (LcompI(i) < 10))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = 9*ones(1,8*tsampling);
end;
if ((LcompI(i) >= 10) & (LcompI(i) < 12))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = 11*ones(1,8*tsampling);
end;
if ((LcompI(i) >= 12) & (LcompI(i) < 14))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = 13*ones(1,8*tsampling);
end;
if ((LcompI(i) >= 14))
recLsymbolI(((i-1)*8*tsampling+1):(i*8*tsampling)) = 15*ones(1,8*tsampling);
end;
end;
%Decision-Circuit-Q 16-level
for i=1:1:tsymbol
LcompQ(i) = LdetQ(4*tsampling*(2*i-1));
if (LcompQ(i) < -14)
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = -15*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= -14) & (LcompQ(i) < -12))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = -13*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= -12) & (LcompQ(i) < -10))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = -11*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= -10) & (LcompQ(i) < -8))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = -9*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= -8) & (LcompQ(i) < -6))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = -7*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= -6) & (LcompQ(i) < -4))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = -5*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= -4) & (LcompQ(i) < -2))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = -3*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= -2) & (LcompQ(i) < 0))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = -1*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= 0) & (LcompQ(i) < 2))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = 1*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= 2) & (LcompQ(i) < 4))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = 3*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= 4) & (LcompQ(i) < 6))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = 5*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= 6) & (LcompQ(i) < 8))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = 7*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= 8) & (LcompQ(i) < 10))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = 9*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= 10) & (LcompQ(i) < 12))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = 11*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= 12) & (LcompQ(i) < 14))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = 13*ones(1,8*tsampling);
end;
if ((LcompQ(i) >= 14))
recLsymbolQ(((i-1)*8*tsampling+1):(i*8*tsampling)) = 15*ones(1,8*tsampling);
end;
end;
%16-level symbol to 2-level fourbit in Channel-I
for i=1:1:tsymbol
III(i) = recLsymbolI(8*tsampling*(i-1)+1);
if III(i) == -15
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = ones(1,2*tsampling);
end;
if III(i) == -13
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == -11
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == -9
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = ones(1,2*tsampling);
end;
if III(i) == -7
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = ones(1,2*tsampling);
end;
if III(i) == -5
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == -3
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == -1
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = ones(1,2*tsampling);
end;
if III(i) == 1
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = ones(1,2*tsampling);
end;
if III(i) == 3
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = ones(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == 5
rxfourbitI((8*i-8)*tsampling+1:(8*i-6)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-6)*tsampling+1:(8*i-4)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-4)*tsampling+1:(8*i-2)*tsampling) = zeros(1,2*tsampling);
rxfourbitI((8*i-2)*tsampling+1:(8*i-0)*tsampling) = zeros(1,2*tsampling);
end;
if III(i) == 7
rxfourbitI((8*i-8)*
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -