📄 qam16_modulate.m
字号:
function TxChannelSymbols= QAM16_modulate(TxChannelBits) ;
numBitsPerSymbol = 4 ;
numChannelSymbols = length(TxChannelBits)/numBitsPerSymbol ;
TxChannelSymbols=zeros(1,numChannelSymbols);
for count = 1 : numChannelSymbols
BinarySymbol(1:numBitsPerSymbol) = ...
TxChannelBits(count*numBitsPerSymbol - numBitsPerSymbol + 1 : count*numBitsPerSymbol );
if BinarySymbol == [ 0 0 0 0 ]
TxChannelSymbols(count) = (-3 -3*j)/sqrt(10) ;
elseif BinarySymbol == [ 0 0 0 1 ]
TxChannelSymbols(count) =(-3 -1*j)/sqrt(10) ;
elseif BinarySymbol == [ 0 0 1 1 ]
TxChannelSymbols(count) =(-3 + 1*j)/sqrt(10) ;
elseif BinarySymbol == [ 0 0 1 0 ]
TxChannelSymbols(count) = (-3 + 3*j)/sqrt(10) ;
elseif BinarySymbol == [ 0 1 0 0 ]
TxChannelSymbols(count) = (-1 -3*j)/sqrt(10) ;
elseif BinarySymbol == [ 0 1 0 1 ]
TxChannelSymbols(count) = (-1 -1*j)/sqrt(10) ;
elseif BinarySymbol == [ 0 1 1 1 ]
TxChannelSymbols(count) = (-1 +1*j)/sqrt(10) ;
elseif BinarySymbol == [ 0 1 1 0 ]
TxChannelSymbols(count) = (-1 +3*j)/sqrt(10) ;
elseif BinarySymbol == [ 1 1 0 0 ]
TxChannelSymbols(count) = (1 -3*j)/sqrt(10) ;
elseif BinarySymbol == [ 1 1 0 1 ]
TxChannelSymbols(count) = (1 -1*j)/sqrt(10) ;
elseif BinarySymbol == [ 1 1 1 1 ]
TxChannelSymbols(count) = (1 +1*j)/sqrt(10) ;
elseif BinarySymbol == [ 1 1 1 0 ]
TxChannelSymbols(count) =(1 +3*j)/sqrt(10) ;
elseif BinarySymbol == [ 1 0 0 0 ]
TxChannelSymbols(count) = ( 3 -3*j)/sqrt(10) ;
elseif BinarySymbol == [ 1 0 0 1 ]
TxChannelSymbols(count) =(3 -1*j)/sqrt(10) ;
elseif BinarySymbol == [ 1 0 1 1 ]
TxChannelSymbols(count) = (3 +1*j)/sqrt(10) ;
elseif BinarySymbol == [ 1 0 1 0 ]
TxChannelSymbols(count) = ( 3 +3*j)/sqrt(10) ;
end % ending the if
end % ending the for loop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -