I Propagation of Angular Spectrum Code

AI Thread Summary
The discussion revolves around the propagation of a Gaussian field in the angular spectrum regime using MATLAB. The user is confused about the propagation factor, specifically the differences between two equations for k_z from different sources. The user seeks clarification on how to compute the f_x and f_y vectors when sampling a square aperture in MATLAB. It is clarified that f_x and f_y correspond to the row and column numbers of the Fourier Transform array, respectively. The conversation emphasizes the importance of understanding the relationship between spatial and frequency domains in the context of Fourier optics.
stephen8686
Messages
42
Reaction score
5
TL;DR Summary
I am trying to code angular spectrum beam propagation in matlab, but I'm having trouble with the propagation factor.
I'm making a MATLAB code to propagate a gaussian field in the angular spectrum regime (fresnel number >> 1).
After Fourier transforming the field, you propagate it: $$U(k_x,k_y,z) = U(k_x,k_y,0)e^{ik_z z}$$
The thing that I am having trouble with is the propagation factor, I have looked at this thread: https://www.physicsforums.com/threads/code-of-the-angular-spectrum-method.823494/
and they say that
$$k_z = \frac{k_0 z}{\sqrt{x^2+y^2+z^2}}$$
where ##k_0 = 2\pi/\lambda##
But I've been following Goodman's Fourier Optics book which says that it should be (Eq 3-62)
$$k_z = k_0\sqrt{1-(\lambda f_x)^2-(\lambda f_y)^2}$$
And I don't see how they are equivalent.

But here is my real question. If I use Goodman's propagation factor, what are ##f_x## and ##f_y## computationally?
Say I have a square aperture length = 1m, and I sample it 2048 times along each axis. Then my x and y vectors go from -0.5 to 0.5 with 2048 points, in Matlab language:
x = -L/2:dx:L/2-dx;
So how do I get a ##f_x## vector? I feel like it should be ##2\pi/x## or something, but that doesn't work.

Hope my latex works. If you need more clarification just ask. Thanks
 
Physics news on Phys.org
Take the 2-d discrete Fourier transform of your sampled array, i.e from Goodman's eqn. 3-63,
$$
A(\frac{\alpha}{\lambda},\frac{\beta}{\lambda},0)=\int \int_{-\infty}^{\infty}U(x,y,0)exp[-j2\pi (\frac{\alpha}{\lambda}x + \frac{\beta}{\lambda}y)]dxdy
$$
$$
A(\frac{\alpha}{\lambda},\frac{\beta}{\lambda},0)=A(f_x,f_y,0)
$$
##f_x## corresponds to a row number and ##f_y## corresponds to a column number of the FT array.
 
comparing a flat solar panel of area 2π r² and a hemisphere of the same area, the hemispherical solar panel would only occupy the area π r² of while the flat panel would occupy an entire 2π r² of land. wouldn't the hemispherical version have the same area of panel exposed to the sun, occupy less land space and can therefore increase the number of panels one land can have fitted? this would increase the power output proportionally as well. when I searched it up I wasn't satisfied with...
Back
Top