Home > atmlab > physics > fresnel.m

fresnel

PURPOSE ^

FRESNEL Fresnel formulas for surface reflection

SYNOPSIS ^

function [Rv,Rh,theta2] = fresnel(n1,n2,theta1)

DESCRIPTION ^

 FRESNEL   Fresnel formulas for surface reflection

    The amplitude reflection coefficients for a flat surface can also be
    calculated (Rv and Rh). Note that these are the coefficients for the
    amplitude of the wave. The power reflection coefficients are
    obtained as

       r = abs(R)^2
    
    The expressions used are taken from Eq. 3.31 in "Physical principles of
    remote sensing", by W.G. Rees, with the simplification that that relative
    magnetic permeability is 1 for both involved media. The theta2 angle is
    taken from snell.m.

    The refractive index of medium 2  (n2) can be complex. The refractive 
    index and the dielectric constant, epsilon, are releated as

      n = sqrt(epsilon)

    No expression for theta2 that allows *n1* to be complex has been found.

    If theta2 is found to be complex, it is returned as NaN. This can happen
    when n1 > n2, and corresponds to a total reflection and there is no
    transmitted part. Rv and Rh are here set to 1.

 FORMAT   [Rv,Rh,theta2] = fresnel(n1,n2,theta1)
        
 OUT   Rv       Reflection coefficient for vertical polarisation.
       Rh       Reflection coefficient for horisontal polarisation.
       theta2   Angle for transmitted part.
       
 IN    n1       Refractive index for medium of incoming radiation.
       n2       Refractive index for reflecting medium.
       theta1   Angle between surface normal and incoming radiation.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

DOWNLOAD ^

fresnel.m

SOURCE CODE ^

0001 % FRESNEL   Fresnel formulas for surface reflection
0002 %
0003 %    The amplitude reflection coefficients for a flat surface can also be
0004 %    calculated (Rv and Rh). Note that these are the coefficients for the
0005 %    amplitude of the wave. The power reflection coefficients are
0006 %    obtained as
0007 %
0008 %       r = abs(R)^2
0009 %
0010 %    The expressions used are taken from Eq. 3.31 in "Physical principles of
0011 %    remote sensing", by W.G. Rees, with the simplification that that relative
0012 %    magnetic permeability is 1 for both involved media. The theta2 angle is
0013 %    taken from snell.m.
0014 %
0015 %    The refractive index of medium 2  (n2) can be complex. The refractive
0016 %    index and the dielectric constant, epsilon, are releated as
0017 %
0018 %      n = sqrt(epsilon)
0019 %
0020 %    No expression for theta2 that allows *n1* to be complex has been found.
0021 %
0022 %    If theta2 is found to be complex, it is returned as NaN. This can happen
0023 %    when n1 > n2, and corresponds to a total reflection and there is no
0024 %    transmitted part. Rv and Rh are here set to 1.
0025 %
0026 % FORMAT   [Rv,Rh,theta2] = fresnel(n1,n2,theta1)
0027 %
0028 % OUT   Rv       Reflection coefficient for vertical polarisation.
0029 %       Rh       Reflection coefficient for horisontal polarisation.
0030 %       theta2   Angle for transmitted part.
0031 %
0032 % IN    n1       Refractive index for medium of incoming radiation.
0033 %       n2       Refractive index for reflecting medium.
0034 %       theta1   Angle between surface normal and incoming radiation.
0035 
0036 % 2004-04-30   Created by Patrick Eriksson.
0037 
0038 
0039 function [Rv,Rh,theta2] = fresnel(n1,n2,theta1)
0040 %                                                                           %&%
0041 rqre_nargin( 3, nargin );                                                   %&%
0042 % Checks done in snell.m are not repeated                                   %&%
0043 if imag(n1)<0 | imag(n2)<0                                                  %&%
0044   error( 'The imaginary part of *n1* and *n2* can not be negative.' );      %&%
0045 end                                                                         %&%
0046 
0047 
0048 theta2    = snell( n1, n2, theta1 );
0049 
0050 DEG2RAD   = constants('DEG2RAD');
0051 
0052 costheta1 = cos( DEG2RAD * theta1 );
0053 costheta2 = cos( DEG2RAD * theta2 );
0054 
0055 Rv        = (n2.*costheta1-n1.*costheta2)./(n2.*costheta1+n1.*costheta2);
0056 Rh        = (n1.*costheta1-n2.*costheta2)./(n1.*costheta1+n2.*costheta2);

Generated on Mon 15-Sep-2014 13:31:28 by m2html © 2005