40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log  Not logged in ELOG logo
Message ID: 8462     Entry time: Thu Apr 18 19:54:11 2013
Author: Jenne 
Type: Update 
Category: LSC 
Subject: LSC whitening triggering working 

I have implemented automatic triggered switching of the analog whitening (and digital dewhitening). 

The trigger is the same as the degree of freedom trigger.  On the LSC RFPD screen there is a space to enter the amount of time (in seconds) you would like to wait between receiving a trigger and actually having the whitening filter switch. 

The trigger logic is as follows: 

* For each column of the LSC input matrix (e.g. AS11 I), check if there is a non-zero element.  If there is a non-zero element (indicating that we are using that PD as the error signal for a degree of freedom), check if the corresponding DoF has been triggered.  Repeat for all columns of the matrix. 

* If either the I or the Q signal from a single PD is being used, send a trigger in the direction of the PD signal conditioning / phase rotation blocks.  (Since the whitening happens before the phase rotation, we want to have the whitening state be the same for both the I and Q signals coming from the demod boards.

* Before actually changing the whitening state, wait for the amount of time indicated on the RFPD overview screen.

* Switch the digital dewhitening.  If the digital dewhitening is on, send a bit over to the binary I/O to switch the analog whitening on.

LSC_triggers.png

LSC_SigCond.png

 

This required changing the LSC RF_PD library part so that you can send the trigger to the filter bank from outside that part..  This part is in use by all LSC models, so I'll make sure the LLO people are aware of this change before I commit it to the svn.

RF_PD_block.png

 

While I was working on the LSC model, I also put in a wait between the time that the filter module trigger is received, and when it actually switches the filter modules.  So far, this time is defined for a whole filter bank (so all filters for a given DoF still switch at the same time).  If I need to go back and make the timing individual for each filter module, I can do that.  This new EPICS variable (the WAIT) defaults to zero seconds, so the functionality will not change for anyone who uses this part.

LSC_FM_Trig.png

These changes also require 2 pieces of c-code:  {userapps}/cds/common/src/wait.c and {userapps}/isc/c1/src/inmtrxparse.c

ELOG V3.1.3-