We have been using DMDs from Vialux for a few years now, and I already published few posts about different effects that need to be taken into account when working with such devices (in particular aberrations and diffraction effects). One more trivial, but potentially troublesome, effect is due to vibrations, that come from the FPGA board and transmitted through the rigid flat cables. In this quick post, I show the damaging effect of vibrations and how to easily get rid of them, at least partially.

]]>[S. Resisi et al., Arxiv (2019)]

In the past 10 years, many applications were successfully demonstrated for wavefront shaping in multimode fibers, from endoscopic to telecommunications through optical tweezers. However, these techniques require to modulate the incident field using free space modulators. In the present paper, S. Resisi and co-authors introduce a new approach that relies on modulating the transmission matrix itself by applying changes that modify its boundary conditions. Using an all-fiber apparatus, focusing light at the distal end of the fiber and conversion between fiber modes is demonstrated. Since in this approach the number of degrees of control can be larger than the number of fiber modes, it allows simultaneous control over multiple inputs and multiple wavelengths.

]]>

In many wavefrontshaping experiments, such as for optimization experiments, like the seminal work by I. Vellkoop and A. Mosk, or for measuring the transmission matrix, one need to control the amplitude and/or the phase of the field on a given number of *macorpixels *(i.e. group of pixels). Using DMDs, amplitude and phase modulation can be acheived using the Lee hologram method and then sending the binary images to the device using the for ALP4lib in Python for Vialux DMDs. I release here a module written by myself and M. W. Matthes to easily and efficiently generate such patterns. The code can be found on my Github account here as well as an amplitude and phase modulation example: layout_amplitude_phase_modulation.ipynb.

**Digital Micromirror Devices (DMDs) **are amplitude only (binary) modulators, however, pretty much like liquid crystal modulators, they introduce some **phase distortion**. Practically, it means that if one illuminates the modulator with a plane wave, even when all the pixels are set to the same value, the wavefront shows phase distortions after reflection. That can be detrimental, especially when working in a plane conjugated with the Fourier plane of the DMD surface. Fortunately, using the Lee hologram method (or the superpixel method) one can achieve phase modulation. I present here how to use Lee holograms to characterize and compensate for aberrations when using a DMD. This approach can also be applied for compensating for aberration effects in other types of **Spatial Light Modulators**, such as liquid crystal ones.

**Abstract: **Performing linear operations using optical devices is a crucial building block in many fields ranging from telecommunications to optical analogue computation and machine learning. For many of these applications, key requirements are robustness to fabrication inaccuracies, reconfigurability and scalability. Traditionally, the conformation or the structure of the medium is optimized in order to perform a given desired operation. Since the advent of wavefront shaping, we know that the complexity of a given operation can be shifted toward the engineering of the wavefront, allowing, for example, to use any random medium as a lens. We propose to use this approach to use complex optical media such as multimode fibers or scattering media as a computational platform driven by wavefront shaping to perform analogue linear operations. Given a large random transmission matrix representing the light propagation in such a medium, we can extract any desired smaller linear operator by finding suitable input and output projectors. We demonstrate this concept by finding input wavefronts using a Spatial Light Modulator that cause the complex medium to act as a desired complex-valued linear operator on the optical field.

{loadMathJax}

\(

\def\ket#1{{\left|{#1}\right\rangle}}

\def\bra#1{{\left\langle{#1}\right|}}

\def\braket#1#2{{\left\langle{#1}|{#2}\right\rangle}}

\)

In a previous tutorial, I explained how to calculate the modes of a bent multimode fibers. I introduced two methods, following the approach published in [M. Plöschner, T. Tyc, and T. Čižmár, Nat. Photon. (2015)]. In this short tutorial I show how to use pyMMF to simulate bent fibers and compare the two different methods. A Jupyter notebook can be found on my Github account: compare_bending_methods.ipynb

]]>

{loadMathJax}

\(

\def\ket#1{{\left|{#1}\right\rangle}}

\def\bra#1{{\left\langle{#1}\right|}}

\def\braket#1#2{{\left\langle{#1}|{#2}\right\rangle}}

\)

The possibility of measuring the transmission matrix using intensity only measurements is a much sought-after feature as it allows us not to rely on interferometry. Interferometry usually requires a laboratory grade stability difficult to obtain for real-world applications. Typically, we want to be able to retrieve the transmission matrix from a set of pairs composed of input masks and output intensity patterns. However, this problem, that corresponds to a phase retrieval problem, is not convex, hence difficult to solve using standard techniques. The idea proposed in [I. Waldspurger *et al.*, Math. Program (2015)] is to relax some constraint to approximate the problem to a convex one that can be solved using the semidefinite programming approach. I briefly detail the approach and provide an example of the procedure to reconstruct the transmission matrix using Python. A Jupyter notebook can be found on my Github account: semidefiniteTM_example.ipynb.