< Innovations

Precision vibration control and induced audio noise

Overview

This system was used to characterize vibration-induced noise in cryogenic imaging systems.  The imaging sensor assemblies we made by hand, and wires manually bonded out from the imaging element to the conducting substrate.  These wires were subject to vibration in use, and possibly causing noise to be generated that would degrade the picture.

The system required extremely high performance to provide real-time control of three orthogonal linear shaker elements.  Each pass through the control loop required obtaining a snapshot of the vibration spectrum, comparison against the test specification, and adjustment of the output the each shaker element.
 
The first implementation was to verify the correctness of the control elements.  This was done in Pascal (!), on then-new lab computers based on the Motorola 68000; hardware to support floating point operations was not then common and not available on this system.  Each of the three FFT required about 20 seconds to run.

Version 2 of the FFT converted the verified floating-point version into “block floating point”, in which the floating point numbers were treated as a block, and each block shared the same exponent.  This worked because all the signals of interest were within about 10^3 of each other, so signals that disappeared to zero were not a problem.Version 2 of the FFT, using block floating point, took about 2.5 seconds.

Version 3 of the FFT started with block floating point, and re-implemented the algorithm in M68000 assembly language.  At the end, about 0.25 seconds were required for each FFT.  

During each loop of the control software the current vibration spectrum would be sampled, corrections calculated for the shaker stimulus, and new shaker data sent out, all on 3 orthogonal axes.  Once the three axes were tuned and vibrating according to the specification, the total noise energy was measured, and compared against the same measurement taken while not vibrating.

 

Developed for: