Wrote and tested a phase vocoder, with two of its applications:
1) Time scaling: This enables change of time duration without affecting the pitch.
2) Frequency warping: This changes the pitch of the sound without affecting the time duration.
1 & 2 tested offline with cavity transmission signal. 1) gives speedup of 2, and 2 gives frequency warping (pitch lowering by a factor of 2)
codes uploaded on github repo
Tried to implement AGC on FE. Had some trouble bringing the code into the correct form. It looks okay now. However, this agc code as well as idenntity code (input = output) doesnt seem to build on the c1lsc FE. Have not tried too many debugging steps yet, will come and check the problem tomorrow.
Summary: I am implementing digital audio filtering on various interferometer signals in order to listen to the processed audio which will help in characterizing and noise reduction in the interferometer. Following is an implementation of an Automatic Gain control (AGC) block on an LSC input signal.
Details of AGC: Currently, the AGC code implemented on FE takes input to fill a frame, then calculates the power in each frame and gives an appropriate gain to it, so that the new power content is to the required level. It is then written to the output, frame by frame. The frame is currently a rectangular window. The frame length and hop size can be adjusted. Current values are as follows:
frame length is 512 samples
hop length is 128 samples.
The input and output are delayed by 1 frame.
Details of testing: Attachment 1 shows a simulink diagram of the DAF system. Eric made this and I modified it later on. Testing was done using signal from the "LSC1" channel. Attachments 2 and 3 show aquired input and output of the AGC respectively. Gain of the preamp of the LSC input signal was varied over a total time span of 200 s. Each gain value was kept for a duration of about 20 seconds. The varying power levels can be seen in the input plot.
The output shows a uniform power level throughout.
Eric gave me a psd plot of a signal which would be the input of a channel of the AA filter. the Nyquist freq. is about 32.8kHz.
Following are plots depicting the ratio of the aliased downconverted signal and the signal below 32.8 kHz. The first plot is for (to-be) aliased signal frequencies from 32.8 to 65.5k, and the second plot is for (to-be) aliased signals from 65.5k to 98.3k. In case of the first plot, the 36kHz peak will alias to 29kHz, and is about 30 times (29.5dB) greater than the signal there. Hence, the filter should give about 70dB attenuation there. Since this attenuation is not required by most other frequencies up to 65.5k, an option could be to use a notch filter to remove the frequency peak at 36k, and put a requirement of 45-50 dB attenuation on other frequencies.
In case of the second plot, the frequencies between 90 to 100k again need to be attenuated by more than 70 dB. However, if there is a -20dB/decade slope in stop band, we already have about 10 dB attenuation here as compared to around 32k.
The X axis of both plots is in Hz.
Summary: The aim is to design an analog anti-aliasing (AA) filter placed before the ADC, whose function is to filter out components of the input spectrum that have frequencies higher than the Nyquist frequency. This needs to be done so that there is no contamination of aliased downconverted high-frequency signals into the ADC output. I have put down and simulated a circuit to do this, based on the spectra of a few interferometer signals that eric Provided. Attachment 1 shows such an input PSD, treated with whitening filter, before the AA. The sampling rate is 65536 Hz and hence the Nyquist freq. is 32768 Hz.
Motivation: Attachments 2 and 3 show the plot of required attenuation for various frequencies above the Nyquist. We can see a peak at 36 kHz, which will alias to about 29kHz. It will require about 70 dB attenuation here. This indicates that use of a notch filter combined with a low pass filter can be used.
Details of Schematic: Attachment 4 shows the schematic of a Boctor low pass notch filter, cascaded by a 2nd order LPF. The stopband frequency of the boctor filter can be tuned to around 36 kHz. Its main advantage for the boctor is better insensitivity to component value tolerances, use of a single op amp, and relatively independent tuning of parameters. The various component values are calculated from here. The transfer functions for the circuit shown in attachment 4 were simulated using TINA - a spice based simulation software. The transfer function is shown in attachment 5.
A few more calculations: Attachment 6 shows the output psd after the signal has been treated with AA. Attachments 7 and 8 show the ratio of aliased downconverted signal and the unaliased signal of the output. Here, we can see that above about 13 kHz, the ratios go above -40dB, which is apparently undesirable. However, we also see from the transfer function of the filter that the gain falls to less than -20dB after about this frequency, and the aliased signals are atleast 20 dB lower than this, atleast upto about 29 kHz in attachment 7 and about 25 kHz in attachment 8. This means that the aliased signals are negligible as compared to the low frequencies even if they are not negligible as compared to the higher frequencies (above 13 kHz) into which they would get downconverted due to sampling. But these higher frequencies (above 13 kHz) themselves are small.
The filter overall, is 4th order. Considering this and the above discussion, I need to decide what changes to make in the existing schematic. For now, I could discuss with eric to finalize the opamp and start building the pcb board design.
I found an anti-aliasing circuit on the 40m wiki. It consists of A differential LPF made using THS4131 low noise differential op-amp (one of the main applications of which is preprocessing before the ADC), and a notch. I modified it to arrange for the desired bandwidth (about 8 kHz) and notch after the Nyquist frequency at 36 kHz. I simulated it to get the attached results:
Attachment 1: It shows the input PSD (same as the one posted in the previous elog), the filter transfer function, and The resulting output.
Attachment 2: The circuit schematic. The initial part using THS4131 is a differential LPF and the subsequent RC network is the notch.
Attachment 3: This shows the ratio of the aliased downconverted signal to the the in-band signal, representative of the contamination in each bin. Here too, the aliased signals are negligible as compared to the low frequencies but they are not negligible as compared to the higher frequencies (above 10 kHz) into which they would get downconverted due to sampling. However, here, the attenuation at 8kHz is less than 6 dB while in the previous circuit, it was about 12 dB. One problem with this circuit is at about 6kHz, there is aliased signal from the 65k to 98kHz band, but this can be taken care of by adding an LPF later.
The DAFI block was reviewed by Rana yesterday. The following changes/improvements were suggested: (Updated on 20th July 2016 with tasks taat remain in red)
1) include all the various channels like PEM, LSC, ASC, SUS, SEI, etc. as the inputs. Currently the inputs are only the LSC.
2) include all the control signals.
3) create a very detailed diagram of the entire signal flow and plan tasks accordingly.
4) Enable cascading of various DSP processes.
5) Adjusting the gain of the AGC such that the amplitude of the output signal comes to about half the peak amplitude offered by the ADC. This will help taking advantage of the entire dynamic range of the ADC.
6) change the enable button styles from a text input based controller to a button controller.
7) Currently, disabling a particular signal terminates the signal. Instead, it should turn into a unity gain block on disabling.
8) Check if the Fibox does AC coupling or not. If not, add an AC coupling arrangement in the DAFI.
9) Check the nature of the ADC1 and ADC2 inputs to the DAFI. I checked them yesterday, and they are channels 25 and 26 of ADC0, which are empty.
Hello, I am Varun Kelkar. I will be working at the 40m lab as a SURF student this summer with Eric Quintero on Audio processing for real time control system signals. This week I will mostly be working on implementing basic DSP C-code offline. Currently I am trying to write a code for noise whitening.
We're discussing the plan for the next vent. Now that we have all the tip-tilt stuff in hand, we should get ready for the big TT installation vent ASAP. The question is what remains to be done, and when can we be ready
Stuff that needs doing:
* characterize TTs, check electrical connection of quadrupus cables, bake cables and base plates - a week or so (not including baking)
* phase map of LaserOptik mirrors (decide on needed resolution) - a week or so?
* get ready to swap G&H mirrors with LaserOptik mirrors (PR2, PR3, SR2, SR3)
* assembly of black glass beam dumps - one afternoon
* green periscope moving - day or so to make sure greens are resonant in arms, so we have something to align to
* redraw of REFL path?? (rotate 2nd refl mirror to reflect beam to the east, then add mirror to get beam out of IOO chamber viewport), cut hole in BS oplev table's box, install black beam tube
* FI camera mount - make sure it's here, baked
* active TT pitch damping plan
* passive TT weight addition and pitch alignment plan
* camera plan for taking in-chamber photos without touching the tables
* look at layout of ITMY table. POY pick-off too close to main beam. Can we move POY pick-off to BS table?
* remount black glass baffles on SOS cages.
Stuff to bake:
* Quadrupus cables
* TT base plates
* FI mirror mount for FI camera
* stuff to add to active TTs
* stuff to add to passive TTs
I made a test installation of ligo_viewer in /users/volodya/ligo_viewer-0.5.0c . It runs on pianosa (the Ubuntu machine) and needs Tcl/Tk 8.5.
To try it out run the following command on pianosa:
Press "CONNECT" to connect to the NDS server and explore. There are slides describing ligo_viewer at http://volodya-project.sourceforge.net/Ligo_viewer.pdf
Use /users/volodya/ligo_viewer-0.5.0c.tgz or later version - it has been updated to work with 64 bit machines.
Make sure Tcl and Tk development packages are installed. You can find required packages by running
apt-file search tclConfig.sh
apt-file search tkConfig.sh
If apt-file returns empty output run apt-file update
Unpack ligo_viewer-0.5.0c.tgz, change into the created directory.
Run the following command to configure:
./configure --with-tcl=/usr/lib/tcl8.5/ --with-tk=/usr/lib/tk8.5/
This works on Ubuntu machines. --with-tcl and --with-tk should point to the directories containing tclConfig.sh and tkConfig.sh correspondingly.
You can test the compilation with ./ligo_viewer.no_install
If everything works install with make install
If Tcl/Tk 8.5 is unavailable it should work with Tcl/Tk 8.3 or 8.4
We investigated some more the discrepancy between Matlab and Foton numbers. The comparison of cheby1(k, 1, 2*12/16384) was done between versions implemented in Matlab, R and Octave. Filters created by R and Octave agree with Foton.
Also, we found that Matlab has gross precision errors for cutoff frequencies just smaller than used in our fitler, for example cheby1(6, 2*3/16384) fails miserably.
It would be useful to see some plots so we could figure out exactly what magnitude and phase error correspond to "gross" and "miserable".
To show why Matlab is bad in filtering at small cut-off frequencies we did the same thing in Matab, Octave and R: we've taken the low-pass chebyshev filter of the type 1, order 6, ripple 1 dB, the sampling frequency was 16384 Hz and cut-off frequency varied from 1 to 1000 Hz. Here is the plot for the gain of the zpk model versus to cut-off frequency.
We can see that Matlab's gain shows surprising gains for low cut-off frequencies through for > 100 Hz it is fine. In the next table we compare gain from Foton, Matlab, R and Octave for the same filter. So Foton is also good
22:05:02 UTC Jordan refilled his water bottle at the water dispenser in the control room.
Jenne and I renamed the mic channels Den created (elog 6664) to MIC_1, MIC_2, etc from the original accelerometer names to keep things clear. We then added 6 new channels (22-27) for the accelerometers, named ACC_MC1_X, Y, Z, ACC_MC2_X, Y, Z, etc. (See the screenshot below). We also added a DAQ channel block and listed out the IN1 channel of all the sensors. We compiled and started the model, and checked that all the channels were there in DataViewer.
This past Friday I swapped out a burnt resistor on the spare STACIS unit I'm working with and powered it up. Here's the setup:
And here's what happened:
X an Y directions: When I switched from open to closed loop (making the internal geophones provide feedback), the STACIS started making a loud noise- it seemed like it was oscillating uncontrollably.
Z direction: The same thing happened in z until I added some weight to the top of the STACIS- then it quieted down, and seemed to work okay. The geophone signal dropped considerably compared to the open loop signal, which is expected if the feedback is working.
Then I tried driving the PZTs with a signal from the SR785 network analyzer. With an amplitude of tens of mV and frequencies from around .1 to 200 Hz, I could see the accelerometers I mounted on top of the STACIS definitely register motion, which means I was successfully driving the PZTs.
Below are transfer functions of the STACIS as I drove the PZTs from .1 to 100 Hz at 10 mV. The top graph is open loop, the second is closed loop. These were measured with the internal geophones.
In the bottom graph, "A" is closed loop and "B" is open loop, where the transfer functions were taken with the accelerometers instead of the geophones.
I'm still having issues with the STACIS oscillating uncontrollably with the slightest extra vibration, but with some more added weight both x and z direction are stable if you don't disturb the setup.
I took more transfer functions of the STACIS. In the last data I took Jenne pointed out that the geophone signals were not correlated well with the driving signal, so I increased the amplitude of the driving signal and am looking in x and y too instead of just z.
Details of the driving signal: 25 mV, swept sine from 0.1 to 100 Hz from the SR785.
NOTE: The data below was all transferred from the SR785 using netGPIB, which works fine, if anyone was interested in using it.
Open loop in the y direction, taken with the y geophone (magnitude on top, phase on bottom):
Open loop in the x direction, taken with the x geophone (with some extra weight to try to make the closed loop more stable):
Open loop in the x direction, taken with accelerometer instead of geophone:
The X and Y directions in the STACIS still both oscillate uncontrollably in closed loop, so I'll be doing my testing in Z for now. If I need to use the other axes I'll lower their gain with the pots and add weight to the STACIS platform to try to make it more stable.
Measurements I've taken for Z:
--Open loop gain, taken by driving the PZTs with a swept sine signal and measuring with both internal geophones and external accelerometers. These measurements look a lot like the plots supplied by the STACIS manufacturer, with a resonance at 15-16 Hz (X and Y also look good). Figure below was taken with geophones:
--Open loop gain, where the input is ambient seismic noise measured by one set of accelerometers on the floor and one set on top of the STACIS:
--Closed loop gain, where the input is ambient seismic noise, and feedback is supplied by the geophones (like normal STACIS operation). There's a definite drop in the transfer function, as expected:
--Open and closed loop transfer functions superimposed (the higher one is open):
I am currently working on using the less-noisy accelerometers to provide feedback instead of the geophones. I have found the right point before the extension board to input the accelerometer signal which is NOT the same as the Signal IN/OUT cables- those are at the end of the board, after amplifying and filtering. I want the accelerometer signal to go through the same circuitry as the geophone signal so that the noise of the sensors themselves can be compared.
Problem: Coherence isn't great between the accelerometer sets at low frequencies, which leads to a not very smooth transfer function. I might try using the shaker, because the larger motion may lead to better coherence between the accelerometers on top of the STACIS and at its base.
Here's a picture of where I am now inputting signals into the STACIS with the accelerometers (the orange and blue wires):
I know this is the right point because I could see the geophone signal from these points . By inputting a swept sine signal into this point, I was able to take a transfer function of this first amplifier/filtering circuit board, which will be useful if I need to make my own filter for the STACIS:
I have unplugged the geophones and am inputting a signal from an accelerometer into this point. The accelerometers output a different signal than the geophones, so I am trying to modify the accelerometer signal to be closer to the geophone one. I've lowered the gain on all the pots for the z axis and put in several BNC attenuators to lower the accelerometer signal amplitude.
At the moment, using the accelerometers as feedback makes the platform vibration worse, which will hopefully be solved by some more attenuation or filtering of the accelerometer signal.
I have been working on substituting the internal geophones in the STACIS with accelerometers, and this week specifically I have been trying to modify the accelerometer signal so the STACIS PZTs respond properly.
The major problem was that the high signal amplitude caused the STACIS to oscillate uncontrollably, so I lowered all of the pots (for the z direction) and placed several BNC attenuators before the accelerometer signal enters the first amplifier board. The accelerometers now successfully provide feedback without making the STACIS unstable, as shown by this transfer function (the higher and flatter line is open loop, the lower is closed loop with accelerometers providing feedback):
The next step is to optimize the accelerometer feedback so it provides good isolation from 0.1 to 3 Hz, a span that the geophones introduced a lot of noise into. The accelerometers definitely don't introduce as much noise in that region, but don't seem to be doing much isolation either. I will also make some more quantitative plots of the platform motion (using the calibration value for the Wilcoxon accelerometers in the velocity setting with a gain of 1).
Some random discoveries I made this week which are relevant for STACIS testing:
1) Placing weight on the STACIS platform improves stability, but NOT if several blocks are placed on top of each other (they rub against each other, causing lots of vibrations).
2) The accelerometer that is providing feedback must be VERY securely fastened to the STACIS platform; even with three clamps there was extra motion that caused instability. Luckily, there's a convenient steel flange Steve showed me which has a hole that perfectly accommodates the accelerometer and doubles as a weight for the platform. Here is said flange, clamped to the STACIS platform with the accelerometer sitting in the center:
3) Using the shaker next to the STACIS (all on one platform) improves coherence between the base and platform accelerometers above around 10 Hz, but does nothing lower than that, which unfortunately is the region I'm most concerned with.
Jenne and I centered the MCR camera on the AP table.
We moved the camera as far as it could go on its mount without shifting its screws, and adjusted the optic that the camera looks at for the rest of the way.
The spot was still off center on the quad display in the control room, so I re-recentered it today.
The past few days I've been working on making a noise budget for the STACIS that incorporates all the different noises that might be contributing.
The noises I am concentrating on are accelerometer noise, geophone noise, electrical noise, and ground noise. Noise from the PZT stacks themselves should be tiny according to various PZT spec sheets, but I haven't actually found a value for it (they all just say it's negligible), so I'll keep it in mind as a potential contributor.
Here's how I am determining accelerometer noise: I take two vertical accelerometers side by side, sitting on a granite block and covered in a foam box, and take the time series of both. Then I take the difference of the time series and calculate the PSD of that, which with the calibration factor of the accelerometers (the V/m/s sensitivity) I am able to find the noise in m/s/rtHz. The noise agreed with the accelerometer specs I found at low frequencies but was higher than expected at high frequencies, so I'm still investigating. If I can't find an obvious problem with my measurements I'll try the three-corner hat method (as per Jenne's recommendation), which would allow me to determine the noises of the independent accelereometers.
I tried a similar method for the geophone noise, but the value I came up with was actually higher than the accelerometer noise, which seems very fishy. I realized that the geophones were still connected to the STACIS circuitry when I took the measurements ,which was probably part of the problem. So this morning I disconnected the STACIS entirely and am looking at just the geophone signals which should give a more accurate noise estimate.
Once I have all the noises characterized, the next step is seeing how those noises affect the closed loop performance of the STACIS. I've been working on a block model that incorporates the different noises and transfer functions involved, and when I have the noises characterized I can test a prediction about how a certain noise affects the platform motion.
I have a tentative noise plot for the STACIS that includes accelerometer noise, geophone noise, and platform motion with the STACIS off. (Accelerometer noise was measured for the VEL and NONE setting, which are settings on the accelerometer box which make the accelerometer signal correspond to velocity and acceleration, respectively. ) I'm focusing on sensor noise because this is the variable I am looking at changing, and knowing how the sensor noise translates into STACIS platform motion is therefore important.
The accelerometer and geophone noise I determined as described in my last eLog (http://nodus.ligo.caltech.edu:8080/40m/7027) Along the way I found out several things of importance:
1) Horizontal geophones are ONLY horizontal geophones. This is obvious in retrospect, because the springs supporting the magnet inside must be oriented based on vertical/horizontal operation.
2) The geophones in the STACIS are GS-11D (geospace), with a sensitivity of 32 V/m/s (compared to about 3.9 V/m/s for the accelerometers in VEL setting).
3) The accelerometers have different V/m/s sensitivities. I noticed the voltage output of one was consistently higher than the other, leading to very high noise estimates, but then Jenne showed me the actual calibration factors of the individual accelerometers which differed by as much as 0.4 V/m/s (a few percent difference). Taking this into account made the noise plots much more reasonable, but variations in calibration could still create some error.
The accelerometer noise agrees fairly well with the specs on the Wilcoxon page (http://www.wilcoxon.com/prodpdf/731A-P31%2098079a1.pdf). The geophone noise seems surprisingly low; it is even better than the geophone below about 4 Hz.
To see how this noise translates into actual platform motion, I took PSDs of the STACIS while it was off, on with accelerometer feedback, and on with geophone feedback (the "off" PSD is in the above noise plot). Using this data I'm working on estimating a transfer function that shows how the sensor noise translates to motion so I can come up with a sensor noise budget.
This shows that the geophones are actually doing a better job of isolating than the accelerometers, which is not surprising if the noise plot is accurate and the geophones are actually lower noise. It must be noted, though, that the noise plot was for the horizontal geophones whereas the plot above is for the vertical axis which may have a different noise level. Also, the vertical have some extra isolation by being enclosed in a metal stack with rubber padding at its base.
The problem with the STACIS in the past was the differential motion it introduced. I think this might be because the horizontal isolation was not uniform for each chamber. This means that even what would be symmetric motion (no differential length change) would be translated to differential motion because one end is more fixed than the other. Having accelerometers or better-padded geophones (maybe like the vertical geophones) in the STACIS ought to help with this by making the horizontal isolation more consistent and thus reducing differential motion. So the key may not be the geophone noise as much as varying geophone sensitivities or variation in how well they're mounted in the STACIS. I can test this by swapping out the horizontal geophones with other spares, changing the tightness of the mount, and seeing if either of these changes the horizontal isolation significantly, since these are factors that may differ from unit to unit.
I will also compare horizontal closed loop response with geophone vs. accelerometer feedback to see if the geophones are only doing a good job in the above plot because of their extra padding (the vertical stack).
The geophone noise in my last eLog was taken before any amplification of the signal, but what really matters is the noise after amplification, since it is this signal that the PZTs are driven by. The noise goes on to be amplified about 1000x before the geophone signal gets to the PZTs.
To obtain a more relevant noise plot, I multiplied the geophone noise by 1,000, the approximate gain of the amplification stage for the geophones (called the "compensator board", the semicircular board that sits toward the top of the STACIS). Below is a plot () that shows the noise for the geophones after amplification and the accelerometer noise (with accelerometers set with a gain of 100x, their highest).
The actual signal from both these sensors has the right magnitude to drive the PZTs (whereas it was much too small in my last plot, where I looked at the sensors before any gain)- this means that for these sensors, both of which are outputting signals that are ready to provide feedback to the STACIS, the accelerometer noise is significantly lower than the geophone noise. This is good news, because it means that there could be a real advantage to using the accelerometers instead of the geophones.
In the process of investigating further advantages of the accelerometers, I believe I killed one of the horizontal PZTs in the spare STACIS (the eBay one). The story: I had that axis in closed loop, and I saw the STACIS shudder, heard a noise, and there was a faint acrid smell. I shut the STACIS off and took out the high voltage card at the base but couldn't find any visible signs of damage (like the current-limiting resistors which burn when a PZT shorts, acc. to old STACIS records). I then tried driving the PZTs with a sine wave, and there was no response in that axis (the other axes looked fine), which leads me to believe I either did unseen damage to the high voltage amplifier (for the y-axis) or killed the PZT itself.
Tonight I looked at the signal from a geophone and accelerometer side by side, in order to see if they show the same ground motion and if the sensitivity factor I am using to convert from V to m/s is right. This is plotted below, along with the current estimates for accelerometer and geophone noise:
From this it is pretty clear that at least one of the sensitivity factors (V/m/s) I am using is wrong (the noise levels are much lower than the ground motion, so they can't account for the difference). I suspect it is the geophone one, because Wilcoxon provided these sensitivities for each individual accelerometer, but I was just using the number I found in online specs for the geophones.
The reason the online value is wrong is probably because of the value of the shunt resistor, a resistor that just goes across the top of the geophone (its purpose is to provide damping, by Lenz's Law). The specs assume a value of 380 Ohm, but I measured the one in the STACIS to be about 1.85 kOhm.
Assuming the accelerometer signal is correct, I multiplied the geophone signal by different factors to try to get an idea of what the true calibration factor is, and found that a value of 0.25 (m/s)/V gives decent agreement at higher frequencies (below 10 Hz the sensitivity drops off, according to the online specs). This is shown below:
Above, the geophone noise was recalculated with the new sensitivity and assuming that both geophones in the noise measurement had the same sensitivity. I took the transfer function of two geophones side by side to see if their gains were dramatically different; this plot is shown below. The coherence is only good for a small band, but looking at that band the gain is approximately unity, implying very roughly that the sensitivity of each is approximately the same. The lack of coherence is strange, and I'm not sure what the cause is. Even using the shaker near the geophones only improved the coherence slightly.
First, a quick note on the PZT I thought I killed- it was most likely something in the high voltage amplifier that broke, since I put the amplifier in another STACIS with a working y-axis PZT and it still didn't work properly. Conclusion: something in the y-axis amplifier circuitry is broken, not the PZT itself.
Today I retook the open loop gains in the X and Z axes (Y axis out of commission for now, see above). With the loop open, I input a swept sine signal from 0.1 to 100 Hz, and measure the output of the geophones. This way all the transfer function that are present in the closed loop are present here as well: the transfer functions of the physical STACIS, the geophone pre-amplifier circuit, the high-voltage amplifier, and the PZT actuators.
Here is a block diagram showing what I am measuring, with the various transfer functions in blue boxes (the measurement is their product):
These open loop gains show there is gain of at least 10x from 2 to 80 Hz in the z-axis and 2 to 60 Hz in the x-axis. This is the region I was seeing isolation in when I switched to closed loop, which is consistent. These measurements were with all the pots in the geophone preamplifier set very low, so more gain (and thus isolation) is hypothetically possible if I find a way to stop the horizontal axes from becoming unstable at higher gains. There is unity gain at around 0.5 Hz and 100 Hz for the z-axis, but the phase is nowhere near 180 deg. at these points so there shouldn't be instability due to this. The peak at around 15 Hz is consistent with old records of the STACIS open loop gain.
This week I've looked into finding an accurate sensitivity for the geophones in the STACIS. I found that when placing a geophone and accelerometer side by side, and using the sensitivity values I had from spec sheets, the readings were very different (see eLog 7054: http://nodus.ligo.caltech.edu:8080/40m/7054).
I cut the shunt resistor off one of the STACIS geos and found it to be 4000 Ohm, which is one of the standard values for this geophone model. When it is connected to the geophone the net resistance is 2000 Ohm (I took a more careful measurement, I took the geophone out). Then the internal coil resistance should be 4000 Ohm, if they are connected in parallel. However, the geophone spec sheet does not have a sensitivity value for this exact scenario, so I'll have to find a different way to determine the calibration (maybe by putting it next to a seismometer with a known sensitivity). So I know for sure that the sensitivity value I was originally using is wrong, because it assumed an internal coil resistance of 380 Ohm, but I have to check if the value I found by forcing the geophones to agree with the accelerometers (eLog 7054 --> 0.25 (m/s)/V) is correct.
I've also been looking again at the open loop gains of the STACIS (see eLog 7058: http://nodus.ligo.caltech.edu:8080/40m/7058). Attached is what TMC, which makes the STACIS, says it should look like (with a 4000 lb load on the STACIS). Today I am taking the open loop gains into higher frequencies to get a better comparison, but the plots look quite similar to what I have so far. So if it is an unstable open loop gain, then it's at least not new.
Yesterday I plugged the geophone and accelerometer output into the ADC, rather than the SR785, so I could collect for longer and take more data at once.
As per Rana's suggestion, I am also now taking the geophone output after the first op-amp in the circuitry following the geophone (a low-noise op-amp, OPA227). It acts as a buffer so I'm not just measuring other local noise sources (which explains why the geophone noise curve sort of matched the SR785 noise curve in my old plots).
With these changes, I remeasured the accelerometer and geophone noises as well as collected an ASD of a geophone sitting on the STACIS in open loop operation. I also looked up the noise specs for the various op-amps in the geophone pre-amp and high voltage board; everything I found, I added in quadrature to come up with an approximate op-amp noise value for the STACIS. All of this is plotted below:
I left the y-axis in V/rtHz instead of converting it to m/s/rtHz so that the op-amp noise could be compared to the other noises. All sensor data was taken with the sensors horizontal (noise data taken in granite and foam).
The accelerometer and geophone noise still appear to be similar, and the op-amp noise, at least according to specs, is low compared to the other noises. This implies there's not much to gain from switching the geophones with accelerometers nor with swapping out the op-amps for lower-noise components (unless the ones I couldn't find specs for were high-noise, though it seems like mainly low-noise components were used).
As Rana pointed out (http://nodus.ligo.caltech.edu:8080/40m/7112), the geophone/accelerometer noise lines from my last eLog (http://nodus.ligo.caltech.edu:8080/40m/7109) were dominated by ADC noise. I checked this today by terminating the ADC channels with 50 Ohm terminators and measuring the noise. The ADC noise line is included on the plot below, and it is clearly dominating the sensor noise data.
I set the accelerometer gain to 100, and will hook up the geophones to the SR560 pre-amp today- this should put both signals above the ADC noise, and I can calculate the sensor noises without the ADC noise being significant.
I have also begun to make some progress in understanding the pre-amp circuitry, and I will post a schematic when I've sketched it all.
Another issue that seems increasingly relevant to me is the power supply to the high voltage amplifier. It appears to go into the high voltage board from the power supply, then into the geophone pre-amp, then back into the high voltage board (see block diagram below). I tested this by inputting a signal after the pre-amp, with the geophones disconnected- the signal only drives the PZT if the pre-amp is plugged in, so the power that returns from the pre-amp must be powering some chips on the high voltage amplifier.
Power flow through the STACIS :
This is somewhat inconvenient, because it means if I want to provide external feedback (with accelerometers, for example) or actuation (such as feedforward), which I want to input after the geophone pre-amp, the pre-amp still needs to be plugged in for the high voltage amplifier to work and drive the PZTs. I am cataloging all of the pins on the high voltage amplifier and pre-amp so I can figure out how to reroute the power and cut out the geophone pre-amp entirely if necessary. I'll include a pin diagram with the pre-amp circuit sketch.
I hope you're not all tired of the STACIs noise budgets, because I have another one! Here, the main difference is my modeling of the geophone sensitivity according to a predicted physical model for the system (just a damped oscillator) instead of trying to fit it to the accelerometer motion signal with more arbitrary functions.
The result of this calibration is shown below (accel and geo signals taken for 5 minutes at the same time, in granite and foam):
The m/s/V sensitivity function I am using is g*[(w^2-2idww(0)-w(0)^2)/w^2], where g (the high freq. m/s/V sensitivity) was 2.5*10^-5 and d (damping) was set to 2.
Now, the recalculated noise plot looks like this:
The accel. specs I took from the Wilcoxon spec sheet, and the geo specs I found in https://dcc.ligo.org/public/0028/T950046/000/T950046-00.pdf, a LIGO document about the STACIS. The geo noise was measured for the STACIS geo and their pre-amp, while I was using the SR560 as the pre-amp. If anything, my noise should be lower, since the SR560 noise spec is lower than what I estimated for the STACIS geophone pre-amp, so I'm not sure about that order of magnitude difference between the experimental and expected geo noise. A sign that my noise values are at least reasonable is that the geophone noise flattens out above the geophone's resonant frequency (4.5 Hz), as Jan pointed out it should.
The sensor noise (either accel. or geo.) is the dominating signal below 1 Hz in the STACIS platform measurement, which then limits the closed loop performance at those frequencies. Since the noises I am finding are looking reasonable, I think it's fair to definitively state that accelerometers will not significantly help at low frequencies (there may be at most a factor of 2 lower noise below 1 Hz for the accel., but I need more data to say for sure).
The plan right now is to concentrate on using the STACIS as actuators, perhaps with seismometers on the ground and a feedforward signal sent into the high voltage amplifier.
I took the transfer function of the high voltage board itself (no pre-amp included) by driving the PZTs with a swept sine and measuring the accelerometer response (which I am now fairly confident is calibrated correctly). The input point was the signal IN on the extender board, but with the geophones disconnected from the pre-amp.
I took the coherence at just a few single frequencies (you can't do coherence measurements in swept sine mode on the SR785) to make sure I was really driving the PZTs, and it was near 1 (998, 999.9, etc) at the frequencies at which I drove. Without the extra notches at 1 Hz (which may be real, it's coherent there too), it looks like a 2-pole high pass filter (goes from -180 to 180 deg, approx. an f^2 dependence). This transfer function should be taken into account by the feedforward algorithm.
The current plan is to make a box with a switch that allows geophone feedback and/or external signals into the high voltage amplifier. It would act sort of like the extender card, except more compact so it could fit into the STACIS. It also would have the advantage of not having to reroute the power, since those lines from the pre-amp could all still be connected (see eLog 7118: http://nodus.ligo.caltech.edu:8080/40m/7118).
In eLog 7148 (http://nodus.ligo.caltech.edu:8080/40m/7148), Koji pointed out that the op-amp and SR560 noise values (which I took from specs and then multiplied by the geophone calibration factor to get m/s/rtHz) were waaay too low. My error was an extra multiplication factor in the plotting script.
The other change was recalculating the ADC noise by splitting a signal into two ADC channels and subtracting the time series (then taking the PSD and converting to m/s/rtHz). It compares well to the value I got by terminating the ADC channels, which was the ADC noise line in my last eLog.
Both these changes are included in the below plot:
Den and I measured the differential motion of the x and y arms using Guralp 1 at the end of the y arm, Guralp 2 at the beamsplitter, and the Streckeisen at the end of the x arm.
I calibrated the Streckeisen to the Guralp by calculating the relative gain of the seismometer signals at the microseism. The Guralp 1-y amplitude was 1.0237 times Guralp 2-y and Guralp 2-x was 38.54 times STS-x. The Guralp calibration (to go from counts to meters) I used was 0.61/1000/800/80/(2*pi*f) m/count.
The differential motion should keep decreasing at low frequencies because the ground will move together at such large wavelengths. It goes up because the seismometer noise begins to dominate at low frequencies (below about 0.5 Hz). Another possible error source could be that the seismometers are not perfectly aligned along the arm.
This week I've been focusing mainly on two things: 1) Designing a port for the STACIS that will allow external actuation and/or local feedback and 2) Investigating the seismic differential motion along the interferometer arms.
The circuit for the port is just a signal summing junction (in case we want to do feedforward and feedback at the same time) with BNC inputs for the external signal and switches that allow you to turn the external signal or feedback signal on/off. I'll test this on a breadboard and post the schematic if it works. I looked at the noise of the geophone pre-amp and DAC, which would be the feedback and external signal sources, respectively. According to Rolf Bork, the DAC noise is 700 nV/rtHz, and I measured the pre-amp board's minimum noise level at 20*10^-6 V/rtHz (which seems quite high). Both these noises are higher than the op-amp noise for my circuit (I'm considering the op-amp LT1012), which according to the specs is 30 nV/rtHz. This confirms that my circuit will not be the limiting noise source.
Along with Den, I calibrated the seismometers in the lab and measured the displacement differential arm motion (see eLog 7186: http://nodus.ligo.caltech.edu:8080/40m/7186). I'm trying to find a transfer function for the seismic stacks (and pendulum, but that's simpler) so I can calculate the differential motion in the chamber. After doing this offline, I'll make new channels in the PEM to look at the ground and chamber differential motion along the arms online.
I also am looking at the noise of the geophones with their shunt resistor (4k resistor across the coil) removed, to see if it improves the noise at low frequencies. My motivation for this was that the geophone specs show a better V/m/s sensitivity at low frequencies when the shunt resistor is removed, so the actual signal may become larger than the internal noise at these frequencies.
I estimated the transfer function of the seismic stacks using a rough model I made based on the LIGO document LIGO T000058 -00. I used a Q of 3.3 for the viton springs, and resonant frequencies of 2.3, 7.5, 15, and 22 Hz (measured in that document for the horizontal motion). I multiplied the simple mass-spring transfer function four times for each layer of metal/spring, with the respective resonant frequency for each. The pendulum suspending the test masses has a resonant frequency of 0.74 and a Q of 3, according to the same document.
When I multiply the net transfer function (pendulum included, the green line above) by the differential motion of the x arm that I measured in eLog 7186, I find the differential motion of the test mass (NOTE: I converted the differential motion to displacement by multiplying by (1/2*pi*f)).
It agrees within an order of magnitude to the seismic wall from the displacement noise spectrum hanging above the control room computers.
Finally, I looked at how the geophone and accelerometer noise spectra looked compared to the ground differential motion (any STACIS sensor signal will also be multiplied by the stack/pendulum transfer function, so I'm comparing to the differential motion before it goes through the chamber). Below about 1 Hz, it is clear from the plot below that the STACIS could never be of any benefit, even with accelerometers rather than geophones as the feedback sensors.
I made the plots a little nicer and added new sensor noises (from Brian Lantz's scripts and measurements). Click to enlarge.
The last plot shows that these other sensors' noises are lower than the differential ground motion below 1 Hz. Though 3 seismometers per STACIS is impractical, this shows that such seismometers could be used as feedforward sensors and provide isolation against differential ground motion. At these noise levels, the noise of the high voltage amplifier circuit in the STACIS would probably be the limiting factor.
Below is the bottom view of the geophone preamplifier and controller for the STACIS. It slides into the upper part of the STACIS, under the blue platform. The geophone signal goes in the bottom left, gets amplified, filtered, and otherwise pampered, and goes out from the bottom right. From there it goes on to the high voltage amplifier, and finally to the PZT stacks. Below right is a closer view of the output port for the preamplifier, top and bottom.
I suggest de-soldering and bending up the pins that carry the geophone signal (so the signals don't go directly to the high voltage amplifier), and adding the circuit below between the preamp and amplifier. The preamp connector is still attached to the high voltage amplifier connector in this setup, only the geophone signal pins are disconnected.
More on the circuit and its placement:
The first op-amp is a summing junction, and the second is just a unity gain inverter so that signal doesn't go into the high voltage amplifier inverted. I tested this with the breadboard, and it seems to work fine (amplitudes of two signals add, no obvious distortion). The switches allow you to choose local feedback, external feedforward, or both.
The geo input will be wires from the preamp (soldered to where the pins used to go), and the external input will be BNC cables, with the source probably a DAC. The output will go to the bent up pins that used to be connected to the preamp (they go into the high voltage amplifier). This circuit can sit outside of the STACIS- there is a place to feed wires in and out right near where the preamplifier sits. For power, it can use the STACIS preamp supply, which is +/- 15V. The resistors I used in the breadboard test were 10 kOhm, and the op-amp I used was LT1012 (whose noise should be less than either input, see eLog 7190).
This is visually represented below, with the preamp pin diagram corresponding to the soldering points with the preamp upside down (top right picture):
I made the signal box as described in eLog 7210. It adds the geophone signal and an external signal.
It has six switches, for x, y, and z signals from both an external and local (geophone) source. The x signals add if both x switches are flipped down (and the same for the other directions). For example, if you want to feed in only an external signal in the x direction, flip down the external x direction switch (it's labeled on the box), leaving all others flipped up.
The x, y, and z outputs are wired to the pins from the preamplifier that go to the high voltage board. These I disconnected from the preamplifier by cutting at their base (there are spare connectors if this wants to be undone, or, a wire can just be soldered from the pin to its old spot on the board). The power (plus/minus) and ground are wired to the respective pins from the geophone preamplifier (naturally, the STACIS must be turned on for the box to work since the box shares its power source). Below, the front (switches and geophone/external inputs) and back (power, ground, outputs) of the box are shown:
The preamplifier can plug into its regular connectors- the x,y,and z signals will all be redirected to the signal box with these modifications. The box sits outside the STACIS, there is room to feed the wires out from underneath the STACIS platform.
NOTE: The geophone z switch is a little different than the others, just make sure it's flipped all the way down if you want that signal to be seen in the z output.
The MC1 accelerometer cube (3 accelerometers arranged in x,y,z) is under the PSL table, as I found it at the beginning of the summer.
The MC2 accelerometer cube is on the table where I worked on the STACIS, right when you walk into the lab from the main entrance. Their cables are dangling near the end of the mode cleaner, so the accelerometers are ready to be placed there if wanted.
All accelerometers are also plugged into their ADC channels.
The beginning of my first week was spent at various orientations and safety meetings, some for general SURF and some more specific to LIGO and the lab. In between these I started work.
Jenne and I took out the spare STACIS and took it apart, taking out the circuit boards. I've spent some time looking through the boards and sketching various parts of the board in trying to understand the exact function without any useful technical diagrams (STACIS supplied us only with a picture of the board without components, not all that helpful). I think I now at least understand the basic block diagram of the circuitry: the STACIS geophone signal goes through a preamplifier and filters (the semi-circular board), and converts it into a signal for the PZT stacks. This signal then goes through a high voltage amplifer, and then goes to the five PZTs (3 in the z, one each in the x and y direction). The unit I am looking at has an extension board, which allows us to tap into the signal going into the preamp and the one leaving it. This should allow us to input our own signal instead of the geophone signal, and thereby drive the PZTs ourselves.
My next step, once I get a resistor to replace a burnt one on the high voltage amplifier, is to take a transfer function of the STACIS and see if it is possible to drive the PZT stacks with the cables from the extension board. If that does not work, I'll have to keep tracing the circuit to determine where to input our own signal.
The precision of the measurement is excellent. We should move on to look for systematic errors.
According to Johannes and Gautam (see T1700117_ReflectionLoss .pdf in Attachment 1), the loss in the cavity mirror is obtained by measuring the light reflected from the cavity when it is locked and when it is misaligned. From these two measurements and by using the known transmissions of the cavity mirrors, the roundtrip loss is extracted.
I write a Python notebook (AnalyzeLossData.ipynb in Attachment 1) extracting the raw data from the measurement file (data20190216.hdf5 in Attachment 1) analyzing the statistics of the measurement and its PSD.
Attachment 2 shows the raw data.
Attachment 3 shows the histogram of the measurement. It can be seen that the distribution is very close to being Gaussian.
The loss in the cavity pre roundtrip is measured to be 73.7+/-0.2 parts per million. The error is only due to the deviation in the PD measurement. Considering the uncertainty of the transmissions of the cavity mirrors should give a much bigger error.
Attachment 4 shows noise PSD of the PD readings. It can be seen that the noise spectrum is quite constant and there would be no big improvement by chopping the signal.
The situation might be different when the measurement is taken from the cavity lock PD where the signal is much weaker.
I reproduced Gautam's sketch of the 1x1 and 1x2 Eurocrates into a pdf image that contains links to the appropriate DCCs in the legend (see attachement).
Thanks. Please update this wiki page too.
I created a spreadsheet (Attached) by taking Koji's c1psl sheet from slow_channel_list and filtering out the channels that do not need an Acromag. I added in the QPD channels that are relevant to the PSL from the c1iool0 sheet.
I began mapping the PSL related Eurocrates connectors to their respective VME channels starting with the PMC electronics.
I am confused about the TTFSS interface (D040423): While it is a Eurocrate card, in the schematics it seems to have 50 pin connectors.
I found old wiring schematics that might help with identifying the channels once the connector issue is clarified.
In search of the source of discrepancy between the QPD readings in the X and Y arms, we look into the schematics of the QPD amplifier - DCC #D990272.
We find that there are 4 gain switches with the following gain characteristics (The 40m QPD whitening board has an additional gain of 4.5):
Switch 4 bypasses the amps controlled by switch 2 and 3 when it is set to 1 so they don't matter in this state.
Note that according to elog-13965 the switches are controlled through the QPD whitening board by a XT1111a Acromag whose normal state is 1.
Also, according to the QPD amplifier schematics, the resistor on the transimpedance, controlled by switch 1, is 25kOhm. However, according to the EPICS it is actually 5kOhm. We verify this by shining the QPD with uniform light from a flashlight and switching switch1 on and off while measuring the voltages of the different segments. The schematics should be updated on the DCC.
Surprisingly, QPDX switches where 0,0,0,0 while QPDY switches where 1,0,0,1. This explains the difference in their responses.
We check by shining a laser pointer with a known power on the different segments of QPDX that we get the expected number of counts on the ADC and that the response of the different segments is equal.
MC2 analog camera was rotated by 90 degrees. Orientation correctness was verified by exciting the MC2 Yaw degree of freedom.
Attached before and after photos of the camera setup.
Yesterday we tried to shake ITMX with a function generator in order to observe the 28.8kHz drum mode.
We laid a long BNC cable that runs from the YARM to the XARM. This cable either needs to be collected back to the BNC big plastic cable box under the IMC or be labeled so that it could be found easily in the future.
First, we tried to shake it at a lower frequency (100's of Hz) where the shaking should be easily observed in the POSX channel. We try driving the POS channel on the ITMX servo but nothing happens. Most likely it is disconnected.
While setting up for shaking the individual OSEM channels 4 CDSs crashed (c1lsc, c1ass, c1oaf, c1cal).
After the CDSs crashed we run the rebootC1LSC.sh script.
The script is a bit annoying in that it requires entering the CDSs' passwords multiple times over the time it runs which is long.
The resulting CDS screen is a bit different than what was reported before (attached). Also, not all watchdogs were restored.
We restore the remaining watchdogs and do XARM locking. Everything seems to be fine.
I check the seismometers in the last 14 hours (Attached). Seems like the coherenece is restored in the x direction.
In order to setup a ringdown measurement with perfect extinction we need to align the first order beam from the AOM to the PMC instead of the zeroth order.
We connected a signal generator to the AOM driver and applied some offset voltage. We spot the first order mode and align it to the PMC. The achieved transmitted power is roughly as it was before this procedure.
Along the way few changes has been made in the PSL table:
1. Some dangling BNCs were removed.
2. Laser on the south east side of the PSL table was turned off.
3. DC power supplies were removed (Attachment 1 & 2). The rubber legs on the first one are sticky and leave black residue.
4. The beam block that orginally blocked the AOM high order modes was raised to block the zeroth order mode (Attachment 3).
5. The unterminated BNC T junction (Attachment 4 - before picture). from the PMC mixer to the PMC servo was removed.
However, we are currently unable to lock the PMC on high gain. When the gain is too high the PZT voltage goes straight to max and the lock is lost.