?? rs1do.m
字號:
function [tsd,sig]=rs1do(wave,nr,N,rL,kl,ku,us,g,tid,nsa,seed)
%rs1do computes the bistatic scattering coefficient for Gaussian rough surfaces
% with ocean spectrum.
%
% [tsd,sig]=rs1do(wave,nr,N,rL,kl,ku,us,g,tid,nsa,seed)
%
% INPUT:
%
% wave=wavelength
% nr=total number of surface realizations
% N=total number of sample points
% rL=rough surface length
% kl=lower wavenumber cutoff
% ku=upper wavenumber cutoff
% us=wind friction velocity
% g=tapering parameter for incident wave
% tid=incident angle in degree
% nsa=number of scattered angles from -90 deg to 90 deg
% seed=seed for random number generator
%
% OUTPUT:
%
% tsd=scattered angles in degree
% sig=bistatic scattering coef (MoM)
%
% REQUIRES: rsgeno.m for generation of rough surfaces with Ocean Spectrum
%
% -- Part of the Electromagnetic Wave MATLAB Library (EWML)--
% <http://www.emwave.com/>
% Original: C. O. Ao, 2000
tai=tid*pi/180;
k=2*pi/wave;
ti=tan(tai);
ci=cos(tai);
denom=1+2*ti^2;
denom=denom/(2*(k*g*ci)^2);
denom=8*pi*k*g*sqrt(pi/2)*ci*(1-denom);
euler=1.78107;
e=exp(1);
sig=zeros(nsa,1);
randn('seed',seed);
for ir=1:nr
fprintf('Processing realization %i ...\n',ir);
[f,df,x]=rsgeno(N,rL,kl,ku,us,seed);
seed=randn('seed');
b=incid(k,x,f,tai,g);
dx=rL/N;
[xm,xn]=meshgrid(x);
[fm,fn]=meshgrid(f);
arg=k*sqrt((xm-xn).^2+(fm-fn).^2);
for m=1:N
arg(m,m)=1;
end
A=dx*i*besselh(0,1,arg)/4;
for m=1:N
dl=sqrt(1+df(m)*df(m))*dx;
A(m,m)=(i/4)*dx*(1+(2*i/pi)*(log(euler*k*dl/4)-1));
end
b=b.';
u=A\b;
u=u.';
dan=180/(nsa+1);
for m=1:nsa
tsd(m)=-90+m*dan;
tas=tsd(m)*pi/180;
ss=sin(tas);
cs=cos(tas);
integ=exp(-i*k*(ss*x+f*cs));
integ=integ.*u*dx;
psis=sum(integ);
sige=abs(psis)^2/denom;
sig(m)=(sige+(ir-1)*sig(m))/ir;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% incid.m %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function b=incid(k,x,z,tai,g)
% generates the spatial tapered incident wave
ti=tan(tai);
ci=cos(tai);
si=sin(tai);
fac=((x+z*ti)/g).^2;
kg=(k*g*ci)^2;
w=(2*fac-1)/kg;
b=exp(i*k*(x*si-z*ci).*(1+w)-fac);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -