We wanted to measure the mode coming out of the fibers, so we can later couple it to experimental setups for measuring different noise sources within the fiber. i.e. Polarization Extinction Ratio, Frequency Noise, Temperature Effects.
I used the beamscan mounted on a micrometer stage in order to measure the spot sizes of the fiber coupled light at different points along the optical axis, in much the same way as in the razorblade setup I used earlier in the summer.
I entered my data (z coordinates, spot size in x, spot size in y) into a la mode to obtain the beam profile (waist size, location)
Code is attached in .zip file.
After I took these measurements, Manasa pointed out that I need points over a longer distance. (These were taken over the range of the micrometer stage, which is 0.5 inches.)
I will be coming in to the 40m early on Monday to make these measurements, since precious beamscan time is so elusive.
Eventually, we will use this measurement to design optical setups to characterize Polarization Extinction Ratio, Frequency Noise, and temperature effects of the fibers, for further use in FOL.
The idea was to measure the profile of the light coming out of the fiber, so we could have knowledge of it for further design of measurement apparatuses, for characterization of the fibers' properties.
The method was the same as the last time I tried to measure the fiber mode.
This time I moved the beam profiler in a wider range along the z-axis.
Additionally, I adjusted the coupling until it gave ~1mW through the fiber, so the signal was high enough to be reliably detectable.
Measurements were taken in both X and Y transections of the beam.
The range of movement was limited by the aperture of the beam profiler, which cuts off at 9mm. My measurements stop at 8.3mm, as the next possible measurement was beyond the beam profiler's range.
I entered my data into A La Mode, which gave me a waist of 5um, at a location of z = -0.0071 m, that is to say, 7.1mm inside the fiber.
Note that in the plot, data points and fits overlap, and so are sometimes hard to distinguish from each other.
Code is attached.
Using this data, I will begin designing setups to measure fiber characteristics, the first of which being Polarization Extinction Ratio.
Eventually, the data collected from these measurements will be put to use in the frequency offset locking setup.
The previous data were flawed, in that they were taken in groups of three, as I had to move the micrometer stage which held the beamscan between holes in the optical table.
In order to correct for this, I clamped a straightedge (ruler) to the table, so I could more consistently align the profiler with the beam axis.
These data gave a waist w_o = 4um, located 6mm inside the fiber. While these figures are very close to what I would expect (3.3um at the end of the fiber) the fitting still isn't as good as I would like.
The fit given by ALM is below.
I would like to get a stage//rail so I can align the axes of the beam and profiler more consistently.
I would also like to use an aperture the more precisely align the profiler aperture with the beam axis.
Once these measurements have been made, I can begin assembling the setup to measure the Polarization Extinction Ratio of the fiber.
I repeated this process once more, this time using the computer controlled stage that the beam profiler is designed to be mounted to.
These data//fitting appears to be within error bars. The range of my measurements was limited when the beam width was near the effective aperture of the profiler.
This latest trial yielded a waist of 4um, located 2.9 mm inside the fiber for the X profile, and 3.0mm inside the fiber for the Y profile.
Code is attached in fiberModeMeasurement4.zip. Note that the z=0 point is defined as the end of the fiber.
We want a measurement of the fiber modes at either end, with the collimators, because these will be the modes that we'll be trying to match in order to couple light into the fibers, for FOL and/or future projects.
In order to measure these modes, I used the beam profiler (Thorlabs BP 209-VIS) to take measurements of the beam diameter (cut off at 13.5% of the amplitude) along the optical axis, for each of the fiber ends.
The ends are arbitrarily labelled End 1 and End 2.
For each measurement, the fibers were coupled to roughly 30%, or 25mW at the output.
Regarding the issue of free rotation in the collimator stages: while End 1 was relatively stable, End 2 tended to move away from its optimal coupling position. In order to correct for this, I chose a position where coupling was good, and repositioned the stage to that coordinate (124 degrees) before taking each measurement.
The data were then entered into A La Mode, which gave waist measurements as follows:
End 1--- X Waist: 197um at Z = 4.8mm Y Waist: 190um at Z = 13.6mm
End 2--- X Waist: 192um at Z = 7.4mm Y Waist: 190um at Z = 6.0mm
A La Mode code is attached in .zip file
These are the types of profiles that we will hopefully be matching the PSL and AUX lasers to, for use in frequency offset locking.
More characterization of the fibers is to follow, including Polarization Extinction Ratio.
We also hope to be testing the overall setup soon.
I pulled out the Fiber Optic Module for FOL from the rack inside the PSL table enclosure and modified it. The beat PDs were moved into the box to avoid breaking the fiber pigtail input to the PD.
The box has 3 input FC/APC connectors (PSL and AUX lasers) and 2 output FC/APC connectors (10% of the beatnote for the AUX lasers).
Attachment shows what is inside the box. The box will again go back on the rack inside the PSL enclosure.
Earlier today Q and I somewhat resurrected my old PER measurement setup so I could run the temperature characterization experiment.
Unfortunately, when I tried to use the fiber illuminator, no light came from the other end, causing me to fail my primary goal for the summer of "don't break anything." The fiber has been re-spooled and labeled appropriately. Also sorry.
In addition to this, Q and I scavenged parts from the telescopes on the PSL and Y End tables, which were either not functional, or needed to have their mode matching adjusted, since we're using the non-PM fibers for FOL, which have a different numerical aperture, and thus slightly different output modes.
Specifically, this is involved removing the rotational mounts, and appropriate beam dumping.
My "calorimeter" still remains intact, in case anyone wants to make this measurement in the future, as this is my last day in the lab.
It's also effective at keeping drinks cold, if you'd rather use it for that.
We want to characterize the sort of response the fibers have to temperature gradients along them (potentially altering indices of refraction, etc.)
I have constructed a sort of two chambered "calorimeter" (by which I mean some coolers and other assorted pieces of recycling.)
The idea is that half of the length of PM fiber resides in one chamber, and the other in the other.
One chamber will remain at an uncontrolled, stable temperature (as measured by thermocouple probe) while the other's temperature is varied using a heat gun.
Using this setup, one can measure losses in power, and effects on polarization within the fiber.
This is currently living on the electronics bench until tomorrow morning, and is a little fragile, just in case it needs to be moved.
To maintain PM fibers all the way through to the photodiode, I had ordered some PM versions of the 50/50 fiber beamsplitters from AFW technologies. They arrived some days ago, and today I installed them in the BeatMouth. Before installation, I checked that the ends of the fibers were clean with the fiber microscope. I also did a little cleanup of the NW corner of the PSL table, where the 1um MZ setup was completely disassembled. We now have 4 non-PM fiber beamsplitters which may be useful for non polarizaiton sensitive applications - they are stored in the glass-door cabinet slightly east of the IY chamber along the Y arm, together with all the other fiber-related hardware.
Anjali had changed the coupling of the beam to the slow axis for her experiment but I ordered beamsplitters which have the slow axis blocked (because that was the original config). I need to revert to this config, and then make a measurement of the ALS noise - if things look good, I'll also patch up the Y arm ALS. We made several changes to the proposed timeline for the summer but I'd like to see this ALS thing through to the end while I still have some momentum before embarking on the BHD project. More to follow later in the eve.
Get a fiber BS that is capable of maintaining the beam polarization all the way through to the beat photodiode. I've asked AFW technologies (the company that made our existing fiber BS parts) if they supply such a device, and Andrew is looking into a similar component from Thorlabs.
I looked into this a little more today.
This is a problem - such large shifts in the signal level means we have to leave sufficient headroom in the choice of RF amplifier gain to prevent saturation, whereas we want to boost the signal as much as possible. Moreover, this kind of operation of tweaking the fiber seating to increase the RF signal level is not repeatable/reliable. Options as I see it:
The fibers around the PSL table were shielded to avoid any tampering.
[Aidan, Tara, Joe]
We pulled out what used to be the LSC/ASC fiber from the 1Y3 arm rack, and then redirected it to the 1X1 rack. This will be used as the c1ioo 1PPS timing signal. So c1ioo is using the old c1iovme fiber for RFM communications back to the bypass switch, and the old LSC fiber for 1PPS.
The c1sus machine will be using the former sosvme fiber for communications to the RFM bypass switch. It already had a 1 PPS timing fiber.
The c1iscex machine had a new timing fiber already put in, and will be using the c1iscey vme crate's RFM for communication.
We still need to pull up the extra blue fiber which was used to connect c1iscex directly to c1sus, and reuse it as the 1PPS signal to the new front end on the Y arm.
Alex has said he'll come in tomorrow morning to install the new FB code.
I swapped the EX fiber for the PSL fiber in the polarization monitoring setup. There is a lot more power in this fiber, and one of the PDs was saturated. I should really have put a PBS to cut the power, but I opted for putting an absorptive ND1.0 filter on the PD instead for this test. I want to monitor the stability in this beam and compare it to the EX beam's polarization wandering.
It looks like the drift in polarization content in the PSL pickoff is actually much higher than that in the EX pickoff. Note that to prevent the P-pol diode from saturating, I put an ND filter in front of the PD, so the Y axis actually has to be multiplied by 10 to compare power in S and P polarizations. If this drift is because of the input (linear) polarization being poorly matched to one of the fiber's special axes, then we can improve the situation relatively easily. But if the polarization drift is happening as a result of time-varying stress (due to temp. fluctuations, acoustics etc) on the (PM) fiber from the PSL fiber coupler to the BeatMouth, then I think this is a much more challenging problem to solve.
I'll attempt to quantify the contribution (in Hz/rtHz) of beat amplitude RIN to phase tracker output noise, which will tell us how much of a problem this really is and in which frequency bands. In particular, I'm interested in seeing if the excess noise around 100 Hz is because of beat amplitude fluctuations. But on the evidence thus far, I've seen the beat amplitude drift by ~15 dB (over long timescales) on the control room network analyzer, and this drift seems to be dominated by PSL light amplitude fluctuations.
A follow-up on the discussion from today's lunch meeting - Rana pointed out that rotation of the fiber in the mount by ~5degrees cannot account for such large power fluctuations. Here is a 3 day trend from my polarization monitoring setup. Assuming the output fiber coupler rotates in its mount by 5 degrees, and assuming the input light is aligned to one of the fiber's special axes, then we expect <1% fluctuation in the power. But the attached trend shows much more drastic variations, more like 25% in the p-polarization (which is what I assume we use for the beat, since the majority of light is in this polarization, both for PSL and EX). I want to say that the periodicity in the power fluctuations is ~12hours, and so this fluctuation is somehow being modulated by the lab temperature, but unfortunately, we don't have the PSL enclosure temperature logged in order to compare coherence.
Steve: your plots look like temperature driven
The "beat length" of the fiber is quoted as <=2.7mm. This means that a linearly polarized beam that is not oriented along one of the special axes of the fiber will be rotated through 180 degrees over 2.7mm of propagation through the fiber. I can't find a number for the coefficient of thermal expansion of the fiber, but if temperature driven fluctuations are changing the length of the fiber by 300um, it would account for ~12% power fluctuation between the two polarizations in the monitoring setup, which is in the ballpark we are seeing...
I think the dominant cause for the fact that we were seeing huge swing in the power coupled into the fiber was that the beam being sent in was in fact not linearly polarized, but elliptically polarized. I've rectified this with the help of a PBS. Fiber has been plugged into my polarization monitoring setup. Let's monitor for some long stretch and see if the situation has improved.
What I did today.
1. I tried to align the IR input beam by aligning the two mirrors, to couple input light into the fibre.
2.I was unsuccessful for a long time even though I tried a lot of tricks.
3. I also tried to use the optical fault locator to superpose the IR beam spot onto the beam spot of the other laser to facilitate effective coupling.
4.But the crucial point was to superpose the input beam path in the perfect direction of the output beam path and not just the beam spot.(the input cone and the output cone are perfectly aligned).
5.After one whole day of trial and thought, I managed to couple light into the fibre, and saw the output beam spot on the screen-camera-monitor set-up which we had arranged. Eurekka !!;)
6.I then used a power meter to measure the input beam power and the output beam power.
7.It was a disappointing 2% . I had read in project reports of many students of a 20% success.
8.After a lot of subtle tweaking of the mirrors using the knobs, I managed to increase the percentage of output beam to 12%.
9. This is a workable level.
10.A day of lot of new learning! Pictures of the setup are attached.:)
We decided to use the 1064nm beam reflected from the Y1-1037-45-P mirror after the collimation lens following the doubling crystal for coupling into the optical fiber (ref 3843 and 3847 ).
We replaced a beam dump which was blocking this beam with a Y1-1037-45-P mirror and directed the beam into the fiber coupler with another Y1-1037-45-P. The power in this beam was about 1W. This has been stepped down to 10mW by introducing a reflective ND filter of OD=2. The reflected power has been dumped into a blade-stack beam dump.
Steve has ordered the The Visual Fault Locator from Fluke. It is expected to arrive within a day or two.
The Fluke Visual Fault locator (Visifault) arrived and I used it to couple 1064nm light into the single mode fibre at the south-end-table.
When the output end of the fiber is plugged into the Visifault the light emerges from at the south end (input side for 1064nm). This light is collimated with the fiber coupler at that end and serves as a reference for the optical axis along which the 1064 light must be directed. Once the two beams (red and 1064) are overlapped with the beam steering mirrors, the Visifault was disconnected from the fiber and the fibre output ( 1064 at the PSL table) is maximized by walking the beam at the input end and adjusting the collimation at the input.
The output of the fiber has been collimated with a fiber coupler.
7.5mW are incident on the input end and 1.3mW have been measured at the output. This output power is adequate for the observing the beats with PSL NPRO.
[Annalisa, Jenne, Rana, Steve]
We installed the fibres on cable trays the 1Y2 and the Control Room.
Still to do: find a power supply for the Fiboxes and plug everything in.
One of the things that we had talked about last night was the totally tiny amount of phase margin that we have in the CARM and DARM loops. DARM seemed to be the most obnoxious loop last night, so I focused on that today, although the CARM and DARM loops are pretty much identical.
(Q tells me via email that the phase budget has the same ~14 degree discrepancy between what we expect and what we measure as his estimate last night. However, the Caltech network issues prevented his posting an elog.)
So, we definitely need to figure out where this 14 deg is going, but for now, I wanted to see if I could recover a couple of extra degrees just by modifying the filters.
The original filters do seem to eat a lot of phase:
The short version of the story is that I didn't leave the filters changed at all. I reverted back to the last version of the filter file from Monday night, so currently everything is as it was.
I tried increasing the Q of the zeros on the cyan and brown filters, which would sacrifice some gain at ~20 Hz, but hopefully win us 10+ degrees of phase. This gave me a dip of about a factor of 2 between the new and old filters (all servo filters combined added up to this factor of 2 in magnitude) between ~20Hz - 70Hz.
When we were locked using DARM for just the Yarm (for the UGF servo commissioning), I took a spectra of the error signal (which was POY) as a reference, then loaded in my new filters. For the most part, the spectra didn't change (which is good, since the magnitude of the filter didn't change much.). The spectra was bigger though between 50-70Hz, in kind of a sharp bandpass-looking shape that I wasn't expecting. I don't know exactly why that's happening.
Anyhow, we tried the new filters once or twice with the full IFO, but kept losing lock. Since I clearly haven't put in enough thought yet for these (particularly, how much suppression do we really need? what are our requirements???), I reverted back to the filter file from last night. We continued locking, and checking out the new UGF servo that Diego is elogging about.
For the beam spot position tracking, I am wondering if there is any benefit to going for a wider field of view and getting the OSEMs in the frame? It may provide some "anchor points" against which whatever algorithm can calibrate the spot position against. But there are also several point scatterers visible in the current view, and perhaps the Gaussiam beam profile moving over them and tracking the scattered intensity from these point scatterers serves the same function? I don't know of a good solution to have a "switchable" field of view configuration in the already cramped camera enclosure though.
Also, I think it may be useful to have a cron job take a picture of MC2 and archive it (once a week? or daily?) to have some long term diagnostic of how the scattered light received by the camera changes over several months.
The GigE is focused now and I have closed the lid. I'm attaching a picture of the MC2 beam spot, captured using GigE at an exposure time of 400µs
This afternoon, after Q and Manasa finished recovering from the activities of the morning, I aligned the IFO, and went to the Yend to touch up the alignment of the green to the arm. I don't know if it was the alignment (I didn't do the PSL table), or I happened to have a good combination of laser temperatures, or what, but the Yend ALS noise was super good. After that, the low frequency noise contribution is different lock-to-lock, and I haven't discerned a pattern yet.
One thing that we want to try is to get DARM to AS55 so that we're entirely off of ALS (assuming we've already gotten CARM to sqrtInvTrans). However, according to Q's simulations, we have to get past arm power of a few before we are within the AS55 linewidth. I have a DTT running showing me the phase between AS55 and ALSdiff as I reduce the CARM offset, but I haven't been able to get close enough to see the sign flip when CARM is on sqrtInvTrans. If I just sweep through with both CARM and DARM on ALS, I see the sign flip. I've tried a few different things, but I have not successfully gotten a transition to AS55 while the arm powers were above 1. Empirically, I think I want them at at least 3 or 4.
Koji suggested locking the DRMI rather than PRMI, to widen the AS55 linewidth, but I haven't tried that tonight. Maybe tomorrow night.
I have made a ruidimentary lockloss plotting script, that I have put in ..../scripts/LSC/LockLossData, but I'm not satisfied with it yet. Somehow it's not catching the lockloss, even though it's supposed to run when the ALS watch/down scripts run. I'll need to look into this when I'm not so sleepy.
Q, can you please work on figuring out the phase tracker gain tracker? It will be nice to have that functional so we don't have to fret about the phase tracker gains.
Manasa, can you please estimate what kind of mode matching we have on the PSL table between the arm greens and the PSL green? We *do not* want to touch any optics at this point. Just stick in a power meter to see how much power we're getting from each beam, and then think about the peak height we see, and what that might tell us about our mode overlap. If we determine it is total crap, we can think about measuring the beams that go either toward the camera, or the DC PDs, since neither of those paths require careful alignment, and they are already picked off from the main beatnote path. But first, what is our current efficiency? Yarm is first, then Xarm, since Yarm seems worse (peak height is larger for non-00 modes!)
We developed a fairly sophisticated lockloss script at the sites, which you could try using as well. It's at:
It requires a reasonably up-to-date install of cdsutils, and the tconvert utility. It uses guardian at the sites to determine when locklosses happen, but you can use it without guardian by just feeding it a specific time to plot. It also accepts a list of channels to plot, one per line.
Just a reminder that a film crew will be here Monday morning, filming Christian Ott for some Discovery channel show.
They are slated to be here from 8am to 12:30pm or so. They will take a couple of shots inside the lab, and the rest of the filming should be of Christian in the control room (which they will "clean up" and fit with "sexy lighting"). I will try to be here the whole time to oversee everything.
I was trying to load some filters into the ASS so that I can try it out, but for some reason the filter banks aren't working - clicking the on/off buttons doesn't do anything, filters (which exist in the .txt file generated by foton) don't load.
I've emailed cds-announce to see if anyone has any ideas.
When the network / fb went bad this afternoon, I had been working on the ASS model, shortening the names of the filter banks to fix the problem from elog 7092. I wanted to finish working on that, so the ASS model is now rebuilt with slightly shorter names in the filterbanks (which fixes the problem of the filter banks not working).
I mentioned this to Jamie the other day, but here's the error that you get when the GoTo/From tags aren't working:
>>rtcds make c1ass
### building c1ass...
Parsing the model c1ass...
IPC 9 8 is C1:LSC-ASS_LSC
IPC 9 8 is ISHME
IPC 10 9 is C1:RFM-LSC_TRX
IPC 10 9 is IPCIE
IPC 11 10 is C1:RFM-LSC_TRY
IPC 11 10 is IPCIE
INPUT XARM_LSC_in is NOT connected
INPUT YARM_LSC_in is NOT connected
***ERROR: Found total of ** 2 ** INPUT parts not connected
make: *** [c1ass] Error 255
make: *** [c1ass] Error 1
I don't know why these tags weren't working, but there was a GoTo tag on the output of the LSC shmem block, and then Froms on each of the XARM_LSC_in and YARM_LSC_in. The other day I played around with a bunch of different things (grounding inputs, terminating outputs, whatever), but finally replacing the tags with identical ones freshly taken from CDS_PARTS made it happy.
Toyed around some more with the adaptive filters.
nTaps Downsampling factor Execution time average / max in ca. 3 min [us], (480 us available)
1000 16 110 / 150
2000 16 280 / 340
3000 16 380 / 470
4000 16 Over limit
Now we are running with Downsampling 32, 4000 Taps => max 410us execution time.
I tried to desynchronize the downsampled operations of the filters of the different DOFs. That however increased execution time by about 10%. So I undid that.
[Rana and Kevin]
I made a low pass filter for the piezo driver for the 2W laser that is now installed. The filter has a pole at 2.9 Hz. The transfer function is shown in attachment 1.
Attachment 2 shows the outside of the filter with the circuit diagram and attachment 2 shows the inside of the filter.
The missing filter files for ULPOS, URPOS, and so forth for the mode cleaner optics was due to the length of the names of the filters.
This was not a problem for the c1sus model because it was using its own name as the first 3 letters of its designation. A filter for the sus model would be called something like BS_TO_COIL_MTRX_0_0, while for the mcs it would be called SUS_MC1_TO_COIL_MTRX_0_0, an extra 4 characters.
However, the c1mcs model used the "top_name" feature which uses a subsystem box within the simlink model to rename all the channels. Apparently in the filter file, this means it has to add the top name to the front of everything, adding an additional 3 characters. This pushed things over the length limit.
A hard cap of 18 characters has been added to the FiltMuxMatrix.pm file (located in /cvs/cds/caltech/c1/, so that it will prevent this type of problem in the future by stopping at compile time and presenting a helpful error message.
I also fixed a bug with too many spaces in the feCodeGen.pl file when dealing with top_names and the filtMuxMatrix.pm preventing some .adl files from being generated.
Also of interest, MC3 appears to never have had F2A filters. For the moment we're running without them, but since they're just a fine tuning it shouldn't affect locking tonight.
Improbability factor of mode cleaner suspensions working tonight: ~20
You can read through all of our past tests to see what didn't work in tracking things down. As Den mentions, there was actually a lot of evidence that there was some double->single precision action in the filter calculation causing the noise we saw.
However, it turns out that this is NOT the case.
This afternoon I was so confused that I enlisted JZ to help us out. He came over and I tried to replicate the error. When looking at the time series, we noticed that it wasn't random noise; the signals seem to be getting clipped as they crossed zero. Sort of like a stiction problem. JZ left to go replicate the error on an offline system.
This turned out to be the important clue. As we examine the code we find this inside of fm10Gen.c:
this is line is basically trapping the filter history at 1e-20, to prevent some kind of numerical underflow problem (?). Seems reasonable, except that some filters which have higher order low passing in them actually have an overall scale factor which can be small (even as small as 1e-23, as Den pointed out).
So the reason we saw such weird behavior is that the first filter in SUSPOS is an AC coupling filter. This takes the OSEM signal and remove the large mean value. Then the next filter multiplies it by 1e-23 before doing the filtering and you end up with this noise in the filter history.
I looked and this line is commented out in the new BiQuad code, but as far as I can tell this issue has been around in aLIGO, eLIGO, iLIGO, etc. for a long time and could have been causing many cases of excess noise whenever we ended up a tiny gain factor in an IIR filter. At the 40m, there are easily a hundred such cases.
For now, I suppose we can just change this number to 1e-40 or so. I don't know how to calculate what the right number should be. Not sure why this underflow is not an issue for the BiQuad, however.
According to the RCG SVN logs, the reason it was removed was a more general change done to the compiled code, not specific to just the biquad. Basically, the ability to have an underflow number (subnormal) has been turned off completely by having any number that underflows set to zero. I'm not positive, but from a quick search looks that the smallest number before hitting is an underflow as a double is 2.2250738585072014e-308.
Alex's entry from the SVN log for 2663:
Added new fz_daz() function to turn on two bits in the FPU SSE control register.
Bits FZ (flush underflows to zero) and DOZ (denorms are zeros) are set to
avoid runaway code on float/double denorms (really small numbers).
SVN log 2664:
Removed +- 1e-20 limiting code, this is taken care of by setting FZ/DOZ bits
in the CPU SEE control register (see mathInline.h)
SVN log 2665:
Kill the underflows and roll down float denorms to zero,
see fz_doz() in mathInline.h.
if((new_hist < 1e-20) && (new_hist > -1e-20)) new_hist = new_hist<0 ? -1e-20: 1e-20;
20 is indeed a random number. We can change it to 300. Alex said that during that iir filter calculations sometimes numbers are very small and if they are less then 1e-308 then a very slow code in the processor is executed and this will crash the online system. For single precision this number is 1e-38 and may be 10 years ago it was not decided for sure what to use - float or double. 20 will be "OK" for both but as we can see causes other problems.
Anyway, Alex removed this line from the code and added another code that sets the two proper bits in the MXCSR register and prohibits to the CPU to run the slow code. As far as I understand if the numbers are less then 1e-308 they become 0. Roughly, this is equivalent to
if((new_hist < 1e-308) && (new_hist > -1e-308)) new_hist = 0;
This is in 2.4 release. It is in the svn. I think we can install it and figure out if the problem is gone.
As part of trying to figure out what is going on with the ASS, I wanted to figure out what filters are installed on which lockins.
Each "DoF"(1-6) has a zpk(0.1,0.0001,1)gain(1000), which is a lowpass with 60dB of gain at DC, and unity gain at high frequencies.
For the lockins, since there are so many, I made a spreadsheet to keep track of them (attached).
So, what's the point? The point is, I think that all of the LOCKIN_I filter modules should be the same, with a single low pass filter. The Q filter banks don't matter, since we don't use those signals, and the signals are grounded inside the model. The phase of each lockin was / should be tuned such that all of the interesting signal goes to I, and nothing goes to Q. The SIG filter modules seem okay, in that they're all the same, except for their band pass frequency. I just need to check to see what frequency the ASS scripts are trying to actuate at, to make sure we're bandpassing the correct things.
The following MCL filters were left loaded in the T240-X and T240-Y FF filter modules (filters go in pairs, both on):
FM7: SISO filters for MCL elog:11541
FM8: MISO v1 elog:11547
FM9: MISO v1.1 Small improvement over MISO v1
FM10 MISO v2 elog:11563
FM5 MISO v3.1 elog:11584 (best one)
FM6 MISO 3.1.1 elog:11584 (second best one)
Thanks Koji , for your hint for the brain teasing puzzle. I was looking into Filters that are usually used in devices like counters, DSO and other scopes. I found that , to improve the quality of the measurement one of the best approach is averaging. I looked deeper into averaging and found out this:
There are two general use-cases for averaging . The first, successive sample averaging, takes a single acquisition and averages between its samples. The second, successive capture averaging, combines the corresponding samples of multiple captures to create a single capture. Successive sample averaging is also called boxcar filtering or moving average filtering. In an implementation of this type of averaging each output sample represents the average value of M consecutive input samples. This type of averaging removes noise (one of the reasons the noise level was not bad: http://nodus.ligo.caltech.edu:8080/40m/10151) by decreasing the device's bandwidth(could be one of the reasons why the FC operates in 4 different frequency ranges). It applies an LPF function with a 3dB point approximated by 0.433 * s / M, where M is the number of samples to be averaged, and s is the sample rate in samples per second.
Now I tried verifying the 3 dB points in the gain plots I generated :
For 1 s Sampling time : the 3 dB point for such a Boxcar filter should be at 0.433* 1/M. If we assume that it averages for 2 samples, M=2 which gives the 3dB point at 0.288 Hz but occurs somewhere between 0.3 and 0.4 Hz. (http://nodus.ligo.caltech.edu:8080/40m/140619_120548/GainVsFreq.png)
For 0.1s Sampling time: the 3dB point should be at 2.17 Hz and in reality is 2.5 Hz(http://nodus.ligo.caltech.edu:8080/40m/140701_211904/gain.png).
Also, This type of filter will have very sharp nulls at frequencies corresponding to signals whose periods are integer sub-multiples of M/s. As seen my previous plots (http://nodus.ligo.caltech.edu:8080/40m/10118 , http://nodus.ligo.caltech.edu:8080/40m/10070) there are sharp nulls at frequencies
0.4 Hz for 1S sampling time and
at 1.5 Hz,3 Hz for 0.1 S sampling time as correctly predicted.
The moving average filter is L-sample moving average FIR, with the frequency response as: H(ω) = (1/L) (1 − e− jω L)/(1 − e− jω)..
There is an overall delay of (M - 1)/2 samples from such a length-M causal FIR filter.
The expected bode plots for such a filter with L= 5 is attached(attachment 2).
The expected bode plots for such a filter with L= 4 is attached and compared with the measured.
RXA: When comparing two things, please put them onto the same plot so that they can be compared.
The final 2 Tip Tilts (#1 and #5) have been suspended. We have designated #5 the spare. It looks like there might be a teensy bit of dust on the AR surface of the optic in #5, right near the edge of the coating. Not a critical issue if this one is the spare, although we should see if we can blow it off with the Nitrogen. Both #1 and #5's optics were suspended using the thicker wire, 0.0036" diameter. This leaves 4/5 TTs with this thick wire, and 1 of the 5 has the thin wire.
To do still: Balance both #1 and #5, and then measure the modes of each. Then we'll be ready to install them into the chambers, and we'll reserve #5 for shake table TFs for some later date.
[Yuta, Sendhil, Jamie, Jenne, Rana]
1. After the MC centering, we tried to align the IFO using IPPOS and IPANG as reference. This did not recover the alignment perfectly. We were clipping at the BS aperture. Using TTs, we centered the beam at BS and PRM.
2. Using TTs, the beam was centered at ITMY and ETMY.
3. IPPOS and IPANG mirrors in-vacuum were aligned and were centered at the out-of-vacuum optics.
4. We checked the centering of the beam on optics in the BS and ITMY chamber. (Yuta will make an elog with the layout)
5. We retro-reflected ITMY at the BS and aligned ETMY such that we saw a couple of bounces in the arm cavity.
6. Using BS, the beam was steered to go through the center of ITMX and ETMX.
7. At this point we were able to see the MI fringes at the AS port.
8. We made fine alignments to the ITMX such that we saw MI reflected at the Farday.
9. We retro-reflected ITMX and aligned ETMX to see the beam bounce at the ITMX.
10. We aligned PRM such that PRC flashes. But we were not happy with the flashes (they were in higher order modes). We suspect that minor tuning of the input pointing might be necessary.
11. We closed for the day
This is the final version of the QPD circuit I'm going to build. After playing around with the spatial arrangement, this should fit into the box that I was planning to use, although it will be a rather tight fit. The pitch, yaw, and summing circuit will be handled with a quad op amp. Planning to meet with Eric tomorrow to figure out the logistics of building things.
In the meantime, I'm reading about designing the ECDL for my summer project with Tara. He sent me several papers to read so we can talk on Wednesday.
This is my final SISO Wiener filter for MCL that uses the T240-X seismo as its witness.
The main difference between this filter and the one on elog:11532 is the actual 1/f rolloff this filter pocesses. My last filter had a pair of complex zeroes at 2kHz, that gave the filter some unusual behavior at high frequencies, thanks Vectfit. This filter has 10 poles and 8 zeroes, something Vectfit doesn't allow for and needs to be done manually.
The nice thing about this filter is the fact that Eric and I turned this filter on during his 40 min PRFPMI lock last night, Spectra for this is coming soon.
This filter lives on the static Wiener path on the OAF machine, MCL to MC2, filter bank 7.
Anyways, the usual plots are shown below.
Training data + Predicted FIR and IIR subtraction:
Online subtraction results:(High freq. stuff shown for noise injection evaluation of the filter)
Yutaro talked about the BIO bug in KAGRA elog. http://klog.icrr.u-tokyo.ac.jp/osl/?r=9536
I think I made the similar change for the 40m model somewhere (don't remember), but be aware of the presense of this bug.
Came across this while looking up the BIO situation at 1Y2. For reference, the fix Koji mentions can be seen in the attached screenshot (one example, the other BIO cards also have a similar fix). The 16th bit of the BIO is grounded, and some bit-shifting magic is used to implement the desired output.
This elog is meant to be a summary of some of the many subtleties on the CM board. The latest schematic of the version used at the 40m can be found at D1500308 .
Acromag BIO testing:
During my bench testing of the Acromag chassis, I had not yet figured out mbboDirect and the latch logic, so I did not fully verify the channel mapping (= wiring inside the Acromag box), and whether the sitching behavior was consistent with what we expect. Koji and I verified (using the LED tester breakout board) that all the channels have the expected behavior 👏. Note that this is only a certification at the front-panel DB37 connectors of the Acromag chassis testing of the integrated electronics chain including the CM board is in progress...