The RayleighMonitor is a DMT monitor which produces a frequency-dependent measure of the non-Gaussianity of data from selected channels.The idea behind the Rayleigh Monitor is to use the variations in the noise power on short timescales to learn about the statistics of the noise. Consider a string of data x(t) of duration T. The power spectrum is calculated by dividing the data into N equal segments x_i(t) and averaging the square of their Fourier transforms X_i(f):
(One typically windows the x_i(t) and may also detrend them.)This averaging loses all information about the power on timescales less than T. Some of this information can be retained by examining the standard deviation of the |X_i(f)|^2. Define the Rayleigh statistic as the dimensionless ratio
One can show that if x(t) is Gaussian-distributed, the expectation value of Rayleigh(f) is unity for all frequencies. This provides a 'white' consistency test for Gaussianity: The Rayleigh statistic at each frequency thus measures the variability of the power on time scales of T/N to T relative to Gaussian noise. A Rayleigh statistic significantly above unity indicates that the power of the dominant noise is more variable than for a Gaussian, while ratios significantly below unity indicate the dominant noise source at that frequency is coherent: The RayleighMonitor computes this Rayleigh statistic for the desired channel(s) and produces time-frequency plots of both Rayleigh(f) and PSD(f) for each channel.
Starting RayleighMonitor
The Rayleigh monitor is run with the command
RayleighMonitor <optional arguments>
where the options (in any order) are
-batch Run in batch mode. No GUI front-end and plots are non-interactive. A properly formatted configuration file named RMconfig.txt must already exist in the current directory. -h, --help Print usage information. -record Save copies of the time-frequency plots covering the entire run of the program. -screen Divert update and error messages to be written to the screen instead of to the standard files RMLog.html, RMErrors.html. -simulation Replace the data in each channel with simulated Gaussian noise of unit amplitude.
When started a graphical user interface (GUI) is created through which the user can configure, run, or exit the monitor.Configuring RayleighMonitor
The RayleighMonitor Configuration window allows you to select the channels and parameters used by the monitor.Parameter Selection:
The basic configurable parameters are
Stride: Length of each data segment to be Fourier-transformed, in seconds. Note that frequency resolution = Stride^{-1}. WARNING: The decimal part of Stride must be an integer multiple of 1/8 = 0.125. Number of Averages (N): Number of data segments of length Stride to be used in calculating the average and standard deviation for the power spectrum and Rayleigh statistic. WARNING: Must have N > 1. Maximum Number of Strides: Maximum number of times to calculate the power spectrum and Rayleigh statistic before exiting.Channel Selection:
The user may select up to 10 channels to be examined. Click on the down arrow under 'Channel' to see a clickable list of channels (this list may not be complete), or type the name of the desired channel directly into the box. Click the 'Active' box to include the channel; otherwise the selection is ignored. A restricted frequency range may also be specified; this is a good idea for the 16kHz channels, as it speeds up execution.Buttons:
When ready, click the 'Set Parameters' button to pass the configuration to the monitor, and then 'Close Window' to return to the main dialog. 'Retrieve Last Parameters' recalls the last configuration entered.The monitor configuration may also be done at the command line by editing the file RMconfig.txt, which is formatted as follows:
<Stride> <N> <MaxStride> <number_of_channels> <first-channel-name> <minimum frequency> <maximumfrequency> ... <last-channel-name> <minimum frequency> <maximumfrequency>Additional lines beyond line [4+<number_of_channels>] (such as extra channels) are ignored. Note that the frequency range may be specified separately for each channel, but the same stride time and number of averages are used for all channels.Currently there is no way to modify the configuration of the monitor while it is running.
Running RayleighMonitor
When the configuration is set press the 'Run Monitor' button to start the monitor. RayleighMonitor can be paused at any time by opening the configuration window. To kill the monitor press 'Exit Monitor' or at the command line typeYou can get the job ID number using the command
kill -15 job_ID_number
ps -aRayleighMonitor Output
The RayleighMonitor produces output at the end of each ProcessData() call; i.e., after every <N>*<Stride> seconds of data is analyzed. This output is of two types:
- Time-Frequency Plots:
These are the main output of the monitor. A separate window is created which displays the average power spectrum and Rayleigh statistic for each channel in a frequency vs. time format, with the color of each pixel indicating the value. At the top is a small legend showing the stride, the number of averages, and the expected standard deviation in the Rayleigh statistic if the noise is Gaussian (which gives a sense of how significant are any observed deviations from Gaussianity).The plots show the most recent data for a fixed number of strides. They are interactive, with various menus available at the top or by clicking on the plots themselves. For example, the user can zoom in on a particular plot by right-clicking near one axis, or can save the plot in various formats by clicking on the 'File' menu. The latest plot is automatically saved to the file 'RM.gif'.
html File:
The file RayleighMonitorSummary.html contains a summary of the run parameters, update information, error messages, and the time-frequency plots.Additional Information
Comments, queries, and suggestions regarding any aspect of the RayleighMonitor are welcome; please email the author or visit the RayleighMonitor homepage.
- Author: Patrick J. Sutton
- Version: 3.0; last modified April 21, 2002