multipathchannel.m

来自「此程序是OFDM(正交频分复用)多径信道的程序」· M 代码 · 共 19 行

M
19
字号
function [RecieveData,ChannelData] = MultipathChannel(SerialSample,CurrentEbNo,NumOfSymbol,MappingScheme,ChannelData,fd)
%
   [a,b] = sefade(real(SerialSample),imag(SerialSample),[0,5,10,18,20],[0,5,10,20,25],[0,0,0,0,0],[6,7,6,7,6],[1000,2000,3000,4000,5000],5,length(SerialSample),0.2*1.0e-6,fd,0);
   RecieveData = a+b.*j;
   [a,b] = sefade(real(ChannelData),imag(ChannelData),[0,5,10,18,20],[0,5,10,20,25],[0,0,0,0,0],[6,7,6,7,6],[1000,2000,3000,4000,5000],5,length(SerialSample),0.2*1.0e-6,fd,0);
   ChannelData = a+b.*j;
   if strcmp(MappingScheme,'BPSK') == 1
   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,CurrentEbNo,'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 + -
显示快捷键?