Upon leaving the lab:
- HEPA is ON at the original speed (i.e. same speed at 5PM today)
- WFS servo is ON, partly because we want to see how stable it is. It is not handled with the autolocker right now.
So there is a possibility that the WFS servo goes wild and make the IMC totally misaligned (and does not come back)
In such a case, go to the WFS servo screen and push "CH" (clear history) of each servo filters.
The IMC lock survived overnight and the WFS servo loops kept it aligned. The IMC was unlocked in the morning.
The left 6 plots are the WFS servo outputs and the right most two plot show the transmission and reflection of the IMC.
If the WFS is making the lock unstable under high seismic conditions, please turn the loops off.
Attached are both the circuit diagram and the liso formatted *.fil for the main branch of the ISS, as well as the resulting transfer function when analyzed. Unfortunately, as noted in the file, not all of the elements are possible to analyze in liso, such as any type of op-amp with more than two inputs and one output (AD602 used in this design has 16 pins with two distinct amplifiers contained within).
I have begun prototyping this circuit on a breadboard.
## ISS Main Branch
## All circuit elements are named according to the circuit diagram
## "D020241-D2.pdf" by R. Abbott.
# Stages are separated by empty lines and elements between stages are
# also separated by empty lines for easy file navigation
# Before the first stage there is a 'fully differentiable' op-amp
# that I believe serves to isolate the device from the power supply
# However, liso does not have the capability to analyze such an op-amp,
Unfortunately, as noted in the file, not all of the elements are possible to analyze in liso, such as any type of op-amp with more than two inputs and one output (AD602 used in this design has 16 pins with two distinct amplifiers contained within).
Typically, you can still find a way to model the important parts of the stages that are not as simply added. In the case of the differential input stage, in particular, it is important to include it because it will usually set the input noise level of the circuit. In this case, the noise is the same as the second stage (U5) and it has a gain of 1, so there is essentially no difference (up to factors of sqrt(2) or 2).
You can edit the opamp.lib file and add in custom components. For the input stage, you can just pretend it is a simple non-inverting amplifier with the specified noise characteristics from the datasheet: un = 1.3n, uc = 50 Hz (see below).
For dual op amps, you can usually just model each part separately. For example, the OPA2604 is a dual op amp that is included in the opamp.lib and can be treated as a single one in a model.
After spending a good deal of time learning how to use the SR785, I was able to characterize my prototype circuit. The transfer function from a swept sine measurement looks very similar to the theoretically calculated transfer function (both of which are attached). The frequency response of the circuit was considered over the range 10 Hz - 10 kHz, which contains the eventual working range of the ISS (at least to my knowledge).
Note that OP27 op-amps were used instead of the high-speed AD829 op-amps that will be implemented in the actual design. This was done as a result of the limitations and inherent noise characteristics of the breadboard on which the prototype was built.
Unfortunately, I saved the wrong dataset (i.e. phase of the transfer function, not magnitude) and thus the presented function here is image generated by the SR785.
RXA: One must learn to use the python-GPIB interface to not lose data in the future.
In order to allow other individuals besides myself to consider the proposed design of the ISS, I have created a publicly available CircuitLab drawing, which can be found here: CircuitLab Drawing. For simplicity, I have used ideal op-amps without voltage rails or their associated power supplies. In the actual implementation of the ISS, we will most likely also have trim resistors to ensure a zero offset for each op-amp. We interpret the PD as a voltage source for simplicity and I will use an actual summing amplifier in place of the summing junction used in the diagram.
The diagram linked above is simply a naive copy of a design by Rich Abbott so there are most likely mistakes and/or unnecessary elements, but it is a work in progress. I began discussing, with Jamie, the relative use of the first few filter stages in the servo. As far as my understanding goes, the first 'stage' was part of cascade of op-amps that served to convert a differential input from the PD into a single DC signal referenced to ground. Indeed, the first stage of my diagram (U1) is simply a unity-gain low-pass filter with f~5 MHz. Additionally, the second filter 'stage', U2, is also a unity-gain low-pass filter although it introduces a phase shift of 180 deg as the input to the second stage is on the inverting input of the op-amp. These characteristics were determined using LISO and examining the transfer function.
Noise analysis was also performed for the above circuit. The noise from various elements is examined at the output of the servo (labeled as 'outU6' in my LISO file). In the attached diagram, we see the voltage noise at the output from each op-amp as well as the sum of all the various noises, which includes resistor noise and current noise from the inputs of each op-amp. These are LISO's standard considerations and it is also worthwhile to note that the result is not referred to the circuit input, but as we have the transfer function of the whole servo, referring the noise to the input is trivial.
I have also included the following output for the sake of completeness.
from 1 Hz onwards noise by OP:I+ (U3) dominates.
from 38.6812 Hz onwards noise by R(R24) dominates.
from 115.478 Hz onwards noise by R(R11) dominates.
General ISS Design
Signals through the ISS are directed as follows: an error signal is obtained by summing the ~5 V signal from the PD with a -5 V signal from a high precision voltage regulator (which is first filtered with an ~ 30 mHz low-pass Sallen-Key filter). It is this signal that is processed/amplified by the servo. The output from the servo is then used to drive an AOM (it is not known exactly how this is done and whether or not any preamplifier/extra circuitry is necessary). The resulting modulation, hopefully, reduces fluctuations in the laser intensity incident on the PD, lowering the relative intensity noise.
Almost the entirety of my focus has been directed toward designing the servo portion of the ISS. Speaking in general terms, the currently proposed design consists of stages of active op-amp filters, but now the stages will have internal switches that allow them to switch between ‘flat’ gain buffers and more complicated filters with our desired behavior. Consider some Example Filter Stages where I have demonstrated a typical switching filter with the switch open and closed. When the switch is closed, the capacitor is shorted and we simply have a variable gain buffer (variable in the sense that its gain can be tuned by proper choice of the resistances) with no frequency dependence. When the switch is open, the capacitor introduces a pole at ~100 Hz and a zero at ~1 kHz.
CircuitLab has decent analysis capabilities and attached are plots generated by CircuitLab. The first plot corresponds to a frequency analysis of the voltage gain of op-amp U1 and the ‘flat’ ~20 dBV gain filter with the switch closed and the capacitor shorted. The second plot is the same frequency analysis, but now with op-amp U2 and the filter with the switch open and the capacitor introduced into signal processing. This particular combination of resistors and capacitors produce a DC gain of 60 dBV, a pole at ~100 Hz, a zero at ~10 kHz and high frequency behavior of ~constant gain of 20 dBV. In this simulation, the gain-bandwidth product of the simulated op-amp (the standard op-amp CircuitLab uses) was artificially increased in order to see more ideal behavior in the higher frequency domain.
Switches like the above can be used to add boosts to some initial filter state (which could be like the above or possibly a simple integrator to achieve high DC gain) and change it into a more complex and more useful filter state advantageous for desired noise suppression. Cascades of these switching filters could be used to create very complicated transfer function behavior. No general servo has yet been designed as the exact details of the intensity noise requirements are still being determined.
With regards to the implementation of the switches, some ‘smart’ signal will be used to trigger a switch opening and the boost being introduced to the signal processing. The switches will be opened (open corresponds to adding the boost) in a manner that maintains stability of the servo circuit. Essentially, some sort of time delay or power monitor induced signal (power from the PD output) will be used to modify the servo's behavior.
How exactly the signal will drive the AOM for correct noise suppression is unknown currently.
In my previous post here, a new servo design was discussed. Although the exact design used will depend on the particular noise requirements for the 40m and the Bridge Labs (requirements will be considered separately for each application), I still have to yet to see those formalized. Despite this, I have been simulating an example servo circuit with three switchable stages. The design can be found at: New Servo.
Essentially, this circuit consists of three unity gain buffers that can be switched into different filtering states. Attached is a plot of the transfer function of this particular circuit with successive stages turned on. The curve (0) corresponds to all of the filters being switched off, so the total behavior is that of a unity gain buffer. The curve (1) corresponds to the first stage being turned on with the 2nd and 3rd still acting as unity gain buffers. This first state has a gain of ~80 dB at DC and a pole at ~10 Hz which sets the unity gain crossing at ~100 kHz. The curves (2) and (3) correspond to the second and third stage being turned on, respectively. Each of these stages has a pole at DC (i.e. ~infinite gain) and a zero at 10^4 Hz. For f > 10^4 Hz, these stages have gain ~ 1, as we can see in the transfer function below.
I have also performed some noise analysis of this circuit. Attached are a few plots produced by LISO showing the resistor and op-amp noise separately (it was too cluttered on one plot) at the output node of the servo. Both of these plots have a "Sum Noise" trace, which is the sum for every circuit element and is thus identical between plots. The third noise spectrum included is simply the noise at the output referenced to the input with the previously computed transfer function. I'm not sure if there is a simple method embedded in LISO to reference the noise at the output node to the input, but it should be as simple as numerically dividing the noise spectrum by the transfer function between input and output.
Next, I will be attempting time-dependent simulations of this simple circuit using delayed switches instead of manually controlled ones.
Following Tara's noise budget, I have developed the following ISS, whose transfer function was computed with LISO and is also displayed below. The transfer function was computed from the output of the differential amplifier circuit (i.e. it does not include the portion of the schematic in the dashed box). The differential amplifier is included for completeness. Essentially, the resistor values of this portion (and even the voltage reference if need be) can be modified to handle various signals from PDs in different experiments. Some filtering may also be applied to the signal from the voltage reference. In previous designs for the ISS, a ~30 mHz low-pass filter applied to the output of the voltage reference has also been proposed.
LISO was also used to compute the input-referred noise of this circuit. Using the response function of Tara's PD the noise spectrum was converted from [V / sqrt(Hz)] to [W / sqrt(Hz)] and then subsequently converted to a frequency noise spectrum, specifically [W / sqrt(Hz)] to [Hz / sqrt(Hz)], using the following transfer function which couples RIN to frequency noise in the CTN experiment. In these particular units, we can make a direct comparison between the inherent noise contribution from the servo itself and other more significant noise contributions shown earlier in Tara's noise budget. Indeed, the servo contributes significantly less noise.
This servo has been prototyped on a breadboard and will soon be characterized with the SR785. Additionally, schematics will be drawn up in Altium and eventually put on PCB.
Additional servos for other experiments can be designed once various requirements for noise suppression are explicitly formalized.
Following the circuit design in elog 8748, I constructed a prototype for the servo portion of the ISS (not including the differential amp) to be used in the CTN experiment. The device was built on a breadboard and its transfer function was measured with the Swept Sine measurement group of an SR785. For various excitation amplitudes, the transfer function (TF) was not consistent.
Recall the ideal transfer function for this particular servo and consider the following comparisons.
This gain limitation is problematic for characterizing prototypes as my particular servo has very large gain at low frequencies.
At the risk of looking too deeply into the above data,
Unfortunately, the noise was too large for lower excitation amplitudes to be used to any effect. I'll try this again tomorrow, just as a sanity check, but otherwise I will proceed with learning Altium and drawing up schematics for this servo.
As I showed in [elog 8759], measuring the transfer function of my prototype servo was difficult due to physical limitations of either some portion of the construction or even the SR785 itself. To get around this, I tried using lower input excitation amplitudes, but ran into problems with noise.
Finding a TF consistent with theoretical predictions made by LISO was easy enough when I simply measured the TF of each of the two filter stages individually and then multiplied them to obtain the TF for the full servo. I still noticed some amount of gain limitation for 100 mV and 10 mV inputs, although I only had to lower the input to 5 mV to avoid this and thus did not see significant amounts of noise as I did with a 1 mV input. The individual transfer functions for each stage are shown below. Note that the SR785 has an upper cutoff frequency of 100 kHz so I could analyze the TF beyond this frequency. Additionally, the limited Gain Bandwidth Product of OP27 op-amps (used in the prototype) causes the magnitude and phase to drop off for f > 10^5 Hz approximately. The actual servo will use AD829 op-amps which have a much larger GBWP.
The measured TFs above are very close to ideal and agree quite well with theoretical predictions. Based on the [circuit schematics],
Indeed, this is exactly what we can see from the above two TFs. We can also multiply the magnitudes and add the phases (full_phase = phase1 + phase2 - 180) to find the TF for the full servo and compare that to the ideal TF produced by LISO,
And we find exceptionally consistent transfer functions, which speaks to the functionality of my prototype
As such, I'll proceed with designing this servo in Altium (most of which will be learning how to use the software)
Note that all TFs were taken using the netgpibdata python module. Measurement parameters were entered remotely using the TFSR785.py function (via control room computers) and following the examples on the 40m Wiki.
I'm working on developing a full noise budget for the 40m. To that end, I'll use measurements from the GUR1 seismometer to characterize seismic noise. Without any unit calibration, I found the following spectrum,
To extract useful information from this data, I first used the calibration from "/users/Templates/Seismic-Spectra_121213.xml" to obtain the spectrum in [m / s / sqrt(Hz)].
calibrated_data = raw_data * 3.8e-09
I then divided each point in the power spectrum by the frequency of said point to obtain [m / sqrt(Hz)]. I don't think we can simply divide the whole spectrum by 40 meters to obtain [RIN / sqrt(Hz)], although that was my immediate intuition. Having power spectra of all the major noise contributions in units of [RIN / sqrt(Hz)] would make designing an appropriate filtering servo fairly straightforward.
While attempting to develop a somewhat accurate noise budget for the 40m, I reasoned that while the shape of the transfer function for the ISS is important, the degree to which we can 'tune' it to a particular experiment/application is limited.
Beyond that, we're sort of limited by the desired high and low frequency behavior as well as the general principle that more electronics = more noise so we probably don't want more than 3 or 4 filter stages, if that. Additionally, the ISS can be over-engineered so that it suppresses the laser noise to levels well below other fundamental noise sources over the important regime ~10 - 10^3 Hz without particular regard to a noise budget.
The design I propose is very similar to a previous design, with a few adjustments. It consists of 3 filter stages that easily be modified to increase gain for higher frequencies if it is known/determined that the laser being stabilized has a lot of high frequency noise.
Stage 1: Basic LP Filter + Establish UGF (each stage 'turning on' will not change the UGF), Stage 2: Integrator with zero @ 10 kHz, Stage 3: Optional extra gain if necessary
With the full TF given by,
As usual we consider the noise caused by the servo itself. Noise analysis in LISO is done with a 1 V input excitation.
This servo should function sufficiently for the 40m.
After familiarizing myself with Altium, I drew up the attached schematic for the ISS to be used in the CTN experiment. The filename includes 'abbott-switch' as I am using an Altium component (the switch, in particular), that he created. The MAX333A actually has 20 pins on a single component, but the distributed component that he created is useful for drawing uncluttered schematics. I won't be using all of the pins on this switch, but for completeness, I have included the 3rd and 4th portion of the full component in the upper right hand corner.
Currently, the schematic includes the voltage reference (AD586), a LP filter for the reference signal, the differential amplifier stage to obtain the error signal and then finally all of the filter stages. The schematic does not include the RMS detection and subsequent triggering of each filter stage. The TRIGGER 1 signal is a user input (essentially the on button) while the TRIGGER 2 signal will flip the second switch when the RMS noise has decreased sufficiently after the first filter stage has been turned on.
PCB layouts will be done once I understand that part of Altium
NOTE THAT I HAVE DELETED ELOG 8798 AS IT WAS A DUPLICATE OF THIS ONE.
I wanted this elog to be in reply to a previous one and I couldn't figure out how to change that in an elog I already submitted.
There are essentially two major portions of the ISS I am designing. One system has the voltage reference, differential amplifier and filtering servo (schematic attached) while the other has a comparator circuit and a triggering mechanism. The first system amplifies an error signal obtained from the PD output and the voltage reference, which is then fed back through the AOM. I've done a lot of work designing/prototyping this first half and now I'm starting to design the second half.
The second system's main purpose is to maintain loop stability as the ISS is engaged. Let's assume a user has decided they want noise suppression. They would first close the ISS feedback loop and an error signal would pass through three unity-gain buffers, providing minimal noise reduction. The user can then send a signal to theTRIGGER 1 port to switch the first stage from its unity-gain position to its filtering position and reduce the intensity noise further. This signal will most likely be digital in origin. Alternatively, when the user first closes the ISS loop, the first stage can already be in its filtering position rather than necessitating two commands.
A test channel (not drawn in the included schematic) will monitor the RMS level of the incoming signal from the PD. This noisy AC signal will first be amplified and then passed through an RMS-to-DC converter. The resulting DC signal is used as a part of the triggering mechanism for later stages. Once the first stage has been switched manually, and the DC signal corresponding to RMS noise of the PD output drops below a certain threshold, stages 2 and 3 will be internally triggered with a short delay between them. Toward being able to detect this threshold, I have designed a simple comparator circuit with an LT1016. The circuit has a fairly low-level output when the input voltage is larger than the threshold (about 1.6 V for my simple prototype), but when the input passes below the threshold, the comparator puts out almost 4 V, a number limited by the supply voltage. The schematic is shown below.
The component V2 and the various voltage dividers serve to establish the reference/threshold voltage. Note that although the LT1016 is not powered in the schematic, it requires ±5 V (a max of 7 V). The above circuit was also prototyped on a breadboard and I characterized it with an oscilloscope. Using a CFG253, I made a low frequency (~0.3 Hz) triangle wave with an amplitude and DC offset such that it oscillates between 0 and 5 V. This was applied to the IN node in the above schematic. The input waveform and the circuit's response (voltage at the OUT node) are shown below. As expected, R2 serves to establish hysteresis. The comparator switches to 'high' output until the input drops below 1.6 V, and then it doesn't switch back to the 'low' output until the input goes up to ~3.4 V.
This behavior is ideal for our application as we can detect when the DC signal from the RMS-to-DC converter drops below a certain level (i.e. the first stage that has been activated does some amount of filtering to lower RMS noise), and then we can trigger subsequent filter stages off of the comparators high-level output.
This circuit could easily be used to drive the MAX333a switches shown in the first schematic attached. I believe the low-level output is not sufficient to switch the MAX333a although the ~4 V high-level output is quite sufficient. Regardless, these exact values (thresholds, outputs etc) will be determined after I have a better idea of the RMS noise of the laser without any intensity stabilization as well as a solid understanding of how the AD8436 RMS-to-DC converter works. This was simply a proof of concept for lower threshold detection using basic Schmitt trigger topology.
I went out on the floor to look at the transmitted signal from the PMC to get a rough idea of the noise of the unstabilized laser. There was already a scope hooked up so I just used the measurement features to find the following:
Signal average = 875 mV. Peak-to-Peak noise = 45 mV
Assuming the noise can be approximated as Gaussian noise, the heuristic for converting to RMS noise of the signal is RMS = Peak-to-Peak / 8 (or Peak-to-Peak / 6, I've used both...)
-> RMS Noise ~ 6.5 mV
When designing my filtering stages and RMS detection/triggering, I'll use relative RMS, i.e. 6 mV / 875 mV = 0.007, as a measure of unstabilized laser noise.
It would be better to measure the power spectrum density of the fluctuation.
The RMS does not tell enough information how the servo should be.
In deed, the power spctrum density gives you how much the RMS is in the entire or a specific frequency range.
It would be better to measure the power spectrum density of the fluctuation.
The RMS does not tell enough information how the servo should be.
In deed, the power spctrum density gives you how much the RMS is in the entire or a specific frequency range.
I wanted the RMS noise simply to establish a very rough estimate of thresholds on RMS detectors that will be part of my device. If you refer to elog 8830, I explain it there. Essentially, when the ISS is first engaged, only one of the 2 or 3 filter stages will be active. Internal RMS threshold detection serves to create a logic input to switch subsequent filters to their 'on' stage.
Here I have included the full schematic (so far) of the proposed ISS. There are two sheets: the first schematic details the filter stages and their accompanying circuitry while the second schematic details the RMS threshold detection and subsequent triggering.
The first schematic is fairly self explanatory as to what different portions do, and I have annotated much of the second schematic as there are some non-traditional components etc.
I have not yet included some mechanism to adjust the threshold voltage in real time or any of the power regulation, but these should follow fairly quickly.
I have made significant changes to the ISS schematic, mostly in the form of adding necessary subsystems.
Some changes I have made:
On the front page, all inputs and outputs are currently BNC ports, although this is most likely not the final design that will be used. For instance, the ports ENABLE, INPUT GND and INVERT are supposed to be logic inputs for a MAX333a switch. These will most likely be front panel switches that either connect the switch's logic pin to GND (Logic 0) or something like a +5 V supply (Logic 1).
I also have not included power regulation for my board although I have some of the actual D1000217 Chasis Power Regulator boards and I'll incorporate those in my design soon.
I realized I totally forgot to post this last week, but I prototyped the comparator and boost triggering portion of the ISS, at least in part. Below is a schematic that shows the prototype circuit I made. Note that it includes ports for the oscilloscope channels that appear in the second image included. Essentially, I was able to verify that the output from the LT1016, as it's currently constructed in the ISS schematic, would be sufficient logic to switch the MAX333a.
Below, we can first see that the comparator is switching its output as desired. When the DC level of the input drops below a certain threshold (~1.6 V) the output of the comparator switches on to ~4 V. When the DC level of the input goes back up above the upper threshold (~3.2 V), the comparator switches off to ~0.3 V. The exact values of the threshold voltages can be determined/tuned at a later date, but this is the basic behavior that the comparator circuit will have.
To detect whether or not the MAX333a was switching properly, I connected the common terminal of one of the switches to a +5 V supply, and looked at the voltage coming off both the 'open' and 'closed' terminals of said SPDT switch. We can see that with Logic 0 (comparator output ~0.3 V) Channel 4 exhibits a ~5 V signal, just as we would expect from the above schematic. With Logic 1 (comparator output ~4 V), Channel 3 exhibits the characteristic 5 V signal.
I constructed a regulator board that can take ±24 V and supply a regulated ±15 V or ±5 V. I followed the schematics from LIGO-D1000217-v1.
I was going to make 2 boards, one for ±15 V and one for ±5, but Chub just gave me a second assembled board when I asked him for the parts to construct it
More changes that I've made:
In PSL elog 1270, Evan elucidated the explicit requirements for the CTN ISS board. Essentially, the transfer function of the ISS should be something like:
TF_mag = (Unstabilized RIN) / (Calculated RIN Requirement)
I took Evan's data and did exactly this. I then designed a servo (using the general design I proposed here) to meet this requirement with a safety factor of ~10. By safety factor, I mean that if the ISS operates exactly according to theory, it should suppress the noise by a factor of 10 more than what is necessary/set out by the requirement. Below is a plot of the loop gain obtained directly from the requirement (the above expression for TF_mag) and the transfer function of the servo I am proposing.
I don't have the actual schematics attached as I was working with a LISO file and have yet to update the corresponding Altium schematic. The LISO file is attached and I will add the schematics later, although one can reference the second link to find a simple drawing.
# Stage 1
r R31 1.58k in n_inU3
op U3 ad829 p_inU3 n_inU3 outU3
r R35 1k p_inU3 gnd
c C33 1u p_inU3 gnd
c C32 10n n_inU3 outU3
r R34 158k n_inU3 outU3
# Stage 2
#r R41 15.8 outU3 n_inU4U5
Attached is the finalized schematic. The general circuit topology should remain the same from this point forward, although individual component values are subject to change. I will also be adding some more annotations to ensure everything on the board is clear.
In general, I have finally included all of the correct components (i.e. front panel switches are now actually switches and front panel LEDs are now included). I also added an external 'Boost' switch, which can be used to enable or disable the boosts. The motivation for including this switch is that one might want to test functionality of the ISS without using the 'fancy' RMS detection and triggering circuitry. Additionally, one can disable the boosts when all the circuitry is stuffed in order to troubleshoot, so it essentially grants the board some flexibility in its operation.
I am now working on the PCB layout and I should hopefully have that done next week.
I goofed on the transfer function requirement by not giving you the plant transfer function, which looks to be about 0.014 V/V, independent of frequency (PSL:1278). This needs to be compensated for in the electronic transfer function.
After many, many moons of getting to know exactly how frustrating Altium can be, I have completed the PCB layout for my ISS board (final page of ISS_v3.pdf).
Before I get into detail about the PCB, there is one significant schematic change to note: the comparator circuit was changed (with significant help from Koji) so that the voltage reference for boost triggering is established in a more logical way. Instead of the somewhat convoluted topology I had before, now there are only two feedback resistors, R82 and R83. Because their resistances (500k and 50k respectively) are so much larger than the total resistance of the 1k potentiometer (used to establish a tunable threshold voltage), the current flowing through the feedback loop is negligible compared to the 5 mA current flowing through the potentiometer (the pot is rated for 2 W and with 5 mA -> 25 mW dissapation). This allows one to set the threshold voltage for my schmitt trigger, at pin 2 of both the pot and the comparator, entirely with the pot. This trigger also has hysteresis given by the relation deltaV ~ (R83/R82) * (Voh - Vol) where deltaV is the separation between threshold voltages, Voh is the high-level comparator ouput and Vol is the low-level comparator output. Koji simulated this using CircuitLab and I plan to verify the behavior by making a quick prototype circuit.
Now, on to the PCB. The board itself is of a 'standard' LIGO size (11" x 6") has 3 routing layers and 3 internal planes, one for +15 V, one for -15 V and one for GND. In the attached pdf, red is the top routing layer, blue is the bottom layer and brown is the middle routing layer (used for ±5 V exclusively). The grey circles are pads and vias (drilled through) and anything in black is silkscreen overlay. I placed each component and track by hand, attempting to minimize the signal path and following the general rules below,
Sections of the board have been partitioned and labeled with silkscreen overlay to help in both signal pathway recognition as well as eventual troubleshooting.
On the board, I have also included holes so that it can be mounted inside of an enclosure. There is a DCC number printed as well as a 'barcode' (TrueType font: IDAutomationC39S), although they both contain filler asterisks as I haven't published this to the DCC and thus do not have a number.
[Rana, Nic, Evan]
We did some work today on getting the AOM back up and running so that we can implement an SR560-based ISS.
We've removed the 18 AWG wire that was previously used to power the driver and have replaced it with a 12 AWG twisted pair (black and white, enclosed in a single gray cladding). This pair runs into the PSL rack's 24 V terminal block with a 2 A fuse. We've also replaced the cable connecting the AOM to the driver; it's now RG405.
Also disconnected the power to the old Kalmus FSS crystal driver box and turned it off. It was powered illegally. Also disconnected the power connection between the Sorensen and the old ISS AA chassis since it was wired directly without any fuse (which is a code violation). It will stay off until someone uses a proper fuse and wiring to hook it back up.
Previously in elog 8959, I gave a very simple method for determining the noise suppression behavior of the ISS. Recently, I recalculated this requirement in a more correct fashion and again redesigned the ISS to be used in the CTN experiment.
Just as before, the data from PSL elog 1270 is necessary to infer a noise suppression requirement. The data presented there by Evan consists of two noise spectra, 1) the unstabilized RIN presently observed in the CTN experiment readout and 2) the theoretical brownian noise produced by thermal processes in the mirror coating+substrate. The statement "TF_mag = (Unstabilized RIN) / (Calculated Brownian Noise Limit)", where TF_mag refers to the required open-loop gain of the ISS, is actually a first order approximation of the 'required' noise suppression. In fact if we wanted the laser noise to be suppressed below the calculated brownian noise level, it is more correct to say
Closed-loop ISS gain = (Calculated Brownian Noise Limit) / (Unstabilized RIN)
As this essentially gives a noise suppression spectrum i.e. a closed-loop gain in linear control theory. Below is a very simple block diagram showing how the ISS fits into the CTN experiment. The F(f) block represents my full servo board.
Some of the relevant quantities involved:
So looking at the block diagram, our full closed-loop transfer function is given by,
So then to determine the required F(f), i.e. the required transfer function for my servo, we consider the expression
The plant transfer function is simply Plant = (C(f) * a * P * A) ~ 0.014 V/V, where I have ignored the cavity pole around 97 kHz as our open-loop transfer function ends up crossing unity gain around 10 kHz. In the above, I have included what I call a 'safety factor' of 10. Essentially, I want to design my servo such that it suppresses noise well beyond what is actually required so that we can be sure noise contributions to experiment readouts are not significantly influenced by the laser intensity noise.
Using the data Evan reported for the brownian noise and free-running RIN, I came up with an F(f) to the meet the requirement as shown below.
Where the blue curve includes the safety factor mentioned before. This plot just demonstrates that using my modular ISS design, I can meet the given noise suppression requirements.
To be complete, I'll say a little more about the final design. As usual, the servo consists of three stages. The first is the usual LP filter that is always 'on' when the ISS loop is closed. The boosts I have chosen to use consist of an integrator with a single zero and a filter that looks somewhat like a de-whitening filter. The simulated open-loop transfer functions are shown below.
Right near the end of summer, I had an ISS board that was nominally working, but had a few problems I couldn't really sort out. Since I've been back, I've spent a lot of time just replacing parts, trying different circuit topologies and generally attempting to make the board function as I hoped it might in all those design stages. Below is a brief list of some of the problems I've been fixing as well as the first good characterization of the board transfer function that I've been able to get.
We'll start with some of the simple problems and proceed to more complicated ones.
The above list encompasses all the issues I've had in making the ISS board function correctly. No other major problems exist to my knowledge.
I was able to measure both the open- and closed-loop transfer functions of the servo with the SR785. The results are shown below.
The transfer function with the boosts on caps at a particular value set by op-amp railing, i.e. below 100 Hz, the op-amps are already putting out their max voltage. This is the usual physical limitation when measuring the transfer function of an integrator. We can also see that the measured phase follows the simulated phase above ~300 Hz. The 'phase matching' at low frequency is again do to the op-amp railing in the servo output..
The closed-loop gain is shown below,
The measured closed-loop gain with the boosts on again matches the LISO simulation quite well except at low frequency where we are limited by op-amp railing. We compare the measured closed-loop transfer function to the desired noise suppression stipulated in my previous elog 9331,
And we might hopefully conclude that my servo functions as desired. One should note that the op-amp railing seen in these measurements is not indicative of limitations we might face in some application of the ISS for the following reason. These transfer functions were measured with a 100 mV excitation signal (it is necessary to keep this signal amplitude large enough so that the inherent signal-to-noise ratio of the excitation source is large enough for accurate measurement) which leads to somewhat prompt railing of the op-amps. When the ISS operates to actually stabilize a laser, the input error signal will be much smaller (on the order of a few 10's of mV or less) and will decrease significantly assuming correct operation of the ISS. This means we won't see the same type of gain limitations.
What now, you ask?
Aside from the problem with the AD8436 chip, the ISS board seems to be functioning correctly. The transfer functions we have measured are correct to within the component tolerances and all of the various subsystems are behaving as they were designed to. Moving toward the goal of having this system work in situ for the CTN experiment, I need to do the following things,
So close, or so I say all the time
We have implemented an SR560-based ISS loop using the AOM on the PSL table. This is a continuation of the work in 40m:9328.
We dumped the diffracted beam from the AOM onto a stack of razor blades. This beam is not terribly well separated from the main beam, so the razor blades are at a very severe angle. Any alternatives would have involved either moving the AOM or attempting to dump the diffracted beam somewhere on the PMC refl path. We trimmed the RF power potentiometer on the driver so that with 0.5 V dc applied to the AM input, about 10% of the power is diverted from the main beam.
We ran the PMC trans PD into an AC-coupled SR560. To shape the loop, we set SR560 to have a single-pole low- pass at 300 Hz and an overall gain of 5×104. We take the 600 Ω output and send it into a 50 Ω feed-through terminator; this attenuates the voltage by a factor of 10 or so and thereby ensures that the AOM driver is not overdriven.
The AOM driver's AM input accepts 0 to 1 V, so we add an offset to bias the control signal. The output of the 50 Ω feedthrough is sent into the 'A' input of a second SR560 (DC coupled, A − B setting, gain 1, no filtering). Using a DS345 function generator, a 500 mV offset is put into the 'B' input (the function generator reads −0.250 V because it expects 50 Ω input). The 50 Ω output of this SR560 is sent into the AOM driver's AM input.
A measurement of suppressed and unsuppressed RIN is attached. We have achieved a loop with a bandwidth of a few kilohertz and with an in-loop noise suppression factor of 50 from 100 Hz to 1 kHz. This measurement was done using the PMC trans PD, so this spectrum may underestimate the true RIN.
AOM driving from DAC:
I found that the DAC channels for TT3 and TT4 are connected up in the simulink model, but we aren't using them, since we don't actually have those tip tilts installed. So, we hooked up the TT4 LR DAC output, which is channel 8 on the 2nd set of SMA outputs. We put our AOM excitations into TT4_LR_EXC.
A small followup measurement. Here are spectra of the MC trans diode with and without the ISS on. The DC value of the diode (in counts) changed from 17264.2 (no ISS) to 17504.3 (with ISS), but I didn't account for this change in the plot.
There is a small inkling of benefit between 100Hz and 1kHz. Above about 100Hz, the RIN is suppressed to about the noise level of this measurement. Below 100Hz there is no change, which probably means that power fluctuations are introduced downstream of the AOM, which argues for an outer-loop ISS down the road.
Atm #2 is in units of RIN.
I have disconnected the cable from the SR560 to LSC -ch8 for 15minutes this morning. It is moved from the floor to the top of the chambers as preparation for 40m tour. The SR560 seems to be overloading.
The ISS servo is off according to the MEDM screen. Why MC-T plot showing zero? The MC was happy yesterday.
Back in November, Nic and Evan turned on an SR560 based ISS. It uses the PMC TRANS PD as the error signal and makes an AC coupled loop with 2 SR560's and then it drives the RF amplifier which drives the AOM upstream of the PMC.
This was the saturating SR560 under the PSL table that Steve found this week*. Tonight I found that the +24 V rack fuse for this was blown. I replaced the previous 2A fuse with a new 2A fuse (turned off the +/24 V Sorensens during this operation). I think all of the servo settings are basically the same as before, except that I'm using a gain of 10000 instead of 50000 on the first SR560. It was saturating otherwise. My guess is that the fuse blew many months ago and no one has noticed...
I checked the out of loop performance in MC_TRANS and in the IFO REFL_DC and there's some high frequency improvement with the loops on.
The main improvement, however, was in lowering the HEPA fan speed. This should only be turned up to Hurricane when you are working on the table. Similarly, those of us trying to lock at night, can't really trust that the HEPA is set to its nominal low setting of 20%. The whole difference in the MC_TRANS from 5-50 Hz is from this however, so we can use this ISS reference .xml as a way to see if the HEPA is up too high.
If we want to do better for RIN from 100-1000 Hz for improving the REFL_DC/CARM noise, we would have to think of how to improve the PMC_TRANS PD RIN.
* Steve gets +1 point for finding this, but then -3 points for not elogging.