How JETDSP signal processing works.Signal processing within JETDSP works by turning the IDL expression into upto 3 IDL commands which are executed. For this to work correctly the variables in these expression need to be defined.Within JETDSP each signal is stored as an object in a list. Some of the values for each object contained within this list are shown in the table on the main window. If any part of the signal data is required then the necessary variables are set up. For a 3D signal e.g. NE1 four variables are created.
A 2D signal has no radial component and a single valued signal has no time component either. Note that currently NE1_TIME and NE1_X are not interpolated, although this may change in the future. If this is the case then new variables containing the non-interpolated values will be created as well. Once all these variables have been created they are passed to the individual functions which return answers. These are stored as variables and then used to construct the new signal object which is added to the list. This is shown in the diagram below. JETDSP evaluates the data command first, based on the dimensionality of this it determines if it requires time and/or x values. If it does require values and a command has been specified then this is executed. Otherwise the interpolation vector used is stored. This means that the time and/or x axes can be manipulated, and that the data values associated with these can also be used. For example the following commands can be used.With the IDL dialogue;
Using the simple dialogue only some of these are possible;
Note that it is possible to add functions to the simple dialogue expression lists as will be shown later. Note that when plotting one 3D signal against another there is an additional complication. 3d data stored in the PPF system has an array of signal values, a vector of time values and a vector of x values. When using this processing expression the x-vector is replaced by a 2d array of x-values. This is shown pictorially below. This type of signal can be plotted within jetdsp but cannot be saved back to the PPF system. It can be converted back into a normal 3d signal by use of the fixgrid routine. This is a signal processing routine which can be called from the simple expression dialogue for type 'f(t,x)'. This routine uses the minimum and maximum value of the x-array and the number of x-points to create a new x vector. The data is then interpolated onto this new vector at each time point.This is one of several routines written in IDL always available in jetdsp. Others include jetSmooth, jetmerge and jetsubset. |