ID 
Date 
Author 
Type 
Category 
Subject 
2480

Tue Jan 5 17:32:59 2010 
Jenne  Update  WienerFiltering  New Wiener Filters installed in PEM IIR matrix on OAF screen 
EDIT 6 Jan 2010: Shouldn't have done this. My bad. The AA32 is on the other PEM matrix because the Adaptive code runs at 64Hz, so there's downsampling, calculating, and upsampling which goes on. The Feed Forward path all runs at 2kHz, the regular rate of the ASS/OAF machine. All of these filters are turned off (although I haven't deleted them from Foton). Since we're focusing on low frequency stuff and trying to get that to do some subtraction, we're not worrying about the junk at higher frequencies just yet.
I have put AA32 filters into the PEMIIR matrix's input filter banks (ie, C1:ASSTOP_PEMIIR_##), to match the ones that are in the same places in the regular PEM matrix on the OAF screen.
I redid the uncorrected vs. corrected MC_L DTT printout, shown below. You can see that there's less junk at higher frequencies in the Blue (actuation channel) trace, which is good. 
Attachment 1: OAFFF_test_5Jan10.png


2660

Sun Mar 7 07:01:21 2010 
rana  Update  WienerFiltering  Guralp Huddle Test software 
We need to do a new huddle test of the Guralps for the Wiener filtering paper. The last test had miserable results.
I tried to use recent data to do this, but it looks like we forgot to turn the Guralp box back on after the power outage or that they're far off center.
So instead I got data from after the previous power outage recovery.
I tried to use our usual Wiener filter method to subtract Guralp1Z from Guralp2Z, but that didn't work so well. It was very sensitive to the preweighting.
Instead I used the new .m file that Dmass wrote for subtracting the phase noise from his doubling noise MZ. That worked very well. It does all of the subtraction in the frequency domain and so doesn't have to worry about making a stable or causal filter. As you can see, it beats our weighted Wiener filter at all frequencies.
The attached plot shows the Guralp spectra (red & green), the residual using timedomain Wiener filtering (black) and the Dmass fdomain code (yellow).
As soon as Jenne brings in her beer cooler, we're ready to redo the Huddle Test.

2672

Sat Mar 13 22:16:03 2010 
rana  Update  WienerFiltering  Guralp Huddle Test software 
I used some recent better data to try for better Z subtraction.
Dmass helped me understand that sqrt(1Coherence) is a good estimate of the theoretical best noise subtraction residual. This should be added to DTT. For reference the Jan statistic is the inverse of this.
This should get better once Steve centers the Guralps. 
Attachment 1: guralpznoise.png


3489

Mon Aug 30 18:35:22 2010 
Jenne  Update  WienerFiltering  Secret Hiding Place for Raw Data 
As it turns out, data seems to fall off the 16Tb drives after ~20 days. Which makes it a good thing that I saved all of my raw data from my good Mode Cleaner / seismic weekend for offline Wiener Filtering in the following secret place:
/cvs/cds/caltech/users/jenne/AdaptiveFiltering/mat/MCseis_raw_data_7Aug2010
It's not linked to the svn, since it's a boatload of data. 
4226

Sat Jan 29 03:13:44 2011 
rana  Update  WienerFiltering  Improvement in H1 Wiener FF prediction by using weights and taps 
(Jenne, Rana)
Tonight we noticed that there were significant improvements to be had in the predicted DARM Wiener filtering FF performance by using weighting filters and more taps in the FIR filter.
The plots below tell the story:
The first one shows the improvement in the residual (black & blue) by applying a weighting filter. The weight filter tilts the spectrum up at HF and applies and all real pole BP from 1020 Hz.
The second plot shows the improvement gotten by using 3000 instead of 2000 taps for the Wiener filter. With the larger number of taps we not only get the big improvement at LF, but also some beefy reduction in the higher frequency stack modes and the LOS roll mode.
I'm not sure why we haven't run across this before; the weighting filter was arrived at today by just iterating by hand on the placement of poles and zeros until the trace looked nice.
Jenne is going to run this new filter on the S5month that we have been using for stationarity testing.
* Some notes:
** this Wiener stuff is faster, by far, on rossa than either megatron or rosalba or my laptop. More than a factor of 3.
*** there is a bug with Macports/Matlab  if you get fftw3 with Macports, it sets itself as the right version to use. This confuses matlab in some cases.
if you get the error about libfftw3.dylib, whe trying fft in matlab after installing macports, then you can fix it by setting the Matlab lib/ path with the fftw libraries to be ahead of /opt/local/lib in the LD_LIBRARY_PATH in your .cshrc. 
Attachment 1: darmweight.png


Attachment 2: darm3000.png


4231

Mon Jan 31 10:31:30 2011 
josephb  Update  WienerFiltering  Improvement in H1 Wiener FF prediction by using weights and taps 
Rossa is a rather beefy machine. It effectively has 8 Intel i7 Cores (2.67 Ghz each) and 12 Gigs of ram. Megatron only has 8 Gigs of ram and just 8 Opterons (1 GHz each). Rosalba has 4 Quad Core2 (2.4 GHz) with only 4 Gigs of ram.
MC damp 
dataviewer 
diaggui 
AWG 
c1ioo 
c1sus 
c1iscex 
RFM 
The Dolphins 
Sim.Plant 
Frame builder 
TDS 













4348

Thu Feb 24 10:56:04 2011 
Jenne  Update  WienerFiltering  One month of H1 S5 data is now on Rossa 
Just in case anyone else wants to access it, we now have 30 days of H1 S5 DARM data sitting on Rossa's harddrive. It's in 10min segments. This is handy because if you want to try anything, particularly Wiener Filtering, now we don't have to wait around for the data to be fetched from elsewhere. 
4968

Thu Jul 14 17:34:35 2011 
Ishwita, Manuel  HowTo  WienerFiltering  WienerHopf equations 
Since we are using Wiener filtering in our project, we studied the derivation of WienerHopf equations. Whatever we understood we have written it as a pdf document which is attached below... 
Attachment 1: derivwf.pdf


5087

Mon Aug 1 23:29:24 2011 
Manuel, Ishwita  Update  WienerFiltering  Getting Data by matlab 
We tried to acquire data from the seismometers and the mode cleaner using the Matlab function
datalist = NDS2_GetData({'C1:PEMSEIS_GUR1_X_IN1_DQ'}, 996258376 , 10, CONFIG.nds.C)
and encountered the following error
Warning: daq_request_data failed
??? Error using ==> NDS2_GetData
Fatal Error getting channel data.
The same error was obtained with the following other channels
C1:PEMSEIS_GUR2_X_IN1_DQ
C1:PEMSEIS_STS_1_X_IN1_DQ
But we are able to get data from channel
C1:LSCMC_OUT_DQ
for the same gps time.
We checked with Dataviewer that the data are saved (we viewed data of last 24h) for every channel. 
5102

Wed Aug 3 02:28:08 2011 
Manuel, Ishwita  Update  WienerFiltering  Wiener Filtering in Xarm 
Wiener Filtering was applied on the data collected from the Xarm during the time: GPS time996380715 (Aug 02, 2011. 21:25:00. PDT) to GPS time996382215 (Aug 02, 2011. 21:50:00. PDT) for a duration of 1500 seconds. During this time the Xarm was locked, we checked it by acquiring data from channel C1:LSCTRX_OUT_DQ .
The seismometers were near the beam splitter (guralp2) and near MC2 (guralp1).
Target data was obtained from channel C1:LSCXARM_IN1_DQ.
Following graphs were obtained after applying the Wiener filter:
1.Seismic data acquired from Guralp1 (X and Y) and Guralp2 (X and Y) 2.Seismic data acquired from Guralp2 X 3.Seismic data acquired from Guralp2 Y
These graphs were obtained with srate = 2048 (sample rate) and N = 20000 (order of the filter).
Graph 1 is the best because the black (residual) line is below the red (target) line for low frequencies since we used seismic data from 4 channels. Graph 3 is the worst because we used seismic data from only one Y channel (Y axis of Guralp2) that is less related with the Xarm mirrors' motion since they are oriented orthogonally. 
5106

Wed Aug 3 12:24:08 2011 
Manuel, Ishwita  Update  WienerFiltering  Weekly summary 
Last Friday (Jul 29) we reinstalled the blue breakout box, and changed the names of the C1:PEM channels. Elog Reference
We continued the work on the simulation ad applied wiener filter on the simulated ground motion, but the result is unsatisfactory, yet. We will post reasonable results soon.
We did wiener filtering for the first time on real data from the Xarm while it was locked. Elog Reference 
5157

Tue Aug 9 16:21:59 2011 
Manuel, Ishwita  Update  WienerFiltering  First results of our simulations 
We did the simulation of the stacks by defining a transfer function for one stack (green plot) and another similar transfer function for the other stack.
We simulated the ground motion by filtering a white noise with a low pass filter with a cutoff frequency at 10Hz. (blue plot) (the ground motion for the 2 stacks are completely uncorrelated)
We simulated the electronic white noise for the seismic measurements. (black plot)
We filtered the ground motion (without the measurements electronic noise) with the stack's transfer function and subtracted them to find the mirror response (red plot), which is the target signal for the wiener filter.
We computed the static wiener filter with the target signal (distance between the mirrors) and the input data (seismic measurements = ground motion + electronic noise).
We filtered the input and plotted the output (light blue plot).
We subtracted the target and the output to find the residual (magenta plot).
We didn't figure out why the residual is above the electronic noise only under ~6hz. We tried to increase and decrease the electronic noise and the residual follows the noise still only under ~6Hz.
It also shows that the residues are above the target at frequencies over 20Hz. This means that we are injecting noise here.
We tried to whiten the target and the input (using an high pass filter) to make the wiener filter to care even of higher frequencies.
The residues are more omogeneously following the target.
We also plotted the Wiener filter transfer function without making whitening and with making whitening. It shows that if we do whitening we inject no noise at high frequency. But we loose efficency at low frequencies.
We shouldn't care about high frequency, because the seismometers response is not good over 50Hz. So, instead of whitening, we should simply apply a low pass filter to the filter output to do not inject noise and keep a good reduction at low frequencies.

6005

Fri Nov 25 12:46:13 2011 
Mirko  Update  WienerFiltering  Wiener filtering tryout 
Tried the wiener filter with the TF from p.5900
Tried it out with the TFs from p.5900:
Adding a filter element that compensates the acutator TF makes the MC lose lock. 
6029

Mon Nov 28 18:53:35 2011 
Den  Summary  WienerFiltering  seismic noise substraction 
There is still a problem why GUR, STS signals are poorly coherent to MC_L. But at least we can see coherence at 25 Hz. It might be useful to do something with adaptive filtering because it does not work at all for a long time. We start with Wiener filtering. I still doubt that static filtering is useful. Adaptive filter output is linear to its coefficients, so why not to provide adaptive filter with a zero approximation equal to calculated Wiener filter coefficients. Then you automatically have Wiener filter ouput + adaptively control coefficients. But if Wiener filter is already present in the model, I tried to make it work. Then we can compare performance of the OAF with static filter and without it.
I started with GUR1_X and MC_F signals recorded 1 month ago to figure out how stable TF is. Will the same coefficients work now online? In the plot below offline Wiener filtering is presented.
This offline filtering was done with 7500 coefficients. This FIR filter was converted to IIR filter with the following procedure:
1. Calculate frequency responce of the filter. It is presented below.
2. Multiply this frequency response by a window function. This we need because we are interested in frequencies 0.120 Hz at this moment. We want this function to be > 1e3 at ~0Hz, so that the DC component is filtered out from seismometer signal. From the other hand we also do not want huge signal at high frequenies. We know that this signal will be filtered with aggresive lowpass filterd before going to the actuator but still we want to make sure that this signal is not very big to be filtered out by the lowpass filter.
The window function is done in the way to be a differential function to be easier fitted by the vectfit3. Function is equal to 1 for 0.5  20 Hz and 1e5 for other frequencies except neighbouring to the 0.5 and 20 where the function is cosine.
3. I've used vectfit3 software to approximate the product of the frequency response of the filter and window fucntion with the rational function. I've used 10 complex conjugate poles. The function was weighted in the way to make deviation as small as possible for interesting frequencies 0.5  10 Hz. The approximation error is big below 20 Hz where the window function is 1e5 but at least obtained rational function does not increase as real function do at high frequencies.
I tried to make a foton filter out of this approximation but it turns out that this filter is too large for it. Probably there is other problem with this approximation but once I've split the filter into 2 separate filters foton saved it. Wiener21 and Wiener22 filters are in the C1OAF.txt STATIC_STATMTX_8_8 model.
I've tested how the function was approximated. For this purpose I've downloaded GUR and MC_F signals and filtered GUR singla with rational approximation of the Wiener filter frequency response. From power spectral density and coherence plots presented below we can say that approximation is reasonable.
Next, I've approximated the actuator TF and inverted it. If TF measured in p. 5900 is correct then below presented its rational approximation. We can see deviation at high frequencies  that's because I used small weights there using approximation  anyway this will not pass through 28 Hz lowpass filter before the actuator.
I've inverted this TF p>z , z>p, k>1/k. I've also added "" sign before 1/k because we subtract the signal, not add it. I placed this filter 0.5Actuator20 to the C1OAF.txt SUSMC2_OUT filter bank.
The next plot compares online measured MC_L without static filtering and with it. Blue line  with online Wiener filtering, red line  without Wiener filtering.
We can see some subtraction in the MC_L due to the static Wiener filtering in the 25 Hz where we see coherence. It is not that good as offline but the effect is still present. Probably, we should measure the actuator TF more precisely. It seems that there some phase problems during the subtraction. Or may be digital noise is corrupting the signal. 
Attachment 4: filter_fitting.jpg


6075

Tue Dec 6 00:58:34 2011 
Den  Update  WienerFiltering  OAF current goal 
After reducing the digital noise I did offline Wiener filtering to see how good should be online filter. I looked at the MC_F and GUR1_X and GUR1_Y signals. Here are the results of the filtering. The coherence is plotted for MC_F and GUR1_X signals.
We can see the psd reduction of the MC_F below 1 Hz and at resonances. Below 0.3 Hz some other noises are present in the MC_F. Probably tilt becomes important here.
OAF is ready to be tested. I added AA and AI filters and also a highpass filter at 0.1 Hz. OAF workes, MC stays at lock. I looked at the psd of MC_F and filter output. They are comparable, filter output adapts for MC_F in ~10 minutes but MC_F does not go down too much. Determing the right gain I unlocked the MC, while Kiwamu was measuring something. Sorry about that. I'll continue tomorrow during the daytime. 
7185

Wed Aug 15 00:52:17 2012 
Den  Update  WienerFiltering  filter 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.

7659

Thu Nov 1 20:20:33 2012 
Den, Ayaka  Update  WienerFiltering  acoustic noise in PMC 
We've subtracted acoustic noise from PMC using 1 EM 172 microphone. We applied a 10 Hz highpass filter to PMC length signal and 100,200,300:30,30 to whiten the signal.We used ~10 minutes of data at 2048 Hz as we did not see much coherence at higher frequencies.
We were able to subtract acoustic noise from PMC length in the frequency range 10700 Hz. In the range 3050 Hz error signal is less by a factor of 10 then target signal.

7672

Mon Nov 5 20:37:01 2012 
Ayaka  Update  WienerFiltering  Play with wiener filtering 
I am trying to find what limits the reduction rate with wiener filtering.
I did some calculations below:
Reduction rate estimation by microphone noise
When the instrumental noise (noise in microphone) and noise injected to signal after the acoustic signal is injected exist, the noise cancellation rate is limited. (I will write a short document about it later.) I assumed that there is only instrumental noise and that the other noise in PMC is below enough, and calculated the cancellation rate. The instrumental noise is modeled according to the measurement before (ELOG).
The green line is the original PMC signal, the red one is PMC residual error, and the blue one is PMC residual error estimated by the cancelling rate.
Around 30  80 Hz, the wiener filtering seems to be already good enough. However, I do not know what limits the cancellation rate (such as 100  200 Hz).
Filtering signals
I hypothesized that the wiener filter is not good because of some peaks or other noise. So I filtered the PMC signal and mic signal to see the difference.
The red line is wiener filter with no filters, the blue one is with filters (low pass, high pass, and notch).
The wiener filter seems to get smoother but the PMC residual error did not change at all.

7688

Thu Nov 8 10:11:58 2012 
Ayaka  Update  WienerFiltering  Play with wiener filtering 
I will attach a document which describes how the noise affect the wiener filter and the noise cancellation ratio.
And I reestimate the SN ratio in the microphone (but still rough):
The yellow line is modeled signal level, and cyan line is modeled noise level.
Then, the estimated filtered residual noise is:
The noise is already subtracted enough below 80 Hz even though there is still coherence.
Above 300 Hz, the residual error is limited by other noise than acoustic noise since there is no coherence.
I am not sure about the region between 100300 Hz, but I guess that we cannot subtract the acoustic noise because primary noise (see the document), such as a peak at 180 Hz, is so high.

Attachment 1: document.pdf


7707

Tue Nov 13 21:05:22 2012 
Ayaka  Update  WienerFiltering  Acoustic noise cancellation with MC 
In order to perform acoustic noise cancellation with MCL signal, I am trying to find sweet spots for microphones.
I set microphones at various places around MC chambers, and see how coherent microphones and MC signals are.
I had checked the half part of MC.
 data set #1
place where I set the microphones (left), MCL signal (blue) and its error (green) (right top), and coherence between microphones (original: fine lines, error: thick lines) (right bottom).
 data set #2
 data set #3
 data set #4
The acoustic noise around the MC2 chamber is most critical so far. I could subtract the signal and the sensitivity got 2 times better.
I will see the acoustic coupling from the other side of MC. 
Attachment 4: psd_coh.png


7751

Tue Nov 27 01:03:42 2012 
Ayaka  Update  WienerFiltering  Sound on PSL 
Last Thursday, I put the speaker and my laptop in the PSL table, and make triangular wave sound with the basic frequency of 40Hz, and Gaussian distributed sound.
(I create the sounds from my laptop using the software 'NHC Tone Generator' because I could not find the connector from BNC to speaker plug.)
And I measured the acoustic coupling in MCF signal. The all the 6 microphones were set in PSL table around PMC and PSL output optics.
The performance of the offline noise cancellation with wiener filter is below.
(The target signal is MCF and the witness signals are 6 microphones.)
 With Gaussian sound (Sorry for wrong labeling 'XARM' and no calibration)
 With 40Hz Triangular sound (Sorry for no calibration again)
I can see some effects on MCF due to the sound on PSL table. Though I can subtract some acoustic signal and there are no coherence between MCF signal and mic signals, still some acoustic noise remains.
This is maybe because of some nonlinearity effects or maybe because we have other effective places for acoustic coupling measurement. More investigations are needed.
Also, I compared the wiener filter and the transfer function from microphones signal to MCF signal. They should be the same ideally.
(Left: Wiener filter, Right: Transfer function estimated by the spectrum. They are measured when the Gaussian sound is on.)
These are different especially lower frequencies than 50 Hz. The wiener filter is bigger at lower frequencies. I guess this adds extra noise on the MCF signal. (see the 1st figure.)
The wiener filter can be improved by filterings. But if so, I want to know how can we determine the filters. It is interesting if we have some algorithms to determine the filters and taps and so on.
The more investigations are also needed. 
7760

Wed Nov 28 23:55:13 2012 
Ayaka  Update  WienerFiltering  Sound on PSL 
I have been searching for the way we can subtract signal better since I could see the acoustic coupling signal remains in the target signal even though there are no coherence between them.
I changed the training time which is used to decide wiener filter.
I have total 10 minutes data, and the wiener filter was decided using the whole data before.
(Right: the performance with the data when the triangular sound was created. Left: the performance with the data when the gaussian sound was created.)
I found that the acoustic signal can be fully subtracted above 40 Hz when the training time is short. This means the transfer functions between the acoustic signals and MCF signal change.
However, if the wiener filter is decided with shorttime training, the performances at lower frequencies get worse. This is because wiener filter do not have enough lowfrequency information.
So, I would like to find the way to combine the shorttime training merit and longtime training merit. It should be useful to subtract the broadband coupling noise. 
7789

Wed Dec 5 01:06:22 2012 
Ayaka  Update  WienerFiltering  The microphones and the speaker on the AP table 
In order to see the acoustic coupling on arm signals, I set 6 microphones and the speaker on the AP table. The microphones are not seismically isolated for now.
I have a signal generator under the AP table.
When I played the 43 Hz triangular wave sound, I could see some coherence between POY error signal and microphones even though there is no peak in POY.
To Do:
 Try to subtract the acoustic signal and see with which microphone the acoustic signal can be subtracted best. But how can I find whether the signal is subtracted or not? Is coherence information enough?
 Make circuits for microphones to come to 40m.
 Make suspension systems for microphones. One idea is that the microphones should be suspended from bridges which is to be put around at the top of the tables since there is no space for stacks for each microphones.
 Prepare a new ADC.
 Perform the same measurements at the other tables, such as POX and POY.

7792

Wed Dec 5 09:53:01 2012 
rana  Update  WienerFiltering  The microphones and the speaker on the AP table 
Don't try to reinvent the mic mount: just copy the LIGO mic mount for the first version. 
7824

Thu Dec 13 18:06:59 2012 
Ayaka  Update  WienerFiltering  New microphone mounts 
Yesterday, I made new mounts for microphones.
I glued a microphone on a pedestal. The cables are attached loosely so that its tension does not make any noise.
At the bottom of the mount, I attached the surgical tube forming a ring by doubleside tape so that it damps the seismic vibration.
I made 6 mounts and these are all on the AS table now.
I took some data of XARM signal controlled by AS.
My plan is to find/set an upper limit on acoustic coupling noise in AS signal.
The acoustic noise can be estimated by the Wiener filter, but it is not accurate because it may see residual correlation between AS and microphone signals that should be 0 when the data is long enough.
I will find/set an upper limit by the analysis based on NeumanPearson criterion, that is analog of a stochastic GW background search.
If I can find the acoustic coupling noise should be below the shot noise, I am happy. If not, some improvements may be needed someday. 
8563

Mon May 13 17:24:38 2013 
Jenne  Update  WienerFiltering  PRM YAW Wiener filtering 
I have done a quicky offline Wiener filter to check how much PRM yaw motion we can subtract using a seismometer in the corner station. This work may be redundant since Koji got the POP beam shadow sensor feedback loop working on Friday night.
Anyhow, for now, I used the GUR2 channels, since GUR2 was underneath the ITMX chamber (at the north edge of the POX table). Note that Zach is currently borrowing this seismometer for the week.
I used GUR2_X, GUR2_Y and GUR2_Z to subtract from the PRM_SUSYAW_IN1 channel (the filename of the figure says "GUR1", but that's not true  GUR1 is at the Yend). All 4 of these channels had been saved at 2kHz, but I downsampled to 256 (I probably should downsample to something lower, like 64, but haven't yet). There is no prefiltering or preweighting of the data, and no lowpass filters applied at the end, so I haven't done anything to remove the injected noise at higher freqs, which we obviously need to do if we are going to implement this online.
If I compare this to Koji's work (elog 8562), at 3.2Hz, he gets a reduction of 2.5x, while this gets 10x. At all other frequencies, Koji's work beats this, and Koji's method gets reduction from ~0.03Hz  10Hz, while this is only getting reduction between 0.4Hz and 5Hz. Also, this does not include actuator noise, so the actual online subtraction may not be quite as perfect as this figure. 
11485

Thu Aug 6 21:03:45 2015 
Ignacio  HowTo  WienerFiltering  How to do online static IIR Wiener filtering 
In order to do online static IIR Wiener filtering one needs to do the following,
1) Get data for FIR Wiener filter witnesses and target.
2) Measure the transfer function (needs to be highly coherent, ~ 0.95 for all points) from the actuactor to the control signal of interest (ie. from MC2_OUT to MC_L).
3) Invert the actuator transfer function.
4) Use Vectfit or (LISO) to find a ZPK model for the actuator transfer and inverse transfer functions.
5) Prefilter your witness data with the actuator transfer function, to take into account the actuator to control transfer function when designing the offline Wiener FIR filter.
6) Calculate the frequency response for each witness from the FIR coefficients.
7) Vectfit the frequency reponses to a ZPK model, this is the FIR to IIR Wiener conversion step.
8) Now, either, divide the IIR transfer function by the actuator transfer function or more preferably, multiply by the inverse transfer function.
9) Use Quack to make SOS model of the IIR Wiener filter and inverse transfer function product that goes into foton for online implementation.
10) Load it into the system.
The block diagram below summarizes the steps above.

Attachment 1: iir.png


11552

Tue Sep 1 06:58:11 2015 
Ignacio  Update  WienerFiltering  MCL FF => WFS1 and WFS2 FF => ARMS FF 
I took some training data during Sunday night/Monday morning while the MCL MISO FF was turned on. We wanted to see how much residual noise was left in the WFS1/WFS2 YAW and PITCH signals.
The offline subtractions that can be achieved are:
For WFS1
For WFS2
I need to download data for these signals while the MCL FF is off in order to measure how much subtraction was achived indirectly with the MCL FF. In a previous elog:11472, I showed some offline subtractions for the WFS1 YAW and PITCH before any online FF was implemented either by me or Jessica. From the plots of that eLOG, one can clearly see that the YAW1 signal is clearly unchanged in the sense of how much seismic noise was mitigated indirectly torugh MCL.
Koji has implemented the FF paths (thank you based Koji) necessary for these subtractions to be implemented. The thing to figure out now is where we want to actually actuate and to measure the corresponding transfer functions. I will try to have either Koji or Eric help me measure some of these transfer functions.
Finally, I looked at the ARMS and see what residual seismic noise can be subtracted
I'm not too concerned about noise in the arms as if the WFS subtractions turn out to be promising then I expect for some of the arms seismic noise to go down a bit further. We also don't need to measure an actuator transfer function for arm subtractions, give that its essentially flat at low frequencies, (less than 50 Hz).

11880

Mon Dec 14 16:46:42 2015 
ericq  Update  WienerFiltering  Noise Subtraction Puzzler 
Here's something to ponder.
Our online MCL feedforward uses perpendicular vertex T240 seismometer signals as input. When designing a feedforward filter, whether FIR Wiener or otherwise, we posit that the PSD of the best linear subtraction one can theoretically achieve is given by the coherence, via Psub = P(1C).
If we have more than one witness input, but they are completely uncorrelated, then this extends to Psub = P(1C1)(1C2). However, in reality, there are correlations between the witnesses, which would make this an overestimate of how much noise power can be subtracted.
Now, I present the actual MCL situation. [According to Ignacio's ELOG (11584), the online performance is not far from this offline prediction]
Somehow, we are able to subtract much more noise at ~1Hz than the coherence would lead you to believe. One suspicion of mine is that the noise at 1Hz is quite nonstationary. Using median [C/P]SDs should help with this in principle, but the above was all done with medians, and using the mean is not much different.
Thinking back to one of the metrics that Eve and Koji were talking about this summer, (std(S)/mean(S), where S is the spectrogram of the signal) gives an answer of ~2.3 at that peak at 1.4Hz, which is definitely in the nonstationary regieme, but I don't have much intution into just how severe that value is.
So, what's the point of all this? We generally use coherence as a heuristic to judge whether we should bother attempting any noise subtraction in the first place, so I'm troubled by a circumstance in which there is much more subtraction to be had than coherence leads us to believe. I would like to come up with a way of predicting MISO subtraction results of nonstationary couplings more reliably. 
Attachment 1: subpuzz.pdf


11918

Thu Jan 7 15:29:54 2016 
ericq  Update  WienerFiltering  Noise Subtraction Puzzler 
The puzzle continues...
I found some reference for computing "multicoherence," which should properly estimate the potential MISO subtraction potential in situations where the witness channels themselves have nontrivial coherence. Specifically, I followed the derivations in LIGOP990002. The underlying math is related to principal component analysis (PCA) or gramschmidt orthogonalization.
This produced the following results, wherein the Wiener subtraction is still below what the coherences predict.
I've attached the data and code that produced this plot. 
Attachment 1: subpuzz2.pdf


Attachment 2: puzzle.zip

11933

Thu Jan 14 15:08:37 2016 
ericq  Update  WienerFiltering  Noise Subtraction Puzzler 
The anticlimatic resolution to my subtraction confusion: Spectral leakage around 1Hz. Increasing the FFT length to 256 sec now shows that the FIR WF pretty much achieves the ideal subtraction.
If nothing else, it's good to have worked out how MISO coherence works. 
Attachment 1: subpuzz_resolved.pdf


11934

Thu Jan 14 18:41:36 2016 
rana  Update  WienerFiltering  Noise Subtraction Puzzler 
Just not just pedagogical ! Freq domain MISO coherence based subtraction estimation is much faster than calculating MISO WF. And since each bin is independent of each other, this gives us an estimate of how low the noise can go, whereas the Wiener filter is limited by KramersKronig. We should be able to use this on the L1 DARM channel to do the noise hunting as well as estimating the subtraction efficacy of the pseudo channels that you and Rory come up with.
If you can code up a noise hunter example using DARM + a bunch of aux channels, we could implement it in the summary pages code. 
12059

Fri Apr 1 13:11:26 2016 
ericq  Update  WienerFiltering  Bilinear Noise Testing 
I've been banging my head against bilinear noise subtraction, and figured I needed to test things on some real hardware to see if what I'm doing makes sense.
I ran the ASS dither alignment on the Y arm, which ensures that the beam spots are centered on both mirrors.
I then drove ITMY in yaw with some noise bandpassed from 3040 Hz. It showed the expected bilinear upconversion that you expect from angular noise on a centered beam, which you can see from 6080 Hz below
I looked at the length signal, as the noise subtraction target, and the ITMY oplev yaw signal plus the transmon QPD yaw signal as witnesses.
There is some linear coupling to length, which means the the centering isn't perfect, and the drive is maybe large enough to displace it off center. However, the important part is the upconverted noise which is present only in the length signal. The QPD and oplev signals show no increased noise from 6080Hz above the reference traces where no drive is applied
I then compared the multicoherence of those two angular witnesses vs. the multicoherence of the two (linear) witnesses plus their (bilinear) product. Including the bilinear term clearly shows coherence, and thereby subtraction potential, at the upconverted noise hump.
So, it looks like the way I'm generating the bilinear signals and calculating coherence in my code isn't totally crazy. 
Attachment 1: bilinear_drive.pdf


Attachment 2: 40m_bilin.pdf


15054

Wed Nov 27 17:51:52 2019 
gautam  Update  Wiener  MCL FF status 
The old MCL filters are not completely useless  I find a factor of ~2 reduction in the MCL RMS when I turn the FF on. It'd be interesting to see how effective the FF is during the periods of enhanced seismic activity we see. I also wonder if this means the old PRC angular FF filters are also working, it'd help locking, tbc with PRMI carrrier...
Update: The PRC angular FF loops also do some good it seems  though the PIT loop probably needs some retuning. 
Attachment 1: MCL_FF.pdf


Attachment 2: PRC_FF.pdf


15282

Tue Mar 24 19:41:57 2020 
gautam  Update  Wiener  Seismic feedforward for MCL 
Summary:
I think the feedforward filters used for stabilizing MCL with vertex seismometers would benefit from a retraining (last trained in Sep 2015).
Details:
I wanted to refamiliarize myself with the seismic feedforward methodology. Getting good stabilization of the PRC angular motion as we have been able to in the past will be a big help for lock acquisition. But remotely, it is easier to work with the IMC length feedforward (IMC is locked more often than the PRC). So I collected 2 hours of data from early Sunday morning and went through the set of steps (partially).
Attachment #1 shows the performance of a first attempt.
 1 hour of data was used as a training set, and another hour to validate the trained filter.
 All the data was downsampled to 64 Hz.
 The number of FIR filter taps was 32 seconds * 64 Hz.
 Going through some old elogs, there were a number of suggestions from various people about how the training should be done
 There was a suggestion that prefiltering the target signal by the (inverse) actuator TF (i.e. TF from MC2 drive to MCL) is beneficial, presumably because it gives the Wiener filter fitting fewer parameters to fit.
 There was also suggestions that some frequencydependent weighting of the target signal should be done (e.g. by bandpassing MCL between 0.1 Hz  10 Hz) to emphasize subtraction in this band.
 For this particular example, in my limited paramter space exploration, I found that neither of these measures had particularly significant impact.
 In any case, the timedomain FIR filtering seems to approach the theoretical best possible performance (based on coherence information).
 I have not yet checked what the theoretical limit on subtraction will be based on the seismometer noise ASD.
Attachment #2 shows a comparison between the filter used in Attachment #1 and the filters currently loaded into the OAF system.
 In the band where significant subtraction is possible, there is some difference in the shape of the filter.
 Why should this have changed? I guess there are multiple possibilities  seismometer recentering, signal chain changes, ...
Attachment #3 is the asd after implementing a time domain Wiener filter, while Attachment #4 is an actual measurement from earlier today  it's not quite as good as Attachment #3 would have me expect but that might also be due to the time of the day.
Conclusions and next steps:
On the basis of Attachments #3 and #4, I'd say it's worth it to complete the remaining steps for online implementation: FIR to IIR fitting and conversion to sos coefficients that Foton likes (prefereably all in python). Once I've verified that this works, I'll see if I can get some data for the motion on the POP QPD with the PRMI locked on carrier. That'll be the target signal for the PRC angular FF training. Probably can't hurt to have this implemented for the arms as well.
While this set of steps follows the traditional approach, it'd be interesting if someone wants to try Gabriele's code which I think directly gives a zdomain representation and has been very successful at the sites.
* The yaxes on the spectra are labelled in um/rtHz but I don't actually know if the calibration has been updated anytime recently. As I type this, I'm also reminded that I have to check what the whitening situation is on the Pentek board that digitizes MCL. 
Attachment 1: IMCseisFF.pdf


Attachment 2: filterComp.pdf


Attachment 3: oldFilter_v_proposed.pdf


Attachment 4: MCL_ff_performance.pdf


15290

Wed Apr 1 00:51:41 2020 
gautam  Update  Wiener  Slightly improved MCL FF 
Summary:
Retraining the MCL filters resulted in a slight improvement in the performance. Compared to no FF, the RMS in the 0.55 Hz range is reduced by approximately a factor of 3.
Details:
Attachment #1 shows my remeasurement of the MC2 position drive to MCL transfer function.
 The measurement was made using DTT swept sine, with the amplitude enveloped appropriately to avoid knocking the IMC out of lock.
 Coherence was >0.97 for all datapoints.
 Fitting was done using Lee's IIRrational, with the weighting being the coherence. I think there are some features of the fitting I don't fully understand, but I wanted to try and do everything in python and for this simple fit, it came out nicely I think.
Attachment #2 shows the IIR fits to the FIR filters calculated here.
 Again, IIRrational was used.
 In the frequency band where subtraction is possible, the fit is good.
 But there is definitely room for improvement in the way this is done, for now, I did quite a bit "by eye" and tweaked the order of the filter and the minimum number of excess poles relative to zeros to get the AC coupling, but it'd be nice to make all of this iterative and quantitative (e.g. by minimizing a cost function).
 One nice feature of IIRrational is that it directly gives me a formatted string I can paste into foton. The order of these fits were 22, so I split them into two 19+3 order filters to be compatible with the realtime system before loading the coefficients (the overall gain was allocated to a single filter arbitrarily, with the other filter in the pair set to have unity gain in the zpk representation).
Attachment #3 shows several MCL spectra.
 Blue trace is the unsubtracted test dataset.
 Red is the performance of the calculated FIR filter, but the filtering is done offline.
 Gold is the performance of the IIR fit to the FIR filter, as shown in Attachment #2, applied offline to the test dataset.
 Green is the calculated ASD of MCL from a ~1 hour stretch from earlier tonight, when I left the feedforward loop on. So this is an actual measurement of the online performacne of the filter.
 Grey is the performance of the old filter loaded in the CDS system  the filtering is done using scipy, and the sos coefficients from the C1OAF.txt file.
Conclusions + next steps
 Retraining the filters has resulted in a slight improvement, especially at ~3 Hz.
 More tests need to be done to confirm that noise isn't being reinjected in the frequency bands where subtraction isn't possible (e.g. using arm cavities as OOL sensors).
 The online filter isn't quite as good as what we would expect from calculations (green trace is noisier than gold). Need to think about why this is.
 Why can't we get more subtraction at 1 Hz?
 Now that I have the infrastructure ready, I will attempt to revive the PRC angular FF loops, which was the whole point of this exercise.

Attachment 1: MC2_act_calib.pdf


Attachment 2: IIR_fit_to_FIR.pdf


Attachment 3: FIRvIIR.pdf


135

Wed Nov 28 19:02:41 2007 
Andrey  Bureaucracy  WIKI40M Update  New WIKI40M page describing Matlab Suspension Modeling 
I created the WIKI40m page with some details about my today's talk on the 40m lab meeting.
The address is:
http://lhocds.ligowa.caltech.edu:8000/40m/Modeling_of_suspensions
(or you can go to the main page, http://lhocds.ligowa.caltech.edu:8000/40m/ , and click on the link "Modeling of suspensions").
The WIKI40m page describes my transfer functions and contains the pdffile of my presentation. 
219

Wed Jan 2 11:38:56 2008 
tobin  Summary  WIKI40M Update  wiki spam 
Our wiki keeps getting spammed. It turns out that you can upload attachments without a password, which is a bug. I'll ask David Barker whether there's a fix for this. 
1941

Tue Aug 25 03:30:23 2009 
Yoichi  Summary  WIKI40M Update  Green lock and phase noise 
While Koji and I were discussing about the green laser lock, we wondered if the common motion of the cavity mirrors,
which won't be suppressed by the green laser servo, will cause any problem to the locking.
Since the common motion of the cavity mirrors is equivalent to the change of the path length from the laser to the
input mirror, it will show up as a phase noise in the error signal.
Unfortunately, since we inject the green laser from the end mirror, this phase noise has opposite sign for the
PSL and the green laser.
I calculated the magnitude of the phase noise using an extremely rough estimate of the common motion of the mirrors.
It is explained in the 40m wiki.
http://lhocds.ligowa.caltech.edu:8000/40m/Upgrade_09/GreenLock
The result plot is attached.
(Probably the seismic noise I used is an over estimate.) 
Attachment 1: PhaseNoise.png


2127

Wed Oct 21 11:41:29 2009 
Zach  Update  WIKI40M Update  PSL Table Diagram wiki entry 
I made a wiki entry for the PSL table diagram under the PSL directory on the 40mHomePage. I tried to use the ImageLink macro to use a resized (smaller) version of the diagram as a link to the full image, which it is designed to do if there is no target given, but it didn't seem to work. Instead, I had to create a second page that had the fullsized diagram, and I used ImageLink with a smaller version to link to that page.
The inventory that is shown is clearly incomplete. Part of this is due to the fact that many labels were either missing or impossible to read without touching stuff. For those components with labels missing, I tried to infer what they were to the best of my knowledge, but I wasn't able to for all of them. In true wiki spirit, everyone is encouraged to fill in any additional information they might have on these components. 
2128

Wed Oct 21 13:07:54 2009 
Koji  Update  WIKI40M Update  PSL Table Diagram wiki entry 
http://lhocds.ligowa.caltech.edu:8000/40m/PSL_Table_Diagram
Thanks. I love this. Could you also put the original file that is editable for future modification by anyone?
Quote: 
I made a wiki entry for the PSL table diagram under the PSL directory on the 40mHomePage. I tried to use the ImageLink macro to use a resized (smaller) version of the diagram as a link to the full image, which it is designed to do if there is no target given, but it didn't seem to work. Instead, I had to create a second page that had the fullsized diagram, and I used ImageLink with a smaller version to link to that page.
The inventory that is shown is clearly incomplete. Part of this is due to the fact that many labels were either missing or impossible to read without touching stuff. For those components with labels missing, I tried to infer what they were to the best of my knowledge, but I wasn't able to for all of them. In true wiki spirit, everyone is encouraged to fill in any additional information they might have on these components.


2129

Wed Oct 21 15:07:45 2009 
Alberto  Update  WIKI40M Update  Photodiodes' configuration for the Upgrade 
I uploaded on the Wiki (here) the results of an inventory over our current PDs, a list of the new ones that we're going to need for the new control scheme. 
2133

Thu Oct 22 15:44:16 2009 
Zach  Update  WIKI40M Update  MOPA diagram 
I have updated the PSL Diagram wiki page to include MOPA. As with the PSL diagram, clicking the photo on the main page takes you to a larger image. The inventory is pretty meager as I didn't have time to sit and read labels (if indeed there are any). I will look through the documentation at the 40m to see if there is a record of what is there. Again, if you know something, please amend the list!!
http://lhocds.ligowa.caltech.edu:8000/40m/PSL_Table_Diagram 
2134

Thu Oct 22 15:49:29 2009 
Zach  Update  WIKI40M Update  PSL Table Diagram wiki entry 
Quote:

http://lhocds.ligowa.caltech.edu:8000/40m/PSL_Table_Diagram
Thanks. I love this. Could you also put the original file that is editable for future modification by anyone?
Quote: 
I made a wiki entry for the PSL table diagram under the PSL directory on the 40mHomePage. I tried to use the ImageLink macro to use a resized (smaller) version of the diagram as a link to the full image, which it is designed to do if there is no target given, but it didn't seem to work. Instead, I had to create a second page that had the fullsized diagram, and I used ImageLink with a smaller version to link to that page.
The inventory that is shown is clearly incomplete. Part of this is due to the fact that many labels were either missing or impossible to read without touching stuff. For those components with labels missing, I tried to infer what they were to the best of my knowledge, but I wasn't able to for all of them. In true wiki spirit, everyone is encouraged to fill in any additional information they might have on these components.


Do you mean the diagram or the inventory? The diagrams are online as attachments (small versions on the main "PSL Table Diagram" page and large versions on the linked pages). The inventory is easily editable on the wiki itself. It's just rendered in table form using the CSV parse utility for "commasepareted values" (though you actually need to use semicolons, for reasons unknown). 
2135

Thu Oct 22 21:58:26 2009 
Koji  Update  WIKI40M Update  PSL Table Diagram wiki entry 
Diagram. I don't want to say PNG is an editable format for this purpose...
You have the PPT, PDF or any drawing format to create this diagram.
Quote: 
Do you mean the diagram or the inventory? The diagrams are online as attachments (small versions on the main "PSL Table Diagram" page and large versions on the linked pages). The inventory is easily editable on the wiki itself. It's just rendered in table form using the CSV parse utility for "commasepareted values" (though you actually need to use semicolons, for reasons unknown).


2136

Thu Oct 22 23:14:54 2009 
Zach  Update  WIKI40M Update  PSL Table Diagram wiki entry 
Quote: 
Diagram. I don't want to say PNG is an editable format for this purpose...
You have the PPT, PDF or any drawing format to create this diagram.
Quote: 
Do you mean the diagram or the inventory? The diagrams are online as attachments (small versions on the main "PSL Table Diagram" page and large versions on the linked pages). The inventory is easily editable on the wiki itself. It's just rendered in table form using the CSV parse utility for "commasepareted values" (though you actually need to use semicolons, for reasons unknown).


Good news and bad news. For the MOPA diagram, which I did recently, I have GIMP file with separate layers for the background image, ray traces, and labels. Unfortunately, I didn't realize that this was the best way to do it until I had done most of the ray tracing for the main diagram, so, although I have that file in GIMP as well, only the labels are on a separate layer. If this is a major issue I can do the tracing again. The other thing is that the original files are quite large: 17.3 MB for the MOPA, and 64.1(!) MB for the main diagram. Let me know what you think. 
3073

Sat Jun 12 19:43:19 2010 
Alberto  Update  WIKI40M Update  IFO modeling Wiki Page updated 
Today I started writing the IFO modeling wiki page.
The idea is to make it a reference place where to share our modeling tools for the 40m. 
3100

Wed Jun 23 11:25:14 2010 
Katharine and Sharmila  Update  WIKI40M Update  Maglev 
Weekly update
Lab work
We compared the magnetic field strength for 4 magnets in the original setup. The standard deviation was 3.15 G which corresponds to a variation of 2.4%. We had encountered difficulties with the stability of the Gaussmeter. The tip of the Gaussmeter was unsteady and wobbling which led to huge variations for a small change in distance. We stabilized the meter by taping it to a pencil and securing it with wire ties to an aluminum block. We then used translation stages to find the point of maximum field strength for each magnet, which allowed us much more stable readings.
Readings
We are reading and learning about feedback control systems.
Modelling
Learning to model in Comsol. Our goals for the 1X1 model include incorporating the gravitational force in the measurements and find the distance for which attraction is the strongest, and experimenting with the mesh density and boundary conditions of the domain.
Meetings/seminars
Attended many meetings, including:
Laser safety training
SURF safety training
LIGO seminars
Journal club
LIGO experimental group meeting

3101

Wed Jun 23 11:31:12 2010 
nancy  Update  WIKI40M Update  Weekly Update 
This week I attended a whole lot of orientations, lectures, and meetings related to SURF. Done with general and laser safety training.
read Nergis' thesis for, and other material on WFS.
got confused with how the sidebands and shifted carrier frequencies are chosen for the Interferometer, read initial chapters of Regehr's thesis for teh same.
Made a plan for proceeding with the WFS work through discussions with Koji.
Understood the MC cavity and drew a diagram for it and the sensors.
Did Calculations for Electric field amplitudes inside and outside the MC cavity.
Saw the hardware of the WFS and QPD inside, and their routes to computers. Figured out which computer shows up the conditioned data from teh sensors.
Tried calculating the cavity axis for MC using geometry and ray tracing. Too complicated to be done manually.
Read some material (mainly Seigman) for physics of calculating the eigenaxis of the MC cavity with mirrors misaligned. Will calculate that using simulations, using the ABCD matrices approach.
Made a simple feedback simulink model yesterday to learn simulink. Made it run/compile. Saw the behaviour thru time signals at different points.
in the night, Made a simulink model of the sensormirror thing, with transfer functions for everything as dummy TFs. Compiles, shows signals in time. Remaining part is to put in real/nearreal TFs in the model. 
3143

Wed Jun 30 11:39:20 2010 
nancy  Update  WIKI40M Update  Weekly Update 
Wednesday Morning Elog :
Most of the time through this week, i was working towards making the simulink model work.
It involved learning simulink functions better, and also improving on the knowledge of control theory in general, and control theory of our system.
1. Thusrday : found tfs for the feedback loop. and tried many different filters and gains to stabilize the system (using the transient response of the system).  not through
2. Friday : decided to use error response and nullify the steady state error instead of looking at convergence of output. tried many other filter functions for that.
Rana then showed me his files for WFS.
3. Sunday  played with rana's files, learnt how to club simluink with matlab, and also about how to plot tfs using bode plots in matlab.
4. Monday : Read about statespace models, and also how to linearize in matlab. done with the latter, but the former still needs deeper understanding.
read rayoptics theory to calculate the geometric sensing matrix.
It first requires to calculate the eigen mode of the cavity with tilted mirrors. this eigen mode is needed to be found out using rayoptics transfer matrices for the optics involved . figured out matrices for the tilted plane mirrors, and am working on computing the same for MC2.
5. Tuesday : went to Universal Studios , Hollywood :P
6. Wednesday (today) : Writing the report to be submitted to SFP. 