# what is the probability distribution for the angle of an approximate laserbeam

I'm trying to simulate the light distribution characteristics from a Gaussian laser beam, but having difficulty with the angular distribution.

I need to generate a large number of points on an x/y plane, along with pointing vectors down the z-axis, such that their aggregate approximates the power distribution of a laser beam. The distribution on the x/y plane is a Gaussian, while the pointing vector down the z-axis approximates the laser divergence.

For example, a beam with a 1 mm beam waist with a 1.5 mrad divergence has the following beam irradiance, E(r):

$E(r) = exp(-r^2/b^2)/(\pi b^2)$

where $r$ is the radius from the beam center, $b$ is the beam waist (1/e radius). Therefore, I can sample from this distribution by the following equation:

$r = b\sqrt(-ln(1-\mathbb{R}))$

where $\mathbb{R}$ is a random number uniformly distribution on [0,1], to get the radius from the origin on the beams starting point on the x/y plane.

OK, so the question I'm having trouble with, is how do I randomly choose the polar angle $\theta$ of divergence such that it approximates the laser divergence of 1.5 mradians? Do I just choose the polar angle to be uniform on $[0,1.5e^{-3}]$ radians?

I guess I'm getting confused by whether the distribution should be uniform over polar angle, or uniform irradiance over the solid angle, and how to sample from that. Below is an illustration to help sort things out. I'm trying to determine how to distribute the polar angle in order to approximate the laser divergence.

-

## 1 Answer

This process is treated in this paper: http://www.springerlink.com/content/2ww1gtp5cvbrerhm/fulltext.pdf

The relevant equations are:

$x_s=\frac{w(-d)}{\sqrt{2}}\text{Erf}^{-1}(2r_1-1)$

$y_s=\frac{w(-d)}{\sqrt{2}}\text{Erf}^{-1}(2r_2-1)$

$x_f=\frac{w_0}{\sqrt{2}}\text{Erf}^{-1}(2r_3-1)$

$y_f=\frac{w_0}{\sqrt{2}}\text{Erf}^{-1}(2r_4-1)$

These give the x and y positions of rays at the beam waist ($x_f$) and at a point far away ($x_s$), with d much greater than the Rayleigh range. $w(z)$ is the standard gaussian beam waist formula, and the $r_i$ are uniform random variates on (0,1).

EDIT: Realized I didn't really address your divergence issue. The above is valid for a collimated diffraction limited beam, so to add excess divergence you could apply the ABCD matrix for a thin lens to the rays in order to create a diverging beam.

-
Thanks for the added clarification. I just read through the paper and it doesn't seem obvious how to get an angular divergence from the equations for position. In other words, I want to create a group of x,y points with angles, not a group of x/y points on the receiver plane. – gallamine Oct 31 '11 at 13:59
@gallamine - just get the x/y points at the focal plane, then use the x/y points for those rays at the farfield plane to calculate the angles. – user2963 Oct 31 '11 at 14:05
– user2963 Oct 31 '11 at 14:12
thanks. The only difficulty is that those equations only apply to distances >> Rayleigh range, and I'm working at shorter distances. I'm thinking now I'll use a Gaussian distribution on the start plane, with perfect colimation then use the Thin Lens ray transfer matrix to diverge them. Make sense? I'll try and post an answer. – gallamine Oct 31 '11 at 15:21

1
– user2963 Oct 31 '11 at 16:06
show 1 more comment
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 15, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9095052480697632, "perplexity_flag": "middle"}