40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 327 of 346  Not logged in ELOG logo
ID Date Author Type Categorydown Subject
  6094   Fri Dec 9 14:33:16 2011 Alex IvanovUpdateAdaptive FilteringC1OAF

Quote:

I tried to figure out why red NO SYNC label became present in the C1OAF_GDS_TP screen after I added AA filters to the C1OAF model.

C1OAF model contains 8 libraries C1OAF_ADAPT for 8 DOF. I changed C1OAF_ADAPT library to C1OAF_ADAPT_AA library where I added 28 AA filters for 28 witness channels. It turns out that if I use this library for all 8 DOF then I see NO SYNC label, if only for one DOF (MCL) then I see green IOP label. This means that using AA filters for each DOF too much channels of filters are created for online system to operate. I think there is some number inside the code that one can not exceed. Analyzing compilation output after "make c1oaf" I figured out that without using AA filters we have 632 filters and using AA we have 856 filters.

For now I'll use AA filters for MCL only.

 I have a feeling we are not fitting into pre-allocated memory space in the shared memory between the front-end process and the epics process. Filter module data is overwriting some other data and that's why we are not getting a sync light. I suggest we upgrade to 2.4 code first and then we will figure out a way to expand memory areas to fit 856 filters.

  6100   Fri Dec 9 17:53:31 2011 DenUpdateAdaptive FilteringC1OAF

[Jenne, Den]

AA filters for witness channels are added to the oaf model. It is working now and the number of memory used is not critical.  NO SYNC is not present any more.

  6110   Tue Dec 13 01:20:38 2011 DenUpdateAdaptive FilteringModifications to LSC, RFM models, added OAF model

Quote:

[Jenne, Mirko, with supervision from Jamie]

We are starting to create the new OAF model, so that it works with the new CDS system. 

 Why did you place Matt's code inside the simulink library and use the same library for all DOFs? I think this won't work out. Inside the .c code there are static variables. If all DOF use the same ADAPT_XFCODE() function, it means that they all mess there signals and coefficients with each other! Or the RCD during the compilation creates a copy of the function with the name of a library name in front? For example, ADAPT_MCL_ADAPT_XFCODE(). But then in the RCG manual it is claimed to name the .c file the same.

This problem can be fixed by creating .c files with proper names for each DOF. But here a memory question may arise. For 1 DOF we now have 28 witness channel. If we have a several minute filter, we use 28 * 104(filter length) * 3 (FIR coefficients, adapt input, corr input) * 8 (number of bytes in 1 double)  = 6.7 Mb / DoF. For 8 DOF we'll allocate ~55 Mb of memory in the kernel. The c1lsc cache size is 6 Mb per cpu. So we are definitely out of cache and it will take some time for a processor to communicate with ram. I wonder if it is OKEY for us to allocate this amount of memory as static arrays inside the kernel.

Now we use 6.7 Mb of memory because it seems to be a mistake with placing the same function for all DOF and we actually allocate for 1.

 

  6137   Mon Dec 19 17:17:02 2011 DenUpdateAdaptive Filteringfilter tap dependence

Online filter diverges. I did offline simulations with current c-code. Offline filter also diverges, even in the simplest case 

witness = randn(1e6, 1); target = witness + 0.01*randn(1e6, 1);

I tried to create a new implementation of FXLMS algorithm as a c code. Then with this c code I did offline filtering with MCL and GUR signals and compared the error signals depending on the length of the filter.

OfflineAF.png

One can see the code at the svn

adaptOnline - start here and choose algorithm

adaptive_filtering - Matlab implementation of AF

current_version.c - current version of the Filter (Matt's)

fxlms_filter.c - new version of the FXLMS filter

oaf.c - agent between Matlab and C (edited Matt's file)

Data samples can be found at nodus /users/den/wiener_filtering/data

  6199   Sun Jan 15 10:28:02 2012 DenUpdateAdaptive Filteringdelays

We can account for delays in the oaf system by compensating it in the adaptive path of the filter. But using only this procedure is not enough. Parameters mu and tau should be chosen accurately:

w = (1 - tau) * w;

w += mu * dw / norm;

NLMS algorithm without considering delays works well for mode cleaner length and gur1 seismometer signals, significantly reducing MC_F  with parameters mu=1, tau=0. These parameters are considered because nlms algorithm should converge with the highest speed when mu=1. However, if the system has a delay so at time moment n:

error_signal [n] = desired_signal [n] - filter_output [n-delay];

then the adaptive filter diverges for the same parameters mu=1 and tau=0 even for delay=1. For that reason we make the same calculations with tau = 1e-4 and tau = 1e-2 without reducing mu conserving the adaptation rate and get the same result as nlms algorithm without delays. Next figure shows MC_F signal, error after applying e-nlms filter with tau=1e-4 and tau=1e-2. "e-" is added to show that  a small number (epsilon) is added to the norm of the signal in order to prevent the filter from diverging in the beginning of the process when the norm is not well-determined yet.

2048_tau.png

The test was done offline with the sampling frequency 2048 Hz, without downsampling and any filters. We can see that tau=1e-4 is still not enough, tau=1e-3 or tau=1e-2 is as good as nlms without delays, tau=1e-1 and high are also bad.

Correctly choosing tau we have some freedom for delay compensation in the adaptation path. This is important as we do not know exactly what is the delay in the real system. We can measure it approximately. In order to figure out the range of reasonable delay errors we make a test with delay = 1, but to the adaptation path we give delays from 0 to 10. It turns out that adaptation path delays greater then 5 make the filter diverge, delays in the range 0-3 produce a reasonable error. In the figure below errors with adaptation path delays = 1 (correct) and 3 are presented.

2048_delays.png

  6200   Sun Jan 15 11:40:30 2012 DenUpdateAdaptive Filteringdownsampling

Here for the downsampling process we use a low-pass Bessel digital filter of order 6, normalized cut-off frequency = 0.1. In the plot presented below we compare the results with downsampling ratio = 1, 2, 4.

2048_downsampling.png

We can see that increasing the downsampling ratio, we increase the error of the filter. Moreover, the error at some particular frequency f seems to depend on the ratio f/Fs, where Fs - sampling frequency (2048 Hz) devided by downsampling ratio. Error is the same for all curves below 1 Hz but then begins to increase as we increase the sownsampling ratio. In order to figure out what the problem is - mistake in the filter code, inaccurate upsample algorithm or this is NLMS particularity, I've changed sampling frequency in the chans/daq/C1PEM.ini and C1IOO.ini files from 2048 Hz to 512 Hz for corresponding channels. Now, we compare the error from the filter working with 2048 Hz frequency, downsampling ratio = 4, low-pass filter = Bessel of order 6, normalized cut-off = 0.1 and filter working with 512 Hz sampling frequency, without downsampling and with corresponding Bessel low-pass filter with normalized frequency 0.4.

2048_512.png

MC_F measurement at 2048 Hz was done during the day, for that reason red curved is slightly higher then green in the resonance frequencies. But still we can see that these two cases are very much alike. For this reason, it seems that NLMS filter works better with higher sampling frequencies.

  6201   Sun Jan 15 12:18:00 2012 DenUpdateAdaptive Filteringrunning time

 In order to figure out what downsampling ratio we can take, we need to determine the running time of the fxlms_filter() function. If the filter length is equal to 5000, downsampling ratio is equal to 1, number of witness channels is 1 then with ordinary compilation without speed optimization one call runs for 0.054 ms (milli seconds). The test was done on the 3 GHz Intel processor. With speed optimization flags the situation is better

-O1 0.014 ms, -O3 0.012 ms

However, Alex said that speed optimization is not supported at RCG because it produce unstable execution time for some reason. However, by default the kernel should optimize for size -Os. With this flag the running time is also 0.012 ms. We should check if the front-end machine compilers indeed use -Os flag during the compilation and also play with speed optimization flags. Flags -O3 and -Os together might also give some speed improvement.

But for now we have time value = 0.012 ms as running time for 5000 coefficient filter, 1 witness channel and downsample ratio = 1. Now, we need to check how this time is scaled if we change the parameters.

5000 cofficients - 0.012 ms

10000 coefficients - 0.024 ms

15000 coefficients - 0.036 ms

20000 coefficients - 0.048 ms

We can see that filter length scaling is linear. Now we check downsampling ratio

ratio=1 - 0.048 ms

ratio=2 - 0.024 ms

ratio=4 - 0.012 ms

Running time on the dependance of downsample ratio is also linear as well as on the dependence of the number of witness channels and degrees of freedom. 

If we want to filter 8 DOF with approximately 10 witness channels for each DOF, then 5000 length filter will make 1 cycle for ~1 ms, that is good enough to make the downsample ratio equal to 4.

Things get a little bit complicated when the code is called for the first time. Some time is taken to initialize variables and check input data. As a result the running time of the first cycle is ~0.1 ms for 1 DOF that is ~10 times more then running time of an ordinary cycle. This effect takes place at this moment when one presses reset button in the c1oaf model - the filter becomes suspended for a while. To solve this problem the initialization should be divided by several (~10) parts.

  6296   Sat Feb 18 17:01:26 2012 DenUpdateAdaptive Filteringstatic variables

In order to prevent different DOF from redetermining static variables in the adaptive code, I've created a separate code for each DOF with the name ADAPT_XFCODE_{$DOF}.c

I've provided the links for these files in the c1oaf.mdl, compiled and run it. Now there are no conflicts between DOFs.

  6297   Sat Feb 18 18:29:38 2012 DenUpdateAdaptive Filteringonline filtering

I tried to filter MC_F from seismic noise measured by GUR1 seismometer. I've used 8000 tap filter, downsample ratio=8, delay=1. In the Figure the output of the filter is presented with MC_F signal.

output.pdf

We can see that output is close to the MC_F, but the phase for some reason is not zero. It should not be at 1 Hz - 10 Hz due to the actuator. But below these frequencies I do not see any reasons for the output phase to differ from MC_F phase. But it is possible, the phase of the actuator is evaluated very rough and the adaptive filter can't match it.

  6332   Tue Feb 28 16:12:59 2012 DenUpdateAdaptive Filteringlunch talk

 Just to be clear what I said at the meeting, I write all this down here. Adaptive filtering of real signals (MC_F and GUR1_X) with all noises inside is 

gains.png

This is offline filtering but with real signals and with the C-code that is compiled at the 40m now. We can reduce the MC_F signal by ~100 below 10 Hz, but  the problem is that reducing the adaptation gain, the error increases. As a result when we move towards FxLMS algorithm with AA, AI and downsampling, we have to take the gain equal to ~1e-2 and we do not reduce any noise. 

The second demonstration of this problem is static Wiener filtering. This is the result

wiener.png

We can see that adaptive filtering outperforms the "optimal" filtering. This is because an adaptive filter can follow the changes of coefficients immediately while the Wiener filter averages them. This is the mathematical formulation:

mcl_real = coeff _real* seismic_noise_real + other_noise

mcl_real - the real length of the MC,

coeff_real - real coefficients, that represent the transfer function between seismic noise and MC length,

other_noise - noise uncorrelated to the seismic noise seismic_noise_real

But in the world of our measured signals we have the equation

mcl_measured = coeff * seismic_noise_measured + other_noise

mcl_measured = TF_mcl * mcl_real

seismic_noise_measured = TF_seis * seismic_noise_real

where TF_mcl and TF_seis - transfer functions from the real world to measurements.

It seems to me that TF_mcl or TF_seis are not constants and for that reason the TF between measured seismic noise and mcl is not constant. But it is exactly what an adaptive or Wiener filter tries to define:

coeff(time) = average(coeff(time)) + delta(coeff(time))

The result of applying average(coeff) is the green line in the Figure 2 - error after applying the Wiener filtering.

delta(coeff) - the changing part of the transfer function is caught by the adaptive filtering. The lower the gain, the lower is the capability of adaptive filter to catch these changes. Theoretically. the error after applying adaptive filter can be presented like this:

E(error*error) = E(other_noises*other_noises) + 1/(2-mu)*mu*E(other_noises*other_noises)  + 1/ {mu*(2-mu)} * Tr(Q) * A

where mu = adaptation gain

Q - covariance matrix of delta(coeff)

A - norm of the seismic signal

The first term in this equation is the dispersion of other noises, the second term is the error of the adaptive filter due to non-zero gain, the third term is due to the changes in the transfer function - we can see that it is proportional to 1/mu. This term explains why the error increases while mu decreases.

Now I'm looking for the part in the path of the signals where the transfer function can change. As I mentioned above, this is not a change in the real world, it is the change in the measured signlals. My first guess is the quantization error - we do not have not enough counts. If this is not the case, I'll move to other things of the signal path.

  6490   Thu Apr 5 18:24:55 2012 DenConfigurationAdaptive Filteringoaf starts to work

Today I tried to make the lms filter to work online. I played around with the signals (GUR1_X and MC_F) to pre-whiten them and in the end the following configuration worked out:

1. mu = 0.03, tau = 1e-5, downsample=8, nCoeff = 4000, delay = 5 (sample-and-hold delay is not included in the new code, it should be added here!)

2. witness pass: AA32 = cheby1("LowPass", 4, 1, 32) AND 0.1:0

3. witness adaptation path: AA32 AND AI32 = cheby1("LowPass", 4, 1, 32) AND 0.1:0

4. error path: AA32 AND 0.1:0 AND anti_1Hz. Before I added anti_1Hz filter oaf did nothing. This filter tries to approximate the actuator transfer function. Note, it is not in the witness adaptation path. This is some sort of whitening.

5. correction path: AI32, gain = -1

Convergence time ~ 5 mins. The performance of the filter is far not perfect compared to the offline implementation. But it deals with a stack though.

oaf2.pdf

  6491   Fri Apr 6 09:57:24 2012 DenUpdateAdaptive Filteringstatic starts to work

I made static filter to work to evaluate the actuator TF.. Here is the result of static filtering:

static1-crop.pdf

 What I did:

 I did offline simulation of the MC_F Wiener filtering using 2 witness signals - GUR1X and GUR1Y. I've downsampled the data from 2048 to 128 Hz and applied the Wiener filter with 10000 for each witness channel:

wiener_filtering.pngcoeffs.png

                                            Result of the filtering                                                                                     Filter coefficients for gur1x and then gur1y

xTF.pngyTF.png

                                         Gur1x -> MC_F transfer function                                                                          Gur1y -> MC_F transfer function

Then using vectfit I approximated obtained transfer functions in the region 0.5 - 20 Hz. I used a window function and then weights to get a more precise result in this range using only 8 poles and zeros.

xfitting.pngyfitting.png

I obtained the zpk-model for each witness channel and entered it into the FOTON splitting it into 2 parts before that because FOTON does not like too long filters. These zpk-models are at the C1:OAF-STATIC_STATMTX_8_8 and C1:OAF-STATIC_STATMTX_8_9 filter banks.

GUR1X:

z =

  7.527339430029315 +31.603999069997801i
  7.527339430029230 -31.603999069997823i
 27.897703898191267 + 0.000000000000071i
 -6.437806394766186 + 9.893955654289517i
 -6.437806394766159 - 9.893955654289510i
  1.114401249545640 + 5.479278396987240i
  0.176877296954015 + 0.000000000000006i
  1.114401249545616 - 5.479278396987245i


p =

 -0.407251778925379 + 6.263247012022007i
 -0.407251778925379 - 6.263247012022007i
 -0.230672968859081 + 6.846868757063707i
 -0.230672968859081 - 6.846868757063707i
 -2.871419857491615 +13.707864827517826i
 -2.871419857491615 -13.707864827517826i
 -2.134260618362721 +18.319129999777648i
 -2.134260618362721 -18.319129999777648i


k =

     4.113285626223658e-04

GUR1Y

z =

 17.961416874092624 +13.631821252434328i
 17.961416874092642 -13.631821252434353i
 -8.788634771726304 + 7.653357335975781i
 -8.788634771726285 - 7.653357335975777i
 -0.037906973323273 + 5.133348020858679i
 -0.164348392996182 + 3.588803405511463i
 -0.164348392996187 - 3.588803405511474i
 -0.037906973323277 - 5.133348020858679i


p =

 -0.027577318242359 + 5.174655410828068i
 -0.027577318242359 - 5.174655410828068i
 -0.500384298611703 + 6.310552036591990i
 -0.500384298611703 - 6.310552036591990i
 -0.237055716999485 + 6.881204941979009i
 -0.237055716999485 - 6.881204941979009i
 -1.408223271160550 +14.874570175309771i
 -1.408223271160550 -14.874570175309771i


k =

    -2.723835471763049e-04

 Then I approximated the reversed actuator TF  and placed it to the C1:OAF-SUS_MC2_OUT filter bank. The gain to the static filter output is -1.

P.S. Also the static matrix was filled with 1 for some reason. Here is the script to fix it if if will be bad again

for i in {1..8}
do
    for j in {1..28}
    do
        element="C1:OAF-STATIC_STATMTX_"$i"_"$j"_GAIN"
        ezcawrite $element 0
    done
done

 

 

  6492   Fri Apr 6 10:31:07 2012 DenUpdateAdaptive Filteringstatic and adaptive

I've run static and adaptive filters simultaneously. AA32 filters rotate the phase of the witness signals GUR1X and GUR1Y and now the performance of the static filter is worse. Next time I'll recalculate Wiener filter coefficients taking this into account. But still 2 filters together can deal with a stack better.

static_oaf.pdf

  6493   Fri Apr 6 11:14:34 2012 JenneUpdateAdaptive Filteringstatic and adaptive

Quote:

I've run static and adaptive filters simultaneously. AA32 filters rotate the phase of the witness signals GUR1X and GUR1Y and now the performance of the static filter is worse. Next time I'll recalculate Wiener filter coefficients taking this into account. But still 2 filters together can deal with a stack better.

static_oaf.pdf

 This is super awesome!  I'm totally excited!!

  6551   Thu Apr 19 22:18:24 2012 DenUpdateAdaptive Filteringoaf algorithm: old vs new

 Here are the issues that I found not quite accurate in the old oaf code:

1. There is no need to calculate the norm of the witness signal every time from zero: 

norm += (*pBufAdapt) * (*pBufAdapt); // add to the norm 

Every step the witness signal vector is the same except the first and last values

wit[i].norm += histAdpt[nCoeff]*histAdpt[nCoeff] - histAdpt[0]*histAdpt[0];

 This step will reduce the number of multiplications and summations from 3*M/k to 2*M/k, M - filter length, k - downsample ratio.

2. Old code filter corrects filter coefficients with a delay equal to k=downsample ratio (pretty big):

witness       o o o o o o o o o o o o o o o o o o o o o

error           o o o o o o o o o o o o o o o o o o o o o

We want the filter to work at green points and skip red points computing output and correcting coefficients at this time (downsample ratio in this example is 4). Old code

  • grabs error signal
  • calculates output during next k-1 red points and 1 green point
  • corrects coefficients using this error during next k-1 red points and 1 green point

But LMS algorithm should correct coefficients according to the latest error. As we calculate output and correct coefficients before the latest error signal will be available, we should change the order:

  • grabs error signal
  • corrects coefficients using this error during next k-1 red points and 1 green point
  • calculates output during next k-1 red points and 1 green point

This scheme is completely equivalent to the ordinary LMS algorithm, as now we correct coefficients according to the latest error signal and so do not add any delay.

3. So long soft start is probably not needed for the LMS filter, it makes the filter to converge longer 

// modify adaptation gain for soft start

    if( state.iWait < state.nFIR )

    {

      adaptGain = 0.0;

      decayRate = 1.0;  // clear FIR coeffs after reset

    }

As far as I understand this is done to prevent the filter from huge coefficients variations in the beginning when norm is not calculated yet. Instead we can just introduce some small

epsilon = 10.0;

to prevent the filter from divergence in the beginning 

delta = mu * error / (wit[i].norm + epsilon);

Though some soft start might be needed by not so long - it will take several minutes before the adaptation gain will take it's specified value. 

  6553   Fri Apr 20 23:02:25 2012 DenUpdateAdaptive Filteringfrequency domain filter

 DFT-LMS is a frequency domain adaptive filter that demonstrates faster convergence compared to the time-domain LMS filter. I've tested Discrete Fourier Transform (DFT-LMS) filter. It converts witness signal to the frequency domain using DFT and corrects the eigenvalues of the covariance matrix to make them as equal to each other as possible (does pre-whitenning of the witness signal).

Left plot compares learning curves for time domain LMS and DFT-LMS algorithms on the simulated data from seismometers and mcl (number of averages  = 30) Right plot shows the evolution of the filter coefficients norm (Euclidean norms of the coefficient vector). Though LMS algorithm works in the time domain and DFT-LMS in the frequency domain, the coefficient vectors must have the same length, because we Fourier Transform is achieved by applying a unitary operator => vector norm must not change.

dft.png   norm.png

Plots show that both algorithms converge to the same coefficients vector norm, but DFT-LMS does it much faster then LMS. 

Online realization: 

Good news: algorithm complexity is linear in filter length. Though the algorithm does Fourier transform, its complexity is still O(M), M - number of coefficients. Simulations show that DFT-LMS is ~8-9 times slower then LMS. This is not so bad, may be we can do even slightly better.

Bad news: downsample process is not simple. Due to Fourier transform, the filter needs the whole witness signal vector before calculating the output. This is sad and in contrast with LMS algorithm where we could start to calculate the new output immediately after computing the previous output. We either need to calculate the whole output immediately or introduce delay in the output or approximate Fourier transform with some previous witness signal values.

Realization in the kernel: I asked Alex about complex numbers, exponents, sin and cos functions in the kernel c and he answers that we do not have complex numbers, about exp, cos, sin he is not sure. But for DFT-LMS algorithm we are able to get round of these difficulties. Complex numbers will be presented as  2 real numbers. Then exp (a) = cos(a) + i*sin(a). All what we need for DFT-LMS are sin(2 * pi * k / M) and cos(2 * pi * k / M), k=0,1,2,...,M-1. Fortunately, M - (filter length) is big enough, typical value pi/M ~ 0.001 and we can calculate sin(2*pi/M) and cos(2*pi/M) using Taylor series. As the argument is small, 5-6 terms will be enough to get precision ~1e-20. Then we build the whole table of cos and sin according to induction cos(2*pi/M*k) = cos(2*pi/M*(k-1))cos(2*pi/M) - sin(2*pi/M*(k-1))sin(2*pi/M), sin(2*pi/M*k) = cos(2*pi/M*(k-1))sin(2*pi/M) + sin(2*pi/M*(k-1))cos(2*pi/M). We should do it only once, so the algorithm will build these values in the beginning during first several iterations, then will use them.

The main problem is downsampling. I need to think more about it.

  6642   Fri May 11 23:33:41 2012 DenUpdateAdaptive Filteringoffline vs online

I've compared offline Wiener filtering with online static + adaptive filtering for MC_F with GUR1_XYZ and GUR2_XYZ as witness signals

off_on.jpg

Note: online filter works up to 32 Hz (AI filter at 32 Hz is used). There is no subtraction up from this frequency, just MC_F was measured in different times for online and offline filtering. This difference in MC_F in frequency range 20-100 Hz showed up again as before with microphone testing.  One can see it in 1 minute. Smth is noisy.

Reasons why online filter is worse then offline:

1. FIR -> IIR conversion produces error. Now I'm using VECTFIT approximation with 16 poles (splitting into 2 filter banks), this not enough. I tried to use 50 and split them into 5 filter banks, but this scheme is not working: zpk -> sos conversion produces error and the result filter works completely wrong.

2. Actuator TF. VECTFIT works very good here - we have only 1 resonance. However, it should be measured precisely.

3. Account for AA and AI filters that rotate the phase at 1-10 Hz by ~ 10 degrees.

  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.

freq_af.png+

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.

  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.

1hz.png

  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.

 oaf_arms.png

  7589   Mon Oct 22 20:44:49 2012 AyakaUpdateAdaptive Filteringmicrophone noise

I will do some experiments on acoustic noise canceling during my stay.
Now I am planning to cancel acoustic noise from PMC and see how the acoustic noise work and how we should place microphones.

First, I measured the noise in microphones and its circuit.
mic_noise2.png
-blue, green, red, solid lines; microphone signals
-blue, green, red, dashed lines; un-coherent noise in signals
-yellow, black, solid lines; circuit noise (signal input is open, not connected to the microphones)

We can see the acoustic signal above 1 Hz, and the circuit does not seem to limit its sensitivity. But I do not know why yellow and black is so different. I will check it tomorrow.

  7592   Tue Oct 23 00:51:41 2012 JamieUpdateAdaptive Filteringmicrophone noise

Quote:

I will do some experiments on acoustic noise canceling during my stay.
Now I am planning to cancel acoustic noise from PMC and see how the acoustic noise work and how we should place microphones.a

First, I measured the noise in microphones and its circuit.
mic_noise2.png
-blue, green, red, solid lines; microphone signals
-blue, green, red, dashed lines; un-coherent noise in signals
-yellow, black, solid lines; circuit noise (signal input is open, not connected to the microphones)

We can see the acoustic signal above 1 Hz, and the circuit does not seem to limit its sensitivity. But I do not know why yellow and black is so different. I will check it tomorrow.

Hi, Ayaka.  It would be good if you could give a little bit more detail about this plot:

  • What exactly are the "signals"?  Are you making a sound somehow?  If so, what is producing the sound?  What is it's spectrum?
  • Are the blue/green/red traces from three different microphones?
  • Coherence usually implies a comparison between two signals.  Is something being compared in the dashed traces?
  • Are the yellow and black traces from different amplifiers?
  • What are the units of the Y axis?

 

  7596   Tue Oct 23 10:24:42 2012 AyakaUpdateAdaptive Filteringmicrophone noise

Quote:

Quote:

I will do some experiments on acoustic noise canceling during my stay.
Now I am planning to cancel acoustic noise from PMC and see how the acoustic noise work and how we should place microphones.a

First, I measured the noise in microphones and its circuit.
mic_noise2.png
-blue, green, red, solid lines; microphone signals
-blue, green, red, dashed lines; un-coherent noise in signals
-yellow, black, solid lines; circuit noise (signal input is open, not connected to the microphones)

We can see the acoustic signal above 1 Hz, and the circuit does not seem to limit its sensitivity. But I do not know why yellow and black is so different. I will check it tomorrow.

Hi, Ayaka.  It would be good if you could give a little bit more detail about this plot:

  • What exactly are the "signals"?  Are you making a sound somehow?  If so, what is producing the sound?  What is it's spectrum?
  • Are the blue/green/red traces from three different microphones?
  • Coherence usually implies a comparison between two signals.  Is something being compared in the dashed traces?
  • Are the yellow and black traces from different amplifiers?
  • What are the units of the Y axis?

 

 Sorry for my poor explanation.

I measured this by the same way as you measured the instrumental noise of seismometers.
I put the three microphones at the same place so that the three can hear the same sound. I did not make any sounds, just put them in the lab.
The signals from microphones are all amplified by the circuit.
And I took the correlations of each signals and two others and got the noise (dashed lines) by subtracting the correlated signal from the original signal.

So,
-The signal is the acoustic sound in the lab, amplified by the circuit.
-Three lines are from three different microphones.
-Dashed lines are subtraction of coherent signal from the original.
-Yellow and black lines are from different amplifiers in the same circuit box. The circuit has 6 channels.
-I did not calibrate the signals I got by DTT since I do not know the calibration factor now. It is just the number I got from the real time system.

 

  7607   Wed Oct 24 14:15:34 2012 AyakaUpdateAdaptive Filteringmicrophone noise

Previous results
I am measuring the noise level of the microphones. The circuit does not seems to limit their sensitivities but the circuit's noise seems to be different from other channels.

Measurement
I measured the circuit noise of all 6 channels. (input open)
(mic_open.png)
The noise level is about 10 times different from the others.

Comparing the acoustic signal, microphone+circuit noise, and ADC noise;
(mic_noise.png)
- blue; acoustic signal
- green; microphone+circuit noise
- red; circuit (the data was not took simultaneously.)
- sky blue; ADC noise

To do
I will remake the circuit though the circuit does not limit the sensitivity. I would like to make sure that the circuit does not affect badly and to make the circuit noise level the same.
At the same time, I will get the PMC control signal and see coherence between it and acoustic sound.

Attachment 1: mic_open.png
mic_open.png
Attachment 2: mic_noise.png
mic_noise.png
  7609   Wed Oct 24 15:29:52 2012 ranaUpdateAdaptive Filteringmicrophone noise

  We have to change the sample rate and AA filter for the mic channels before going too far with the circuit design.

  7610   Wed Oct 24 17:02:01 2012 JenneUpdateAdaptive Filteringmicrophone noise

Quote:

  We have to change the sample rate and AA filter for the mic channels before going too far with the circuit design.

 To save the mic channels at higher than 2k (which we should do), we either have to move them to a different model, change the rate of the PEM model, or see if you can save data faster than the model runs (which I can't imagine is possible).

  7614   Wed Oct 24 22:20:24 2012 DenUpdateAdaptive Filteringmicrophone noise

Quote:

  We have to change the sample rate and AA filter for the mic channels before going too far with the circuit design.

 PEM model is running at 64K now. It turned out to be tricky to increase the rate:

  • BLRMS are computationally expensive and original pem model did not start at any frequency higher then 16k ( at 16k cpu meter readings were 59/60 ). Also when we go higher then 16k, front-end gives the model less resources. I guess it is assumed that this model is iop and won't need too much time. So in the end I had to delete BLRMS blocks for all channels except for GUR2Z and MIC1.
  • Foton files are modified during model compilation: lines with sampling rate and declaration of filters in the beginning of the file are changed only. Sos-representation and commands are the same. I hoped that filter commands will let me change sos-representation quickly. I've opened Foton and saved the file. However, Foton modified commands in such a way that the ratio of poles and zeros to sampling rate is preserved. I guess all filters have to be replaced or this process should be done in another way.
  • BLRMS block uses low-pass filters below 0.01 Hz, increasing the sampling rate by a factor of 32 might make calculations incorrect. I'll check it.

We should also increase cut off frequency of the low-pass filter in the microphone pre-amplifier from 2 kHz up to ~20-30 kHz.

Attachment 1: mic_64k.pdf
mic_64k.pdf mic_64k.pdf
  7621   Thu Oct 25 09:53:23 2012 AyakaUpdateAdaptive Filteringmicrophone noise

Quote:

Quote:

  We have to change the sample rate and AA filter for the mic channels before going too far with the circuit design.

 PEM model is running at 64K now. It turned out to be tricky to increase the rate:

  • BLRMS are computationally expensive and original pem model did not start at any frequency higher then 16k ( at 16k cpu meter readings were 59/60 ). Also when we go higher then 16k, front-end gives the model less resources. I guess it is assumed that this model is iop and won't need too much time. So in the end I had to delete BLRMS blocks for all channels except for GUR2Z and MIC1.
  • Foton files are modified during model compilation: lines with sampling rate and declaration of filters in the beginning of the file are changed only. Sos-representation and commands are the same. I hoped that filter commands will let me change sos-representation quickly. I've opened Foton and saved the file. However, Foton modified commands in such a way that the ratio of poles and zeros to sampling rate is preserved. I guess all filters have to be replaced or this process should be done in another way.
  • BLRMS block uses low-pass filters below 0.01 Hz, increasing the sampling rate by a factor of 32 might make calculations incorrect. I'll check it.

We should also increase cut off frequency of the low-pass filter in the microphone pre-amplifier from 2 kHz up to ~20-30 kHz.

 Thank you for changing the sample rate!
Also we have to change the Anti-Aliasing filter, as Jamie said.

Now my question is, whether S/N ratio is enough at high frequencies or not. The quality of EM172 microphone is good according to the data sheet. But as you can see in previous picture, the S/N ratio around 1kHz is not so good, though we can see some peaks, e.g. the sound that a fan will make. I have to check it later.
And, is it possible to do online adaptive noise cancellation with a high sampling rate such that computationally expensive algorithms cannot be run?

  7622   Thu Oct 25 10:03:38 2012 ranaUpdateAdaptive Filteringmicrophone noise

  That's no good - we need BLRMS channels for many PEM channels, not just two. And the channel names should have the same name as they had in the past so that we can look at long term BLRMS trends.

I suggest:

  1. Have a separate model for Mics and Magnetometers. This model should run at 32 kHz and not have low frequency poles and zeros. Still would have acoustic frequency BLRMS.
  2. Have a low frequency (f_sample = 2 kHz) model for seis an acc. Seismometers run out of poop by 100 Hz, but we want to have the ACC signal up to 800 Hz since we do have optical mount resonances up to there.
  3. Never remove or rename the BLRMS channels - this makes it too hard to keep long term trends.
  4. Do a simple noise analysis to make sure we are matching the noise of the preamps to the noise / range of the ADCs.
  5. Immediately stop using bench supplies for the power. Use ONLY fused, power lines from the 1U rack supplies.
  7623   Thu Oct 25 14:39:14 2012 DenUpdateAdaptive Filteringmicrophone noise

Quote:

  That's no good - we need BLRMS channels for many PEM channels, not just two. And the channel names should have the same name as they had in the past so that we can look at long term BLRMS trends.

I suggest:

  1. Have a separate model for Mics and Magnetometers. This model should run at 32 kHz and not have low frequency poles and zeros. Still would have acoustic frequency BLRMS.
  2. Have a low frequency (f_sample = 2 kHz) model for seis an acc. Seismometers run out of poop by 100 Hz, but we want to have the ACC signal up to 800 Hz since we do have optical mount resonances up to there.
  3. Never remove or rename the BLRMS channels - this makes it too hard to keep long term trends.
  4. Do a simple noise analysis to make sure we are matching the noise of the preamps to the noise / range of the ADCs.
  5. Immediately stop using bench supplies for the power. Use ONLY fused, power lines from the 1U rack supplies.

Ayaka, Den

 C1PEM model is back to 2K.

We created a new C1MIC model for microphones that will run at 32K. C1SUS machine is full, we have to think about rearrangement.

For now, we created DQ channels for microphones inside iop model, so we can subtract noise offline.

We provided 0-25 kHz bandwidth noise to AA board and saw the same signal in the output of ADC in the corresponding channel. So cut-off frequency is higher then 25 kHz. There is a label on the AA board that all filters are removed. What does this mean?

We've turned off AA bench power supply, prepare to use fused from 1U.

  7633   Fri Oct 26 18:25:02 2012 AyakaUpdateAdaptive FilteringMicrophone noise again

[Raji, Ayaka]

Thanks to Den, power supplies for microphone circuit are changed.
So I measured the microphone noise again by the same way as I did last time.

mic_noise.png
  solid lines: acoustic noise
 dashed lines: un-coherent noise
black line: circuit noise (microphone unconnected)

The circuit noise improves so much, but many line noises appeared.
Where do these lines (40, 80, 200 Hz...) come from?
These does not change if we changed the microphones...

Anyway, I have to change the circuit (because of the low-pass filter). I can check if the circuit I will remake will give some effects on these lines.

  7634   Fri Oct 26 19:06:14 2012 DenUpdateAdaptive FilteringMicrophone noise again

Quote:

The circuit noise improves so much, but many line noises appeared.
Where do these lines (40, 80, 200 Hz...) come from?
These does not change if we changed the microphones...

Anyway, I have to change the circuit (because of the low-pass filter). I can check if the circuit I will remake will give some effects on these lines.

I do not think that 1U rack power supply influenced on the preamp noise level as there is a 12 V regulator inside. Lines that you see might be just acoustic noise produced by cpu fans. Usually, they rotate at ~2500-3000 rpm => frequency is ~40-50 Hz + harmonics. Microphones should be in an isolation box to minimize noise coming from the rack. This test was already done before and described here

I think we need to build a new box for many channels (32, for example, to match adc). The question is how many microphones do we need to locate around one stack to subtract acoustic noise. Once we know this number, we group microphones, use 1 cable with many twisted pairs for a group and suspend them in an organized way.

  7636   Mon Oct 29 08:41:22 2012 AyakaUpdateAdaptive FilteringMicrophone noise again

Quote:

Quote:

The circuit noise improves so much, but many line noises appeared.
Where do these lines (40, 80, 200 Hz...) come from?
These does not change if we changed the microphones...

Anyway, I have to change the circuit (because of the low-pass filter). I can check if the circuit I will remake will give some effects on these lines.

I do not think that 1U rack power supply influenced on the preamp noise level as there is a 12 V regulator inside. Lines that you see might be just acoustic noise produced by cpu fans. Usually, they rotate at ~2500-3000 rpm => frequency is ~40-50 Hz + harmonics. Microphones should be in an isolation box to minimize noise coming from the rack. This test was already done before and described here

I think we need to build a new box for many channels (32, for example, to match adc). The question is how many microphones do we need to locate around one stack to subtract acoustic noise. Once we know this number, we group microphones, use 1 cable with many twisted pairs for a group and suspend them in an organized way.

 I do not think they are acoustic sounds. If so, there should be coherence between three microphones because I placed three at the same place, tied together. However, there are no coherence at lines between them.

  7708   Tue Nov 13 21:05:35 2012 DenUpdateAdaptive Filteringonline and simulation

For a last few days I've been working on oaf and simulink model to simulate it. First I did online subtraction from MC when MC_L path was enabled. Inside my code I've added a sum of squares of filter coefficients so we can monitor convergence of the filter.

coeff.png     online.png

To to this I've measured path from OAF output to input without AA and AI filters. Then made a vectfit using 2 poles and zeros. Foton command

zpk( [-2.491928e+03;5.650511e-02], [-4.979872e+01;-3.278776e+00], 6.011323e+00)

mag.png    phase.png

My simulink model consists of 3 parts:

  • cavity with seismic noise at low frequencies, 1/f^2 noise at medium frequencies and white noise at high frequencies
  • this cavity is locked using feedback compensation filters that we use to lock arms
  • locked cavity with adaptive filter

Adaptive filter in the model uses online c-code. It is connected to simulink block through an S-function. Sampling frequency of the model is 10 kHz. It works fairly fast - 1 sec of simulation time is computed in 1 sec.

overview.png       af.pngsim.png  sim_coeff.png

I've tested FxLMS algorithm and MFxLMS algorithm that is faster. I plan to test 2 iir adaptive algorithms that are already coded.

  7764   Fri Nov 30 02:40:44 2012 DenUpdateAdaptive FilteringYARM

I've applied FIR adaptive filter to YARM control. Feedback signal of the closed loop was used as adaptive filter error signal and OAF OUT -> IN transfer function I assumed to be flat because of the loop high gain at low frequencies. At 100 Hz deviation was 5 dB so I've ignored it.

I've added a filter bank YARM_OAF to C1LSC model to account for downsampling from 16 kHz to 2 kHz and put low-pass filter inside.

I've used GUR 1&2 XYZ channels as witnesses. Bandpass filters 0.4-10 Hz we applied to each of them. Error signal was filters using the same bandpass filter and 16 Hz 40 dB Q=10 notch filter. As an AI filter I used 32 Hz butterworth 4 order low-pass filter. Consequently, AI, bandpass and notch filters were added to adaptive path of witness signals.

I've used an FIR filter with 4000 taps, downsampling = 16, delay = 1, tau = 0, mu = 0.01 - 0.1. Convergence time was ~3 mins.

yarm_oaf.png

  7767   Fri Nov 30 11:49:24 2012 KojiUpdateAdaptive FilteringYARM

This is interesting. I suppose you are acting on the ETMY.
Can you construct the compensation filter with actuation on the MC length?
Also can you see how the X arm is stabilized?

This may stabilize or even unstabilize the MC length, but we don't care as the MC locking is easy.

If we can help to reduce the arm motion with the MCL feedforward trained with an arm sometime before,
this means the lock acquisition will become easier. And this may still be compatible with the ALS.

Why did you notched out the 16Hz peak? It is the dominant component for the RMS and we want to eliminate it.

  7769   Fri Nov 30 22:11:50 2012 DenUpdateAdaptive FilteringARMS

Quote:

This is interesting. I suppose you are acting on the ETMY.
Can you construct the compensation filter with actuation on the MC length?
Also can you see how the X arm is stabilized?

This may stabilize or even unstabilize the MC length, but we don't care as the MC locking is easy.

If we can help to reduce the arm motion with the MCL feedforward trained with an arm sometime before,
this means the lock acquisition will become easier. And this may still be compatible with the ALS.

Why did you notched out the 16Hz peak? It is the dominant component for the RMS and we want to eliminate it.

 I actuate on ETMY for YARM and ETMX for XARM. For now I did adaptive filtering for both arms at the same time. I used the same parameters for xarm as for yarm.

I've notched 16 Hz resonance because it has high Q and I need to think more how to subtract it using FIR filter or apply IIR.

I'll try MC stabilazation method.

Attachment 1: arms_oaf.pdf
arms_oaf.pdf
  7771   Sat Dec 1 00:13:16 2012 DenUpdateAdaptive FilteringARMS and MC

Quote:

 

 I actuate on ETMY for YARM and ETMX for XARM. For now I did adaptive filtering for both arms at the same time. I used the same parameters for xarm as for yarm.

I've notched 16 Hz resonance because it has high Q and I need to think more how to subtract it using FIR filter or apply IIR.

I'll try MC stabilazation method.

 Adaptive filtering was applied to MC and X,Y arms at the same time. I used a very aggressive (8 order) butterworth filter at 6 Hz as an AI filter for MC not to inject noise to ARMS as was done before

Mu for MC was 0.2, downsample = 16, delay = 1. I was able to subtract 1 Hz. Stack subraction is not that good as for arms but this is because I used only one seismometer for MC that is under the BS. I might install accelerometers under MC2.

EDIT, JCD, 18Feb2013:  Den remembers using mu for the arms in the range of 0.01 to 0.1, although using 0.1 will give extra noise.  He said he usually starts with something small, then ramps it up to 0.04, and after it has converged brings it back down to 0.01.

Attachment 1: arms_mcl_oaf.pdf
arms_mcl_oaf.pdf
  14010   Sat Jun 23 13:08:41 2018 JonUpdateAUXFirst Coherent AUX Scan of PRC Using AM Sidebands

[Jon, Keerthana, Sandrine]

Thu.-Fri. we continued with PRC scans using the AUX laser, but now the "scanned" parameter is the frequency of AM sidebands, rather than the frequency of the AUX carrier itself. The switch to AM (or PM) allows us to coherently measure the cavity transfer as a function of modulation frequency.

In order to make a sentinel measurement, I installed a broadband PDA255 at an unused pickoff behind the first AUX steering mirror on the AS table. The sentinel PD measures the AM actually imprinted on the light going into the IFO, making our measurement independent of the AOM response. This technique removes not only the (non-flat) AOM transfer function, but also any non-linearities from, e.g., overdriving the AOM. The below photo shows the new PD (center) on the AS table.

With the sentinel PD installed, we proceeded as follows.

  • Locked IFO in PRMI on carrier.
  • Locked AUX PLL to PSL.
  • Tuned the frequency of the AUX laser (via the RF offset) to bring the carrier onto resonance with the PRC.
  • Swept the AOM modulation frequency 0-60 MHz while measuring the AUX reflection and injection signals.

The below photo shows the measured transfer function [AUX Reflection / AUX Injection]. The measurement coherence is high to ~55 MHz (the AOM bandwidth is 60 MHz). We clearly resolve two FSRs, visible as Lorentzian dips at which more AUX power couples into the cavity. The SURFs have these data and will be separately posting figures for the measurements.

With the basic system working, we attempted to produce HOMs, first by partially occluding the injected AUX beam with a razor blade, then by placing a thin two-prong fork in the beam path. We also experimented with using a razor blade on the output to partially occlude the reflection beam just before the sensor. We were able to observe an apparent secondary dip indicative of an HOM a few times, as shown below, but could not repeat this deterministically. Besides not having fine control over the occlusion of the beams, there is also large few-Hz angular noise shaking the AS beam position. I suspect from moment to moment the HOM content is varying considerably due to the movement of the AS beam relative to the occluding object. I'm now thinking about more systematic ways to approach this.

 

  14011   Sat Jun 23 20:54:35 2018 KojiUpdateAUXFirst Coherent AUX Scan of PRC Using AM Sidebands

How much was the osc freq of the marconi? And then how much was the resulting freq offset between PSL and AUX?

Are we supposed to see two dips with the separation of an FSR? Or four dips (you have two sidebands)?

And the distance between the dips (28MHz-ish?) seems too large to be the FSR (22MHz-ish).
cf https://wiki-40m.ligo.caltech.edu/IFO_Modeling/RC_lengths

  14017   Tue Jun 26 10:06:39 2018 keerthanaUpdateAUXFirst Coherent AUX Scan of PRC Using AM Sidebands

(Jon, Keerthana, Sandrine)

I am attaching the plots of the Reflected and transmitted AUX beam. In the transmission graph, we are getting peak corresponding to the resonance frequencies, as at that frequency maximum power goes to the cavity. But in the Reflection graph, we are obtaining dips corresponding to the resonance frequency because maximum power goes to the cavity and the reflected beam intensity becomes very less at those points.

 

Attachment 1: TRANS.pdf
TRANS.pdf
Attachment 2: REFL.pdf
REFL.pdf
  14035   Tue Jul 3 11:59:10 2018 JonUpdateAUXAUX Carrier Scan of Y-Arm Cavity

I made the first successful AUX laser scan of a 40m cavity last night.

Attachment #1 shows the measured Y-end transmission signal w.r.t. the Agilent drive signal, which was used to sweep the AUX carrier frequency. This is a distinct approach from before, where the carrier was locked at a fixed offset from the PSL carrier and the frequency of AM sidebands was swept instead. This AUX carrier-only technique appears to be advantageous.

This 6-15 MHz scan resolves three FSR peaks (TEM00 resonances) and at least six other higher-order modes. The raw data are also enclosed (attachment #2). I'll leave it as an excercise for the SURFs to compute the Y-arm cavity Gouy phase.

Attachment 1: yarm_carrier_trans.pdf
yarm_carrier_trans.pdf
Attachment 2: AG4395A_02-07-2018_185504.txt
# AG4395A Measurement - Timestamp: Jul 02 2018 - 18:55:04
#---------- Measurement Parameters ------------
# Start Frequency (Hz): 6000000.0, 6000000.0
# Stop Frequency (Hz): 15000000.0, 15000000.0
# Frequency Points: 801, 801
# Measurement Format: LOGM, PHAS
# Measuremed Input: AR, AR
#---------- Analyzer Settings ----------
# Number of Averages: 16
# Auto Bandwidth: Off, Off
... 807 more lines ...
  14036   Wed Jul 4 19:11:49 2018 JonUpdateAUXMore Testing of AUX-Laser Mode Scanning

More progress on the AUX-laser cavity scans.

Changes to the Setup

  • For scans, the Agilent is now being used as a standalone source of the LO signal provided to the AUX PLL (instead of the Marconi), which sets the RF offset. We discovered that when the sweep is "held" in network analyzer mode, it does not turn off the RF drive signal, but rather continues outputting a constant signal at the hold frequency. This eliminates the need to use the more complicated double-deomdulation previously in use. The procedure is to start and immediately hold the sweep, then lock the PLL, then restart the sweep. The PLL is able to reliably remain locked for frequency steps of up to ~30 kHz. The SURFs are preparing schematics of both the double- and single-demodulation techniques.
  • Both the Marconi and Agilent are now phase-locked to the 10 MHz time reference provided by the rabidium clock. This did noticeably shift the measured resonance frequencies.
  • I raised the PI controller gain setting to 4.5, which seems to better suppress the extra noise being injected.
  • I've procured a set of surgical needles for occluding the beam to produce HOMs. However, I have not needed to use them so far, as the TEM00 purity of the AUX beam appears to already be low. The below scans show only the intrinisic mode content.

New Results

  • YARM scan at 70 uW injection power (Attachment #1). The previously reported YARM scan was measured with 9 mW of injected AUX power, 100x larger than the power available from the SQZ laser at the sites. This scan repeats the measurement with the AUX power attenuated to uW. It still resolves the FSR and at least three HOMs.
  • PRC scan (Attachment #2) at 9 mW injection power. It appears to resolve the FSR and at least three HOMs. Angular injection noise was found to cause large fluctuations in the measured signal power. This dominates the error bars shown below, but affects only the overall signal amplitude (not the peak frequency locations). The SQZ angular alignment loops should mitigate this issue at the sites.

Both data sets are attached.

Attachment 1: yarm_trans_70uW.pdf
yarm_trans_70uW.pdf
Attachment 2: prc_trans_9mW.pdf
prc_trans_9mW.pdf
Attachment 3: yarm_carrier_trans_70uW.tar.gz
Attachment 4: prc_carrier_trans_9mW.tar.gz
  14044   Sun Jul 8 12:20:12 2018 JonSummaryAUXGouy Phase Measurements from AUX-Laser Scans

This note reports analysis of cavity scans made by directly sweeping the AUX laser carrier frequency (no sidebands). The measurement is made by sweeping the RF offset of the AUX-PSL phase-locked loop and demodulating the cavity reflection/transmission signal at the offset frequency.

Y-Arm Scan

Due to the simplicity of its expected response, the Y-arm cavity was scanned first as a test of the AUX hardware and the sensitivity of the technique. Attachment 1 shows the measured cavity transmission with respect to RF drive signal.

The AUX laser launch setup is capable of injecting up to 9.3 mW into the AS port. This high-power measurement is shown by the black trace. The same measurement is repeated for a realistic SQZ injection power, 70 uW, indicated by the red curve. At low power, the technique still clearly resolves the FSR and six HOM resonances. From the identified mode resonance frequencies the following cavity parameters are directly extracted.

YARM Gautam's Finesse Model Actual
FSR 3.966 MHz 3.967 MHz
Gouy phase 54.2 deg 52.0 deg

PRC Scan

An analogous scan was performed for the PRC, with the IFO locked on PSL carrier in PRMI. Attachment 2 shows the measurement of PRC transmission with respect to drive signal.

The scan resolves HOM resonances to at least ~13th order, whose frequencies yield the following cavity parameters.

PRC Gautam's Finesse Model Actual
FSR 22.30 MHz 22.20 MHz
Gouy phase 13.4 deg 15.4 deg

SRC Scan

Ideally (and at the sites) the SRC mode resonances will be measured in SRMI configuration. Because every other cavity is misaligned, this configuration provides an easily-interpretable spectrum whose resonances can all be attributed to the SRC.

Due to time constraints at the 40m, the IFO could not be restored to lockability in SRMI. It has been more than two years since this configuration was last run. For this reason the scan was made instead with the IFO locked in DRMI, as shown in Attachment 3. The quantity measured is the AUX reflection with respect to drive signal.

This result requires far more interpretation because resonances of both the SRC and PRC are superposed. However, the resonances of the PRC are known a priori from the independent PRMI scan. The SRC mode resonances identified below do not conincide with any of the first five PRC mode resonances.

Based on the identified mode resonance frequencies, the SRC parameters are measured as follows.

SRC Gautam's Finesse Model Actual
FSR 27.65 MHz 27.97 MHz
Gouy phase 10.9 deg 8.8 deg

Lessons Learned

From experience with the 40m, the main challenges to repeating this measurement at the sites will be the following.

  • Pointing jitter of the input AUX beam. This causes the PSL-AUX beam overlap to vary at transmission (or reflection), causing variation in the amplitude of the AUX-PSL beat note. As far as we can tell, the frequency of the resonances (the only object of this measurement) is not changing in time, only the relative amplitudes of the diferent mode peaks. I believe the SQZ alignment loops will mitigate this problem at the sites.
  • Stabilization of the network analyzer time base. We found the intrinsic frequency stability of the network analyzer (Agilent 4395A) to be unacceptably large. We solved this problem by phase-locking the Agilent to an external reference, a 10-MHz signal provided by an atomic clock.
Attachment 1: yarm_aux_carrier_trans.pdf
yarm_aux_carrier_trans.pdf
Attachment 2: prmi_aux_carrier_trans.pdf
prmi_aux_carrier_trans.pdf
Attachment 3: drmi_aux_carrier_trans.pdf
drmi_aux_carrier_trans.pdf
  Draft   Wed Jul 11 18:13:19 2018 keerthanaSummaryAUXGouy Phase Measurements from AUX-Laser Scans

From the Measurement Jon made, FSR is 3.967 MHz and the Gouy phase is 52 degrees. From this, the length of the Y-arm cavity seems to be 37.78 m and the radius of curvature of the mirror seems to be 60.85 m.

 

Guoy Phase = \cos^{-1} \sqrt{g1.g2}

\\ g = 1- \frac{L}{R}

L = \frac {c} {2*FSR}

FSR = Free spectral Range

L = Lenth of the arm

R = Radius of curvature of the mirror (R1 =\infty  , R2= unknown)

Quote:

This note reports analysis of cavity scans made by directly sweeping the AUX laser carrier frequency (no sidebands). The measurement is made by sweeping the RF offset of the AUX-PSL phase-locked loop and demodulating the cavity reflection/transmission signal at the offset frequency.

Y-Arm Scan

Due to the simplicity of its expected response, the Y-arm cavity was scanned first as a test of the AUX hardware and the sensitivity of the technique. Attachment 1 shows the measured cavity transmission with respect to RF drive signal.

The AUX laser launch setup is capable of injecting up to 9.3 mW into the AS port. This high-power measurement is shown by the black trace. The same measurement is repeated for a realistic SQZ injection power, 70 uW, indicated by the red curve. At low power, the technique still clearly resolves the FSR and six HOM resonances. From the identified mode resonance frequencies the following cavity parameters are directly extracted.

YARM Gautam V. Finesse Model Actual
FSR 3.966 MHz 3.967 MHz
Gouy phase 54.2 deg 52.0 deg

 

 

  14062   Fri Jul 13 00:15:13 2018 Annalisa, TerraConfigurationAUXY arm cavity scan

[Annalisa, Terra, Koji, Gautam]

Summary: We find a configuration for arm scans which significantly reduces phase noise. We run several arm scans and we were able to resolve several HOM peaks; analysis to come.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

As first, we made a measurement with the already established setup and, as Jon already pointed out, we found lots of phase noise. We hypothesized that it could either come from the PLL or from the motion of the optics between the AUX injection point (AS port) and the Y arm. 

  • We first characterized the PLL loop phase noise by comparing the beat signal against the Agilent reference signal, and we found that the beat had lots of phase noise with respect to the reference. Decreasing the PLL gain, we got rid of the phase noise in the beat signal.
  • Next, for the optical path length induced phase noise, we took the transfer function between TransMon and REFL signal rather than TransMon and Agilent reference signal. This takes advatage of the fact that the TransMon and REFL both see optical path length phase noise, which therefore gets canceled out in the transfer function. 

In this configuration, we were able to do arm scans where the phase variation at each peak was pretty clear and well defined. We took several 10MHz scan, we also zoomed around some specific HOM peak, and we were able to resolve some frequency split. 

We add some pictures of the setup and of the scan.

The data are saved in users/OLD/annalisa/Yscans. More analysis and plots will follow tomorrow. 

Attachment 1: IMG_6492.JPG
IMG_6492.JPG
Attachment 2: IMG_6494.JPG
IMG_6494.JPG
  14091   Fri Jul 20 18:30:47 2018 JonConfigurationAUXRecommend to install AUX PZT driver

I recently realized that the PLL is only using about 20% of the available actuation range of the AUX PZT. The +/-10 V control signal from the LB1005 is being directly inputted into the fast AUX PZT channel, which has an input range of +/-50 V.

I recommend to install a PZT driver (amplifier) between the controller and laser to use the full available actuator range. For cavity scans, this will increase the available sweep range from +/-50 MHz to +/-250MHz. This has a unique advantage even if slow temperature feedback is also implemented. To sample faster than the timescale of most of the angular noise,  scans generally need to be made with a total sweep time <1 sec. This is faster than the PLL offset can be offloaded via the slow temperature control, so the only way to scan more than 100 MHz in one measurement is with a larger dynamic range.

  14501   Fri Mar 29 15:47:58 2019 gautamUpdateAUXAUX laser fiber moved from AS table to PSL table

[anjali, gautam]

To facilitate the 1um MZ frequency stabilization project, I decided that the AUX laser was a better candidate than any of the other 3 active NPROs in the lab as (i) it is already coupled into a ~60m long fiber, (ii) the PSL table has the most room available to set up the readout optics for the delayed/non-delayed beams and (iii) this way I can keep working on the IR ALS system in parallel. So we moved the end of the fiber from the AS table to the SE corner of the PSL table. None of the optics mode-matching the AUX beam to the interferometer were touched, and we do not anticipate disturbing the input coupling into the fiber either, so it should be possible to recover the AUX beam injection into the IFO relatively easily.

Anjali is going to post detailed photos, beam layout, and her proposed layout/MM solutions later today. The plan is to use free space components for everything except the fiber delay line, as we have these available readily. It is not necessarily the most low-noise option, but for a first pass, maybe this is sufficient and we can start building up a noise budget and identify possible improvements.

The AUX laser remians in STANDBY mode for now. HEPA was turned up while working at the PSL table, and remains on high while Anjali works on the layout.

  14504   Sun Mar 31 18:39:45 2019 AnjaliUpdateAUXAUX laser fiber moved from AS table to PSL table
  • Attachment #1 shows the schematic of the experimental setup for the frequency noise measurement of 1 um laser source.

  • AUX laser will be used as the seed source and it is already coupled to a 60 m fiber (PM980). The other end of the fiber was at the AS table and we have now removed it and placed in the PSL table.

  • Attachment # 2 shows the photograph of the experimental setup. The orange line shows the beam that is coupled to the delayed arm of MZI and the red dotted line shows the undelayed path.

  • As mentioned, AUX is already coupled to the 60 m fiber and the other end of the fiber is now moved to the PSL table. This end needs to be collimated. We are planning to take the same collimator from AS table where it was coupled into before. The position where the collimator to be installed is shown in attachment #2. Also, we need to rotate the mirror (as indicated in attachment #2) to get the delayed beam along with the undelayed beam and then to combine them. As indicated in attachment #2, we can install one more photo diode to perform  balanced detection.

  • We need to decide on which photodetector to be used. It could be NF1801 or PDA255.

  • We also performed the power measurement at different locations in the beam path. The different locations at which power measurement is done is shown attachment #3

  • There is an AOM in the beam path that coupled to the delayed arm of MZI. The output beam after AOM was coupled to the zero-order port during this measurement. That is the input voltage to the AOM was at 0 V, which essentially says that the beam after the AOM is not deflected and it is coupled to the zero-order port. The power levels measured at different locations in this condition are as follows. A)282 mW B)276 mW C)274 mW D)274 mW E)273 mW F)278 mW G)278 mW H)261 mW I)263 mW J)260 mW K)131 mW L)128 mW M)127 mW N)130 mW

  • It can be seen that the power is halved from J to K. This because of a neutral density filter in the path of the beam

  • In this case, we measured a power of 55 mW at the output of the delayed fiber. We then adjusted the input voltage to the AOM driver to 1 V such that the output of AOM is coupled to the first order port. This reduced the power level in the zero-order port of AOM that is coupled to the delayed arm of the MZI. In this case we measured a power of 0.8 mW at the output of delayed fiber.

  •  We must be careful about the power level that is reaching the photodetector such that it should not exceed the damage threshold of the detector.

  • The power measured at the output of undelayed path is 0.8 mW.

  • We also must place the QWP and HWP in the beam path to align the polarisation.

Quote:

[anjali, gautam]

To facilitate the 1um MZ frequency stabilization project, I decided that the AUX laser was a better candidate than any of the other 3 active NPROs in the lab as (i) it is already coupled into a ~60m long fiber, (ii) the PSL table has the most room available to set up the readout optics for the delayed/non-delayed beams and (iii) this way I can keep working on the IR ALS system in parallel. So we moved the end of the fiber from the AS table to the SE corner of the PSL table. None of the optics mode-matching the AUX beam to the interferometer were touched, and we do not anticipate disturbing the input coupling into the fiber either, so it should be possible to recover the AUX beam injection into the IFO relatively easily.

Anjali is going to post detailed photos, beam layout, and her proposed layout/MM solutions later today. The plan is to use free space components for everything except the fiber delay line, as we have these available readily. It is not necessarily the most low-noise option, but for a first pass, maybe this is sufficient and we can start building up a noise budget and identify possible improvements.

The AUX laser remians in STANDBY mode for now. HEPA was turned up while working at the PSL table, and remains on high while Anjali works on the layout.

 

Attachment 1: Schematic_of_experimental_setup_for_frequency_stabilisation_of_1_micron_source.png
Schematic_of_experimental_setup_for_frequency_stabilisation_of_1_micron_source.png
Attachment 2: 1_micron_setup_for_frequency_noise_measurement.JPG
1_micron_setup_for_frequency_noise_measurement.JPG
Attachment 3: 1_micron_setup_for_frequency_noise_measurement_power_levels.png
1_micron_setup_for_frequency_noise_measurement_power_levels.png
  16194   Wed Jun 9 11:46:01 2021 Anchal, PacoSummaryAUXXend Green Laser PDH OLTF measurement

We measured the Xend green laser PDH Open loop transfer function by following method:

  • We first measured the feedback transfer function 'K' directly.
    • See attachment 2 for this measurement. We measured Out2/exc here.
  • Then, we closed the loop as shown in attachment 1with SR560 as a summing juntion at error point.
    • We injected excitation through B channel in SR560 and measured transfer function Out1/Out2.
    • This measurement should give us G_{OL} / K by loop alegbra.
  • Then we multiplied the two transfer function measurements to get open loop transfer function.

Result:

  • Our measurement gives the same UGF of 10kHz and phase margin of 53.5 degrees as reported in 13238.
  • The shape of measurement also follows 1/f above 10 Hz atleast.
  • Our measurement might not be correct below 10 Hz but we did not see any saturation or loss of lock in 1Hz to 10 Hz measurement.
  • This OLTF is different from the modelled OLTF here even though the UGF matches.
  • The feedback gain is supposed to roll-off faster than 1/f in 30Hz to 1kHz region but it does not seem to in our measurement.
  • This suggests that the actual uPDH box is shaping the loop different from what schematic suggests. This might mean that the gain is much lower in the low frequency region than we would like it to be.
  • We will investigate the reason of difference between model and measurement unless someone has a better explaination for the descripancy.
Attachment 1: image-6f2923a3-01ce-4d04-bc53-d8db0238e195.jpg
image-6f2923a3-01ce-4d04-bc53-d8db0238e195.jpg
Attachment 2: image-72223f4b-3b74-4574-a7ad-de6628a2c5e9.jpg
image-72223f4b-3b74-4574-a7ad-de6628a2c5e9.jpg
Attachment 3: X_Green_ARM_PDH_OLTF.pdf
X_Green_ARM_PDH_OLTF.pdf
ELOG V3.1.3-