Skip to Main Content Skip to Search
Login
File Exchange
MATLAB Newsgroup
Link Exchange
  Blogs  
 Contest 
MathWorks.com

Thread Subject: fourier transform of gaussian beam to simulate far-field beam

Subject: fourier transform of gaussian beam to simulate far-field beam

From: Jurgen Chan

Date: 09 May, 2008 03:03:00

Message: 1 of 2

Hi,

i have been working on some simulation of optical stuffs
such as the simulation of light beam in free space.

i want to use the fraunhofer approximation method as such
to fourier transform my gaussian beam by using fftshift(fft
(gaussian)). this is simulate the propagated beam at far
field.
f(x,y)= exp(-(x.^2+y.^2)/Wo)

g(x,y)= ho F(x/λd, y/λd) ,where ho=(j/λd)exp(-jkd),
                                d is the far-field dist,
                                λ is the wavelength,
                                g(x,y) is the far-
                                field beam function,
                                F is the fourier transform
                                of f(x,y) which is the
                                initial beam,
                                Wo is the initial beam
                                width.

However i cannot get the correct result in matlab.
The beam-width of the far-field beam seems to be affected
by the spacing of the array. And this makes the simulated
propagated beam different from the expected result. Varying
the spacing of the array(dx and dy), sometimes i will get a
small beam width at far-field. In fact i am using a very
small beam width (eg. 0.001m) and the expected far field
beam waist should be bigger than the initial beam width.

Also, how should i normalize the F(vx,vy)? is it divide by
N^2 ?
By using the Parseual’s Theorem, the power of the initial
and farfield beam should be the same. but in my program,
the power of the initial beam and the farfield beam, they
are not equal.

below is my coding:

N = 2^9;%2^9; %//size of iterations for x and y directions
w_0 = 1.84D-3; %//Beam waist in m
wavelength = 1.064D-6;
dx = 0.05D-3;%//unit length of iterations; per m
dy = dx;
x = [1:N];
y = x;
z =0; % starting position of z
k_0 = 2*pi/wavelength;
dk = pi/N;

Rayleigh= w_0.^2*pi/wavelength

[X,Y] = meshgrid((x-1-N/2),(x-1-N/2));
radius = sqrt((X*dx).^2 + (Y*dx).^2);

u_0 = A.*exp(-(radius/w_0).^2); %//gaussian

P_0= sum(sum(abs(u_0).^2));

u_F= 1/N/N*fft2(u_0);
u_F= fftshift(u_F);

z_d =0.5985; % far-field dist
h_0= j/wavelength/(z_d).*exp(-j*k_0.*z_d);

g_F=h_0.*u_F0;
P_1= sum(sum(abs(g_F).^2));

figure(1)
surf(abs(u_0),'facecolor','flat','edgecolor','none')
camlight left;
lighting phong
figure(2)
surf(abs(g_F),'facecolor','flat','edgecolor','none')
camlight left;
lighting phong


Can anyone help me with this problem ? Thanks...

Subject: Re: fourier transform of gaussian beam to simulate far-field beam

From: Bruno Luong

Date: 09 May, 2008 07:49:04

Message: 2 of 2

"Jurgen Chan" <bigfoot84s@hotmail.com> wrote in message
<g00et4$q8p$1@fred.mathworks.com>...
>
> i want to use the fraunhofer approximation method as such
> to fourier transform my gaussian beam by using fftshift(fft
> (gaussian)).

The Fourier transform of the Gaussian can be computed by
hand (it is a Gaussian). No need for fft, where cares should
be taken for step side and radius as you have noticed.
 
>
> Also, how should i normalize the F(vx,vy)? is it divide by
> N^2 ?

It seems rather N. Also there mighty be an exception with a
DC term (0 order), so be careful.

> By using the Parseual’s Theorem, the power of the initial
> and farfield beam should be the same. but in my program,
> the power of the initial beam and the farfield beam, they
> are not equal.
>

Parseval? You could check the theorem with individual term
of the MATLAB fft. "help fft" for formula.

Bruno

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
fft2 Jurgen Chan 08 May, 2008 23:05:10
farfield Jurgen Chan 08 May, 2008 23:05:10
rssFeed for this Thread

envelope graphic E-mail this page to a colleague

Public Submission Policy
NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Disclaimer prior to use.
Related Topics