40m QIL Cryo_Lab CTN SUS_Lab CAML OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 32 of 354  Not logged in ELOG logo
ID Date Authorup Type Category Subject
  6996   Fri Jul 20 14:18:15 2012 DenUpdatePEMMCL, GUR calibration

I did a raw calibration of MCL and GUR. Accuracy is a factor of 2.

GUR path : 800 V/m/s => readout box (G~100) => ADC (0.7 mV/count)

MCL path : laser 1 MHz / V, cavity length ~ 25 m

I measured feedback signal before the laser with SR and avoided whitening filters for MC_F.


  6998   Sat Jul 21 14:05:21 2012 DenUpdatePSLPMC problems examined


WE found that the PMC EPICS values had not been toggled since the reboot and so the RF phase and Amplitude were totally wrong (we should replace this with a fixed oscillator box as we did with FSS).

Also, the NPRO SLOW slider was at -2 V which made the mode going into the PMC funny (although the mode was OK this morning before I started playing with the PMC sliders).

 PMC transmission is oscillating  in the range 0.5 - 0.85. PMC PZT voltage is 1-2 V.

FSS slow controls was -2.5 V. I adjusted it to 0 and PMC stabilized. PMC PZT voltage is 128, transmission is 0.845.

But most probably, slow control will drift again.


  6999   Sat Jul 21 14:48:33 2012 DenUpdateCDSRCG

As I've spent many hours trying to determine the error in my C code for online filter I decided to write about it to prevent people from doing it again.

I have a C function that was tested offline. I compiled and installed it on the front end machine without any errors. When I've restarted the model, it did not run.

I modified the function the following way

void myFunction()
if(STATEMENT) return;
some code

I've adjusted input parameters such that STATEMENT was always true. However the model either started or not depending on the code after if statement. It turned out that the model could not start because of the following lines

cosine[1] = 1.0 - 0.5*a*a + a*a*a*a/24 - a*a*a*a*a*a/720 + a*a*a*a*a*a*a*a/40320;
sine[1] = a - a*a*a/6 + a*a*a*a*a/120 - a*a*a*a*a*a*a/5040;

When I've split the sum into steps, the model began to run. I guess the conclusion is that we can not make too many arithmetical operations for one "=" . The most interesting thing is that these lines stood after true if-statement and should not be even executed. Possible explanation is that some compilers start to process code after if-statement during its slow comparison. In our case it could start and then broke down on these long expressions.

  7000   Sat Jul 21 18:04:02 2012 DenUpdateAdaptive Filteringfrequency domain filter

I've implemented online frequency domain filter and applied it to MC_F.


Magnitude of the filter output at 1 Hz is the same as MC_F. This means that it is not hard for FIR to match the resonance. The problem is with the phase. We can not match the resonance exactly. If the resonance is at f0 and we match at f0 +/- df then in the frequency range (f0, f0 +/- df) the phase is not matched for 180. I guess the filter does not diverge because df is small but also the filter can not account for this huge phase lag. We need to slightly change the simulated actuator TF and see how the filter will react.

  7021   Tue Jul 24 21:16:55 2012 DenUpdatedigital noisequantization test

I'm trying to get some intuition how digital noise due to quantization shows up in iir filters. I decided to do tests in C using Python to calculate psd and visualize. I've implemented Direct Form 1, 2, "Biquad" and "Low Noise" forms of realization of second-order iir filter from Matt's presentation. There is a typo in the "Low Noise Form" scheme - a1 and a2 gains should be switched. Other then that schemes correctly implement 2 order iir. 

The input signal to each filter was a sine wave plus white noise with small amplitude x[n] = sin(2*pi*f*t[n]) + g*random( [-1, 1] ),  g << 1, f=1kHz. Sampling frequency was 16384 Hz. All 4 forms implemented 2 order low-pass butterworth filter with cut-off frequency 0.2 Hz

iir_2.png iir_8.png

For g=1e-2 all implementations work fine. For g=1e-8 when quantization noise increases, all implementations give a lot of noise at low frequencies. I did not notice any significant difference between any of these implementations. I'll try to do more tests to figure out any difference in noise between the forms.

Quantization noise depends on the architecture of the processor, compiler and what not. But I do not think this can give a huge difference in results. We need to understand carefully digital noise during PSD estimation and all operations done at Matlab or Python.

  7031   Wed Jul 25 16:55:01 2012 DenUpdatedigital noisenotch, lowpass filters

 Direct Form 2 is noisy in the first test. This is the one similar to Matt's in his presentation. Input signal was a sine wave at 1 Hz with small amplitude white noise x[n] = sin(2*pi*1*t[n]) + 1e-10 * random( [-1, 1] ). It was filtered with a notch filter: f=1Hz, Q=100, depth=210dB. SOS representation was calculated in Foton. Sampling frequency is 16kHz.

iir_psd.png        iir_time.png   iir_coh.png

DF2 output noise level is the same if I change white noise amplitude while DF1, BQF, LNF can follow it. Time series show quantization noise of DF2. I've plotted coherence of the signals relative to DF1, because non of the signals will be coherent to it at low frequencies due to fft calculations.  

In the second test the input was white noise  x[n] = random( [-1, 1] ) It was filtered with a 2 order low-pass butterworth filter with cut-off frequency f = 0.25 Hz. SOS representation was calculated in Python. Sampling frequency is 16kHz.

iir_psd_lowpass.png         iir_time_lowpass.png      iir_coh_lowpass2.png

In this test all implementations work fine. I guess dtt works with single precision and for that reason we see disturbance in coherence when we do the same test online.

  7036   Thu Jul 26 10:22:03 2012 DenUpdatedigital noisenotch, lowpass filters


If the problem is the precision in DTT, then why would the noise change when the corner frequency of the filter is changed?

And how about checking for filter noise in the situation we saw online? 4th order low pass at 1 Hz or 8 Hz.

 This is because when we plot signals with sampling frequencies 2k and 16k with the same BW, we actually create psd/coherence using different numbers of points in FFT calculations as NFFT ~ fs/bw, fs-sampling frequency. So we secretly used 8 times more fft points for 16k signal then for 2k signal. Following plots demonstrate this effect. The first plot shows transfer function and coherence for filtering of 16k signal with butter('LowPass',4,8) and 2k signal with butter('LowPass',4,1)  when BW=0.1. There is a disturbance in coherence for 2k signal below 2 Hz. Now let's take BW=0.8 and plot transfer function and coherence for 16k signal. We can see the same effect of coherence disturbance.

same_bw.png    16384_bw0p8.png

The similar effect takes place when we change the cut-off frequency. The following plots show transfer function and coherence of two pairs of 2kHz signals. 4 order butterworth low-pass filter was used. For the first pair cut-off frequency was 1 Hz, for the second 10 Hz.  On the first plot BW=0.1 and there is a disturbance in coherence below 1 Hz. However on the second plot when BW=0.01, this effect is lost.

corners_bw0p1.png     corners_bw0p01.png

I guess my goal is to figure out when these effects come from fft calculations and when from digital filter noise.

  7037   Thu Jul 26 12:10:28 2012 DenUpdateCDSnew c1tst model for testing RCG code


I made a new model, c1tst, that we can use for debugging the FREQUENT RCG bugs that we keep encountering.  It's a bare model that runs on c1iscey.  Don't do any thing important in here, and don't leave it in some crappy state.  Clean if up when you're done.

 I wanted to test biquad form in this model. I added biquad=1 flag to cdsParameters, compiled, installed and restarted it. After that c1iscey suspended.

The same thing as we had several month ago

controls@c1iscey /opt/rtcds/caltech/c1/target/c1tst/c1tstepics 0$ cat iocC1.log

Starting iocInit
iocRun: All initialization complete
sh: iniChk.pl: command not found
Failed to load DAQ configuration file

  7041   Thu Jul 26 17:39:49 2012 DenUpdatedigital noisebiquad key is working

 I've filtered a 1 Hz sin wave excitation with a notch filter inside c1sus and c1rfm models. The biquad key is switched on in the last one, c1sus uses DF2. The results are indeed different.

df2_bqf.png    df2_bqf_spec.png

Still I do not like huge (2n+1) harmonics in the output of the biquad filter, I do not get them in the simulations. They are absent in the time series as well. So this is not a psd-estimation effect.



  7042   Thu Jul 26 21:31:44 2012 DenUpdatedigital noiseonline biquad works


   Still I do not like huge (2n+1) harmonics in the output of the biquad filter, I do not get them in the simulations. They are absent in the time series as well. So this is not a psd-estimation effect. 

 Excitation generator created these harmonics. When I applied low-pass butterworth filter, I've got the result of online filtering close to simulations. On the second graph blue is biquad filter output spectrum, red corresponds to DF2. 1 Hz sin wave was filtered with a notch filter of Q=100, depth=300 at 1 Hz.

df2_bqf_lp.png    df2_bqf_lp_spec.png

  7050   Mon Jul 30 14:24:25 2012 DenUpdatedigital noisebiquad key is working


What is "DQF"?  Is that the biquad?  And what is the difference between DF1 and DF2?  Why don't you just write out the name, so it's more clear.

DQF - biquad form
DF1 - direct form 1
DF2 - direct form 2
LNF - low-noise form
The difference between them is described in Matt's slides G0900928-v1. I think, LNF coefficients are incorrect in the presentation
  7052   Mon Jul 30 16:05:36 2012 DenUpdatedigital noisefilter checker

 We decided to write a script that will check online filters for digital noise. One method can be implemented using the following algorithm:

  • calculate filter output using single precision
  • calculate filter output using double precision and assume that it is precise
  • find digital noise at the output of the filter when single precision is used
  • extrapolate the result to the double precision filter dividing by 2D-S ~ 107, D - number of bits used in double precision mantissa, S - in single precision

Restriction: Single precision filter internal variables must be checked for overflows.

I applied this method to filtering a 1 Hz sine wave with a notch filter. Precise output should also be a 1 Hz wave => at other frequencies we see noise => digital noise spectrum should coincide with filter output. The plot shows the method worked out for this example.


Using this method I estimated digital noise of butter("LowPass", 2, 0.001) applied to white noise. Sampling frequency was 16 kHz. 

iir_psd_lp.png iir_time_lp.png

  7055   Tue Jul 31 00:27:52 2012 DenUpdatePEMtrillium

We have a Trillium for several days from Vladimir. I've put seismometer inside the foam box on linolium. I was not able to level the seismometer on granite as this Trillium does not have level screws. Does anybody know where they are?  Readout box stands on the foam box as seismometer cable is short (~2 meters).

Cables go to STS1 inputs (7-9) on ADC 3.

  7083   Fri Aug 3 13:05:28 2012 DenUpdatePEMshims

As we do not have legs for Trillium, I was advised to use shims to adjust the levels. However, they produce extra resonance at ~30 Hz + harmonics. Coherence is lost at these frequencies.


  7085   Sat Aug 4 17:32:31 2012 DenUpdatedigital noisefilter checker

The script estimates digital noise produces by online filters. First version of Matlab files and complied c files are in scripts/digital_noise directory.

Algorithm for 1 filter bank (max number of filters = 10):

  1.        extract sos - representation from Foton file for each filter (Matlab)
  2.        download data from corresponding DQ channel using NDS (Matlab)
  3.        find filters that are switched on (Matlab)
  4.        filter signal using Df2 and BQF with single and double precision (C)
  5.        estimate digital filter noise (Matlab)
  6.        calculate power spectral density and plot the result (Matlab)

More details on (2)

Often DQ channels have reduced sampling rate. In this case the script will upsample data adding zeros.

AI filter is not applied. But in the end only the frequency range (0, DQ RATE / 2) is analyzed.

More details on (3):

This is done by reading C1:MODEL-BANK_NAME_SW1R and C1:MODEL-BANK_NAME_SW2R channels.
_SW1R channel value is the sum of the following numbers:
  • input switch ON / OFF => 4 / 0
  • filters 1 - 6 ON /OFF
    • 1 => 48 / 0
    • 2 => 192 / 0
    • 3 => 768 / 0
    • 4 => 3072 / 0
    • 5 => 12288 / 0
    • 6 => 49152 / 0
    • If a switch is ON but there is no corresponding filter (one green and one red line under the switch) then the switch value is divided by 3

_SW2R channel value is the sum of the following numbers:

  • decimation switch ON / OFF => 512 / 0
  • output switch ON / OFF => 1024 / 0
  • filters 7 - 10 ON /OFF
    • 7 => 3 / 0
    • 8 => 12 / 0
    • 9 => 48 / 0
    • 10 => 192 / 0
    • If a switch is ON but there is no corresponding filter (one green and one red line under the switch) then the switch value is divided by 3

Note: as for now Matlab script assumes that input, output and decimation filters are switched ON and there are no turned ON filter switches that do not correspond to any filters

More details on (5)

Digital noise using double precision is estimated by extrapolation of digital noise with single precision. The last is calculated by subtracting outputs of the filters with single and double precision. Then this noise is multiplied by 3 * 10-7.

This extrapolation number was achieved by printf tests of the number 0.123456789012345678 with single and double precision on C. Using type 'float' variables 10 significant numbers show up, using type 'double' - 17.

I also did 'calibration tests' to achieve extrapolation number - signal was filters with an aggresive low-pass filter. At high frequencies filter output spectrum is flat => digital noise amplitude must be the same. The plot shows GUR1_X channel filtered with low-pass chebyshev type 1 filter.


However, extrapolation number is not the same for all cases. In the following example of analyzing BS_SUSPOS filter bank using extrapolation 3 * 10-7 we get noise that is slightly overestimated. In some other examples we need to take a larger number. But in average, I think, this is a good approximation.


To avoid extrapolation problem we can use long double precision (~19 digits). I was able to do this with gcc compiler. However, in mex compiler using long double in filter calculations, I do not get any better precision then using double precision. I'll think more about it.

  7086   Sun Aug 5 13:48:40 2012 DenUpdateCDSMove to RCG 2.5 tag release


I moved the RCG to the advLigoRTS-2.5 tag

 After that RFM -> OAF communication through PCIE became bad again. Inside CommData2.c cache flushing is not allowed

// If PCIE comms show errors, may want to add this cache flushing
            #if 0
            if(ipcInfo[ii].netType == IPCIE)
                clflush_cache_range (ipcInfo[ii].pIpcData->dBlock[sendBlock][ipcIndex].data, 16);

As a result, a significant part of MC_F and other signals is lost during RFM -> OAF transmission (270 - 330 out of 2048 per second)

erros.png   overview.png    oaf.png


Last time when I replaced 0 for 1, it suspended SUS machine because of the code bug. Alex modified a couple of files in the old version and it started to work. Do you know if this bug is fixed in the new version?

  7111   Tue Aug 7 23:33:34 2012 DenUpdateEnvironmentNearby EQ


 Just felt an EQ. Impulse moved some vertical blinds by several mm.

Tue Aug 07 23:26:06 2012 

 All optics except MC2 and ETMX are crazy

watchdogs.png      mc1.png    gur.png

  7147   Fri Aug 10 17:38:29 2012 DenUpdatePEMclassify seismic c code


Den and I also had trouble with a simple for loop in our model, so we talked to Alex who noted that the -O3 compiler unravels for loops in a buggy way. Thus, we have compiled c1pem using the -O compiler. 

Alex also modified RCG script to generate -O in the Makefile for c1pem model:

controls@pianosa:/opt/rtcds/rtscore/release/src/epics/util 127$ svn diff
feCodeGen.pl (revision 2999)
feCodeGen.pl (working copy)
@@ -3183,7 +3183,12 @@

print OUTM "\n";
print OUTM "ALL \+= user_mmap \$(TARGET_RTL)\n";
+# do not optimize c1pem
+if ($skeleton eq "c1pem") {
+print OUTM "EXTRA_CFLAGS += -O -w -I../../include\n";
+} else {
print OUTM "EXTRA_CFLAGS += -O3 -w -I../../include\n";
print OUTM "EXTRA_CFLAGS += -I/opt/gm/include\n";
print OUTM "EXTRA_CFLAGS += -I/opt/mx/include\n";

  7150   Fri Aug 10 21:37:15 2012 DenUpdatePEMgur, sts noise

 Using Guralp, STS-2 and Trillium I compared Gur and STS-2 self-noise assuming that Trillium noise is not worse then STS-2 noise.


Interesting that STS-2 (or Trillium if its noise is worse) noise is not too much better then Guralp noise.

  7153   Sat Aug 11 18:57:07 2012 DenUpdatePEMseismometer location

STS-2 - end of X arm

GUR 2 - isolation box

TRILLIUM - 1Y3 (DC power supply uses 1Y3 AC power, please do not close the door completely)

GUR 1 - end of Y arm

Now we have several "triangular seismic antennas". Different configurations can be chosen to compare the results.

  7157   Mon Aug 13 01:33:55 2012 DenUpdateGeneralMysterious banging on emergency door


[Masha, Sasha]

Sorry to spam the e-log, but did someone come knock loudly on the emergency exit door a few moments ago? It gave Sasha and I quite a fright, and we are rather worried.

 Probably, security. You can call 5555 and ask them. Otherwise you can ask them to come and check everything.

  7176   Tue Aug 14 11:49:15 2012 DenUpdateCDSDebugging of c1sus machine and c1rfm models



  We might just need to reduce the load on c1rfm, maybe by introducing a c1rfm2?


 A huge data flow goes from PEM to OAF through RFM. I think we need to make PEM and OAF run on the same machine and transmit signals through the shared memory.

  7185   Wed Aug 15 00:52:17 2012 DenUpdateWienerFilteringfilter calculation

A Matlab script to calculate Wiener filter coefficients and convert fir to iir is ready. Input is a file with zero mean witness and desired signals, output is a Foton zpk command to specify iir filter.

The plot shows comparison of offline fir , iir and online iir filtering. Spectrum below 4 Hz is still oscillating due to acoustic coupling, this is not a filtering effect. At 1 Hz actuator is badly compensated, more work should be done. Other then that online and offline filtering are the same.


  7189   Wed Aug 15 10:40:16 2012 DenUpdateCDSaa filters

The lack of AA filter for MCL signal is RFM model strongly disturbed entering to OAF signal


  7193   Wed Aug 15 13:24:12 2012 DenUpdateCDSRFM -> OAF

Transmission of signals between RFM and OAF is bad again. Now we do not see any errors in IPC_ERR monitors so models think that they get all data but the data is wrong


  7226   Sat Aug 18 19:29:56 2012 DenUpdatePEMEM 172 microphones noise

I've put EM 172 microphones inside Steve's isolation box to measure their noise. I've attached mics to each other and aligned them using the tape.

At low frequencies (below 1 Hz) the noise is limited by ADC as there is a 10 Hz high-pass filter inside mic readout box.

ADC noise is measured by splitting the signal from 1 mic into 2 ADC channels.


  7230   Sun Aug 19 19:02:47 2012 DenUpdateCDSPEM -> RFM -> OAF

Data from PEM now goes directly to OAF without using RFM. Transmission RFM -> OAF errors are gone as RFM has to read 30 channels less now.

Again kernel "protection error" occured as before with PEM model so OAF model could not start. I changed optimization flag to -02, this fixed the problem.

  7234   Mon Aug 20 13:02:57 2012 DenUpdateAdaptive Filtering1 Hz resonance

Static filter was adjusted to filter 1 Hz resonance in MCL and it could do it. Stack is not great in this experiment due to the phase mismatch. I'll fix it.


  7252   Wed Aug 22 20:33:51 2012 DenUpdateAdaptive FilteringMC_L in ARMS

Jenne and I did adaptive filtering of MC_L and measured how X and Y ARM control signals change compared to non-filtered MC_L. We did the test during 1.5 Hz seismic noise activity and adaptive filter was able to subtract it. However, it adds noise at high frequencies, It is not seen in MC_L but it is present in the ARMs control signals.

I'll investigate this problem. May be we need to reduce adaptation gain. In this experiment it was 0.1 and adaptive filter convergence time was equal to 1-2 mins.


  7267   Fri Aug 24 00:23:20 2012 DenUpdateModern Controlfeedback using LQG method

I did a simulation of linear quadratic gaussian (LQG) controller applied to local damping. The cost function was frequency shaped to have a peak at 1 Hz. This technique prevents the controller from adding sensor noise at high and very low frequencies.

Noise was simulated to have 1/f spectrum (seismic) multiplied by stack with a resonance at 4 Hz with Q=5.

model.png         feedback_lqg.png



  7270   Fri Aug 24 13:22:19 2012 DenUpdateModern Controlcavity simulation

I did a simulation of a cavity, feedback signal was calculated using LQG controller. I assumed that there is not length -> angle coupling and 2 mirrors that form the cavity have the same equation of motions (Q and eigen frequencies are the same). Cost functional was chosen in such a way that frequencies below 15 Hz contribute much more then other frequencies.

model.png             controller.png              cavity.png

Gains in the controller are calculated to minimize the cost functional.


This technique works well, but it requires full information about the system states. If we do not assume that cavity mirrors have the same equations of motion then we need to apply Kalman filter to approximate the position of one of the mirrors.

  7384   Fri Sep 14 01:05:36 2012 DenUpdateSUSMirrors being installed on active TTs


I have given Den 4 G&H R>99.99% mirrors to be installed on the 4 active tip tilts. 

 I've installed the mirrors on 4 tip-tilts. I was able to align 3 of them in pitch, the last one has a screw with damaged thread, I'll continue with it tomorrow.

Alignment accuracy in pitch is ~0.1 mrad. Mirrors oscillate a lot probably due to air flow coming from the side wall.

  7392   Fri Sep 14 21:03:02 2012 DenUpdatePEMBS and AS tables

I've measured seismic and acoustic noise on BS and AS tables. It seems that horizontal motion of BS table is ~1.5-2 times more then AS table in the frequency range 5-50 Hz.

Edit by Den: this was POI table, not BS!

vert.png  horiz_4_50.png

acoustic.png      coh.png

  7394   Sat Sep 15 18:46:50 2012 DenUpdatePEMmicrophone location

I've suspended microphones around the lab

C1:PEM-MIC_1 - MC2


  7395   Sat Sep 15 20:27:54 2012 DenUpdatePEMBS and AS tables


I've measured seismic and acoustic noise on BS and AS tables. It seems that horizontal motion of BS table is ~1.5-2 times more then AS table in the frequency range 5-50 Hz.

Edit by Den: this was POI table, not BS!

 This seismic measurement is for BS and AS tables.

bs_as_h.jpg       bs_as_v.jpg

  7412   Wed Sep 19 17:48:47 2012 DenUpdateModern ControlETMX

Time domain control using LQR technique is now applied to ETMX sus position. The plan was to do it for oplevs, I'll do it after the vent.

The cost function for state space variables was determined by TF  900 / (s + 30)^2. There was no penulty imposed for velocity, only for position. We can try that configuration as well.


  7424   Thu Sep 20 22:52:38 2012 DenUpdateMachineLearningFeedback controller


I have uploaded to my directory a directory neural_plant. The most important file is reference_plant.c, which compiles with the command

 We would appreciate some plots. Learning curves of recurrent NN working as a plant are interesting. For harmonic oscillator your RNN should not contain any hidden layers - only 1 input and 1 output node and 2 delays at each of them. Activation function should be linear. If your code is correct, this configuration will match oscillator perfectly. The question is how much time does it take to adapt.

Does FANN support regularization? I think this will make your controller more stable. Try to use more advanced algorithms then gradient descent for adaptation. They will increase convergence speed. For example, look at fminunc function at Matlab.

  7428   Fri Sep 21 22:43:51 2012 DenUpdateSUSTT alignment

I did TT alignment using red laser and QPD.

P9210079.JPG       P9210092.JPG

 I had a problem aligning TT with frame number SN-035 as some screws are damaged so all what I could move were 2 blades on the sides of the mirrors. But this was not enough to align pitch and yaw simultaneously.  It is possible to align pitch only, but then I got a huge yaw angle (~0.05-0.1 rad). The only option I had was to make a reasonable alignment in yaw and then suspend several washes on the screw on the bottom of the mirror to align pitch.

Attached are flag positions inside coils. 1 - SN034, 2 - SN012, 3 - SN006, 4 - SN035. For each TT there are 4 pictures with flag 1-4: UL, LL, UR, LR

Attachment 3: 1.pdf
1.pdf 1.pdf 1.pdf 1.pdf
Attachment 4: 2.pdf
2.pdf 2.pdf 2.pdf 2.pdf
Attachment 5: 3.pdf
3.pdf 3.pdf 3.pdf 3.pdf
Attachment 6: 4.pdf
4.pdf 4.pdf 4.pdf 4.pdf
  7429   Sat Sep 22 01:03:30 2012 DenUpdatePEMETMY table

I've installed Guralp readout box back and it turned out that it does not work with voltage provided from the rack (+13.76 0 -14.94).  +/-12 voltage regulators inside the box convert it to -0.9 0 -12. I've connected the box to +/-15 DC voltage supply to measure seismic motion at the ETMY table. Readout box works fine with +/- 15.

Seismic noise on the ETMY table measured to be a few times higher then on the floor in horizontal direction in the frequency range 50 - 200 Hz. Attached are compared spectrums of X, Y and Z motions.

Attachment 1: X.pdf
Attachment 2: Y.pdf
Attachment 3: Z.pdf
  7430   Sun Sep 23 22:40:48 2012 DenUpdateModern ControlMC_L locking

I've applied LQR approach to MC_L locking. Results show that LQR does not make MC_F signal smaller below 0.3 Hz in contrast with classical locking. This might indicate that in this frequency range we see sensing noise as LQR was provided with state-space model of MC only so it tries to reduce displacement noise. It is also possible that state-space model is not accurate enough.


Attachment 1: LQR_MCL.pdf
  7443   Wed Sep 26 17:09:15 2012 DenUpdateSUSTT

  [Koji, Steve, Den]

TT alignment is fine, yaw damping is satisfactory, pitch damping is slow. We might want to add magnets to the mirror and attach blades to the frame for pitch edge current damping.

We are moving towards electronics testing.

  7483   Thu Oct 4 22:16:40 2012 DenUpdatePSLPMC is locked

PZT monitor is not lying to us, I've measured it with a voltmeter. But PMC SERVO is still interesting. If I break the loop after PMCERR signal monitor (C1:PSL-PMC_BLANK=0), I can change PZT voltage from 0V (C1:PSL-PMC_RAMP = -7.3) to 132V (C1:PSL-PMC_RAMP=-10.0). If I break the loop by enabling TEST1, PZT voltage goes up to 294 V, though voltage on the TEST1 and MIXER MON is 0.

  7485   Thu Oct 4 22:35:16 2012 DenUpdateSUSHow about the slow machines?


Based on the elog entries, I assume they have not been burtrestored...

 Do you know how to burtrestore or restart slow machines?

Edit by Den: I did burtrestore of c1psl.snap from 2 days ago. Still slow machines behave not normal. For example, if I sweep C1:PSL-FSS_SLOWDC, SLOW monitor value does not change.

  7487   Fri Oct 5 00:29:34 2012 DenUpdatePEMreadout box power

Guralp readout box received +13.7 /0/ -15V instead +15V because of the broken fuse. Power provided by the source is normal.

Edit by Den: I've found a similar fuse on one of the tables and borrowed it. Guralp is not working again.

  7488   Fri Oct 5 01:36:49 2012 DenConfigurationPEMchanged PEM DQ channels


We should do this wherever possible so that our channels will have real calibrations associated with them.

Next we should up the rate at which the model runs up to 16 kHz so that we can record the microphones at 16 kHz. FM radio has information up to 20 kHz. AM radio goes up to ~8 kHz. We should be at least as modern as AM radio. How do we make the change? How do we make sure the FOTON file stays OK?

 I've added calibration gains to Guralp (to um/sec) and EM172 (to Pa) channels.

We can run PEM at 16 kHz. I think Foton file stores both sos-representation and filter commands which are independent of the sampling frequency, so it should be possible to change model sampling frequency quickly.

In fact, we can save data at 64 kHz from iop models. I've done this once with MC_F channel. However, I did not test EM172 noise at frequencies > 1 kHz.

  7490   Fri Oct 5 11:11:00 2012 DenUpdatePEMreadout box power


Guralp readout box received +13.7 /0/ -15V instead +15V because of the broken fuse. Power provided by the source is normal.

Edit by Den: I've found a similar fuse on one of the tables and borrowed it. Guralp is not working again.

 I've meant Guralp is NOW working again 

  7496   Sun Oct 7 15:05:42 2012 DenUpdateSUS MC2 sus damping restored


This is the third morning in a row that the MC2 was tripped.

 MC2 was tripped again. I think the answer is that watchdog's critical value was too small C1:SUS-MC2_PD_MAX_VAR = 10, so seismic could trip MC2. I've changed the value to 100.


  7497   Sun Oct 7 23:39:10 2012 DenUpdateModern Controlstate estimation

I've applied online state estimation technique using Kalman filter to LQG controller. It helps to estimate states that we do not measure. I've considered MC2 local damping, we measure position and want to estimate velocity that we need for control. We can either differentiate the signal or apply state estimation to avoid huge noise injection at high frequencies. In state estimation we need to know noise covariance, I've assumed that LID sensor noise is 0.1 nm. Though covariance can be calculated better.

In the time-domain figure C1:SUS-MC2_SUSPOS_IN1 = MC2 postion, C1:SUS-MC2_SUSPOS_OUT = MC2 velocity obtained by differentiation, 2 other channels are estimations of position and velocity.

Attachment 1: est_time.png
Attachment 2: est_freq.pdf
  7503   Mon Oct 8 12:34:52 2012 DenUpdateModern Controlstate estimation



 I guess that the estimated state has the same low pass filter, effectively, that we use to low pass the feedback signal in SUSPOS. I wonder if there is an advantage to the state estimation or not. Doesn't the algorithm also need to know about the expected seismic noise transmission from the ground to the optic?

 I think state estimation and optimal control are two different techniques that are often used together. Sometimes (as for pendulum) we can use LQG without state estimation as we need only position and velocity. But for more complex systems (like quad suspension) the states of all 4 masses can be reconstructed in some optimal way using information from only one of them if the dynamics is sufficiently well known. When current system states are measured/estimated we can apply control where all our filters are hidden.

 The algorithm needs to know about expected seismic noise transmission from the ground to the optic, but it might be not very precise. I gave it some rough estimate, there are better ways to do it. I think that we'll understand whether we need state estimation or not when we'll move to more complex systems. Brett uses a similar approach for his modal control. Interesting if these methods + seismometer readings will be able to say if one of your sensors is noisier then others.










  7511   Tue Oct 9 17:16:14 2012 DenUpdateSUSdiagonalization

I went inside to align the beam on WFS and noticed that oscillations in yaw are ~10 times stronger then in pitch. I've plot rms of pitch and yaw measured by LID sensors and saw that MC3 yaw rms motion is a few times larger then pitch.

Also MC1 input diag matrix does not diagonalize signals for pitch and yaw. In the spectrums of these signals all 4 resonance are equally seen during the free swinging. I think we should rediagonalize MC1.

Another thing is that if MC1 and MC3 are on the same stack,  pitch and yaw spectrums of these mirrors should be comparable. But MC1 signal is ~2-3 times larger then of MC3. I think we should correct calibration.

Attachment 1: mc123_rms.pdf
Attachment 2: mc1_diag.pdf
Attachment 3: mc123_rms.pdf
ELOG V3.1.3-