The observed resonant modes of the oscillating cantilever differed substantially from frequencies computed through comsol (more so at higher frequencies)
When performing the ring down, we obtained sets of data which contained time varying votlage of the signal recorded from the split photodiode. We utilized the pwelch function in Matlab and obtained a PSD for each data set. The decaying peak of the resonant frequency was plotted seperately which then formed a decaying exponential. I then applied a fit to each set of data.
I created a log plot for the decaying data and fitted linearly to the data.
We levitate the plate by controlling three vertical degrees of freedom---one translational, and two tilts. Right now even without applying controls to the horizontal direction, the system is quite stable.
Here we describe the major steps for achieving levitation:
1. Move the plate close to the equilibrium point by using the DC motors and strain gauge.
We started off from the point where the magnetic force is stronger than the gravity force. Basically, the plate is touching tips of DC motors mounted on the top fixed platform. By using the strain gauge attached to the tips, we can tell how how far we are away from the equilibrium point where the strain gauges are not stretched. We slowly actuate the motors to push the plate close to the equilibrium point.
2. Lock one degree of freedom
We started from some generic PID controller. After many random trials, we end up with a controller that was barely doing the work, and the system was marginally stable. We then measured the closed-loop transfer function of the system and use simulink to model this one degree of freedom: and
After tuning various parameters, we got a reasonable match between the model and the measurement. In particular, the parameters we found go as follows:
mass = 0.5 kg % mass
K = -180 N/m % negative spring constant
Vm = 250 V/m % hall effect sensitivity
Gby = -27dB % the bypass gain from the coil to the hall effect sensor
Gcomp = -39.5dB % the residue bypass gain after compensation
To obtain a better controller, we tried to use "sltunable" class in the matlab, in particular using the functions "systune" and "looptune" by specifing the target phase and gain margin. Somehow, it did not produce the desired result. We found out that the calculated phase margin and gain margin are not correct (we will explain this in more details with another elog entry). We then used "nyquist" function to design the feedback loop and we used the following parameters for the controller, which gives a reasonable phase and gain margins.
DGain = -4*pi*13; % the constant gain
Dzs = [-2*pi*0.5; -2*pi*3]; % zeros for the controller
Dps = [0;-2*pi*13]; % poles for the controller
After applying this new controller, we got a quite stable levitation. We redid the open-loop transfer function measurement. The agreement between the model and the system is shown by the figure below (the blue line is the model and the green line is the measurement data):
The difference around 4Hz and 20Hz could arise from a simplified model for the compensation (assuming a constant compensation gain, and the reality is more complicated), and we need to refine the model.
2. Repeat the same process and tune the feedback controllers for the other two degrees of freedom.
3. Slowly ramp up the gain for the other two controllers and finally levitate all three DOFs.
We found that if we engage the controllers abruptly, the system will rapidly destabilized. Instead, we had to slowly ramp up the gain of the controllers so as to approach the final stable state softly.
The figure below shows the signal from all seven sensors (one redundant in the horizontal direction).
We can see the resonant frequency is around 2Hz (to be confirmed by future TF measurements), which is quite high. After fully characterizing the system, we will need to tune the DC magnet force with DC control coils to make the equilibrium point closer to the force maximum, where the rigidity is low.
Here is the link to the video of the levitating plate: link
Since the plate is levitating, we are now in the position for real work. Here are the two major issues to investigate in the plan.
1. TF of the plate and cross coupling among different degrees of freedom (important in order to optimize the control servo)
We will measure various transfer functions to characterize the plate TF and cross couplings. We will build six degrees of freedom simulink model based on Georgios's work of three DOFs, and try to make a match between the model and the system.
2. Noise budget (to pin down the major noise source)
(a) sensing and actuation noise
We will calibrate the noise from the hall effect sensor. If it is confirmed to be the major noise, we can switch to the optical lever sensing scheme as planned. The coil is quite weak, in terms of voltage to force conversion factor, and it is 5mN/V. The thermal noise of the coil may not be important (to be confirmed with more rigorous analysis).
(c) acoustic noise
Right now the system is exposed in air, and it is anticipated that the acoustic noise is quite significant. To mitigate this noise, we can use a bell jar to cover it which can give a reasonable level of noise isolation.
(b) seismic noise
We will make a correlation measurement between the sensor output and the seismometer (or accelerometer) to see where the seismic noise dominates.
(d) ambient magnetic field noise
We will use two low-noise honeywell hall effect sensors [link] to measure the ambient magnetic field. To get a better sensitivity, we will use differential measurement by shielding one (together with instrumentation amplifier for amplifying the readout).
(e) thermal noise of the magnet
The major noise source comes from the random jitering of the magnetic moments due to thermal excitation. We can find the literature on how to analyze this kind of noise.
(f) long-term drift
We know little about the long stability of the magnets and also how the temperature drift affects the magnets. This needs to be investigated.
An update about Crackleland is long overdue...
More measurements along the lines of ELOG 731 were made, showing a DC shift in the right fourier component of the displacement power that is consistent with Crackle noise. These results were presented at the LVC meeting in Hanover (slides here). I've also updated the "crackledoc" with these latest measurements, partially motivated by the need to inform Gabriele about the state of things (T1300465 (Still a few things missing that I want to update soon, though...))
At last week's crackle meeting, we decided that these measurements meant full steam ahead for the design process of crackleV2, to try and get down to lower frequencies that are more relevant for the suspensions, since seismic noise currently limits us up to the hundreds of Hz. We brainstormed some designs then, and I spoke with Gabriele over Skype yesterday.
Simultaneously, I've had some replicas of my blades made from Carbon Steel and Stainless Steel. We want to throw these into the current setup to hopefully see different amounts of crackle in each material. (If the results don't change much, then maybe we're just seeing systematics...)
As pointed out in the previous entry, the new setup reduced a lot the modulation of the fringe due to misalignment when driving the common mode. To have a more precise estimation of the residual modulation, I used data from the two photodiodes with and without common mode driving, with unlocked Michelson. I computed the envelope of the Michelson fringes taking the maximum and minimum values during each second. The result is here:
The residual modulation is of the order of 3%, as visible in the first stretch of excitation. Interestingly, in the second one, the fringe modulation has a larger amplitude (5%) and opposite phase...
Here is the first draft of the optical layout for the next crackle interferometer. The blades have the correct dimensions, but all the rest of the mechanics is just tentative. However, the optical mount footprints have all the correct dimensions.
A 2 inches beam splitter is used, to properly separate the beams in the two directions of propagations. The beam splitter has a wedge to separate the reflections of the secondary face. These spurious beam will be dumped with small black glass baffles.
To equalize the length of the two Michelson arms, the mirror M4 will be mounted on a linear translation stage.
I've been getting distracted by all the things going on with the design of the new setup, and not taking enough data on the current one!
As we saw in an earlier layout, driving the blades too hard couples misalignment into the calibration line signal at harmonics of the drive frequency, which masquerades as a crackle section. When we changed the layout to be more symmetric, this alleviated the effect in large part, allowing us to drive the blades harder.
However, I've been negligent in systematically determining just how hard we can reliably drive in the current setup without inducing big systematics. So, I set up an ever increasing amplitude, and looked at the fourier components of the calibration line height signal at harmonics of the drive frequency, and did it twice.
Takeaway: the drive itself always shows up directly, whereas the 2F signal (which is where we traditionally look for force-proportional crackle) is fine until ~2k counts or so. The 4F seems fine throughout.
However, what strikes me now, is that when we switch to the non-maraging steel blades, they are less stiff, meaning this amount of force leads to more displacement and more misalignment, so if I want to make a truly apples to apples comparison, maybe I need to stick to lower amplitudes?
Or, what I think I'll actually do: Use at least three low amplitudes that will work for the softer blades, but also do the highest amplitudes I can in the maraging blades to get the best upper limit I can.
Yes, this seems the right thing to do.
Here is a rendering of the temporary final design of the seismic isolation and optical board for the crackle2 interferometer. The blades used in the suspension are spare one from the output faraday isolator (D0900541). The vertical resonances are at about 1.5 Hz. The vacuum chamber will be very crowded (600mm diameter, 750mm height, internal measures)
This is the optical layout with the optocad raytracing superimposed with the mechanical rendering from Solidworks:
Here is a less-temporarily final version of the optical and mechanical layout for the crackle2 experiment.
The eAssembly file is attached, so you can review it and give feedback if you have any.
One night of data taken with drive at 600 counts and 125 mHz. No signal of modulated noise:
I'm not sure about the absolute value of the confidence intervals. I'm running a check on simulated data to see if they are properly calibrated.
I found that when I'm driving at moderate frequencies, like 4-7 Hz, I can create a quite large shoulder of unconverted noise, which is very similar to the one we normally get from scattered light in real interferometers. This is surprising, and maybe worth some more investigations in the future.
One might suspect that there is enough low frequency drive/motion to generate quite some unconverted noise... Or is this crackle noise?
Anyhow, I started a new set of measurements driving at 250 mHz with an amplitude of 600 counts.
Gabriele, Xiaoyue, EricQ, Nic
We moved the cymac2 into the crackle lab (it was before in the maglev lab). We set it up and it is running properly. We also installed and set up a new workstation in the lab. We installed Ubuntu 14.04, Matlab and all LIGO software. Everything seems to be working and we could get data from the cymac.
We still have to set up a shared directory between the cymac2 and the workstation to be able to easily modify the filters and the configurations.
During the last night, the IFO behaved almost exactly as the previous night, giving us some longer lock stretches only in the middle of the night.
We tried to correlate the lock losses with seismic activity. Indeed, from the following plot I seems that we have an unlock almost every time there is a spike in the accelerometers:
However, if we zoom into one of the events, it actually looks like the seismic spike is after the unlock... Which is strange:
However, it seems that the unlock happens because there is more motion at 11 Hz and the correction gets too large. At 11 Hz there is a peak in the Michelson error signal, with an amplitude that can vary quite a lot over time, as is visible in the servo output time series (the 11 Hz dominates the correction amplitude):
It is also apparent from this plot that our drive at 125 mHz is clearly visible in the lock error signal. The following plot is a comparison drive on vs drive off:
Clearly, our driving is too much imbalanced and/or the locking loop does not have enough gain at 125 mHz. This leakage is very bad for our crackle noise investigation and we have to fix it
Thing to do to improve the lock:
I set up a simple model (x1krk) on cymac2. I was able to read data from the ADCs. All 32 channels are accessible through the front panel in the cymac rack. Even channels (0,2,4,...) are accessible using the BNC connector, numbered from left to right. All odd channels (1,3,5,...) are accessible using the screw connectors above the BNC.
In the model all ADC channels are sent to the sensing part. For the moment there is a big matrix (SENS_MAT) with 32 input and 4 output. Each of the 4 outputs has a filter bank that can be used for the calibration and the whitening compensation. The model contains then a DAMP part which contains four filter banks where one can pout the compensation filters for the damping. The output then goes to the first 4 DAC channels.
I was not able to get any signal out of the DACs, I don't know why.
Following up on the data analysis posted by Xiaoyue (see elog 836), I had a closer look at the 50+ hours of data we collected with a driving amplitude of 4000 cts (to be calibrated in meters).
As a first step, I computed the average spectrum of the Michelson error signal for each of the one-hour-long data segments, both those with the low frequency common drive on and off. Then, I compute the minimum of the spectra for each frequency bin, and I used this to whiten all of my spectra. The result is the following plot, which shows for each of the time segments (X axis, binning of 1 hour), the power spectrum normalized to the global minimum (over all 50+ hours):
It's very easy to see that there when the drive is on, the noise in the region between 100 and 500 Hz is clearly larger. Moreover, the noise in this region is not stationary, since it can vary a lot over time, even with the drive off. In some periods, the noise was much larger than the minimum value. The difference of the noise in on and off periods can change a lot over time. All those things are very suspicious, and I tend to conclude that, since the increase of noise in the drive-on period is changing a lot, we're not see in pure crackle noise.
To get a better understanding of what's happening, I selected two drive-on periods (segment 14 and segment 24), the first having very large noise, the second having relatively small noise. I compute a fast spectrogram over the two one-hour-long periods. Non-stationarities are clear visible:
Since it's difficult to tell which are the main frequencies at which the noise varies, I band-passed the Michelson signal between 250 and 295 Hz and computed the RMS in this band as a function of time. I then tok the Fourier transfer of this to look for the main modulation frequencies:
Clearly, segment 14 is much noisier, and the modulation frequency (125 mHz) as well as higher harmonics are very well visible. Segment 24, despite the fact that we were driving with the same amplitude, shows a much lower noise and almost no sign of the driving frequency. Those spectra are not normalized in term of relative noise variation.
Finally, to understand why the noise is changing so much over time, I compared the spectrogram of the one-hour-long periods (the first plot above) with the total RMS (averaged over each hour) of the error signal and the control signal. Since the low frequency gain is not enough to suppress the error signal down to the sensing level, control or error signal RMSs contain the same information:
Clearly, the noise is larger when the RMS of the correction (or error signal) is larger. Most of the RMS of the correction comes from a large seismic peak around 10-12 Hz. It is not clear at this point what is the origin of this noise up-conversion. Here are few hypothesis:
In conclusion, the quality of this data is not very good. But how can we improve it?
In the last couple of days I tried to implement a few improvement in the present data analysis strategy
This is something I already tried in the past for the maraging steel blades, and it used to work. In brief, I use the mean values and rms of auxiliary channels over each one-hour-long segment, to assess if the segment is good or not. I was using the rms of the accelerometers, the rms of the shadow sensor signals (measuring the blade local displacement), the rms of the Michelson error signal and of the control signal, the fluctuation of the calibration line. However, it turned out that this preselection is not good for the stainless steel blades. The reason is that we aren't able to get enough suppression of low frequency motion, so all signals are always quite large and there are no periods with large excursions from the mean value.
So this is not used in the present analysis.
The present analysis technique estimates, for each one-hour period, the mean value and the error of the demodulated signals at 1F, 2F and 4F. It is apparent from the time series plot of these values, that there are some data segments with much larger errors than others. This is likely due to more seismic activity or some glitches. Here is an example from the 51 hours of data collected with a driving amplitude of 4000 cts (still pending calibration in meters...).
I implemented a selection of good periods based on the error estimate. For each band I keep the segments with errors lower than a threshold set to keep 90% of the data. In other words, for each band I'm throwing aways the 10% of the segments with the larger errors. Here are the remaining segments:
I believe this selection of good segments doesn't introduce any bias in the statistics, since it is based only on the uncertain of the demodulated signal, and not on its value.
Our Michelson signal spectrum is polluted by a large amount of lines, which make quite hard to find a good frequency band for the analysis. This is why in the previous analysis, Xiaoyue used quite narrow bands. I implemented an algorithm that automatically detects all the lines in a given frequency band and remove them, in the time domain. Here is how the algorithm works:
This was the implementation of the line detection algorithm. Then, for each of the detected lines, a time domain filter is created, implementing a notch with tuned frequency and Qs.
Here is an example of the result. Some of the lines are a bit over-notched, meaning that we probably need to fine tune a bit the notch parameters. However, this shouldn't be harmful, since if we notch a line more than necessary, we're simply discarding that frequency.
I repeated the analysis of the 51 hours with the above improvements, and since I removed most of the lines, I could analyze a larger band, between 500 and 780 Hz. The results are those already shown in the first plots in this elog. The selection of good periods based on the uncertainties discarded 7 periods, corresponding to 14% of the data. Here are the confidence intervals. We have a significant 1F signal, as also clear visible from the time series above, but nothing in the 2F or 4F:
The biggest problem we ever had in the past was due to systematic effects leading to fake signals. Following up on the previous analyses (elog 838 and elog 839), I checked how much modulation we see in the calibration line at the driving frequency. In the past (almost one year ago) this was the origin of our fake "crackle noise detection".
So, for each period of one hour data, I computed the spectrum of the calibration line amplitude variation over time. Here is the result, comparing all the segments and two of them in particular
Clearly, when we are driving, we have a large 1F and 2F modulation of the calibration line. This is bad...
To get more quantitative results, I extracted, for each one hour period, the amplitude and phase of the Fourier components of the calibration lines, and expressed them in terms of 1F_I, 1F_Q, 2F_I etc... We have mostly a 1F_I contribution, which is drifting over time, as expected if coming from misalignments. But we also have a significant 2f_Q contribution, compatible with the result shown in the above spectrum:
The distribution is very close to the modulation we see in the mainstream analysis. If we take the amplitude of each component of the calibration line, multiply by -1e-24 and superimpose with the usual crackle noise detection plot, we have a significant match: in particular, the 2FQ component in the crackle noise modulation, which is almost significantly different from zero, is well explained by fluctuations of the calibration line:
Here black and red traces are the usual crackle noise modulation confidence intervals, while the magenta traces are the rescale amplitudes of the calibration line.
In the past, we could explain all the detected crackle noise by using a white random noise as fake photodiode signal, but still using the calibration line information from the real data. This is something like assuming that we have some shot or electronic noise in the photodiode, which is really constant, but when we interpreter it as displacement noise, it gets a modulation due to the time varying Michelson optical gain. I tried to do the same trick, using white noise with a level tuned to give me the same total power as the real signal when integrated into the analysis band (500-780 Hz). Interestingly, here is the result:
As before, red and black traces are the result of the analysis with real data. Now however the magenta traces are the results for the simulated data. We get almost exactly the same amplitudes, but with a reversed sign.
I'm not able to explain the reason for this sign flip. I can get it if I assume that the photodiode noise level (in volts) is not constant, but modulated as the square of the calibration line variation. Then the calibration factors out one of the powers of the calibration line, and therefore it seems that we have a noise level (measured in meters) which varies like the calibration line amplitude.
The question is: what's the meaning of this? Does it make any sense? Despite not being able (yet) to find good answers, I'm pretty much inclined to think that what we're seeing is not crackle, but some systematic effect. Too bad...
Optimization of Michelson Interferometer Signals in Crackle Noise Detection
The search for crackle noise has been limited by the presence of various sources of noise, including laser frequency noise, laser intensity noise and the misalignment of end mirrors in the Michelson interferometer. We developed an optimization algorithm that finds the best parameters that minimize the coupling of these noises into the output. These parameters include microscopic and macroscopic length difference of Michelson arms, and the angular alignment of end mirrors.
Building the input optics for the Crackle2 experiment
Report by Yuji Yamanaka about the work done during his visit. Design and construction of the input beam matching telescope for the crakle2 experiment.
Modeling and control for the Crackle 2 experiment
The Crackle 2 experiment is an upgrade of the Crackle 1 experiment, aiming to measure non linear effects in the maraging steel blades used in the advanced LIGO suspension system. My project focus on the sensing and the actuation of the mechanical part (a cubic pendulum) to which each of the two reflecting mirrors of the experiment are suspended.
An Optical Setup for Crackle Noise Detection
Due to the mechanical upconversion of the local deformations due to grain slippage or similar microscopic events. It has long been suspected that there are multiple instances of crackling noise in the LIGO Interferometers, and as such, a crackle experiment has been developed where the crackling noise in the maraging steel blades of a Michelson Interferometer will be measured. The steel blades present a straightforward mechanical system which can be driven and stressed easily. Since the crackling noise in LIGO is vertical noise and the coupling to the horizontal motion of the test masses is very small, the vertical noise in the blades are measured directly in the crackle experiment, to have maximum sensitivity to the crackling noise. A proposal for a crackle experiment with increased sensitivity has been proposed, and this project will be concerned with the construction and alignment of the optical setup for the upgraded crackle experiment. Following this, the response of the maraging steel blades will be characterized, and a control system will be developed and implemented to lock the Michelson Interferometer in order to keep it at resonance.
I will update some comments later..
In the crackle 1 experiment we were using two stacked aluminum plates, separated by three large (about 5x5 cm) rubber pads. This was our seismic isolation system, which worked kind of well in the horizontal direction, but not so well in the vertical direction, which is the one we care most.
I tried to improve the seismic isolation. I studied few different configurations for a single stage stack. I measured with the Wilcoxon accelerometers the motion of the optical table in the crackle lab in x,y and z directions. Then I repeated the measure with the accelerometers mounted on top of the aluminum plate, with different isolation systems:
The third option is new and the one that gave the best performances. The aluminum plate is sustained by four springs. To avoid the plate to fall laterally, three small rubber pads are placed in contact with the side of the plate, and they rest agains three vertical posts.
This setup is not yet compact enough to be placed into the vacuum chamber, but it was mainly mean as a proof of principle of the idea.
The following plots show the measured accelerometer spectra (in uncalibrated units) in the different configurations:
Things are maybe more clear if I show the ration between the seismic motion of the table and of the isolated plate in the different configurations:
The most interesting plot is the last one, for the vertical direction. The new scheme gives a huge improvement in the vertical isolation, which goes from nothing to a factor 10 at 10 Hz and 100 at about 100 Hz. The price is the larger peak at lower frequency, due to the higher Q of the springs. But I think this is something we can manage with the Michelson lock.
I consider this a successful proof of principle of the idea. It should be easy enough to adapt the system to fit into the vacuum chamber. For the lower stage, we have to figure out how to fix the springs to the bottom of the chamber. For the rubber pads, probably we can simply squeeze them between the plate and the chamber wall. The weight sustained by the springs will be clearly larger, but they should still be into linear regime. If needed, we can use more than four springs.
For the second isolation stage, we can use a simple rubber stack, or try to fit in some more springs.
Yesterday I tried to build a double stage isolation stack for the crackle1 setup.
For reference, I started by building a simple two stage stack with rubber pads, very similar to the one we used in the crackle1 setup so far.
Then, I built a first stage with five vertical springs and lateral rubber pad supports, very similar to what I explained in my previous entry. The second stage is simply implemented with rubber pads, to save space.
The following plot shows the measured motions in three configurations: blue is the motion of the optical table, green is the motion I got with the reference two stages with rubber pads (what we used so far in crackle1) and red is what I could get with the new system. Above few hundreds Hz the noise is limited by acoustic.
The horizontal performance looks quite similar to the reference system, as expected, since the rubber pads are very soft in the horizontal direction. Instead, the vertical isolation is much improved. All this is even more clear if I plot the isolation, with is the ratio of the motion measured on the stack over the motion of the table.
It appears that the horizontal isolation is also improved, especially around 10 Hz. The vertical improvement is the most striking. I believe this system will help a lot in the Michelson lock and in improving the sensitivity.
I set up a quick Michelson, with PDs at both ports, as in the crackle1 Michelson, to test the PZT we bought from Holofringe. (I had to borrow the beamsplitter from crackle1, since I needed a non-polarized one. I also borrowed one if its PDs).
I was actually even able to get a loose lock with just a SR560 as a servo filter and no HV driver, since mounts on the table are pretty stiff. With a thorlabs MDT694 and the SR560 set to a single pole at 30Hz and G=50 and PD100A gains at 0dB, I locked the michelson at half fringe with ~30k bandwidth, and took the OLTF, to back out the SR560 and optical gains, and get the PZT+Driver TF.
The PZT resonance is around 92k, which is close to the quoted 88k. Oddly, the DC response seems to be a factor of three too small, ~13nm/V instead of the quoted 36nm/V. I don't see where it could be coming from at this point... If this is true, we would have ~2.5 micron of range through the -100->+100 V swing of the PZT. I can't remember if this is enough.
Anyways, here's the HV driver + PZT response plot. (Gain of the driver is 15, so DC response of the PZT is the DC value of the plot over 15)
Very nice measurement! The bandwidth is much larger than I expected, which is good. I also guess that 2.5 microns should be more than enough, at least to acquire the lock, since the fringe is about 0.3 um. We can always reallocate the low frequency component to the blades.
A few updates about the PZT:
I checked the elastic deformation of the blades we have for the crackle2 suspension. I measured the deflection close to the blade tip when applying the same (unknown) load.
We have three different kind of blades with the same dimensions. The two blackened ones are marked A and B. We then have a v2 blade, and several v3 blades with serial number. Here are the deflection:
All the v3 blades show the same deflection within error, except maybe for SN 004.
To estimate the level of displacement noise introduced by the PZT servo and driver, I temporarely removed the low pass filter and locked with the digital control loop. In this way I could see a large increase of displacement noise. I measured the open loop TF of the digital lock and used it to compensate for the loop shape.
The PZT noise is 2.4e-13 m/rHz at 100 Hz, shaped like 1/sqrt(f), and flattening at 7e-14 m/rHz.
Then I put back the filter, and measured no excess of noise due to the PZT. I know that the low pass is a single pole at 12 Hz, so I can use this and the previous measurement of the noise to get an estimate of the PZT noise in normal operations. This is below the measured displacement noise, so it's not important for the moment being.
The excess noise in the high frequency displacement noise is intensity noise of the laser. I measured it with one arm of the Michelson blocked, and I got a level of about 1e-5 RIN (relative intensity noise), which is in good agreement with what we expect from the laser.
Using 5 minutes of data in this configuration, I estimated the relative gain of the photodiodes. In brief, I band-passed the photodiode signal between 100 and 1000 Hz, and searched for the relative gain that minimized the RMS in the difference of the two signals. The result is shown in the following figure: the difference of the two photodiodes is limited at high frequency by the ADC noise, which is still larger than the expected shot noise. Not surprisignly, we'll need a whitening circuit for the photodiode signals.
I measured the calibration of the photodiode signals from counts to watts. I uploaded the gain in the LOCK_AP and LOCK_SP filter banks. Now LOCK_AP_OUT and LOCK_SP_OUT are calibrated in mW. I modified the KR2 model to add a matrix just after those two filter banks, to mix the two signals and get the LOCK_SERV error signal. Model has been recompiled and restarted.
I left the laser on, to acquire more overnight data and get another measurement of the displacement noise.
While installing the translation stage in the Crackle2 breadboard, we realized that the alignment wasn't great since the mirror on the bottom of the blocks were not perfectly horizontal. After a long struggle, we decided to get the blocks off and clean up the situation:
We were worried about the tilt of the blocks induced by the magnets, which are attached to only one side. The block has dimensions of 55x55x90 mm and a mass of 2.2 kg. The magnet is glued 5.1 mm from the bottom, and it's a cylinder with a diameter of 4 mm and a length of 12.5 mm. Its mass is 1.4 g. We computed the tilt induced by the magnet: 470 microradians, which seems safely small.
I have been using single crystalline copper nanopillar to study metal’s pre-yield behavior. I chose copper because it’s FCC (face-centered-cubic) crystal, that has well-defined slip systems so the dislocation dynamics is relatively simple to understand. Pillars with diameter D = 500 nm, aspect ratio D: L = 1:3 are FIB (focused ion beam) milled. We want small system to further simplify our first investigation as the “mechanical annealing” theory and experiment have shown that in small enough system there’s no dislocation multiplication but only slipping. I first did compression tests to measured the yield stress to be ~ 400 MPa and young’s modulus to be 143 GPa. They are very close to what’s been reported in literatures [1, 2].
Then I carried out nanoDMA tests in which, I prescribed an increasing “elastic” load in steps with a small sinusoidal oscillation on top. With the displacement data being taken, I first plotted the histogram of the displacement residual rate. Some outliers are observed as possible crackle events.
I also analyzed the storage and loss modulus, defined as the real and imaginary parts of the input-output transfer function. Interestingly there seems to be non-zero peaks as the static load is approaching the yielding!
To deal with the data more carefully, I thought over the calibration for machine noise. Since the resonance frequency of pillar is in MHz range and the machine resonance is ~ 130 Hz. We have the simple relationship that k_calibr = k_raw - k_air.
I took several more data and chose the “good” ones based on the criteria that their storage stiffness saturates to near E ~ 19uN/nm. After taking absolute values of the loss moduli and plotting modulus vs. stress we see features at ~ 180 and ~ 320 MPa load.
My interpolation of the “good” data shows promising consistency.
However for now I don’t quite understand why I see negative loss moduli in my analysis. I keep doubting my error analysis but so far I don’t see how it could be wrong: I fit the data with sinusoids and use the fitted paramaters and their associated standard errors to do monte-carlo simulation. The means also agree with my FFT analysis. I am attaching the sample matlab codes for both my monte-carlo and FFT.
This morning I freed the blocks and recentered the OSEMs of the test blades as well as I could. Surprisingly, I didn't knock any magnet off!
The plot attached here compares the motion measured by the six OSEMs now, compared with what we got when the breadboard was clamped to the optical table. Beware that in the old data the local damping of all size motions was on, while now there is no damping at all, neither of the breadboard or of the blocks.
The low frequency motion is much larger than before, as expected since we have all the resonances of the seismic isolation system. The reduction of noise in the interesting bandwidth (above 10 Hz) is promising. Basically almost all the OSEM signals are sensor noise limited above 10 Hz. There are still some significant differences in the motion of the two blocks, but so far there's no major problem.
Aggregating all good measurements for MG, FQ based on the criteria for "good" discussed in Elog 950, we plot to have visual comparison for dynamic modulus amongst the three samples tested so far. From a rough look, the loss modulus of amorphous materials (FQ, MG) are more "linear" than that of Cu in static stress sweep. Also notice that there seems to be a consistent increase in storage modulus in all samples. From the basic linear fitting, amplitude measurements of FQ, MG, Cu_saturate all have a slope of ~ 0.15 e3. If we understand why "good" is good, and taking enough measurements on FQ to confirm the consistency, we might be able to use it as a calibration line.
Here are a few snapshots from the Solidworks model to see how OSEMs and magnets were supposed to be installed on the bread board.
I wrapped up my recent literature review on mechanical properties i.e. internal friction and acoustic emission of materials, and discussed about possible insights on crackling-noisy materials candidates according to the investigation. The summary is uploaded to DCC-T1500225.
I have tried to build an analytical model to translate the shadow sensor readings to motion of the breadboard in 6 d.o.f. I started off with the basic relation that is true for a rigid body - the velocity at any point P on a rigid body is given by: , where is the velocity at P, is the velocity of the centre of mass in the absolute frame, is the angular velocity of rotation and is the position vector of the point P.
In an infinitesimal time interval, the above relation is equivalent to: , where is now infinitesimal displacement vector of the point P, and is the infinitesimal displacement vector of the center of mass of the suspended breadboard. This can be written in the matrix form as:
where corresponds to displacement of the point in the x direction.
In the case of interest here, each of the 6 sensors has one such matrix equation (that is 3 linear equations). However, since OSEMs can measure movement only along the direction of axis, by construction, the matrix equation for each then boils down to one linear equation corresponding to the direction of orientation of the OSEM axis.
Consider the OSEM scheme shown in attachement 1. (Axis convention: shown in the fig.) For the sensor A, for instance, the equation corresponding to would be the only relevant one, because its axis is along the x-axis. Hence, the linear equation corresponding to can be written down from the above matrix equation by plugging in the values for and . The same can be carried out for the rest of the sensors before plugging in the necessary values, and one can arrive at the final transformation equation:
The next thing to do, then, would be to learn to interface with the setup and acquire data from the sensors, after which the transformation can be implemented and motion in 6 d.o.f can be analyzed.
Writing this update to close the topic of constructing transformation relations. The last time, I had made some assumptions that I later, upon discussion, realized are not reasonable. This update summarizes the changes and gives the final transformation relation.
Finding the CM of the suspended setup:
I have considered the following while calculating the CM of the system. The axis convention is shown in Attachment 1. I have skipped the y-coordinate, since we know from the position of the suspension wires that the absolute y-coordinate of CM is -27. All coordinates in mm.
0.2kg is the weight of each post, according to what I found on Thorlabs website for 1" length posts. I have added 0.2kg to all posts to account for the components: photo detector, lens mount, beam splitter etc.
Look at Attachment 1 for the positions of these posts/components. The coordinates indicated in the previous column correspond to the CM of the system of posts and components.
The center of mass, then, comes out to be: 20.49kg at (204.18, 223.09) (in the x-z system). Complete absolute coordinates are: (204.18, -27, 223.09).
This table enlists the coordinates for the suspension sensors in both absolute and CM frame. 'X' means that we don't care about that particular coordinate since it is along the axis of the sensor.
The transformation matrix, then, becomes:
The inverse of this matrix is as follows:
The last update shows the motion of the breadboard in physical degrees of freedom. (This was when the linear damping was on, though.) One of the interesting things that one can observe from the transformed sensor data that has been collected is the modes of the system; and one can do so by doing a spectral analysis.
I have arrived at the spectral density of the physical d.o.f motion data by using the pwelch function. (In this case, the linear damping was turned off in order to better observe the modes.) The following are some quick summary points about the same.
I have attached spectral plots corresponding to motion along all six degrees of freedom. The last plot is that of absolute motion along all d.o.f. A couple of quick inferences that can be drawn are:
This sets a target for the rest of the work relating to suspension damping. We will come back and plot the same kind of data gain - this time with damping turned on - to see the difference.
PS: These plots correspond to data from 1 June'15 1:00AM - 1:30AM.
Edit (19 June'15): The attachment below is only for representational purposes. As we recently figured out, magnets might have been touching the sensors. The data hence better not be used for any analysis.
This elog summary is about my work on characterization of mechanical response of the suspended breadboard system.
In order to effectively damp breadboard motion at resonance frequencies, it is necessary to have an idea of how the system responds to forces at different frequencies applied at various points on the rigid body. The way to do this is to construct the frequency response functions (transfer functions).
As we know, the Optical Shadow Sensor ElectroMagnetic Actuator (OSEM) has two parts:
Clearly, we have means to not only measure displacement and at specific points on the rigid body and reconstruct 6D motion in physical d.o.f., we also have means to drive the system by applying force using OSEMs at these positions. (OSEM scheme shown in attachment 1).
Also, the part of the breadboard whose displacement is to be measured must be made up a magnetic material if it has to be driven by the EM force, obviously.
Transfer function measurement, then, becomes a matter of exciting coils, measuring sensor displacements and transforming to the absolute (ground) coordinates. This is conveniently done by the LIGO Diagnostic Test Tools (DTT). Before I talk about results, here are some important points to be kept in mind about the excitation configuration on LIGO DTT.
Transfer function measurements:
I have initially measured transfer functions for coil excitation to sensor displacement. These were later on transformed to coil excitation to physical d.o.f. transfer functions using the same transformation that displacement signals are related by. Attachments 2 through 12 show transfer functions of translation or rotation in coil excitation to physical d.o.f. -- A to F, in that order. Notice that there are hardly any points for frequencies above 6 Hz. This is simply because of low coherence. The threshold set here was 0.7.
Here too, one can see common peaks at a particular frequency below 1Hz -- one of the resontant frequencies.
I have successfully characterized the mechanical response and measured 6x6 tranfer functions. In order to make use of these for control, one must input these transfer functions to the control system in terms of poles and zeros. I have used the MATLAB function vectfit3 to fit a vector of 6 transfer functions with common poles. This can be extended to all 36 transfer functions as well. However, whether we want to fit all of them with the same set of poles or not, or whether we want to fit 6 groups of 6 transfer functions each individually, is something that will become more clear after modeling the system analytically and staring at the transfer function simulations. My next step, hence, would be to work on the analytical model.
Earlier, I had constructed the transformation matrix that gave motion in physical d.o.f from the OSEM signals. That matrix was the 'Sensing Matrix'. Just like sensing, driving is possible only through the 6 OSEM. It is through these driving forces that any force of a certain desired magnitude and direction can be achieved. Since we want to build the suspension damping control system based on the physical d.o.f motion, it is essential to have a way to translate OSEM driving forces to forces along physical d.o.f. This is simple - write down Newton's 2nd law along all 'directions'.
The above image shows the scheme of OSEM, and direction of their driving force. This convention has been chosen such that for positive force, the magnet moves OUT of the OSEM. The current wiring (as of 18-06-2015) is NOT in the right sense, and this has to be corrected.
One can write down the following equations easily:
One must be a little more careful while writing down the torque relations. The net torque can be written as:
where the and are position and force vectors of OSEM 'i'.
This can be expanded to:
corresponds to the force by each OSEM, the negative sign in some of the terms is because of the orientation of the sensors. (For example, positive force -- which we defined as when the magnet moves out -- along B would mean a displacement in negative y direction.)
The x, y, z components can be separated, and a matrix transformation equation can be written from all the above equations as below.
Note: , for instance, is the x-coordinate of OSEM A in the CM frame.
On substituting the necessary values of the coordinates (which can be found here), the final driving matrix equation can be written as:
On converting length units to meter and taking the inverse, we get the driving matrix equation:
In the last equation, forces are in uN and torques in uNm.
Over the last week, I have been trying to find out ways to make parallel measurements of transfer functions (TF's) for different coil excitations. The way I've been doing it so far, it takes about 6-8hrs per measurement, and 6 such measurements - which is a week's time! Things would be much more efficient if I could take all measurements in, say, a night.
Fortunately, that's possible with our system - simply because it is a linear system. Why is it a linear system? Because Newton's laws - which govern the behaviour of our system - are linear!
As long as the system is not excited by the same frequency through different coils, because of linearity, the measurements should be as good as they were taken independently. The difficult part, however, is to find out how to do it.
I have been suggested a couple of methods to make parallel DTT measurements.
As a result, I've had to come down to the manual mode of operation. Some details mentioned here.
Pending post: one that I was supposed to write last week.
Earlier, I had tried running parallel TF measurements through Python-MATLAB. However, I was unsuccessful and I couldn't make much sense of the problem I was facing. I then tried the other method that was suggested - using the Diagnostic Tools "diag". The process can be summarized as follows.
First, a DTT template is prepared and saved as an XML file. The desired parameters are set; 'start time' is to be chosen as 'Now'.
Next, a short 'diag' script to be run from the workstation is prepared. The code itself is simple; here's how it goes
Path to directory and file names are to be set appropriately. The above commands are for the Diagnostic Tools "diag". However, since we want to automate this, six such scripts must be run in parallel automatically; this was done through Python using the subprocess module.
I have, for the purpose of illustration, attached the diag script, Python script and the input DTT template that I used. Remember, to reproduce what I have talked about in this elog post:
Please ZIP a huge text file like XML before posting. I deleted it.
Post pending from last week.
In order to better make sense of the results we have been obtaining in transfer function measurements, it is suggested to have an analytical model of the system under inspection -- in this case, a model of the suspension system based on the governing laws: Newton's laws.
I have made attempts, over the last couple of weeks, in reproducing transfer functions that we have obtained experimentally. In this elog post, I talk about particular model that I have worked with: one that was built about an year ago (and can be found on LIGOShare Dropbox at LIGOShare/Crackle2Design/SuspensionModel. (Link: https://www.dropbox.com/home/LIGOshare/Crackle2Design/SuspensionModel) I will not go into further details of the model; I will only talk about the results that I have achieved.
The 'suspension_4_2' file is the latest version of the analytical model of Crackle2, and that is the one I worked with. On running the script 'ToMatlab.m', the output is a file that contains, in a format MATLAB can understand, state-space matrices A, B and F. (A represents the dynamics of the system, B is the input coupling matrix and F represents external disturbances.)
In the current case of interest, the state equation can be written as:
In Laplace domain:
This is a 12x12 matrix of transfer functions. (12x12 because the whole system has 12 degrees of freedom in all: 6 of intermediate mass and 6 of lower mass (breadboard setup).) Of interest to me is the last 6, and I have made use of the 6x6 submatrix to compare with experimental data. I have plugged in the required parameters after measuring them. I have attached an excel spreadsheet with the parameters I have used. I have also attached the results I have obtained from this simulation: a comparison of SENS_X/COIL_A transfer functions. Clearly, though the shape is a little similar, the positions of poles and zeros is definitely not matching. I have played around with the parameters as long as they were still sensible values, to try and match with measurements. I was unsuccessful in matching the positions of poles and zeros, and this called for building a better model altogether. I am currently working on building a model of Crackle2 on a simulation platform (also based on Mathematica) built by personnel who have worked at Advanced LIGO and KAGRA. I will talk about that in another elog post.