multipathchannel.m

来自「一个完整的多径信道的MATLAB程序」· M 代码 · 共 18 行

M
18
字号
function RecieveData = MultipathChannel(SerialSample,CurrentEbNo,hn,NumOfSymbol,MappingScheme)
%
   RecieveData = conv(SerialSample,hn);
   RecieveData = RecieveData(1:length(SerialSample));
   if strcmp(MappingScheme,'BPSK') == 1
      CurrentEsNo = CurrentEbNo;
   elseif strcmp(MappingScheme,'QAM') == 1
      CurrentEsNo = CurrentEbNo+10*log10(2);
   elseif strcmp(MappingScheme,'8PSK') == 1
      CurrentEsNo = CurrentEbNo+10*log10(3);       
   elseif strcmp(MappingScheme,'16QAM') == 1
      CurrentEsNo = CurrentEbNo+10*log10(4);       
   end
   
   RecieveData = awgn(RecieveData,CurrentEsNo,'measured');
   
   %加入10*log10(N)原因: paramenter snr in AWGN is Es/N0 , but we just give Eb/N0 in simulation. So if
%N bits are carried in one sample , we need calculate Es/N0 using Eb/n0.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?