Created by sebastien.popoff on 25/02/2019

Tutorials Multimode fibers

pyMMF:  Simulating Multimode Fibers in Python

Part 1: Step Index Benchmark


I recently published a two-part tutorial on how to find the modes of an arbitrary multimode fiber without or with bending. Based on this tutorial, I published a (still experimental) version of a Python module to find the modes of multimode fibers and calculate their transmission matrix: pyMMF. The goal of this module is not to compete with commercial solutions in terms of precision but to provide a way to easily simulate realistic fiber systems. To validate the approach, I use step-index multimode fibers as a benchmark test as the dispersion relation is analytically known (see my tutorial here) and for which the Linearly Polarized (LP) mode approximation yields good results. I focus my attention here on the precision of the numerically found propagation constants.

See full post
Created by sebastien.popoff on 29/12/2018

Tutorials Multimode fibers

Numerical Estimation of Multimode Fiber Modes and Propagation Constants: 

Part 2: Bent Fibers 


We saw in the first part of the tutorial that the profiles and the propagation constants of the propagation modes of a straight multimode fiber can easily be avulated for an arbitrary index profile by inverting a large but sparse matrix. Under some approximations [1], a portion of fiber with a fixed radius of curvature satisfies a similar problem that can be solved with the same numerical tools, as we illustrate with the PyMMF Python module [2]. Moreover, when the modes are known for the straight fiber, the modes for a fixed radius can be approximate by inverting a square matrix of size the number of propagating modes [1]. It allows fast computation of the modes for different radii of curvature.

See full post
Created by sebastien.popoff on 09/12/2015

Tutorials Spatial Light Modulators

How to control a liquid crystal SLM with Python

Most liquid crystal Spatial Light Modulators (SLMs) and some digital micromirror devices (DMDs) are controlled via an analog (VGA) or digital (HDMI/DVI) monitor standard communication protocol. In other words, you plug it to your computer and it is recognized as a monitor display. There is usually no useful tool or API provided with the device to dynamically control the SLM. I previously introduced a way to control an SLM using Matlab/Octave, now that I switched to Python, I present here a way to do this using Python.


See full post
Created by sebastien.popoff on 10/10/2013

Tutorials Digital holography

Off-axis holography

Off-axis holography is a popular technique to reconstruct a hologram. It allows retrieving the amplitude and the phase of a field pattern by measuring only one image with a digital camera. It relies on an intereferometric setup with a non-zero angle between the reference beam and the signal beam and requires to numerically filter the spatial frequencies. I provida Matlab and Python example codes.

See full post