Calculation of the fn-coefficients
About this example
This example shows how to evaluate the fn-coefficients required to evaluate the interaction-contribution manually as well as with the rt1 python package.
The ground is hereby defined as an ideally rough (e.g. Lambertian surface) and the covering layer is assumed to consist of Rayleigh-particles.
Definition of the surface and volume scattering distribution functions:
The scattering distribution function of a Lambertian surface (e.g. an isotropic BRDF) is given by:
\(BRDF(\theta, \phi, \theta_{ex},\phi_{ex}) = \frac{R_0}{\pi}\)
where \(R_0\) denotes the diffuse albedo of the surface.
For the volume-scattering layer, the used Rayleigh scattering distribution function is given by:
\(p(\theta, \phi, \theta_{ex},\phi_{ex}) = \frac{3}{16\pi} (1+\cos(\Theta)^2)\)
where \(\cos(\Theta)\) denotes the cosine of the scattering-angle which is defined as:
\(\qquad \cos(\Theta) = \cos(\theta)\cos(\theta_{ex}) + \sin(\theta)\sin(\theta_{ex})\cos(\phi - \phi_{ex})\)
Manual evaluation of the fn-coefficients:
Note
To be consistent with the definitions used in the rt1-model package, the incident zenizh-angle \(\theta_0\) is introduced as: \(\theta_0=\pi - \theta\), and the shorthand-notation \(\mu_x = \cos(\theta_x)\) is introduced.
\(INT := \int_0^{2\pi} p(\theta_0, \phi_0, \theta,\phi) * BRDF(\pi-\theta, \phi, \theta_{ex},\phi_{ex}) d\phi\)
\(\phantom{INT} = \frac{3 R_0}{16 \pi^2} \int_{0}^{2\pi} (1+[\cos(\theta_0)\cos(\theta) + \sin(\theta_0)\sin(\theta)\cos(\phi_0 - \phi)]^2) d\phi\)
\(\phantom{INT} = \frac{3 R_0}{16 \pi^2} \int_0^{2\pi} (1+ \mu_0^2 \mu^2 + 2 \mu_0 \mu \sin(\theta_0) \sin(\theta) \cos(\phi_0 - \phi) + (1-\mu_0)^2(1-\mu)^2 \cos(\phi_0 - \phi)^2 d\phi\)
The above integral can now easily be solved by noticing:
\(\int_0^{2\pi} \cos(\phi_0 - \phi)^n d\phi = \left\lbrace \begin{matrix} 2 \pi & \textrm{for } n=0 \\ 0 & \textrm{for } n=1 \\ \pi & \textrm{for } n=2 \end{matrix} \right.\)
Inserting the above solution and using some algebraic manipulations we therefore find:
\(INT = \frac{3 R_0}{16\pi} \Big[ (3-\mu_0^2) + (3 \mu_0 -1) \mu^2 \Big] := R_0 ~\sum_{n=0}^2 f_n \, \mu^n\)
And so the fn coefficients are given by:
Evaluation of the fn-coefficients using the RT1-module
Show code cell source
from rt1_model import RT1, volume, surface
import sympy as sp
# enable printing sympy equations via latex-equation-rendering
sp.init_printing(use_latex='mathjax')
Definition of volume and surface scattering distributions
SRF = surface.Isotropic()
V = volume.Rayleigh()
R = RT1(V=V, SRF=SRF)
R.set_monostatic(p_0=0)
Check the evaluated fn-coefficients
sp.sympify(R._fn)
Apply some simplifications to see that the coefficients are really equal
[sp.trigsimp(fi).xreplace({sp.sin('theta_0')**2 : 1.- sp.Symbol("mu_0")**2}).nsimplify().simplify() for fi in R._fn]