📄 multipathchannel.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -