40m
QIL
Cryo_Lab
CTN
SUS_Lab
TCS_Lab
OMC_Lab
CRIME_Lab
FEA
ENG_Labs
OptContFac
Mariner
WBEEShop
|
40m Log |
Not logged in |
 |
|
Wed Jul 16 01:18:02 2014, rana, Summary, LSC, Python Wavelet peak finding for dramatic ALS - Red Resonance finding speedup
|
Wed Jul 16 01:35:16 2014, Koji, Summary, LSC, Python Wavelet peak finding for dramatic ALS - Red Resonance finding speedup
|
Mon Jul 21 17:32:43 2014, ericq, Summary, LSC, Arm losses
|
|
Message ID: 10209
Entry time: Wed Jul 16 01:18:02 2014
Reply to this: 10211
|
Author: |
rana |
Type: |
Summary |
Category: |
LSC |
Subject: |
Python Wavelet peak finding for dramatic ALS - Red Resonance finding speedup |
|
|
New script called scripts/ALS/findRedResonance.py finds the IR resonance in less than 20 seconds.
- Do a ~2 FSR scan of the arm over 10 seconds using the Phase Tracker servo offset ramp. (dt = 10 s)
- Load the frame data for the TR_OUT and the Phase Tracker phase. (dt = 2 s)
- Use Python (modern) SciPy to find all peaks with moderate SNR (dt = 3 s)
- Take the top 3 peaks (all presumably TEM00) and choose the one closest to zero and go there.
The above is the gist of what goes on, but there were several issues to overcome to get the code to run.
- None of our workstations have a modern enough Python distro to run either the ipython notebooks or the new SciPy with wavelets, so I installed Anaconda Python in the controls home directory.
- In order to get the peak finder function to work well I gave it a range of peak widths to look for. If we change the speed of the ALS scan by more than 3x, we probably have to change the width array in the function.
- I've used the find_peaks_cwt function in SciPy. This uses a Ricker ('Mexican Hat') wavelet to find peaks by doing multi-res transforms and looking for ridges in the wavelet space (I think)
- To make the code run fast, I downsample from 16 kHz to 1 kHz right at the top. Would be better if we had downsampling in v2 of the getData function.
|
|
|