2.5 Wave propagation in layered mediaDeveloping MatlabSubprograms of the main program layers.m read the input quantities and send
them to the computational kernel compute.m. Here, the basic
quantities (wavelength, e.g.) are computed first, using elementary relations:
lambda0 = 300/f*1000;
k0 = 2*pi/lambda0;
Z0 = 120*pi./sqrt(e);
K = k0*sqrt(e);
Lambda = 2*pi./k;
Second, reflection coefficient is computed for the central frequency in the m-file compu_v.m:
- First, characteristic impedance is determined
Z0 = 120*pi./sqrt(e);
- Second, impedance at the beginning of all
the layers is computed:
for i=(I):-1:1
Zvrch=Z0(i)*(cos(k(i)*l(i))+sqrt(-1)*Z0(i)/Z(i+1)*sin(k(i)*(l(i))));
Zspod=(Z0(i)/Z(i+1)*cos(k(i)*l(i))+sqrt(-1)*sin(k(i)*(l(i))));
Z(i)=Zvrch/Zspod;
end
- Next, reflection coefficient on the boundaries
can be determined:
for i=I:-1:1
ro(i)=(Z(i+1)-Z0(i))/(Z(i+1)+Z0(i));
end
- Finally, standing wave ratio in layers is
computed:
for i=I:-1:1
PSV(i)=(1+abs(ro(i)))/(1-abs(ro(i)));
end
Inside the layers, intensities of forward and backward
waves are computed the following way:
Edop(i)= Edop(i+1)*exp(-sqrt(-1)*k(cislo_vrstvy(i))*...
(pole_vzd(i)-pole_vzd(i+1)));
Eodr(i)= Eodr(i+1)*exp(sqrt(-1)*k(cislo_vrstvy(i))*...
(pole_vzd(i)-pole_vzd(i+1)));
The total electric-field intensity is computed by
adding intensities of forward and backward waves:
E(i)=Edop(i)+Eodr(i);
Transmitting the boundary between two layers:
Edop(i)=E(i)/(1+ro(cislo_vrstvy(i)));
Eodr(i)=ro(cislo_vrstvy(i))/(1+ro(cislo_vrstvy(i)))*E(i);
E(i)=Edop(i)+Eodr(i);
Magnetic-field intensity can be computed as:
H(i)=(Edop(i)-Eodr(i))/Z0(cislo_vrstvy(i));
Transmittance is given then by the relation:
T=1-(abs(ro(1)))^2;
Frequency course of standing wave ratio, transmittance
and reflection coefficient is computed using the above-given relations.
|