DADiSP

Last updated
DADiSP
Developer(s) DSP Development Corporation
Initial release1987;34 years ago (1987)
Stable release
DADiSP 6.7 B02 / January 17, 2017;4 years ago (2017-01-17)
Written in C, C++, SPL
Operating system Microsoft Windows
Platform IA-32, x86-64
Type Technical computing
License Proprietary commercial software
Website www.dadisp.com
SPL
Paradigm multi-paradigm: imperative, procedural, object-oriented, array
Designed by Randy Race
Developer DSP Development Corporation
First appearedlate 1990s
Stable release
6.7 / 2017
Typing discipline Dynamic, weak
OS Microsoft Windows
Filename extensions .spl
Website www.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]

Contents

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

See also

Related Research Articles

Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are a sequence of numbers that represent samples of a continuous variable in a domain such as time, space, or frequency. In digital electronics, a digital signal is represented as a pulse train, which is typically generated by the switching of a transistor.

Microsoft Excel Spreadsheet, part of Microsoft Office

Microsoft Excel is a spreadsheet developed by Microsoft for Windows, macOS, Android and iOS. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications (VBA). It has been a very widely applied spreadsheet for these platforms, especially since version 5 in 1993, and it has replaced Lotus 1-2-3 as the industry standard for spreadsheets. Excel forms part of the Microsoft Office suite of software.

MATLAB Numerical computing environment and programming language

MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.

Spreadsheet Computer application for organization, analysis, and storage of data in tabular form

A spreadsheet is a computer application for organization, analysis, and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in cells of a table. Each cell may contain either numeric or text data, or the results of formulas that automatically calculate and display a value based on the contents of other cells. A spreadsheet may also refer to one such electronic document.

Signal processing Academic subfield of electrical engineering

Signal processing is an electrical engineering subfield that focuses on analysing, modifying, and synthesizing signals such as sound, images, and scientific measurements. Signal processing techniques can be used to improve transmission, storage efficiency and subjective quality and to also emphasize or detect components of interest in a measured signal.

Principal component analysis Conversion of observations of possibly-correlated variables into values of fewer, uncorrelated variables

The principal components of a collection of points in a real coordinate space are a sequence of unit vectors, where the -th vector is the direction of a line that best fits the data while being orthogonal to the first vectors. Here, a best-fitting line is defined as one that minimizes the average squared distance from the points to the line. These directions constitute an orthonormal basis in which different individual dimensions of the data are linearly uncorrelated. Principal component analysis (PCA) is the process of computing the principal components and using them to perform a change of basis on the data, sometimes using only the first few principal components and ignoring the rest.

Pattern recognition is the automated recognition of patterns and regularities in data. It has applications in statistical data analysis, signal processing, image analysis, information retrieval, bioinformatics, data compression, computer graphics and machine learning. Pattern recognition has its origins in statistics and engineering; some modern approaches to pattern recognition include the use of machine learning, due to the increased availability of big data and a new abundance of processing power. However, these activities can be viewed as two facets of the same field of application, and together they have undergone substantial development over the past few decades. A modern definition of pattern recognition is:

The field of pattern recognition is concerned with the automatic discovery of regularities in data through the use of computer algorithms and with the use of these regularities to take actions such as classifying the data into different categories.

Time series Sequence of data points over time

In mathematics, a time series is a series of data points indexed in time order. Most commonly, a time series is a sequence taken at successive equally spaced points in time. Thus it is a sequence of discrete-time data. Examples of time series are heights of ocean tides, counts of sunspots, and the daily closing value of the Dow Jones Industrial Average.

ReplayGain is a proposed technical standard published by David Robinson in 2001 to measure and normalize the perceived loudness of audio in computer audio formats such as MP3 and Ogg Vorbis. It allows media players to normalize loudness for individual tracks or albums. This avoids the common problem of having to manually adjust volume levels between tracks when playing audio files from albums that have been mastered at different loudness levels.

TK Solver is a mathematical modeling and problem solving software system based on a declarative, rule-based language, commercialized by Universal Technical Systems, Inc.

Stata Statistical software package

Stata is a general-purpose statistical software package developed by StataCorp for data manipulation, visualization, statistics, and automated reporting. It is used by researchers in many fields, including economics, sociology, political science, biomedicine, and epidemiology.

The Goertzel algorithm is a technique in digital signal processing (DSP) for efficient evaluation of the individual terms of the discrete Fourier transform (DFT). It is useful in certain practical applications, such as recognition of dual-tone multi-frequency signaling (DTMF) tones produced by the push buttons of the keypad of a traditional analog telephone. The algorithm was first described by Gerald Goertzel in 1958.

Automatic parallelization, also auto parallelization, or autoparallelization refers to converting sequential code into multi-threaded and/or vectorized code in order to use multiple processors simultaneously in a shared-memory multiprocessor (SMP) machine. Fully automatic parallelization of sequential programs is a challenge because it requires complex program analysis and the best approach may depend upon parameter values that are not known at compilation time.

Stepwise regression

In statistics, stepwise regression is a method of fitting regression models in which the choice of predictive variables is carried out by an automatic procedure. In each step, a variable is considered for addition to or subtraction from the set of explanatory variables based on some prespecified criterion. Usually, this takes the form of a forward, backward, or combined sequence of F-tests or t-tests.

Software calculator

A software calculator is a calculator that has been implemented as a computer program, rather than as a physical hardware device.

PSI-Plot is a scientific and engineering data analysis and technical plotting software developed by Poly Software International, Inc. The software can read multiple formats and perform mathematical transforms and statistical analyses. PSI-Plot is maintained on Microsoft Windows operating systems, and the current version is 9.5 for Windows 98 to Windows 7.

Author Joseph Thames, now deceased (2019), has left us with his latest version of PROSE, called FortranCalculus. It is freeware that can be downloaded from https://goal-driven.net/apps/fc-compiler.html. Joe's www.metacalculus.com website is no longer up. I have worked with Joe since ~1975, he will be missed! Thanks, Phil B Brubaker.

This glossary of computer science is a list of definitions of terms and concepts used in computer science, its sub-disciplines, and related fields, including terms relevant to software, data science, and computer programming.

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. 1 2 "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