msegauss.m

来自「无线移动信道的matlab源码 用于对无线通信信道的编程实现」· M 代码 · 共 44 行

M
44
字号
Ni=[1 2 3 4 5 10 15 20 25 30 35 40 45 50];
Euu=zeros(1,length(Ni));
Euu1=zeros(1,length(Ni));
Euu2=zeros(1,length(Ni));
for i=1:length(Ni)
    N=100;f_max=91;sigma_0_2=1;N_i=Ni(i);PLOT=1;
    f_c=sqrt(log(2))*f_max;kappa_c=f_max/f_c;
    F_list=[];
    save F_list F_list
    tau_max=N_i/(2*kappa_c*f_c);
    tau=linspace(0,tau_max,N);
    r_mm=sigma_0_2*exp(-(pi*f_c/sqrt(log(2))*tau).^2);
    f_i_n=zeros(N_i,1);f_i_n1=zeros(N_i,1);f_i_n2=zeros(N_i,1);
    c_i_n=sqrt(sigma_0_2)*sqrt(2/N_i)*ones(N_i,1);
    for ii=1:N_i
        f_i_n(ii)=f_c/sqrt(log(2))*erfinv((2*ii-1)/(2*N_i));
        f_i_n2(ii)=f_c/sqrt(log(2))*erfinv(ii/N-i);
    end
    f_i_n1=f_i_n;
    f_i_n2(N_i)= f_c/sqrt(log(2))*erfinv(0.9999999); 
    save data r_mm tau N_i c_i_n  PLOT
    xo=f_i_n;
    options = optimset('MaxIter',10);
    [x,fval]=fminimax('fun_Gauss1',xo,[],[],[],[],[],[],[],options);
    load x
    f_i_n=sort(abs(x));
    r=acf_mue(f_i_n,c_i_n,tau);
    r1=acf_mue(f_i_n1,c_i_n,tau);
    r2=acf_mue(f_i_n2,c_i_n,tau);
    Euu(i)=mse(abs(r_mm-r).^2);
%     Euu1(i)=mse(abs(r_mm-r1).^2);  %MEDS
    Euu2(i)=mse(abs(r_mm-r2).^2);  %MEA

end
%  plot(Ni,Euu,'*',Ni,Euu1,'+'Ni,Euu2,'o'); 
% plot(Ni,Euu,'*',Ni,Euu2,'+');
plot(Ni,Euu,'*',Ni,Euu2,'+');

 xlabel('Ni');
   ylabel('Erui');
   legend('minimax','MEA');
legend('minimax','MEA');

⌨️ 快捷键说明

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