How to propagate a gaussian beam in an atmospheric turbulence? #96
-
I am trying to propagate a Gaussian beam at a distance of 1km in the atmosphere.
I am not sure what exactly is happenening inside angular spectrum but I supposed the value of z in the function is supposed to be the distance between the two phase screens(if we use multiple), rather than just the final propagation distance which is 1km in my case, if I am not wrong. From what I understand, source..........A...............B.................C.............D...............receiver plane Could anyone help me if I am understanding it correct? Thank you. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
That is exactly how to use the One thing I noticed in the snippet you posted is that you multiply the complex field by the wavefront from the where |
Beta Was this translation helpful? Give feedback.
-
If you've got everything you need, can you mark the reply as the answer? |
Beta Was this translation helpful? Give feedback.
That is exactly how to use the
angularSpectrum
function, you have understood it perfectly.One thing I noticed in the snippet you posted is that you multiply the complex field by the wavefront from the
phase_arr
(first line in yourfor
loop). I just wanted to make sure that thephase_arr
is a complex amplitude and not just the phase deviations (as you would get from the phase screen generation tools in aotools). If it is just a phase deviation, you would also need to convert this to an E field using something like:where$\theta$ is the phase array, before you mulltiplied it with the existing E field.