Tuesday 25 October 2016

optics - Modeling the free space propagation of laser beams using Fourier transforms


I am trying to model the propagation of a laser beam in free space. I have an initial field $E_{in}(x,z=0)$ (a Gaussian beam) and need to find the fields at other points on the optical axis $E(x,z=d)$ for an arbitrary distance $d$.


By reading through a couple of texts, this is the approach that I have right now:



  • Compute the Fourier transform of the initial field: $\hat{E}(k_x) = \mathscr{F}[E_{in}(x,z=0)]$

  • Multiply $\hat{E}$ by the the free space transfer function $e^{i k_z z0}$ where $k_z = \sqrt{k^2 - k_x^2}$ to propagate it by a distance $z0$ along the optical axis.


  • Inverse Fourier transform back to obtain $E(x,z=z0)$


This method makes sense to me. I think we are imagining the field as an infinite collection of plane waves and through the Fourier transform, we are essentially moving each of these plane waves by propagating through each of their respective wave numbers. I understand that the ABCD matrix method might be an easier technique, but I need a method that works for arbitrary beams and not just Gaussian beams.


I am implementing this on Mathematica at the moment and the resulting fields that I am getting do not match my expectations from Gaussian beam propagation (they do not follow the trends of spherical wave fronts). I would appreciate any help in figuring out if this is the right approach. I would also appreciate any help in finding other techniques that might be useful for this modeling.


Thanks!



Answer



The problem with using the actual free space Fourier propagator is aliasing.


I learned this through trial and error as well, after a few wavelengths the numerical model really begins to behave poorly, probably due to aliasing and roundoff error.


The Fresnel approximation actually does a better job if you are anywhere further than the very near field region, it is numerically more stable...I'm sure you could write software that corrects the errors, but just use Fresnel, it is very accurate...


$$\newcommand{\Four}{\mbox{$\mathcal{F}$}} u_z(\mathbf{r}) \approx \frac{e^{ikz}}{i\lambda z}e^{i\pi\frac{\mathbf{r}^2}{\lambda z}}\Four\left\{ u_0(\mathbf{r}_0) e^{i\pi\mathbf{r}_0^2/\lambda z}\right\}_{\mathbf{\rho} = \frac{\mathbf{r}}{\lambda z}}$$



where the following constraint must be met : $$z^3 \gg \|\mathbf{r}-\mathbf{r}_0\|^4/\lambda$$ and $\mathbf{r}:=(x,y)$; the coordinates in the plane at your particular $z$, perpendicular to the $z$-axis, $\mathbf{r}_0:=(x_0,y_0)$; the coordinates in the plane at your initial field position $z_0 = 0$, perpendicular to the $z$-axis.


Fraunhofer (far-field) is valid when $$z \gg \|\mathbf{r}-\mathbf{r}_0\|^2/\lambda$$


No comments:

Post a Comment

Understanding Stagnation point in pitot fluid

What is stagnation point in fluid mechanics. At the open end of the pitot tube the velocity of the fluid becomes zero.But that should result...