File Exchange

image thumbnail

FFT Beam Propagation Method

version 1.3 (10.9 KB) by

Implementation of the FFT BPM in different optical waveguides and free space

13 Ratings



View License

The zip file includes the next programs:

BPM_free_space.m - Propagation of a gaussian pulse in free space

BPM_triangle.m - Propagation of a gaussian pulse in a triangle index profile waveguide

BPM_2step.m - Demonstration of the evanescent waves phenomenon in parallel rectangular waveguides

BPM_Y_Branch.m - FFT-BPM in a Y-branch coupler

BPM_mach_zender.m - FFT-BPM simulation of a mach-zender optical switch

K. Okamoto, Fundamentals of Optical Waveguides (Academic, 2000).ISBN-13: 978-0125250955

Comments and Ratings (19)

Might be scientifically interesting, but all the comments are in Spanish, hence it is very hard to understand and change the code according to ones needs...

Joshua Kim

Hello Edgar,
I have a quick question on 'fase1'.
I am trying to understand the meaning of "fase1 = exp((i*deltaz*kx.^2)./(nbar*k0 + sqrt(max(0,nbar^2*k0*2 - kx.^2))));" especially max part. I experimentally removed it. but no changes found for graphic result in fact numerical as well.
Can you give some insight on the meaning of the argument and necessity?

Edgar Guevara

@sh.a Provide specific information on what you like and dislike about the submission.


sh.a (view profile)


sh.a (view profile)


Aniket (view profile)

I am new to the field of computational photonics.
Could someone please explain (or refer to some literature of) the terms fase1 and fase2?


max (view profile)

Jesus Eduardo

Edgar Guevara

@arnold I think a ray-tracing software would be more appropriate in that case.


arnold (view profile)

could you include a spherical and aspherical lens for instance? Would be great.


Alexey (view profile)

That's really good! Helped me a lot! The very thing I've been looking for

excellent programs..........
can someone expalin to me where the waveguide(core) width and the cladding width are handled in the code for the rectangular waveguide? and what do x0, x1, x2,x3,and x4 stand for?

Jonathan espinosa

exelente justo lo que nececitaba

gius gall

Jim Lee

Very good!

S.K. Arya

It works very nicely.The m-file of the program can be modified as per the requirement.

Eduardo Jiménez

buen trabajo

Jorge Puebla

Amazing programs, conglatulations is a great contribution, I can not explaind all the possible aplications



Added reference to the description

MATLAB Release
MATLAB 6.5 (R13)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video