www.gusucode.com > MPSK,误码率性能仿真源码程序 > MPSK,误码率性能仿真源码程序/IET_MATLAB/functions/min_Phi.m

    function out=min_Phi(P0,A2,N0,M,N,fsr,frd,ch_dis,sig_1,sig_2)

sigman2=(1+A2*sig_2)*N0;

% Double-Rayleigh fading autocorrelation function, Jakes model
k=0:ch_dis:(N-1)*ch_dis;
phi=A2*P0*sig_1*sig_2*besselj(0,2*pi*fsr*k).*besselj(0,2*pi*frd*k);

% Correlation matrix C=E{hh'}+sigma2*I is a Toeplitz matrix
Rh=toeplitz(phi)+sigman2*eye(N);


   
Ax=diag(ones(1,N));
Axp=diag([ones(1,N-1),exp(1i*2*pi/M)]);

Q=-(Ax*Rh^(-1)*Ax'-Axp*Rh^(-1)*Axp');
Cy=Ax*Rh*Ax';
    
cc=.01:.01:.5;
kk=0;
for c=.01:.01:.5
    kk=kk+1;
    s=c;
    phi_d(kk)=1/det(eye(N)+s*Cy*Q);
end
    
[ind1,ind2]=min(phi_d);
out=cc(ind2);

end