Jetdsp
JETDSP Homepage
Manual Homepage
Signal Processing Homepage
 
Signal processing
Basic guide
Advanced guide
IBM NEWDSP-syntax
Use your code
Signal slicing
Simple expressions
 
Tutorial
Introduction
Internals
IDL commands
Interpolation
Writing your own code
Adding functions to the Simple dialogue
 
How to...
Read data
Define structure
 
Functions
jetSmooth
jetint
jetsubset
jetmerge
fixgrid
jetwindowpoints
 

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.

  • NE1 containing the signal values. (could be interpolated)
  • NE1_RAW containing the signal values. (never interpolated)
  • NE1_TIME containing the time values.
  • NE1_X containing the radial values.

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;
Function descriptionData vector Horizontal (Time) Horizontal (x)
Shift of time for 2-D or 3-D signals. IPLAIPLA_TIME-40.0
Scaling of x-axis for 3-D signals.NE1 NE1_X*100
Multiplying a 2-D signal by its time-axis. IPLA*IPLA_TIME
Plotting on 2-D signal against another. IPLAITOR
Plotting on 3-D signal against another on the x-axis. FLUX RCOR

Using the simple dialogue only some of these are possible;
Function descriptionType of processingOperation SignalsParameters
Shift of time for 2-D or 3-D signals. UnaryTimeScaleIPLA
  1.0   -40.0
Scaling of x-axis for 3-D signals.UnaryxScaleNE1
100.0     0.0

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.

Previous page Next page

Top  JETDSP Home Page  Manual  FAQ 
Please send comments to: data-and-coding-support@ccfe.ac.uk