Simulation-based fitting routine for laser linewidth (DSH)

MATLAB routines to extract the laser linewidth from a Delayed Self Heterodyne (DSH) spectrum with a simulation-based fitting algorithm
180 Downloads
Updated 29 Apr 2022

View License

This toolbox contains the routines and functions to extract the laser linewidth from a spectrum measured by the Delayed Self Heterodyne (DSH) method (see included documentation). The routine uses a simulation-based algorithm to fit the data, by numercially generating frequency noise contributions of higher order: white (constant), flicker and random-walk noise . It then uses a Nelder-Mead simplex optimization to adjust the corresponding amplitudes to the different noise sources. Finally, It extracts the linewidth components related to the different noise contributions, namely Lorentzian, Gaussian and linewidths respectively.
The MATLAB directory contains useful functions structured in 3 sub-folders, plus a documentation folder about DSH:
  • documentation_DSH : This contains documentation about laser linewidth, concepts of phase and frequency noise, linewidth measurement with Delayed Self Heterodyne method.
  • general_routines: This contains functions that are used by the other scripts in the toolbox. However, these might be useful in general, also for completely unrelated applications.
  • conventional_fitting: This contains the necessary tools and an example script to fit the data to the analytic solution that just includes the conventional white noise. The data will not be perfectly fitted. You should view the value that you will get here more as an orientation for the order of magnitude. Both a least square fit and a Nelder-Mead based optimization (fminsearch) are used and compared. Example spectrum:
  • simulation_based_fit: This folder and its sub-directories include the code to simulate DSH spectra for various, also higher order noises (currently included: white noise, flicker noise and random walk noise of the laser frequency). Example files and script are included. The example script has a lot of comments included to help you using it. The simulation is used together with a Nelder-Mead-Simplex search (fminsearch) to obtain a "fit" although you have to guess the starting values already quite well. Example spectrum:
This code is linked to the following paper (see Appendix A): https://journals.aps.org/pra/abstract/10.1103/PhysRevA.105.043321
Please include the following citation when using the code:
E. Uruñuela, M. Ammenwerth, P. Malik, L. Ahlheit, H. Pfeifer, W. Alt, and D. Meschede, Raman imaging of atoms inside a high-bandwidth cavity, Phys. Rev. A 105, 043321 (2022).
We also suggest citing the following paper, on which we based our algorithm:
W. Ma, B. Xiong, C. Sun, X. Ke, Z. Hao, L. Wang, J. Wang, Y. Han, H. Li, and Y. Luo, Laser frequency noise characterization by self-heterodyne with both long and short delay, Appl. Opt. 58, 3555 (2019)

Cite As

E. Uruñuela, M. Ammenwerth, P. Malik, L. Ahlheit, H. Pfeifer, W. Alt, and D. Meschede, Raman imaging of atoms inside a high-bandwidth cavity, Phys. Rev. A 105, 043321 (2022).

MATLAB Release Compatibility
Created with R2020a
Compatible with any release
Platform Compatibility
Windows macOS Linux

DSH_Linewidth_Fitting_Toolbox/conventional_fitting

DSH_Linewidth_Fitting_Toolbox/general_routines

DSH_Linewidth_Fitting_Toolbox/simulation_based_fit

DSH_Linewidth_Fitting_Toolbox/simulation_based_fit/noiseGeneration

Version Published Release Notes
1.1.4

updated citation info

1.1.3

minor fixes

1.1.2

updated citation information

1.1.1

information on citation added

1.1.0

documentation added

1.0.0