|
Created by sebastien.popoff on 25/02/2019
pyMMF: Simulating Multimode Fibers in PythonPart 1: Step Index BenchmarkI 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. |
|
Created by sebastien.popoff on 29/12/2018
Numerical Estimation of Multimode Fiber Modes and Propagation Constants:Part 2: Bent FibersWe 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. |
|
Created by sebastien.popoff on 09/12/2015
Tutorials Spatial Light Modulators
How to control a liquid crystal SLM with PythonMost 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
Off-axis holographyOff-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. |