10 July 2012
Analysing frequency response of inertial MEMS in stabilisation systems
UAV mounted surveillance equipment, maritime microwave receivers, vehicle-mounted infrared imaging sensors, and similar instrument systems require stable platforms for best performance, but they are often used in applications that experience vibration and other undesirable kinds of motion.
Vibration and normal vehicular movements cause communication loss, blurry images, and many other behaviours that degrade the instrument's performance and ability to perform its desired function.
Platform stabilisation systems employ closed-loop control systems to actively cancel this type of motion, thus preserving mission-critical performance objectives for these instruments. Figure 1 is a generic block diagram of a platform stabilisation system that uses servo motors to correct for angular motion. The feedback sensor provides dynamic orientation information for the instrument platform. The feedback controller processes this information and translates it into corrective control signals for the servo motors.
Since many stabilisation systems require more than one axis of active correction, inertial measurement units (IMUs), often include at least three axes of gyroscopes (measuring angular velocity) and three axes of accelerometers (measuring acceleration and angular orientation) to provide the feedback sensing function. The ultimate goal of the feedback sensor is to provide accurate measurements of the platform's orientation, even when it is in motion. Since there is no 'perfect' sensor technology that can provide accurate angle measurements under all conditions, the IMUs in platform stabilisation systems often employ two or three sensor types on each axis.
An accelerometer responds to both static and dynamic acceleration in the direction of each of its axes. 'Static acceleration' may seem like a strange term, but it encompasses an important sensor behaviour: response to gravity. Assuming that no dynamic acceleration exists, and that sensor errors have been removed through calibration, each accelerometer output will represent the orientation of its axis with respect to gravity. To determine the actual average orientation in the presence of the vibration and rapid acceleration often experienced in stabilisation systems, filters and fusion routines (combining readings from multiple sensor types to obtain a best estimate) are often applied to the raw measurements.
Another type of sensor is the gyroscope, which provides angular rate measurements. Gyroscope measurements contribute to the angle measurements through integration of the angular-rate over finite time periods. When performing integration, bias errors will cause a proportional angle drift that accumulates with respect to time. Therefore, gyroscope performance often relates to the sensitivity of a device's bias to different environmental factors, such as temperature variation, supply variation, off-axis rotation, and linear acceleration (linear-g and rectified-g×g). A calibrated high-quality gyroscope, with high rejection of linear acceleration, enables these devices to provide wideband angle information to complement the low-frequency information provided by accelerometers.
A third type of sensor is the three axis magnetometer, which measures magnetic field intensity. Magnetic field measurements from three orthogonal axes enable estimates of orientation angle with respect to the local direction of the earth's magnetic field. Near motors, monitors, and other sources of dynamic field disturbance, managing the magnetometer's accuracy can be challenging, but in the right circumstances its angular data can augment the measurements from accelerometers and gyroscopes. While many systems use only accelerometers and gyroscopes, magnetometers can improve measurement accuracy in some systems.
The generic block diagram of Figure 2 shows how gyroscope and accelerometer measurements can be employed in a manner that uses their basic strengths but minimises the impact of their weaknesses. The pole locations of the low-pass accelerometer- and high-pass gyroscope filters are typically application-dependent, with accuracy goals, phase delay, vibration, and 'normal' motion expectations all contributing to these decisions. System-dependent behaviours will also affect the weighting factors, which also have an impact on how these two measurements are combined. The extended Kalman filter is one example of an algorithm that combines the filtering and weighting functions to calculate dynamic angle estimates.
MEMS IMU Frequency Response Analysis
When developing a stabilisation system around a new MEMS IMU, it is important to understand the frequency response in the early stages of system design, since the IMU's frequency response will have a direct impact on the controller design and can help identify potential stability issues—especially when considering wider-bandwidth solutions for next-generation designs. This information is also useful for predicting the gyroscopes' response to vibration.
A strategy for evaluating IMU bandwidth is determining what information is available in product documentation, analysing the impact of this information on the system's response to inertial motion, and stabilising the system's response. This analysis, and any corrective actions it entails, will become the basis for preliminary testing.
Frequency response is often represented as 'bandwidth' in specification tables for IMUs and gyroscopes. As a performance parameter, it represents the frequency at which the output magnitude drops to about 70% (–3 dB) of the actual magnitude of motion that the sensor is experiencing. In some cases, bandwidth may also be defined by the frequency at which the output response lags the actual motion by 90 degrees (for a 2-pole system). Both of these metrics can directly impact an important stability criterion for a control loop: unity-gain phase margin—the difference between the actual phase angle of the loop response and –180° at a loop gain of 1. Understanding the frequency response of the feedback sensor is a key factor in optimising the tradeoff between stability assurance and system response. In addition to managing stability criteria, the frequency response also has a direct impact on vibration rejection and establishing a sampling strategy that allows all critical transient information on an inertial platform to be measured.
Analysing frequency response in a system starts with a high-level, 'black box' view, which describes the system's response to inputs over the entire frequency range of interest. In electronic circuits, where the input and output are defined in common terms, such as signal level (volts), this typically involves developing a transfer function, using s-domain representation and circuit-level relationships, such as Kirchhoff's voltage and current laws. For an inertial MEMS system, the input is the inertial motion that the IMU experiences and the outputs are often represented by digital codes. While s-domain analysis techniques are valuable, developing a complete transfer function for this type of system often requires additional techniques and consideration.
The analysis process starts with understanding all of the components associated with a sensor signal chain. Figure 3 offers an overall diagram of the typical functions. The signal chain starts with a core sensor element, which translates the inertial motion into a representative electrical signal. If the bandwidth is not limited in the sensor element, it is often limited by filters in the signal-conditioning circuit preceding the ADC. After the signals are digitised, a processor typically applies correction (calibration) formulas and digital filtering. The secondary digital filters reduce the bandwidth and sample rates that the feedback systems use in their control routines. All of these stages can influence the gain and phase of the sensor signal with respect to frequency. Figure 3 provides an example of an IMU that has multiple filters in a mixed-signal processing system. This system will serve as an example for illustrating some useful analysis techniques.
Core MEMS Sensor Element
This analysis is driven by the understanding that all behaviours that can be quantified should be; then educated assumptions can be made on those things that cannot be easily quantified. Once the 'known' variables are well-understood, it is often easier to revisit these assumptions for review and clarification. The specification table for the ADIS16488 (Figure 3) shows a –3-dB bandwidth of 330 Hz. Assume that the core sensor is critically damped and is not a key contributor at bandwidths well below its resonance (16 kHz to 20 kHz). This may not always be the case, but it is a good starting point that can be tested later in the process using noise-density or full-motion tests.
Interface Circuit/Analogue Filter
In addition, each gyroscope sensor goes through a 2-pole, low-pass filter prior to the a/d converter. This provides enough information to use Laplace transforms to develop a transfer function representation in the s domain. The first pole (f1) is at 404Hz and the second pole (f2) is at 757Hz.
The accelerometer's single-pole (f1) transfer function is.
These formulas provide the basis for numerical analysis in programs that can manage the complex numbers associated with the 's = j?' identity. In Matlab, the following m-script will produce both magnitude (ratio, no units) and phase (degrees) information:
Fmax = 9840/2; % one-half of the sample rate
for f = 1:Fmax
w(f) = 2*pi*f;
p1 = 404; % pole location = 404Hz
p2 = 757; % pole location = 757Hz
NUM1 = 2*pi*p1;
DEN1 = [1 2*pi*p1];
NUM2 = 2*pi*p2;
DEN2 = [1 2*pi*p2];
H1 = tf(NUM1,DEN1); % transfer function for first pole
H2 = tf(NUM2,DEN2); % transfer function for second pole
H488a = H1 * H2; % transfer function for 2-pole filter
[maga,phasea] = bode(H488,w);
for f = 1:Fmax
Mag488a(f) = maga(1,1,f);
Phase488a(f) = phasea(1,1,f);
For a quick assessment of the time delay associated with these filters, notice that the phase delay of a single-pole filter is equal to 45° at its –3-dB frequency, or 1/8th of the corner frequency's period. In this case, the time delay of the accelerometer's filter is approximately equal to 0.38 ms. For the gyroscope, the delay is equal to the sum of the time delays of the two stages, or about 0.47ms.
Averaging/Decimating Filter Stage
Figure 3 illustrates the use of two averaging/decimating filter stages, which lower the stage's output sample rate and provide additional filtering. In digital filters that have a finite impulse response (FIR), the phase delay is equal to one-half of the total number of taps, divided by the sample rate of each tap. In the first filtering stage, the sample rate is 9.84 kHz. There are four taps, which, in this style of filter, is equal to the number of averages. The phase delay is ~0.2 ms. The magnitude response of the averaging filter follows this relationship.
When using Matlab for analysis, use a sample rate (fs) of 9.84 ksample/s and four taps (N), along with the same frequency array (f) used to analyse the analog filter. Using a common frequency array will make it easier to combine the results of each stage. Use the following code to analyse this first stage:
Fmax = 9840/2; % one-half of the sample rate
f = 1:Fmax;
NUM(f) = sin(4*pi*f/9840);
DEN(f) = 4 * sin(pi*f/9840);
for fq = 1:Fmax
Hda(fq) = abs(NUM(fq)/DEN(fq));
Analysing the second averaging/decimating filter will require prior knowledge of the control system's sample rate, but will use the same relationships. For example, if a control loop requires a sample rate that is close to 400sample/s, the second filter's average and decimation rate would be equal to six (for a sample rate of 410sample/s and four samples, 9840/[410 × 4] = 6). Use the same m-script code to analyse the magnitude response, with three exceptions:
(1) change the sample rate from 9480 to 2460,
(2) change the '4' to '6' in both locations, and
(3) change Fmax from 9840/2 to 2460/2. The phase is equal to one-half of the total number of taps, divided by the sample rate, ~1.22 ms (3/2460).
Figure 4 and Figure 5 provide the composite magnitude and phase response, which includes the gyroscope's analog filters and the two decimation filters. Figure 4 represents the result of multiplying the stages' magnitudes together, for each frequency in the array. Figure 5 represents the result of adding the stages' phase contributions together at each frequency. The plot labelled 'No Decimation' assumes that the output data rate is 2460sample/s and that the second decimation stage is effectively turned off. The plot labelled 'With Decimation' assumes that the decimation rate is equal to 6 and that the final output data rate is 410sample/s. These two plots illustrate the difference in response for system-level trade-offs between control loop sample rate and the corresponding frequency response.
Programmable FIR Filter Analysis
Once the contributions of the analog and decimation filters are known, the tradeoffs between using the on-board decimation filter and designing a custom FIR filter can be evaluated. In the ADIS16488, outlined in Figure 3, the FIR filter is included with the IMU, but some systems will implement this in their digital signal processing routines. A FIR filter's time-domain f(n) representation is often expressed by a difference equation, where the z-transform offers an analytical tool for frequency analysis:
Fortunately, many modern programs contain specific tools or commands for this type of analysis, based on these basic relationships. It is still useful to understand them when verifying results of the automatic assessment tools and in developing an intuitive feel for when to question the outputs of a FIR design tool. Matlab's 'fdatool' command launches its filter analysis and design package, which helps design and analyse the system FIR filter implementation.
Inertial Frequency Response Test Methods
The most direct approach for testing frequency response in a gyroscope is with an inertial rate table, which is capable of introducing the appropriate frequency content. Rate tables typically include a programmable servo motor and an optical encoder that verifies programmed rotation on the motor shaft. The advantage of this test approach is that it applies actual inertial motion. Its disadvantage is that it is not commonly available for engineers who are just getting started with MEMS.
For early analysis validation without a rate table, measuring the spectral noise over the frequency band of interest can provide useful insights. This simplified approach does not require sophisticated test equipment, but only a secure mechanical connection to a stable platform and data collection instrumentation. However it does rely on the mechanical noise having a 'flat' noise magnitude with respect to frequency.
Figure 6 illustrates two examples that both use the same 2-pole, low-pass filter. The first example (ADIS16375) uses a gyroscope that has a flat response over its usable frequency range. The second example (ADIS16488) uses a gyroscope that has a modest amount of peaking at 1.2 kHz, which actually extends the –3-dB frequency to ~380Hz. Recognising this resonant behaviour can be valuable for those in the process of modelling and simulating a control loop. Identifying this behaviour in a simple test can also help explain noise levels that are higher than expected when performing a more thorough system characterisation. When understood and identified early in a project, these behaviours can normally be managed with adjustments to the filter poles.
When measuring noise density, make sure that the sample rate is at least twice the highest frequency of interest to meet the Nyquist criterion. Also, take enough data samples to reduce the uncertainty of the measurements. The plots in Figure 6 were derived from FFT analysis of a time record with a length of 256 samples at a maximum rate of 2.46 ksample/s.
Another approach uses a gyroscope's self-test function. The self-test function provides an opportunity to stimulate the sensor's mechanical structure, using an electrical signal, without requiring the device to be subjected to external inertial motion. The self-test function in a sensor forces a change to the internal structure, which changes the sensor output. Not all products provide real-time access to this, but it can be a useful tool when available, or if the manufacturer can provide data from this type of frequency-response test. In the simplest approach, the self-test, which simulates response to a step, is compared with the analytical expectation. Repeating the self-test assertion at specific frequencies provides a direct method for studying the magnitude of the sensor response at each frequency. Consider the two different responses in Figure 7.
At the lower frequency, the gyroscope output looks like a square wave, with the exception of the transient response at each transition. The transient response follows the expectation of a 'step response' for the filter network in the sensor signal chain. In the second example, where the frequency of the self-test is high enough to prevent full settling, a decrease in magnitude occurs. Notice the difference in magnitudes between the blue and black-dotted responses, on the bottom signal in this figure. There are a number of methods for estimating the magnitude of these time records. A discrete Fourier transform (DFT) separates the primary frequency content (self-test frequency) from the harmonic content, which can contribute errors to the magnitude/frequency response.
A trend towards wider-bandwidth IMUs provides significant advantages in design of feedback stabilisation systems. The wider bandwidth enables better time alignment and phase margin management for multisensor systems. Filter capacitors can have a wide variation in their value and response to temperature, which can cause proportional changes in the pole frequencies. Since the phase delay is dependent on the pole location, understanding and managing this can be very important. For example, when the feedback sensor's cut-off frequency is two times greater than the unity-gain feedback of the controller, it will add ~22.3° of phase delay to the loop response. If the cut-off frequency decreases by 20%, the phase delay increases by ~5.6°. Increasing the ratio of cut-off frequency in a unity gain bandwidth reduces these influences by a factor of 4.
Developing an understanding of an IMU's bandwidth and its role in system stability should employ: analysis, modelling, test data, and iteration of these factors. Start by quantifying the information available, make assumptions to close any gaps, and then develop a plan to refine these assumptions.
Mark Looney email@example.com is an iSensor applications engineer at Analog Devices, with experience in sensor signal processing, high speed a/d converters and dc/dc power conversion. He earned BS and MS degrees in electrical engineering from the University of Nevada, Reno, and has published several articles.