Jenne and I did adaptive filtering of MC_L and measured how X and Y ARM control signals change compared to non-filtered MC_L. We did the test during 1.5 Hz seismic noise activity and adaptive filter was able to subtract it. However, it adds noise at high frequencies, It is not seen in MC_L but it is present in the ARMs control signals.
I'll investigate this problem. May be we need to reduce adaptation gain. In this experiment it was 0.1 and adaptive filter convergence time was equal to 1-2 mins.
It seems as though there is something funny going on around ~1.5 Hz, starting a little over an hour ago.
We see it in the BLRMS channels, the raw seismometer time series, as well as in various suspensions and LSC control signals. It's also pretty easy to see on the camera views of all the spots (MC, arms, transmissions....AS is a little harder to tell since it's flashing, but it's there too).
The plots I'm attaching are only for ~10min after the jump happened, but there has been no change in the BLRMS since it started. Usually, we'd see an earthquake in all the channels, and even big ones ring down after a little while. This is concentrated at a pretty narrow frequency (some of Den's plots for later have this peak), and it's not ringing down, so it's not clear what is going on.
Here is a whole pile of plots. Recall that the T-240 is plugged into the "STS_3" channels, and we don't have BLRMS for it, so you can look at the time series, but not any frequency specific stuff.
Last week, Rana changed the integrators in the arm LSC servo filters to be double integrators with complex poles.
Yesterday, I found that using the "timeout" feature of Foton (at filter ON/OFF request, waits for zero crossing, or T seconds, whichever comes first) is useful for turning on the integrators, but bad for turning them off. When we're locked, the error signal is oscillating around zero, so there is often a zero crossing. When we lose lock, we want to turn off the filter immediately. But, as soon as lock is lost, the input signal gets large, and doesn't often cross zero, so the filter waits 8 seconds until actually turning off. If the arm flashes any time during that 8 sec, we send a big kick to the optics.
An alternative option could be ramping the filter on. However, since the double integrator has -180deg phase at low frequencies (until the poles at ~5Hz), the transition between no filter (0deg phase) and integrator on could be problematic. I simulated this, and find that for the very beginning of the ramping process, we would have a problem.
The filter is defined as: NoFilter * (1 - R) + Integrator * (R), so for R=0, the integrator is off, and for R=1, the integrator is fully on. R can be any value [0,1].
The first figure is the time series (1 second, 16kHz), ramp goes from 0->1 or 1->0 in 1 second:
The second figure is bode plots for selected values of R:
As R gets smaller and smaller, the notch goes to lower frequency, and becomes higher Q. So perhaps ramping is not a good answer here.
What if we go for single or triple integrator, to get rid of the (+1) + (-1) problem?
We are discussing venting first thing next week, with the goal of
diagnosing what's going on in the PRC.
Reminder of the overall vent plan:
Since we won't be prepared for tip-tilt installation (item 2), we should
focus most of the effort on diagnosing what's going on in the PRC. Of
the other planned activities:
(1) dichroic mirror replacement for PR3 and SR3
Given that we'll be working on the PRC, we might consider going ahead
with this replacement, especially if the folding mirror becomes
suspect for whatever reason. In any case we should have the new
mirrors ready to install, which means we should get the phase map
(3) black glass beam dumps:
Install as time and manpower permits. We need to make sure all needed
components are baked and ready to install.
(4) OSEM mount screws:
Delay until next vent.
(5) new periscope plate:
Delay until next vent.
(6) cavity scattering measurement setup
Delay until next vent.
Reinforced concrete grout plate for existing carbon steel stands at the ends.
While meditating on other things, I have noticed / found the following today:
YARM ASS works okay. Yesterday I measured the sensing matrix for the ASS for both arms (although I forgot to copy one of the matrix elements to my text file for Xarm - needs remeasuring). I put the Yarm matrix in (after appropriate inversion, only non-zero pitch-to-pitch, yaw-to-yaw elements). I turned on the Yarm ASS, and the yaw converged pretty quickly (couple of minutes), with gains of -1 in the servos, overall gain of anywhere between 0.005 and 0.010. The pitch took much longer, and I had to 'pause' several times by turning off the overall gain for the yarm ass when the MC lost lock (which has happened several times tonight - unknown cause). Eventually, the pitch settled out, and quit changing, but the lockin outputs weren't zero, even though the error signal for the servos were almost zero (gains for the pitch servos were -0.5, overall gain ~0.005 was better than 0.01 - higher gain caused oscillations in the lockin outputs). I think this means that I need to remeasure the yarm pitch ass matrix. It's still much, much faster to just turn on the dithers, watch the striptool of the lockin outputs, and align the cavity by hand.
I think the ETMX Trans camera view is clipped a little bit. I went down there, and it doesn't seem to be on the last optic before the camera, and moving the spot on the camera doesn't change the shape of the image, so I don't think it's on the camera. We should look into this, since it's either clipping on the BS that separates some camera beam from the TRX beam, or TRX is getting a clipped beam too. If the clipping is any earlier in the Trans path, the Trans QPD could also have some clipping. This requires investigation. The xarm trigger needs to be reset/disabled so we don't lose lock every time we block the TRX beam (as was happening to me).
XARM really doesn't like to relock unless the POX whitening is turned off. Good flashes, doesn't really catch (10+ min waiting (while working on Yarm stuff) ). After turning off the whitening, it catches almost immediately. Even though it's on the to-do list to rethink the tuning of our whitening, we should probably implement the whitening triggering now anyway. It'll make things easier.
The double integrator that Rana implemented in the X and Y arm servo filters last week take 8 seconds to turn off (due to Foton settings), so even though they are triggered to turn off immediately upon lockloss, they sit around and integrate for 8 seconds, so have huge signals. If the cavity flashes and the locking trigger engages during that 8 seconds, we send a huge kick to the ETMs. I'm modeling the response of the filters to an impulse and noise, particularly in the case of ramping on the double integrators. The problem is that a flat filter has 0deg phase, but the double integrator has 180deg phase at low frequencies, so there's some weird sign flipping that can happen as we ramp - this is part of what I'm modeling.
MC is losing lock unusually often tonight. Everything on the servo board screen looks normal (which is good since that's all set by the autolocker). I just disabled the test exc in, but that's been left enabled for a while now, and it hasn't (I think?) been a problem since there shouldn't be anything connected to the board there. PMC transmission is a little low, 0.816, and FSS is starting to get near -1 on the slow actuator adjust, but we've seen locking of the PMC problems around -1.5 or -2 of the FSS, and the adjust value was at -0.8 earlier tonight and we still had MC locking problems. I have had the seismic channels open on Dataviewer for the last several hours, and I'm not seeing any spikes in any of the Guralp channels which correspond to the times that the MC loses lock. BLRMS don't seem particularly high, so MC lockloss cause is still a mystery for today.
The ETMX monitor selector on the VIDEO screen seems not to be switching the actual camera that's shown on the monitor. Using the script command itself works, so my screen is wrong.
POY was looking funny, and the YARM wasn't locking. It looked like POY wasn't seeing any light at all. I went to check, and it looks like a beam dump got accidentally placed in the POY path during oplev adjustments this morning. POY is back, locking continues.
Optical layout of the current endtable at ETMX has been updated in the svn repository (directory: 40M_Optical Layout). This layout will help in redesigning the table for the proposed replacement.
Some part numbers of mounts/optics are missing and will be updated once I find them. If you find anything wrong with the layout, do let me know.
Temperature sensor for vacuum. How many : 2 or 3 ? $350 each
Glass encapsulated thermistor #55007 with Ceramabond 835-m glued onto spade connector and hooked up to controller DP25-TH-A with analoge output.
This zero to 10Vdc can go to ADC
I installed pyepics version 3 (http://cars9.uchicago.edu/software/python/pyepics3/overview.html) in ..../scripts/pylibs . I also added an "epics.conf" file to /etc/ld.so.conf.d/ , which points to the place in /ligo/apps/epics/base/lib/linux-x86_64/ where the DLLs live. All .conf files in /etc/ld.so.conf.d/ get included in the path, so python should always automatically be able to use epics now, after you "import epics" in a script.
This is supposed to give us direct channel access to all epics channels, rather than using Yuta's wrapper scripts for ezca stuff. I was going to write a tdsavg equivalent using camonitor, since it's unclear whether tds tools are being supported anymore.
However, I'm not getting it to connect to the server that serves epics, so I can't get the values of any channels. All of the info in the link above assumes that you automatically get a connection, and I'm out of ideas right now of things to try. Does anyone else have any ideas?
Oplevs centered in flashing condition, except PRM and SRM. IP POS centered also,
I like this new summing screen of Jenne.
The green beam for the Xarm is flashing a pretty nice 00 mode, but isn't catching lock.
The green beam for the Yarm isn't flashing at all that I can tell from just the camera views. I don't have energy to start this sometimes monumental task tonight, so I leave it for Future Jenne to work on.
I (for the first time personally) locked the FPMI. I have data for the POX11I, POY11I, AS55Q error signals for each arm and the Michelson (JenneLockingDTT/FPMI_error_signals.xml), but I haven't calibrated the data yet - Self: do this! FPMI with arms locked using IR has been happily locked for a long time now - this is good.
From elogs / my old MICH calibration script, I have the plant calibrations of:
POY: 1.4e12 cts/m
POX: 3.8e12 cts/m
AS55: 9.4e9 cts/m
MICH has FM 5 on, Xarm has FM4-10 all on, Yarm has FM3-10 all on.
Post note: FM 3 - the integrator - for Xarm wasn't triggered. It turns on just fine, so I've got it triggered just like Yarm.
Also, just remembered - I turned off the XARM TRX power normalization, since it was causing crazy numbers in the xarm servo. The XARM locked pretty easily after that.
MC and PMC vis:
MC REFL Unlocked = 4.4
MC REFL Locked = 0.67
1 - Locked/Unlocked = 85%
PMC REFL Unlocked = 0.270
PMC REFL Locked = 0.013
1 - Locked/Unlocked = 95%
I checked (by looking through recent trends) that the zero level is zero on both channels. I tried to do a proper mode scan, but we have lost the PSL fast channels during the upgrade sadly. Also, the DC signal for the PMC REFL needs some gain. Unlocked level should be more like 3-5 V.
Also used the instructions from this page to add Google's sources to rosalba's apt-get list and then installed Chrome.
I've noticed that we're experiencing this bug which was previously seen at LHO. We cannot enter 10 digit GPS times into the time fields for DTT due to a limit in TLGEntry.cc, which Jim Batch fixed in September of last year. Seems like we're running an old version of the GDS tools.
I checked the Lidax tool (which you can get from the GDS Mainmenu). It does, in fact, allow 10 digit entries.
Rana points out that we haven't had fast channels for PMC (trans, refl, pzt), input laser things, more FSS things since the upgrade. Bad.
The videocapture.py script is now in ...../scripts/general/ , along with the videoswitch.
Also, there's a button gui on the VIDEO medm screen to capture different camera views.
ETMX has some periodic oscillation. It's damping was found tripped this morning.
We tracked this down to the power normalization stuff that Yoichi added over the weekend.
With a non-zero normalization factor, and a small TRX transmission, the input the XARM controller gets really big. When XARM is then triggered, a huge impulse is sent into the SUS_ETMX_LSC input, which causes the Vio2 filter in FM0 to ring like crazy. This probably also explains why Yoichi was seeing trouble locking the arm when the normalization is on
The solution, as Yoichi also mentions, is probably to trigger the normalization like we trigger the rest of the boost filters.
Static filter was adjusted to filter 1 Hz resonance in MCL and it could do it. Stack is not great in this experiment due to the phase mismatch. I'll fix it.
The problem with the glow on the ETMY face is due to the red light being scattered off of the optical table from the HeNe laser for the OL. Why is the red light hitting the table?
One way to fix the problem for the camera image is to insert a long pass filter (if Steve can find one).
Edmund Optics: NT62-874
Edmund Optics: NT65-731
Edmund Optics: NT32-759
Atm1, condition: all oplev lasers are off or blocked, green shutters are closed at the ends, PSL out put shutter is closed, all outside LED illuminating are off, all room lights are off
Only the OSEMs are on. ETMY and ITMX are still look like illuminated.
Atm2, condition: open PSL shutter. ETMY at 11 o'clock and ETMX 1 o'clock bright scattered spot of 1064 nm are visible
Atm3, condition: closed PSL shutter and restored all oplev He/Ne lasers, it is visible at ETMY
Next: I will disconnect power to OSEMs at ETMY
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.
Data from PEM now goes directly to OAF without using RFM. Transmission RFM -> OAF errors are gone as RFM has to read 30 channels less now.
Again kernel "protection error" occured as before with PEM model so OAF model could not start. I changed optimization flag to -02, this fixed the problem.
There was a 5.6 Earthquake that occurred near Tofino, Canada about 30 minutes ago. It showed up rather strongly on the BLRMS.
The neural network classification system also picked up on it, but oscillated from Earthquake (1.0) to Quiet (0.5) perhaps due to the filters we currently have installed. Here is a shot of the GUR1X classification channel at the time of the EQ:
Since the classification finally works (or seems to work..), I wrote triangulation scripts in Python which triangulate the signals, and a plotting script in Matlab which generates a heat map of seismic noise source locations. I switched the ADC Streckeisen and Trillium connections in order to better triangulate with the current channels, and will return them either tomorrow, or when I come back from Livingston so that we can have weekday data as well.
C1LSP has been added to the site map. I'll work on filling in the structure some more today and tomorrow (as well as putting up PDH and REFL/AS MEDM screens).
NOTE: Does anyone know how to access channels (or if they're even there) for straight Simulink inputs and outputs (i.e. I have some sort of input, do something to it in the simulink model, then get some output)? I've been trying to add ADC MEDM screens to c1lsp, but channels along the lines of C1LSP-ADC0_0_Analog_Input or C1LSP-ADC0_A0 don't seem to exist.
NVM. Figured out that I can just look in dataviewer for the channels. It looks like there aren't any channels for ADC0...I'll try reinstalling the model and restarting the framebuilder.
I've put EM 172 microphones inside Steve's isolation box to measure their noise. I've attached mics to each other and aligned them using the tape.
At low frequencies (below 1 Hz) the noise is limited by ADC as there is a 10 Hz high-pass filter inside mic readout box.
ADC noise is measured by splitting the signal from 1 mic into 2 ADC channels.
Tonight, I worked on the X-arm locking again. I did not have any significant progress, but observed several issues and will give some suggestions for future work here.
What I did tonight was basically re-alignment of the X-arm (because Rana touched the PZT mirrors for the Y-arm alignment, the X-arm alignment was screwed up). Then I measured the open loop gain. Of course it was almost identical to the one posted in this entry. It reminded myself of how small the phase bubble is. This means we have to finely adjust the gain to set the UGF at the right frequency, i.e. 100Hz. So I decided to do the signal normalization using the TRX power. Using the MC path method described here, the appropriate normalization coefficient was determined to be 1.6, when the XARM gain is set to 0.05. Using burtgooey, I updated the burt snapshot used by the X-arm restore script.
Now I observed the following things:
When the normalization is used, the lock itself is stable, but the lock acquisition takes loner (i.e. fails more often).
I don't know the exact reason, but here is my guess: Usually, the error signal is divided by the square root of the transmitted power to widen the linear range of the PDH error signal. However, what I'm doing here is dividing the error signal with the power itself, not the sqrt. This might distort the error signal in a not-friendly-for-lock way ? I don't know.
I checked the c1lsc FE code. There seems to be the sqrt(TRX) and sqrt(TRY) signals computed in the code. However, these are not used for the normalization.
Now, there are two requirements. When dragging the mirrors into the resonance, we want to normalize the error signal with sqrt(TRX). When the mirrors reach the resonance, the gain of the loop must be normalized by TRX. How do we smoothly connect those two states ? Someone should spend some time on this. Maybe I will work on this in Japan.
We really need a time delay in the filter trigger
The automatic filter trigger is awesome. However, the [0^2:5^2] filter, which is an integrator, takes time to switch on and off. Every time the cavity passes by a resonance, this filter gets turned on and off slowly, giving some large transients. This transient combined with the bad coil balance of ETMX sometimes made the optical lever of ETMX crazy. This can be avoided by turning on this filter a few seconds after the power reaches the threshold. As Rana suggested, we should be able to put an arbitrary time delay to the filter trigger.
Someone should balance the coils
The coil balance of ETMX is bad and causing the above mentioned problem. I tweaked the coil balance by injecting a sinusoidal signal (10Hz) into ETMX pos and trying to minimizing the spectral peak in the optical lever signals. Of course, this is a cheesy work. Someone should put more serious effort on this.
A civilized interferometer should have an auto-alignment capability
After my alignment work, the X-arm power got to about 0.7. (This is probably because the MC transmission power has been low for the past 5 hours or so (attachment 1)).
In anyway, after the cavity locked to the TEM00 mode, the alignment has to be automatically improved by dithering. It is anachronism to sit down and click on the MEDM screen until the power gets big enough.
I added a widget to the C1PEM_OVERVIEW MEDM screen. The screen shows the nine seismometer channels (GUR1, GUR2, and STS1 X, Y, and Z), the current signal class in dark red, and the overall confidence in the classification, as Rana suggested. The confidence indication thresholds range from 0.1 to 0.9, in intervals of 0.1. Basically, if a signal class is completely dark red, and the other two classes show only white, or, better yet, nothing at all, this means that we have a clear classification. If, however, the other regions have some yellow, or even red indicators, this means that we are not very confident in our signal classification.
This is a screenshot of the widget. The nine seismometer channels are classifying the signal as quiet, which is good both because it's the middle of the night, and because the nine seismometer signals somehow agree (I'd use the word correspond with one another, but that implies a strong level of coherence..). The confidence is high, seeing as there's little indication in the truck and earthquake regions (none whatsoever in the truck, meaning that the signal, given our classification method, could not possibly be a truck, and some in the earthquake region (below 0.1 of the quiet signal classification strength, however), possibly due to low seismic disturbance).
ACAD files of the 40m optical layout have been updated as per the vent in Aug 2011.
Files are available at the 40m svn docs-->Upgrade12-->Opt_Layout2011.
To ease the pain of hunting files, optical layout ACAD files have been moved to a new directory 40M_Optical Layout in the repository. Relevant files from directories Upgrade12 and upgrade 08 will be moved to "40M_Optical Layout" very soon and eventually these old directories will be removed.
Changes mentioned by Koji and Steve have been updated to the files (except for the cable connector which have been added but whose part number has to be found to match accurately with the current layout). The file in the directory should now match the current setup after the last vent Aug 2011.
Let me know if you find any mismatch between the current setup and the layout.
Plans about new installations/reconfiguration during the new vent will be carried out in a separate file.
As promised in previous e-log, this log is all about the current online seismic noise classification system.
While we had the BLRMS system already in place (which I helped make), Den realized that we would need better filters for the BLRMS channels, as we wanted a strong cut-off, but we also wanted a short step-response so that we could quickly classify seismic signals. Likewise, having a step response which oscillates is also undesirable as this could lead to false classifications of post-truck signal as trucks as a filter adjusts and then dips back down. Thus, after experimenting with many different filters, Den chose to use a combination of
chebyl("LowPass", 1, 1, 0.03)*chebyl("LowPass", 1, 1, 0.03)
as our low-pass filter. The step response and bode plot are below.
The next step was to write C code that would implement the feedforward neural network with my newly generated weights.
Next, I had to implement the code in the c1pem model, and normalize the inputs. Below is an overview of the model, and a close up of the C block section.
The above close-up includes the process of normalization (dividing by the square of the incoming signal), feeding through the neural network, and classifying.
Each seismometer channel set (GUR1X, GUR1Y, GUR1Z, GUR2X, GUR2Y, GUR2Z, STS1X, STS1Y, STS1Z) now has channels (and corresponding DQ channels) of the following form:
SEIS_CLASS : The class of seismic noise 1.0 means Earthquake, 0.5 means Quiet, and 0.0 means Truck. (There are only these 3 digital values).
SEIS_CLASS_EQ, SEIS_CLASS_TRUCK, SEIS_CLASS_QUIET: These channels represent the confidence of the neural network's classification. The class of the current signal will have an output of 1, where the other two channels will have an output between 0 and 1 representing the ratio of the neural network's output in that class neuron to the output in the classification vector neuron. To simply - suppose the neural network classified an earthquake. Ideally, the neural network output neurons would have the value [1, 0, 0], and SEIS_CLASS would equal 1.0 for earthquake. However, the output neurons probably read something along the lines of [0.9, 0.3, 0.5] - SEIS_CLASS is still 1.0, but SEIS_CLASS_EQ would be 1.0, and SEIS_CLASS_TRUCK would be 0.5 / 0.9 and SEIS_CLASS_QUIET would be 0.3 / 0.9. The lower the other two signals are, the better - this means that we are more confident in our classification.
The MEDM screen for this system (in the RMS system) has the following form for all seismometer channels (this one is GUR1X):
These are the screens I edited earlier in the summer, with modifications. The bottom filter banks represent the norm of the seismometer signal, which we use to normalize the inputs to the neural network.
Here a close-up of the most important part:
The orange meter on the right points to the current signal type. Here it reads truck - this is ok because it's the middle of the day, and there are a lot of trucks around. The left side represents our confidence in the signal - the signal is classified as a truck, so the "Truck" bar is saturated. The quiet signal bar is very low, which is good since it means that the neural network thinks that it's definitely not quiet. The earthquake bar has some magnitude, since earthquake signals and trucks have some degree of linear non-separability.
How has this been performing? Firstly, all of the seismometer channels have the same classification readout, which is good. Last night, all of the classes were "quiet", with an "earthquake" which occurred when Den jumped around GUR1 to simulate an EQ. This morning it was on "truck" as expected. The filters are still not fine enough to detect individual trucks, but I will continue to monitor the performance over the coming days.
If anyone has ideas on how better to represent this information, please let me know. This was the first thing that came into my head that would work with my MEDM monitor options, and I'm open to suggestions!
Den and I decided to try to classify seismic signals in the frequency domain rather than the time domain. We looked at amplitude spectral density plots of all of the data in our set, and noted that there were noticeable differences in the frequency domain for midnight quiet, trucks, and earthquakes.
For example, here is the time series of quiet, midnight seismic noise as compared to the seismic noise at the peak of an earthquake - the earthquake signal is noticeably higher in the 1 - 3 Hz region. Likewise, for the truck signal, there are noticeable bumps that arise at 10 and 30 Hz during the peak of the truck's motion due to the resonant frequency of the truck bouncing on its wheels.
We investigated this potential means of classification further by considering the linear separability of the power of our signals in various frequency bands. Below is a plot of the power of a normalized signal in the 0.1 - 3.0 Hz region vs. the power of the normalized signal in the 3.0 - 30.0 Hz region - calculated by means of fft and separation of the discrete resulting frequencies (in short, an ideal filter).
There is rather clear linear separability of the normalized signals in this case, as two lines could potentially be drawn to separate trucks from quiet and earthquake in this case (with a few misclassified points due to quiet - since the lab isn't actually empty and quiet in the middle of the night, and man-made seismic disturbances to occur). The reason we have to normalize our signals lies in the fact that the data set had different gains for various seismometers at different times. Normalization not only allows us to use our data set for training effectively, but it also assures that the online classification, if the online signals are also normalized, will allow for variable seismometer gains in the future and still be able to classify signals.
I looked at the linear separability of our training set using various combinations of frequency bands, and deduced that the current separation in the BLRMS preforms best (coincidentally, since the BLRMS separations are just decades), which meant that we could use the current BLRMS system we have for online classification of seismic noise.
Thus, I built a neural network which performed classification with the following parameters:
- One hidden layer of 20 neurons
- Gradient descent backpropagation with learning parameter mu = 0.175
- Sigmoidal activation functions for each neuron (computationally achieved by a parametrized hyperbola rather than an actual hyper-tangent in order to save on computation time).
- 5 inputs - the normalized fft^2 of the signal (since the root of a signal doesn't add linearly to 1) in the following frequency regions: 0.1 - 0.3, 0.3 - 1.0, 1.0 - 3.0, 3.0 - 10.0 and 10.0 - 30.0 Hz. Since this division was done through the (frequency, fft value) return in Matlab, the signal was essentially filtered ideally into these frequency bands.
- 3 output neurons representing an output vector, with desired output vectors of [1, 0, 0] for earthquake, [0, 1, 0] for truck, and [0, 0, 1] for quiet.
- 1,600,000 training epochs (batch backpropagation on all of the data)
Below is the best learning curve for this network, representing the total amount of inputs misclassified out of 224. The best result achieved was 30 misclassified signals out of 224. Obviously this is not ideal, but our data is not totally linearly separable. This could, however, be reduced with further iterations, but given the close to 0 slope of the learning curve between iteration number 1,000,000 and number 1,500,000, this could take a very long time.
Thus, I trained the network, generated the weight vectors and optimal activation function parameters, and was ready to implement a feed-forward neural network (with no online training). My next e-log (Part 2) will be about this system and will be posted shortly.
THE GOOD: SimPlants ITMX and ETMX are officially ONLINE. Damping has been instituted in both, with varying degrees of success (see Attachment 1). An overview screen for the SimPlants is up (under XARM_Overview in the sitemap - you can ignore the seperate screens for ETMX and ITMX for now, I'll remove them later), C1LSP will be online/functional by Monday.
The super high low-frequency noise in my simPlant is from seismic noise and having a DC response of 1, so that the seismic noise at low frequencies is just passed as is and then amplified along with everything else in the m --> counts conversion. Not quite sure how to deal with this except by NOT having a DC response of 1 (which it technically doesn't have when you do the algebra - Rana said that "it made sense" for the optic to have unity gain at low frequencies, but the behavior is not matching up with reality).
THE BAD: It looks like the ITMX Switch from Reality to simPlant doesn't work (or some of the signals aren't getting switched). When switching from reality to simulation, it looks like the control system is receiving signals from the SimPlant, but is transmitting them to the real thing. As a result, when you flip the switch from reality to sim, ITMX goes seriously crazy and starts slamming back and forth against the stop. REALLY NOT GOOD. As soon as I saw what was going on, I turned back to reality and flipped the watch dogs on (YES THEY WERE OFF). I'll investigate the connections between the plant and control system some more in the morning (i.e. later today) (this is also probably what is causing the "lost connections" in c1sup/sus we can see in the machine status screen).
Problem with ITMX solved! The ITMX block in c1sup hadn't been tagged as "top_names". I rebuilt and installed the model, and there are no longer lost connections, :D
> I used the LED illuminations at ETMX and BS yesterday for a tour.
> I am afraid that I left them on.
It was turned off before the picture was taken.
All LED illuminations were turned off. I checked them a few times.
I used the LED illuminations at ETMX and BS yesterday for a tour.
I am afraid that I left them on.
I optimized the TM views with illuminator light on quad1 It actually looks better there.
I'll post a dark- OSEM light only in jpg tomorrow. ETMY camera is malfunctioning in dark condition now.
ALL illuminator lighting are off. ITMX and ETMY looks back lighted. I will check on their apertures.
In order to focus on 1064 resonant spots I tried to restore and align the arms by script. I only got flashes.
I noticed that the IFO restore scripts have some problems. They use burt request files to store and restore the settings. However, the request files contain old channel names.
Especially channels with _TRIG_THRES_ON/OFF are now _TRIG_THRESH_ON/OFF, note the extra "H".
These scripts reside in /opt/rtcds/caltech/c1/burt/c1ifoconfigure/.
I fixed the PRMI_SBres and MI scripts. Someone should fix all other files.
To taste the strangeness of the current 40m PRC, I locked the PRMI with the guide of Koji.
We first aligned MICH by mostly tweaking ITMX, assuming that ITMY is in a good place as the Y-arm locks. MICH lock was stable.
Then we restored the IFO to the PRM_SBres mode. With a bit of alignment work on PRM and gain tweaking, the PRMI locked.
Also the PRMI was not so stable. Especially, when the alignment fluctuates, the optical gain changes and the loop becomes temporarily unstable. We took POP_DC as the guide for the gain change and normalized the PRCL error signal with it. To do this smoothly, we first changed the input matrix to route the PRCL error signal, which is REFL33_I, so that the signal also goes to the MC filter bank. Then with dtt, we monitored the spectra of the PRCL_IN1 and MC_IN1. We tweaked the value of the element in the normalization matrix for the MC path until the two spectra look the same (at this moment, the normalizing factor for the PRCL path was still zero). During this process, we noticed that the MC path signal (normalized by POP_DC) is noisier at above 500Hz. This was because the POP_DC has a large noise at high frequencies. So we put a low pass filter (100Hz 2nd order Butterworth) to the POP_DC filter bank to reduce the noise. Then the two spectra looked almost the same. The correct normalization factor found in this way was 0.03. So we put this number in the normalization matrix for PRCL. It did not break the PRMI lock.
After the normalization is turned on, the PRMI lock became somewhat more stable. However, the POP_DC was still fluctuating a lot, especially when the alignment is good. So I made a boost filter: 5Hz pole Q=2, 15Hz zero Q=1.5. I also made this filter automatically triggered when the PRMI is locked. This made the PRMI lock acquisition quicker. However, still the POP_DC fluctuation is large. It seems that the alignment of PRC is really fluctuating a lot.
The current UGF of PRMI is about 150Hz with the phase margin over 50deg.
I modified my Simulink model of the YARM to match the new filter modules Rana installed on YARM. I also scaled the open loop transfer function of the model to fit the measured open loop transfer function at the unity gain frequency, as shown in the figure below. From this I produced the length response function correctly scaled, also shown below. Then I applied the calibration factor to the YARM data measured in /users/Templates/Y-Arm_120815.xml. Both the uncalibrated and calibrated spectra are included below.
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 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.
After Rana and Yoichi tweaked the arm locking filters, we have had some pretty awesome lock stretches. 5-day minute trend.
Koji just found the emergency exit door unlocked again. NOT GOOD.
We have determined that if you use the emergency door to enter the lab, it leaves the door unlocked, unless you go back outside and deliberately lock it. This means that someone has been using the emergency exit as a regular entrance.
It's fine to leave by that door, but you should make a habit of entering through the regular door. Using the back door as an entrance is a special case situation, when they have the main door blocked.
The PDA255 is a good ringdown detector - Steve can find one in the 40m if you ask him nicely.
We found a PDA255 but it doesn't seem to work. I am not sure if that is one you are mentioning...but I'll ask Steve tomorrow!
I double checked the PDA255 found at the 40m and it is broken/bad. Also there was no success hunting PDs at Bridge. So the MC trans is still in the same configuration. Nothing has changed. I'll try doing ringdown measurements with PDA400 today.
Can you explain more what "broken/bad" means? Is there no signal? Is it noisy? Glitch? etc.
The PD saturates the oscilloscope just by switching on the power; with no real signal at all. But Steve helped locating a PD that is not being used at the AP table. So I will check it and replace the current one if it works!
Koji opened up the PD and found that the screw connecting the PD to the pole was doing an additional job as well; connecting the power cable to the PD output in the inside. The PD is now fixed! Yippie...we have two PDA255 s at 40m now!!
The PD (pda255) at the AP table, close to the MC refl , which Steve mentioned to be not in use, has been removed from the table for testing.
The PD installed at MC trans to make ringdown measurements has been replaced with the above PDA255.
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 just wrote a short description of how to run the daily summary pages and the configuration process for making changes to the site. It can be found in /users/public_html/40m-summary and is named README.txt. If I need to clarify anything, please let me know! The configuration process should be relatively straightforward, so it will be easy to add plots or change them when there are changes at the 40 meter.