demodu_16qam.m
来自「关于MATLAB中实现802.16e的物理层仿真,希望对大家有帮助!」· M 代码 · 共 29 行
M
29 行
function output=demodu_16qam(input)
%16QAM demodulation
output=zeros(1,length(input)*4);
QAM_I=real(input)*sqrt(10);
QAM_Q=imag(input)*sqrt(10);
QAM_16_IQ=[3 2 0 1];
idx=find(QAM_I>3);
QAM_I(idx)=3;
idx=find(QAM_I<-3);
QAM_I(idx)=-3;
idx=find(QAM_Q>3);
QAM_Q(idx)=3;
idx=find(QAM_Q<-3);
QAM_Q(idx)=-3;
tmp=round((QAM_I+3)/2)+1;
output(1:4:end)=bitget(QAM_16_IQ(tmp),2);
output(2:4:end)=bitget(QAM_16_IQ(tmp),1);
tmp=round((QAM_Q+3)/2)+1;
output(3:4:end)=bitget(QAM_16_IQ(tmp),2);
output(4:4:end)=bitget(QAM_16_IQ(tmp),1);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?