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 29/10/2016
Tutorials Spatial Light Modulators
Setting up a DMD: Diffraction effectsI recently acquired a Digital Micromirror Device (DMD) and when I started setting up the experiment, I faced a problem I did not anticipate which is closely related to blazed gratings. Due to the fact that the surface of a DMD is not flat, diffraction orders are shifted compared to the optical axis. This shift depends on the pixel pitch, the wavelength, and the incident angle. A close look at this diffraction phenomenon is important to configure an experimental setup properly. It is even relevant to consider this effect before choosing the appropriate DMD model to buy. |
Created by sebastien.popoff on 17/10/2016
Tutorials Spatial Light Modulators
Control a Vialux DMD with PythonVialux provides Texas Instrument DMD (Digital MicroMirror Devices) chips with an electronic board to send and display image sequences at high speed (up to 30kHz). While they provide a C++ dll, Labview, and Matlab codes, I did not find any tool for Python. I share here a simple module that wraps the C++ functions for Python. It allows using in a simple manner the basic functions while providing the advanced features of the ALP API. See full post |