function [u]=JakesRayleigh(N0,D,fmax,M,Ts,fc)
N=4*N0+2;
f=zeros(1,N0+1);
for n=1:N0
f(n)=fmax*cos(2*pi*n/N);
end
f(N0+1)=fmax;
c1=zeros(1,N0+1);
for n=1:N0
c1(n)=D*(2/sqrt(N))*2*cos(pi*n/N);
end
c1(N0+1)=D*(2/sqrt(N))*sqrt(2)*cos(pi/4);
c2=zeros(1,N0+1);
for n=1:N0
c2(n)=D*(2/sqrt(N))*2*sin(pi*n/N);
end
c2(N0+1)=D*(2/sqrt(N))*sqrt(2)*sin(pi/4);
n=1:N0+1;
U=rand(size(n));
[x,k]=sort(U);
ph_i=2*pi*n(k)/(N0+1);
u1=zeros(1,M);
u2=zeros(1,M);
u=zeros(1,M);
k=0;
for t=0:Ts:(M-1)*Ts
w1=cos(2*pi*f*t+ph_i);
ut1=c1*w1.';
k=k+1;
u1(k)=ut1;
end
k=0;
for t=0:Ts:(M-1)*Ts
w2=cos(2*pi*f*t+ph_i);
ut2=c2*w2.';
k=k+1;
u2(k)=ut2;
end
u=u1-j*u2;