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 + -
显示快捷键?