In the "Tommy" sub folder, I created a new notebook called "SimpleToneGenerator". This tunes the DAC and ADC mixers to a single frequency and reads off the Time Series and Fourier components. We can alos easily check the demodulation scheme and implement butterworth filters to check their function.
In this file (under Tommy), we have a notebook which runs through a spectrum of frequencies and determines the gain response of the attached filter. Below we have the output of a high pass filter. We use IQ demodulation to change IQ componets to DC. Then using a butterworth filter, we read out the DC components and determine the gain's magnitude and phase. However, the phase seems very noisy. This is because the oscillators in the different tiles are independent and a random phase is introduced by changing the mixer frequency in individual tiles. To resolve this we need Multi Tile Synchronization or "MTS".
Original Pynq Support Forum Query: https://discuss.pynq.io/t/rfsoc-2x2-phase-measurement/3892
We also have the code to fit a resposne function using IIRregular, but this is not as useful without proper phase data.
Here are a few options for replacement BALUNs from Mini Circuits and specs:
Current. TCM1-83X+, 10-8000 MHz, 50 Ohms, Impedance Ratio 1, Configuration K
1. Z7550-..., DC-2500 MHz (some DC-2300), 50/75 Ohms, Impedance Ratio 1.5, Configuration Q. There are various types of the Z7550 which have different connectors (SMA and BNCs). These have much larger dimensions than the TCM1-83X. Can handle up to 5A DC current with matching loss 0.6 dB.
2. SFMP-5075+, DC-2500 MHz, 50/75 Ohms, Impedance Ratio 1.5, Configuration D. This is an SMA connected BALUN. It can handle 350mA, has a matching loss 0.4 dB, and has 1W power handling.
Seems like it should be possible to just remove the transformer (aka as a BALUN ... BALanced, UNbalanced), or replace it with a lower frequency part. Its just a usual mini-circuits part. Maybe you can ask Chris Stoughton about this and ask Tommy to checkout some of the RFSoC user forums for how to go to DC.
After fiddling around with the tone-generators and spectrum analyzer tools in loopback configuration (DAC --> ADC direct connection), we noticed that lower frequency (~ 1 MHz) signals were hardly making it out/back into the board... so we looked at some of the schematics found here and saw that both RF data converters (ADC & DAC) interfaces are AC coupled through a BALUN network in the 10 - 8000 MHz band (see Attachment #1). This is in principle not great news if we want to get this board ready for audio-band DSP.
We decided that while Tommy works on measuring TFs for SHP-200 all the way up to ~ 2 GHz (which is possible with the board as is) I will design and put together an analog modulation/demodulation frontend so we can upconvert all our "slow" signals < 1MHz for fast, wideband DSP. and demodulate them back into the audio band. The BALUN network is pictured in Attachment #2 on the board, I'm afraid it's not very simple to bypass without damaging the PCB or causing some other unwanted effect on the high-speed DSP.
We recieved an overlay from Chris Stoughton which he used for a ZCU11 board. The overlay is supposed to be compatible with the RFSoC 2x2 and help enable the Multi-Tile Synchronization (MTS) we need. He also provides a .py with the necessary low level connection to the board and its memory along with a few sample notebooks.
Progress So Far:
We connected a 8 MHz signal generator to the device in order to sync up the ADCs and DACs and hopefully get phase data.
Some things to note:
Xilinx RF Manual: https://docs.xilinx.com/v/u/2.4-English/pg269-rf-data-converter
We followed the manual's guide for setting up MTS to sync on external signal. In the xrfdc package, we update the RFdc class to have RunMTS, SysRefEnable, and SysRefDisable functions as prescribed on page 180 of the manual. Then, we attempted to run the new functions in the notebook and read the DAC signal outputs on an oscilloscope. The DACs were not synced. We were also unable to get FIFOlatency readings.
Finished building power spectrum analyzer for the RFSoC. There are two things that I would like to address down the road. First is that there is an oscillation between positive and negative voltages at the ADC sampling frequency. This creates an undesirable frequency component at the sampling rate. I have not yet figured out the cause of this positive to negative oscillation and have simply removed half of the samples in order to recover the frequency. Therefore, I would like to figure out the root of this oscillation and remove it. Also, we have a decimation factor of 2 as default by the board which we would like to remove but have been unable to do so.
Example: 8 MHz Square Wave from SRL signal generator.
With some help from the forums, we printed the status of the DAC MTS sync and were able to determined that our board's vivado design does not have MTS enabled on each tile. To fix this, we will need to construct a new Vivado desgin for the board. We were also warned to "make sure to generate correctly a PL_clock and a PL_sysref with your on board clock synthesizers and to capture them in the logic according to the requirements in PG269" of the RF Manual. From this we should be able to sync the DAC and ADC tiles as desired.
2. Weighted screw rod at the bottom for tilting the mirror-holder:
The screw length selected here (2") is not interfering with any part of the assembly.
The 'weights' I have here are just thumb nuts from Mcmaster, so their weight is fixed (1.65g each, btw).
Problem I'd like to solve: Find an assortment of weighted, symmetric nuts with caps on one end to fix position on shaft.
3. Set-screws on both side of wire clamp to adjust its horizontal position:
Thanks for pointing out the mismatch in travel distance of protrusion and clamp screws. To match them, the clamp screw slot now sticks out of the profile (by 1.5mm). The range of the clamp motion is +/- 3 mm.
Also, here's a screenshot of the slot in the mirror holder:
- Excluding the weighted screw rod assembly, the height gap between assembly COM and wire release point is 3.1 mm.
> 2. Weighted screw rod at the bottom for tilting the mirror-holder:
Too long. The design of the holder should be check with the entire assembly.
We should be able to make it compact if we heavier weights.
How are these weights fixed on the shaft?
Also can we have options for smaller weights for the case we don't need such a range?
Note the mass of the weights.
> 3. Set-screws on both side of wire clamp to adjust its horizontal position:
How much is the range of the clamp motion limited by the slot for the side screws and the slot for the protrusion? Are they matched?
Can you show us the design of the slot made on the mirror holder?
Where is the center of mass (CoM) for the entire mirror holder assy and how much is the height gap between the CoM and the wire release points. Can you do this with 3/8" and 1/2" fused silica mirrors?
Current objectives and statuses:
40m Lab CAD
1. 40m_bldg.dwg has 2D drawing of the 40m building
2. 40m_VE.dwg has the Vaccuum Envelope.
3. 40melev.dwg has the relative positioning between (1) and (2).
4. All files can be found in Dropbox folder [40m SOS Modeling], which should be renamed to [40m CAD].
5. Next step would be to add the optical table, mirrors.
1. Current objective: (refer to D070172) - Increase the length of the side arms (so it matches the dimensions of D960001), while keeping the test mass subassembly at the same height.
2. Future objective: Resonant frequency FEM of the frame (sans the test mass), and then change height to get the desired frequency.
40m CAD Project
Rendered the SOS assembly (D960001) with correct materials and all and it looks very nice. Will extend this to the building cad later.
Tip-Tilt Suspension CAD:
Discussed with Koji about motivation to simplify the design of this assembly, which has many unnecessary over-constraints. I have started to cad alternate parts with the aim of removing these over-constraints.
40m Lab CAD:
Acquired a stack of original engineering drawings of the vacuum chambers from Steve which I will take home, get scanned, and then use as reference for the cad i'm working on.
Started paperwork at west bridge office to get paid as an "occasional employee". Hopefully I receive old money.
40m Lab Cad:
Updated the dimensions of and fleshed out the chambers in greater detail, by referring to the engineering drawings that Steve gave to me. I have scanned and uploaded most of these drawings to Dropbox in [40mShare]>[40m_cad_models]>[Vacuum Chamber Drawing Scans]. The excel file "LIGO 40m Parts List" in the [40m Lab CAD] folder also lists the Steve drawings I referenced for dimensions of each part.
1. Finish details of all chambers.
2. Start placing representative blocks on the optical table.
I have more or less finished cadding the test mass chamber by referring to the drawings Steve gave me. Finer details like lugs and bolts and window flaps can be left for later. Here's a quick render:
1. Optical Table Layout
I had discussed with Koji a way to record coordinates of optical table equipments in a text file, and load to solidworks. The goal is to make it easier to move things around on the table in the CAD. While I have succeeded in importing coordinates through txt files, there is still a lot of tediousness in converting these points into sketches. Furthermore, the task has to be redone everytime a coordinate is added to or changed in the txt file. Koji and I think that this can all be automated through solidworks macros, so I will explore that option for the next two weeks.
2. Vacuum Chamber CADs
Steve will help find manufacturing drawings of the BS chamber. I have completed the ETM chambers, while the ITM ones are identical to them so I will reuse parts for the CAD.
Tip-Tilt Suspension Design:
Designed a new ECD plate and changed dimensions of the side arms after discussing with Koji. After getting feedback on the changes, I will finish the assembly and send it to him to get approved for manufacturing.
Tip-Tilt Redesign Project with Koji:
Did further itirations to the ECD backplate. Going to determine minimum thickness between magnet hole and plus sign for eddy current damping.
Chamber optical table layouts
Finished the positioning of optics and instruments in SolidWorks for the Vertex chambers. The reference for positioning is "40m_upgrade_layout_Dec2012.dwg", and solidworks files I created are in the main 40m CAD folder.
Here’s a quick summary of the Tip-Tilt Design updates (all files are in the dropbox in [TipTiltSus>TT_New]) that I have been working on with Koji and Steve's help.
1. Plate on top to hold mirror in place:
The plate is 0.5 mm thick. I did a rough FEA with 10 N force on the point of pressure on it, and it bent easily.
I did a very simplified free body analysis to calculate the required length of the rod to achieve a +/- 15 mRad tilt, and got around 1.5 inches.
1. Used the same screw size in most places to reduce complexity.
2. The mirror holder I have worked on is a little different from the actual piece I have on my table. Which one do you prefer (Koji)?
Request to Koji to acquire the drawings or 3D CAD of the cantilever suspensions of the Tip-Tilt Assembly!
Final Summary of changes to mirror holder in Tip-Tilt holder.
Determining minimum range for Side Clamp:
1. The initial distance b/w wire-release point and mirror assembly COM = 0.265 mm
2. But this distance is assuming that wire-release point is at mid-point of clamp. So I'm settling on a range of +/- 1mm. The screenshots below confirm range of ~1mm between (1) side screw & protrusion and (2) clamp screw and clamp.
Determining length of tilt-weight assembly rod at the bottom to get 20mRad range
The tilt-weight assembly is made from following Mcmaster parts:
Rod - 95412A864 18-8 SS #2-56 Threaded Rod
Nuts - 91855A103 18-8 SS #2-56 Acorn Cap Nut
Since the weights are fixed, only rod length can be changed to get the angle range.
So a range of 1 mm between nut's inner face and mirror-holder face should be enough. Since holder is 12 mm thick, rod length = 12mm + 2 x 1mm + 2 x (nut length) = 12 + 2 + 9.6 = 23.6 mm = 0.93 inch. So a 1" rod from Mcmaster will be fine.
I updated the design requirements for the Stewart platform. I weighed the unloaded "dirty" SOS that was sitting on the workbench in the control room; its mass is 11 kg. Steve suggested that the OSEMs (not installed on this model) would add another 0.5 kg. From the specs in the final SOS design document, LIGO-T970135, I added 0.25 kg for the optic itself; I am therefore taking the total payload mass to be 11.75 kg. (Now, the upper stage of the Stewart platform itself will likely add a nontrivial amount, but I am not worrying about this yet.)
I have e-mailed Janeen Romie to obtain the actual center of mass and principal moments of inertia of the platform. I also cooked up a simple scheme to measure both quantities, should this information not be available. It would involve rigidly mounting the dirty SOS to a rigid bar hung from a pivot. By translating the mount point in two dimensions and measuring the period of the pendulum, I ought to be able to find the center of mass and moments of inertia by multilinear regression. However, this elaborate scheme is not necessary to just compute some ballpark figures; it could wait until a later stage in the design. For the time being, I just rescaled the moment of inertia proportional to the increase in mass, such that the torque-to-force ratio is unchanged.
As such, the design requirements are now
From these assumptions, the revised actuator requirements and dimensions are:
See the attached PDF document.
It appears that the actuator that I had originally nominated, PI's model P-225.80, would very nearly meet the actuator force requirement. Steve also pointed out the following single-axis shakers that are already in use in the 40m:
I want to find out if either of these would meet the present need, but I'm waiting on a response from the manufacturer to get access to the data sheets.
Finished writing the code on whitening. I have to still test it. uploaded on github noise cancellation repo. @eric could you give me some data of noise power spectral density for testing the code?
Hello, I am Varun Kelkar. I will be working at the 40m lab as a SURF student this summer with Eric Quintero on Audio processing for real time control system signals. This week I will mostly be working on implementing basic DSP C-code offline. Currently I am trying to write a code for noise whitening.
I have written a basic version of AGC, and have done some tests with a data file. will do tests on whitening and agc today. Also, today I have to go to the SSN office. Hence will be late.
Tested the AGC today with LSC cavity transmission signal and error signal. Not in real time still.
Key to attachments:
cav_tr-eps-converted-to.pdf: LSC cavity transmission signal input
cav_tr_out-eps-converted-to.pdf: LSC cavity transmission signal, output of the AGC.
Contacted Charles regarding use of Altium. Got to know that Altium is installed on cit40m iMac in Win7 on VirtualBox. Had to update Virtualbox to get it working. Altium now works for sometime, but then fails, saying that it is unlicensed.
Edited the AGC to include overlapping frames yesterday. forgot to put an elog on it!
Wrote and tested a function for downconversion. It contains a mixer with a sinusoidal input for modulation with the desired frequency and a 2nd order butterworth low pass filter to remove the higher frequency-shifted part of the modulated signal. I have tested this with input of 2kHz giving a good output of 200 Hz on the speaker. Codes are uploaded on github, will update the real time document tomorrow.
A package labelled 'UPS Ground' has arrived.
Wrote and tested a code for AGC using cavity transmission signal and length error signal.
Wrote and tested a code for frequency shifting (downconversion) using mixing and LPF
Wrote a code for whitening using FFT.
Altium working on cit40m iMac
Writing codes for Frequency warping and whitening in time domain.
Implement AGC and frequency shifting on the real time control system.
Calculate requirements for Anti-aliasing filter.
Wrote and tested a phase vocoder, with two of its applications:
1) Time scaling: This enables change of time duration without affecting the pitch.
2) Frequency warping: This changes the pitch of the sound without affecting the time duration.
1 & 2 tested offline with cavity transmission signal. 1) gives speedup of 2, and 2 gives frequency warping (pitch lowering by a factor of 2)
codes uploaded on github repo
Tried to implement AGC on FE. Had some trouble bringing the code into the correct form. It looks okay now. However, this agc code as well as idenntity code (input = output) doesnt seem to build on the c1lsc FE. Have not tried too many debugging steps yet, will come and check the problem tomorrow.
Summary: I am implementing digital audio filtering on various interferometer signals in order to listen to the processed audio which will help in characterizing and noise reduction in the interferometer. Following is an implementation of an Automatic Gain control (AGC) block on an LSC input signal.
Details of AGC: Currently, the AGC code implemented on FE takes input to fill a frame, then calculates the power in each frame and gives an appropriate gain to it, so that the new power content is to the required level. It is then written to the output, frame by frame. The frame is currently a rectangular window. The frame length and hop size can be adjusted. Current values are as follows:
frame length is 512 samples
hop length is 128 samples.
The input and output are delayed by 1 frame.
Details of testing: Attachment 1 shows a simulink diagram of the DAF system. Eric made this and I modified it later on. Testing was done using signal from the "LSC1" channel. Attachments 2 and 3 show aquired input and output of the AGC respectively. Gain of the preamp of the LSC input signal was varied over a total time span of 200 s. Each gain value was kept for a duration of about 20 seconds. The varying power levels can be seen in the input plot.
The output shows a uniform power level throughout.
Eric gave me a psd plot of a signal which would be the input of a channel of the AA filter. the Nyquist freq. is about 32.8kHz.
Following are plots depicting the ratio of the aliased downconverted signal and the signal below 32.8 kHz. The first plot is for (to-be) aliased signal frequencies from 32.8 to 65.5k, and the second plot is for (to-be) aliased signals from 65.5k to 98.3k. In case of the first plot, the 36kHz peak will alias to 29kHz, and is about 30 times (29.5dB) greater than the signal there. Hence, the filter should give about 70dB attenuation there. Since this attenuation is not required by most other frequencies up to 65.5k, an option could be to use a notch filter to remove the frequency peak at 36k, and put a requirement of 45-50 dB attenuation on other frequencies.
In case of the second plot, the frequencies between 90 to 100k again need to be attenuated by more than 70 dB. However, if there is a -20dB/decade slope in stop band, we already have about 10 dB attenuation here as compared to around 32k.
The X axis of both plots is in Hz.
Summary: The aim is to design an analog anti-aliasing (AA) filter placed before the ADC, whose function is to filter out components of the input spectrum that have frequencies higher than the Nyquist frequency. This needs to be done so that there is no contamination of aliased downconverted high-frequency signals into the ADC output. I have put down and simulated a circuit to do this, based on the spectra of a few interferometer signals that eric Provided. Attachment 1 shows such an input PSD, treated with whitening filter, before the AA. The sampling rate is 65536 Hz and hence the Nyquist freq. is 32768 Hz.
Motivation: Attachments 2 and 3 show the plot of required attenuation for various frequencies above the Nyquist. We can see a peak at 36 kHz, which will alias to about 29kHz. It will require about 70 dB attenuation here. This indicates that use of a notch filter combined with a low pass filter can be used.
Details of Schematic: Attachment 4 shows the schematic of a Boctor low pass notch filter, cascaded by a 2nd order LPF. The stopband frequency of the boctor filter can be tuned to around 36 kHz. Its main advantage for the boctor is better insensitivity to component value tolerances, use of a single op amp, and relatively independent tuning of parameters. The various component values are calculated from here. The transfer functions for the circuit shown in attachment 4 were simulated using TINA - a spice based simulation software. The transfer function is shown in attachment 5.
A few more calculations: Attachment 6 shows the output psd after the signal has been treated with AA. Attachments 7 and 8 show the ratio of aliased downconverted signal and the unaliased signal of the output. Here, we can see that above about 13 kHz, the ratios go above -40dB, which is apparently undesirable. However, we also see from the transfer function of the filter that the gain falls to less than -20dB after about this frequency, and the aliased signals are atleast 20 dB lower than this, atleast upto about 29 kHz in attachment 7 and about 25 kHz in attachment 8. This means that the aliased signals are negligible as compared to the low frequencies even if they are not negligible as compared to the higher frequencies (above 13 kHz) into which they would get downconverted due to sampling. But these higher frequencies (above 13 kHz) themselves are small.
The filter overall, is 4th order. Considering this and the above discussion, I need to decide what changes to make in the existing schematic. For now, I could discuss with eric to finalize the opamp and start building the pcb board design.
I found an anti-aliasing circuit on the 40m wiki. It consists of A differential LPF made using THS4131 low noise differential op-amp (one of the main applications of which is preprocessing before the ADC), and a notch. I modified it to arrange for the desired bandwidth (about 8 kHz) and notch after the Nyquist frequency at 36 kHz. I simulated it to get the attached results:
Attachment 1: It shows the input PSD (same as the one posted in the previous elog), the filter transfer function, and The resulting output.
Attachment 2: The circuit schematic. The initial part using THS4131 is a differential LPF and the subsequent RC network is the notch.
Attachment 3: This shows the ratio of the aliased downconverted signal to the the in-band signal, representative of the contamination in each bin. Here too, the aliased signals are negligible as compared to the low frequencies but they are not negligible as compared to the higher frequencies (above 10 kHz) into which they would get downconverted due to sampling. However, here, the attenuation at 8kHz is less than 6 dB while in the previous circuit, it was about 12 dB. One problem with this circuit is at about 6kHz, there is aliased signal from the 65k to 98kHz band, but this can be taken care of by adding an LPF later.
The DAFI block was reviewed by Rana yesterday. The following changes/improvements were suggested: (Updated on 20th July 2016 with tasks taat remain in red)
1) include all the various channels like PEM, LSC, ASC, SUS, SEI, etc. as the inputs. Currently the inputs are only the LSC.
2) include all the control signals.
3) create a very detailed diagram of the entire signal flow and plan tasks accordingly.
4) Enable cascading of various DSP processes.
5) Adjusting the gain of the AGC such that the amplitude of the output signal comes to about half the peak amplitude offered by the ADC. This will help taking advantage of the entire dynamic range of the ADC.
6) change the enable button styles from a text input based controller to a button controller.
7) Currently, disabling a particular signal terminates the signal. Instead, it should turn into a unity gain block on disabling.
8) Check if the Fibox does AC coupling or not. If not, add an AC coupling arrangement in the DAFI.
9) Check the nature of the ADC1 and ADC2 inputs to the DAFI. I checked them yesterday, and they are channels 25 and 26 of ADC0, which are empty.
We're discussing the plan for the next vent. Now that we have all the tip-tilt stuff in hand, we should get ready for the big TT installation vent ASAP. The question is what remains to be done, and when can we be ready
Stuff that needs doing:
* characterize TTs, check electrical connection of quadrupus cables, bake cables and base plates - a week or so (not including baking)
* phase map of LaserOptik mirrors (decide on needed resolution) - a week or so?
* get ready to swap G&H mirrors with LaserOptik mirrors (PR2, PR3, SR2, SR3)
* assembly of black glass beam dumps - one afternoon
* green periscope moving - day or so to make sure greens are resonant in arms, so we have something to align to
* redraw of REFL path?? (rotate 2nd refl mirror to reflect beam to the east, then add mirror to get beam out of IOO chamber viewport), cut hole in BS oplev table's box, install black beam tube
* FI camera mount - make sure it's here, baked
* active TT pitch damping plan
* passive TT weight addition and pitch alignment plan
* camera plan for taking in-chamber photos without touching the tables
* look at layout of ITMY table. POY pick-off too close to main beam. Can we move POY pick-off to BS table?
* remount black glass baffles on SOS cages.
Stuff to bake:
* Quadrupus cables
* TT base plates
* FI mirror mount for FI camera
* stuff to add to active TTs
* stuff to add to passive TTs
I made a test installation of ligo_viewer in /users/volodya/ligo_viewer-0.5.0c . It runs on pianosa (the Ubuntu machine) and needs Tcl/Tk 8.5.
To try it out run the following command on pianosa:
Press "CONNECT" to connect to the NDS server and explore. There are slides describing ligo_viewer at http://volodya-project.sourceforge.net/Ligo_viewer.pdf
Use /users/volodya/ligo_viewer-0.5.0c.tgz or later version - it has been updated to work with 64 bit machines.
Make sure Tcl and Tk development packages are installed. You can find required packages by running
apt-file search tclConfig.sh
apt-file search tkConfig.sh
If apt-file returns empty output run apt-file update
Unpack ligo_viewer-0.5.0c.tgz, change into the created directory.
Run the following command to configure:
./configure --with-tcl=/usr/lib/tcl8.5/ --with-tk=/usr/lib/tk8.5/
This works on Ubuntu machines. --with-tcl and --with-tk should point to the directories containing tclConfig.sh and tkConfig.sh correspondingly.
You can test the compilation with ./ligo_viewer.no_install
If everything works install with make install
If Tcl/Tk 8.5 is unavailable it should work with Tcl/Tk 8.3 or 8.4
We investigated some more the discrepancy between Matlab and Foton numbers. The comparison of cheby1(k, 1, 2*12/16384) was done between versions implemented in Matlab, R and Octave. Filters created by R and Octave agree with Foton.
Also, we found that Matlab has gross precision errors for cutoff frequencies just smaller than used in our fitler, for example cheby1(6, 2*3/16384) fails miserably.
It would be useful to see some plots so we could figure out exactly what magnitude and phase error correspond to "gross" and "miserable".
To show why Matlab is bad in filtering at small cut-off frequencies we did the same thing in Matab, Octave and R: we've taken the low-pass chebyshev filter of the type 1, order 6, ripple 1 dB, the sampling frequency was 16384 Hz and cut-off frequency varied from 1 to 1000 Hz. Here is the plot for the gain of the zpk model versus to cut-off frequency.
We can see that Matlab's gain shows surprising gains for low cut-off frequencies through for > 100 Hz it is fine. In the next table we compare gain from Foton, Matlab, R and Octave for the same filter. So Foton is also good
22:05:02 UTC Jordan refilled his water bottle at the water dispenser in the control room.
Jenne and I renamed the mic channels Den created (elog 6664) to MIC_1, MIC_2, etc from the original accelerometer names to keep things clear. We then added 6 new channels (22-27) for the accelerometers, named ACC_MC1_X, Y, Z, ACC_MC2_X, Y, Z, etc. (See the screenshot below). We also added a DAQ channel block and listed out the IN1 channel of all the sensors. We compiled and started the model, and checked that all the channels were there in DataViewer.
This past Friday I swapped out a burnt resistor on the spare STACIS unit I'm working with and powered it up. Here's the setup:
And here's what happened:
X an Y directions: When I switched from open to closed loop (making the internal geophones provide feedback), the STACIS started making a loud noise- it seemed like it was oscillating uncontrollably.
Z direction: The same thing happened in z until I added some weight to the top of the STACIS- then it quieted down, and seemed to work okay. The geophone signal dropped considerably compared to the open loop signal, which is expected if the feedback is working.
Then I tried driving the PZTs with a signal from the SR785 network analyzer. With an amplitude of tens of mV and frequencies from around .1 to 200 Hz, I could see the accelerometers I mounted on top of the STACIS definitely register motion, which means I was successfully driving the PZTs.
Below are transfer functions of the STACIS as I drove the PZTs from .1 to 100 Hz at 10 mV. The top graph is open loop, the second is closed loop. These were measured with the internal geophones.
In the bottom graph, "A" is closed loop and "B" is open loop, where the transfer functions were taken with the accelerometers instead of the geophones.
I'm still having issues with the STACIS oscillating uncontrollably with the slightest extra vibration, but with some more added weight both x and z direction are stable if you don't disturb the setup.
I took more transfer functions of the STACIS. In the last data I took Jenne pointed out that the geophone signals were not correlated well with the driving signal, so I increased the amplitude of the driving signal and am looking in x and y too instead of just z.
Details of the driving signal: 25 mV, swept sine from 0.1 to 100 Hz from the SR785.
NOTE: The data below was all transferred from the SR785 using netGPIB, which works fine, if anyone was interested in using it.
Open loop in the y direction, taken with the y geophone (magnitude on top, phase on bottom):
Open loop in the x direction, taken with the x geophone (with some extra weight to try to make the closed loop more stable):
Open loop in the x direction, taken with accelerometer instead of geophone: