PSD

From ControlTheoryPro.com

Jump to: navigation, search
Symbol.gif
PSD
Green carrot left.gif
RMS psdData Class Example
Green carrot.jpg
In order to prevent spam, users must register before they can edit or create articles.


1 Introduction to PSDs in Controls

In reality many disturbances and noise sources are not well represented by Gaussian distributions. Instead the system will have random and periodic disturbances and noise. This type of behavior cannot be described with a probability distribution (such as Gaussian) but rather are better described by a Power Spectral Density (PSD).

For example, satellites often employ momentum wheels for attitude control. These momentum wheels spin at a constant speed for long periods of time and then they are sped up or slowed down to steer the spacecraft. This raises 2 issues. First, the disturbance is not truly random. Second, a measured PSD of the disturbance due to these wheels will show a spike at one wheel speed and then at another. Typically, the PSD is enveloped in these circumstances (this will be discussed below). There is, however, a random component to the disturbance created by the moementum wheels. Remember that they have their own controllers and sensors and random noise on the sensor will pass to the controller. The random noise will go through the controller (and plant) causing random fluctuations in the wheel speed. While these fluctuations are small they are not always inconsequential.

Note: While I have not taken a course on Stochastic Controls I believe that this falls into that category of control theory.

2 PSD Definition (para-phrased from Wikipedia)

The PSD is a positive real function of a frequency variable associated with a stationary stochastic process, or a deterministic function of time, which has dimensions of power per Hz. For example, many rate sensors will provide an output in Volts which can be converted to rad/sec. A PSD of the ambient noise from this rate sensor will have units of (rad/sec)^2 / Hz.

2.1 Mathematical Definition of the PSD (heavily lifted from Wikipedia and needs rewrite and references)

The PSD describes how the power of the signal or time series is distributed with frequency. Here power can be the actual physical power, or more often, for convenience with abstract signals, can be defined as the squared value of the signal (the actual power if the signal was a voltage applied to a 1-Ohm load). This instantaneous power (the mean or expected value of which is the average power) is then given by:

LaTeX: P=s\left( t \right) ^{2}


Since a signal with nonzero average power is not square integrable, the Fourier transforms do not exist in this case. Fortunately, the Wiener-Khinchin therorem provides a simple alternative. The PSD is the Fourier transform of the autocorrelation function of the signal if the signal can be treated as a wide-sense stationary random process. The result is

LaTeX: S\left( f \right)=\int_{-\infty}^{\infty} R\left( \tau \right) e^{-2 \pi i f \tau} d\tau


The power of the signal in a given frequency band can be calculated by integrating over positive and negative frequencies,

LaTeX: P=\int_{F_1}^{F_2} S \left( f \right) df + \int_{-F_1}^{-F_2} S \left( f \right) df


The power spectral density of a signal exists if and only if the signal is a wide-sense stationary process. If the signal is not stationary, then hte autocorrelation function must be a function of two variables, so no PSD exists.

LaTeX: G \left( f \right) = \int_{-\infty}^{f} S \left( f^{'} \right) df^{'} Definition



3 Using PSDs in Controls

PSDs are used in many places in controls. For time-domain simulation and performance analysis a PSD derived from measured sensor noise data can be turned into a time series of noise values at specifics times. When done correctly the PSD of these time series are close or identical to the original measured sensor noise PSD. Disturbances can be dealt with in a similar manner.

In frequency domain analyses and moedling the key equation is

LaTeX: S_{YY}\left( \omega \right)=G^{*}\left( \omega \right)G\left( \omega \right)S_{XX}[1]


Various texts will make different claims about the input PSD. Some state the input PSD must be both stationary and ergodic while others claim that it only needs to be weakly stationary. In practice the PSD is often used whenever it is consistent from measurement to measurement. In other words, if the magnitude of the PSD and RMS remain approximately constant from hour to hour or day to day then the PSD is good enough.

An example of how this is used, with MATLAB code, can be found in the article on Frequency Domain Modeling.

3.1 How PSDs are used in Controls

PSDs are used in a variety of ways:

  1. Disturbance Modeling
  2. Noise Modeling
  3. Residual Error Characteristics

All of these applications are generically part of Frequency Domain Modeling. The basic purpose of frequency domain modeling is to determine the steady-state residual error due to disturbances and noise.

3.2 PSDs and RMS

Measured (and calculated) PSDs are basically a vector of magnitudes at specific frequencies. Obviously, dealing with this and discussing it are cumbersome. The RMS is a common metric. The RMS (or Root Mean Squared value) is essentially an integration under the PSD curve. This cumulative value allows a quicker, simpler discussion of total disturbance power and requirements. Like all metrics the RMS is not an all encompassing value in that a particular PSD may have a lot of RMS contribution from the lower frequencies where rejection is good. Therefore the disturbance RMS will be high and the residual (what's left over after rejection) is low but the system still may not meet performance specifications because the remaining RMS in the mid to high frequency ranges is unacceptable.

As an example consider a Hubble image. It may require that Hubble stares at the same object for minutes or even hours. Staring this long means that the camera is collecting photons for a long time but the final image will still likely be made up of several individual images taken over time. Low frequency drift can be subtracted out while mid to high frequency jitter will cause the image to blur. The control system's residual error RMS may be low due to very good low frequency rejection but the overall system performance (blurry images) is unacceptable.

3.2.1 Lessons Learned

Many times measured data of all types come with irregularities or oddities. Measured time series and PSD data is no different. Here are some lessons learned:

  • Some analysis programs will take time series data and spit out a PSD. The minimum frequency of the PSD is often times automatically set to 0. Obviously, with measured data there is only a finite data length. With that finite data capture time frame comes a minimum measurable frequency (1 / time length of data capture). The result is that the low end frequencies of the PSD must be used with caution.
  • Low frequency samples for PSD measurements take a long time to capture. As a result most PSDs have very few data points at lower frequencies. This leads to a coarseness in the measurements that can create errors in the RMS calculation. Specifically, when calculating the RMS (either forward or backward) the first point of the RMS is at the second frequency of the PSD. If the data is coarse at the low end then the method of calculation can lead to errors in the RMS calculation - especially when the lowest frequency point is at 0. However, interpolation can solve this problem.

3.2.2 PSD Interpolation in MATLAB

Often PSDs are provided with only a few points. This is done with convenience and as a measure of being conservative - i.e. the PSD contains all of the expected disturbances by enveloping the expected PSD.

Using the PSD with only a few points will almost always cause problems. As a result interpolation on a log scale is used to fill in PSD with lots of points.

If a PSD's frequency vector is defined by the vector x and the PSD's magnitude by y then interpolating a new vector of frequencies xi can be done using the interp1q command as follows

 >> logX = log10(x);
 >> logY = log10(y);
 >> logXi = log10(xi);
 >> yi = 10.^interp1q(logX, logY, logXi);

where

  • yi is the interpolated PSD magnitudes corresponding to the frequencies of xi.

4 References

Sun, Jian-Qiao (2006). Stochastic Dynamics and Control, Volume 4. Amsterdam: Elsevier Science. ISBN 0444522301.

4.1 Notes

  1. Sun, pp. ??-??