Keenan's Paper: final-aug17.pdf
Keenan's abstract
Newtonian Noise Simulation and Suppression for Advanced Gravitational-Wave Interferometers
Keenan Pepper
Mentors: Rana Adhikari and Phil Willems
The next generation of gravitational-wave interferometers will have mechanical isolation systems so effective that seismic noise will be negligible at 10 Hz and above. In this frequency region (which is important for both massive black hole mergers and the gravitational stochastic background), the dominant noise source will be Newtonian gravity noise caused by fluctuations in the distribution of matter around the test masses. This gravitational force cannot be shielded, even in principle, but its effect can be estimated from independent measurements and subtracted from the output data. In the present work, the vibrations of the vacuum chamber and support columns were modeled with finite element analysis software to estimate their contribution to the Newtonian noise. It appears that this contribution will be at least a factor of ten smaller than that caused by vibrations of the soil and the concrete foundation slab, so initial implementations of Newtonian noise cancellation should ignore the chamber and focus on the ground. To evaluate the feasibility of different filtering algorithms for this application, several multiple-input multiple-output (MIMO) filters were developed with the goal of implementing active cancellation of seismic noise at the 40-meter prototype lab as a proof of concept.
Keenan's notes
In addition to the papers listed at the AdvLIGO wiki, I found this VIRGO paper, which contains a section "Effect of the apparatus infrastructure".
Rana's presentation with scale diagram of BSC
Published version of Hughes & Thorne paper
I attached a plot (strain1.pdf) of the GG noise from the BSC vibration, calculated from real accelerometer data (from early this morning) and a generous estimate of the gravity coefficient (7.3e-9 (m/s^2)/m). It doesn't come close to the total noise curve, so unless another model says something very different, we might not have to worry about the BSC at all.
Okay, here's the worst case noise curve: worst-case-strain.pdf. I computed it by assuming
- Radius: 1.5 m
- Height: 5 m
- Mass: 8000 kg
- Test mass at center
- Each point of the BSC moves in the direction that maximizes the gravity gradient along the beam axis (not a physically reasonable vibration mode, but a limiting case).
This results in a gravity coefficient of 1.0e-7 (m/s^2)/m. It uses accelerometer data from the noisiest BSC at a noisy time of day, and also uses a real harmonic oscillator transfer function instead of a free mass TF (although the difference is negligible above 2 or 3 Hz).
Moving the test mass away from the center decreases the GG noise.
Next I'm going to model the piers, but since they're both less massive and farther away from the test mass, I don't think they'll be a problem either. -- KeenanPepper 2007-06-28 01:38:54
The worst-case gravity coupling coefficient for all four piers is about 7.3e-9 (m/s^2)/m, more than an order of magnitude smaller than for the BSC itself. So even if they are shaking an order of magnitude more than the BSC, we don't have to worry about them either. -- KeenanPepper 2007-07-05 21:16:22
Expression to integrate (for cutting and pasting):
((2*x^2-y^2-z^2)*u + 3*x*y*v + 3*x*z*w)/sqrt(x^2+y^2+z^2)^5
-- KeenanPepper 2007-07-10 02:12:13
MATLAB MISO FIR Wiener filter function
To use this function:
Downsample all your data (using "decimate", not "downsample") to a reasonable sampling rate. (The highest frequency you want to suppress should be safely within the Nyquist frequency; I've been using a 64 Hz sampling rate.)
- Make a matrix with your input channels as columns, and make sure your output channel is a column vector.
- Run "miso_firweiner" with the following arguments: N, the order of the filter (an Nth order filter has N+1 taps); the input matrix X, and the output vector y.
- If you get an out of memory error, your N is probably too high. "Them's the breaks", as they say. If someone can find a good linear algebra package with a block Toeplitz solver, it can be made much more efficient.
- The first return value of miso_firwiener function is a vector of length N+1 times the number of input channels. The first N+1 entries form the FIR filter for the first input channel, the second N+1 entries for the second input channel, and so on. Separate the returned vector in this way and then filter the input data one channel at a time, with something like "filter(taps, 1, data)".
- Combine the filtered channels with simple vector addition.
Fictional example (just to give you an idea):
accx = get_x_accelerometer_data(); accy = get_y_accelerometer_data(); accz = get_z_accelerometer_data(); pos = get_osem_or_ifo_position_data(); daccx = decimate(accx,32); daccy = decimate(accy,32); daccz = decimate(accz,32); dpos = decimate(pos,32); dacc_matrix = [daccx daccy daccz]; whole_filter = miso_firwiener(1023, dacc_matrix, dpos); x_filter = whole_filter(1:1024); y_filter = whole_filter((1024+1):(2*1024)); z_filter = whole_filter((2*1024+1):(3*1024)); faccx = filter(x_filter, 1, daccx); faccy = filter(y_filter, 1, daccy); faccz = filter(z_filter, 1, daccz); dpos_estimate = faccx + faccy + faccz;
To do
Compare analytic solution of toy model with COMSOL to verify accuracy. Tried it with a dumbbell off to one side of the test point, whose axis passes through it, and the gravity coefficient of the near sphere matched up to the numerical precision. COMSOL automatically sets the phase of maximum deformation to zero, which corresponds to the phase of maximum gravity gradient in this simple case, but not in all cases. in all cases, because gravity gradient is proportional to deformation. Right? -- KeenanPepper 2007-07-16 21:29:36
Create seismic feedforward matrix for the 40-meter. Use a neural network or something, and write up how to do it in detail. Done with Wiener filters. Doing adaptive filters next.
- Create COMSOL model of 40-meter slab and estimate eigenfrequencies.
Figure out how to import Dennis's models into COMSOL. Forgot about it. Built simplified models from scratch instead.
- Get new data from Hanford and put in into model.
Figure out how to make COMSOL do this.
Ask Steve to help move accelerometers around.
More matlab programs from Keenan:
Block Toeplitz solver: block_levinson.m
New MISO FIR which uses the block Levinson: miso_firlev.m