DADiSP

DADiSP
Developer(s)DSP Development Corporation
Initial release1987; 37 years ago (1987)
Stable release
DADiSP 6.7 B02 / January 17, 2017; 7 years ago (2017-01-17)
Written inC, C++, SPL
Operating systemMicrosoft Windows
PlatformIA-32, x86-64
TypeTechnical computing
LicenseProprietary commercial software
Websitewww.dadisp.com
SPL
Paradigmmulti-paradigm: imperative, procedural, object-oriented, array
Designed byRandy Race
DeveloperDSP Development Corporation
First appearedlate 1990s
Stable release
6.7 / 2017
Typing disciplineDynamic, weak
OSMicrosoft Windows
Filename extensions.spl
Websitewww.dadisp.com
Influenced by
APL, C, C++

DADiSP (Data Analysis and Display, pronounced day-disp) is a numerical computing environment developed by DSP Development Corporation which allows one to display and manipulate data series, matrices and images with an interface similar to a spreadsheet. DADiSP is used in the study of signal processing,[1] numerical analysis, statistical and physiological data processing.[2]

Interface

DADiSP is designed to perform technical data analysis in a spreadsheet like environment. However, unlike a typical business spreadsheet that operates on a table of cells each of which contain single scalar values, a DADiSP Worksheet consists of multiple interrelated windows where each window contains an entire series or multi-column matrix. A window not only stores the data, but also displays the data in several interactive forms, including 2D graphs, XYZ plots, 3D surfaces, images and numeric tables. Like a traditional spreadsheet, the windows are linked such that a change to the data in one window automatically updates all dependent windows both numerically and graphically.[3][4] Users manipulate data primarily through windows. A DADiSP window is normally referred to by the letter "W" followed by a window number, as in "W1". For example, the formula W1: 1..3 assigns the series values {1, 2, 3} to "W1". The formula W2: W1*W1 sets a second window to compute the square of each value in "W1" such that "W2" will contain the series {1, 4, 9}. If the values of "W1" change to {3, 5, 2, 4}, the values of "W2" automatically update to {9, 25, 4, 16}.

Programming language

DADiSP includes a series based programming language called SPL (Series Processing Language)[5] used to implement custom algorithms. SPL has a C/C++ like syntax and is incrementally compiled into intermediate bytecode, which is executed by a virtual machine. SPL supports both standard variables assigned with = and "hot" variables assigned with :=. For example, the statement A = 1..3 assigns the series {1, 2, 3} to the standard variable "A". The square of the values can be assigned with B = A * A. Variable "B" contains the series {1, 4, 9}. If "A" changes, "B" does not change because "B" preserves the values as assigned without regard to the future state of "A". However, the statement A := 1..3 creates a "hot" variable. A hot variable is analogous to a window, except hot variables do not display their data. The assignment B := A * A computes the square of the values of "A" as before, but now if "A" changes, "B" automatically updates. Setting A = {3, 5, 2, 4} causes "B" to automatically update with {9, 25, 4, 16}.

History

DADiSP was originally developed in the early 1980s, as part of a research project at MIT to explore the aerodynamics of Formula One racing cars.[4] The original goal of the project was to enable researchers to quickly explore data analysis algorithms without the need for traditional programming.

Version history

  • DADiSP 6.7 B02,[6] Jan 2017
  • DADiSP 6.7 B01,[7] Oct 2015
  • DADiSP 6.5 B05,[8] Dec 2012
  • DADiSP 6.5,[9] May 2010
  • DADiSP 6.0, Sep 2002
  • DADiSP 5.0, Oct 2000
  • DADiSP 4.1, Dec 1997
  • DADiSP 4.0, Jul 1995
  • DADiSP 3.01, Feb 1993
  • DADiSP 2.0,[10] Feb 1992
  • DADiSP 1.05, May 1989
  • DADiSP 1.03, Apr 1987

See also

References

  1. ^ Mahmood Nahvi. "Real-Time Digital Signal Processing Design Projects in an Undergraduate DSP Course and Laboratory" (PDF). Texas Instruments DSPS Fest, 1999.
  2. ^ "User Interactive Software for Analysis of Human Physiological Data". Nasa Tech Briefs, December 2006.
  3. ^ "DADiSP Makes Complex Data Analysis Faster and Easier". DSP Development Corp. Retrieved March 3, 2014.
  4. ^ a b "DADiSP 2002 Escape from the cell block". Scientific Computing World. Retrieved March 3, 2014.
  5. ^ "DADiSP SPL vs. MATLAB". DSP Development Corp. Retrieved March 3, 2014.
  6. ^ "DADiSP 6.7 B02 Release Notes". DSP Development Corp. Retrieved January 18, 2017.
  7. ^ "DADiSP 6.7 B01 Release Notes". DSP Development Corp. Retrieved October 30, 2015.
  8. ^ "DADiSP 6.5 B05 Release Notes". DSP Development Corp. Retrieved March 3, 2014.
  9. ^ "DADiSP 6.5". Scientific Computing World. Retrieved June 1, 2010.
  10. ^ "DADiSP 2.0". The Professional Geographer. 44: 103–108. 1992. doi:10.1111/j.0033-0124.1992.00103.x.

Further reading

  • Allen Brown, Zhang Jun: First Course In Digital Signal Processing Using DADiSP, Abramis, ISBN 9781845495022
  • Charles Stephen Lessard: Signal Processing of Random Physiological Signals (Google eBook), Morgan & Claypool Publishers