multi_channel.m

来自「一种用于GMSK非线性调制的自适应均衡算法 」· M 代码 · 共 38 行

M
38
字号
   function [channel_Bpsk_output,N0]=channel_Bpsk(input,h,snr)
   len=length(input);
   lenh=length(h);
   
   H10(20*(lenh-1)+1)=0;
   %多径间隔为整数码元
   for i=1:lenh
       H10(20*(i-1)+1)=h(i);
   end
   
   %多径间隔为非整数码元 
   %H10(1)=h(1);
   %H10(27)=h(2);
   %H10(37)=h(3);
   
  %加多径
   mulpath_signal=conv(input,H10);
   %加噪声
   noise=randn(1,length(mulpath_signal));
   
   F1=[0 0.2539 0.2578 0.4531 0.4570 1.0000];   
   A=[0 0 1,1,0,0];
   bpf=firls(150,F1,A);
   
   noise=conv(noise,bpf);
   noise=noise(75+1:75+length(mulpath_signal));
   En=sum(noise.^2);
   Es=sum(mulpath_signal.^2);
   coef_noise=sqrt(3*Es/En/(10^(snr/10))/4);               % 4psk
   coef_noise=sqrt(3*Es/En/(10^(snr/10))/8);
   noise=coef_noise*noise;
   channel_Bpsk_output=mulpath_signal+noise;
   N0=sum(noise.^2)/(length(mulpath_signal)*3/20);
   
   
   
   

⌨️ 快捷键说明

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