clc;
clear all;
sigma=5;
epslunr=70;
lamda=10;%单位是m
kkk=2*pi/lamda;
X=60*lamda*sigma;
beta=pi/2-atan(((epslunr-2)*epslunr/X+X)/((epslunr+1)+(epslunr-1)*((epslunr/X)^2)));
d=00;
%p=pi*d*(sqrt((epslunr-1)^2+X^2))/(lamda*(epslunr^2+X^2));
dd=1:100000:1000001;
for i=1:100000:1000001
d=i;
p=pi*d*(sqrt((epslunr-1)^2+X^2))/(lamda*(epslunr^2+X^2));
if p<144
%**************************************************************************
ReF1=1+sqrt(pi*p)*exp(-(p*cos(beta)))*sin(p*sin(beta)-beta/2);
%ReF1=1+sqrt(pi*pp(i))*exp(-(pp(i)*cos(beta)))*sin(pp(i)*sin(beta)-beta/2);
ReF2=0;
ImF1=sqrt(pi*p)*exp(-(p*cos(beta)))*cos(p*sin(beta)-beta/2);
%ImF1=sqrt(pi*pp(i))*exp(-(pp(i)*cos(beta)))*cos(pp(i)*sin(beta)-beta/2);
ImF2=0;
nn=100;
for n=1:1:nn
for k=1:n
p1(k)=((-1)^k)*((2*p)^k)*cos(k*beta)/factorial(factorial(2*k-1));
p2(k)=((-1)^k)*((2*p)^k)*sin(k*beta)/factorial(factorial(2*k-1));
end
ReF2=sum(p1);
ImF2=sum(p2);
%ReF2=ReF2+((-1)^n)*((2*p)^n)*cos(n*beta)/factorial(factorial(2*n-1));
%ReF2=ReF2+(-1)^n*(2*pp(i))^n*cos(n*beta)/dfac(2*n-1);
%ImF2=ImF2+((-1)^n)*((2*p)^n)*sin(n*beta)/factorial(factorial(2*n-1));
%ImF2=ImF2+(-1)^n*(2*pp(i))^n*sin(n*beta)/dfac(2*n-1);
end
ReF=ReF1+ReF2;
ImF=ImF1+ImF2;
%==========================================================================
else
ReF=0;ImF=0;disp('yunxingdaozhele');disp('yunxingdaozhele');disp('yunxingdaozhele');disp('yunxingdaozhele');disp('yunxingdaozhele');disp('yunxingdaozhele');
kk=5;
for k=1:1:kk
for n=1:k
P1(n)=factorial(factorial(2*n-1))*cos(n*beta)/(2*p)^n;
%ReF=dfac(2*n-1)*cos(n*beta)/(2*pp(i))^n;
P2(n)=factorial(factorial(2*n-1))*sin(n*beta)/(2*p)^n;
%ImF=dfac(2*n-1)*sin(n*beta)/(2*pp(i))^n;
end
ReF=sum(P1);
ImF=sum(P2);
end
end
W=complex(ReF-1/(kkk^2*d^2),ImF+1/(kkk*d));disp('k');disp(k);
%W=complex(ReF,ImF);
W1=abs(W);
%i=(i-1)/100;
E0(i)=20*log10((3*10^5*W1)/d);
disp(d);
%disp(i);disp(dd);
end
%disp(dd);
d=dd';
E0=E0';
i=1:100000:1000001;
E00=E0([i]);disp(E00);
A=[d E00];
disp(A);
save 'a.txt' A -ASCII;
%end
plot(d,E00);
%plot(D/1000,E)
%grid on
%set(gca,'xscale','log')
%set(gca,'yscale','log')