1. MathScript: Text-based programming for Signal Processing, Analysis, and Math
What is MathScript?
MathScript extends LabVIEW with a math-oriented textual programming language that is generally compatible with m-file script syntax used by alternative technical computing software such as The MathWorks, Inc. MATLAB® software and others. Such compatibility means that you can “instrument your algorithms” by running your m-file scripts with LabVIEW and access productivity enhancing LabVIEW features such as simplified instrument control / data acquisition, file / database access, user interface development, and more.
MathScript is tightly integrated with LabVIEW; you can easily combine graphical dataflow programming with math-oriented textual programming. This integration gives you with the freedom to choose the most effective syntax for algorithm development, model exploration, data analysis and other technical computing tasks.
What's new in MathScript with LabVIEW 8.20?: Enhanced Speed
With up to 300% compile speed-up over LabVIEW 8.0, the new release offers an improved interactive experience by reducing the time it takes for a new or modified script to start to execute. The Improved compile time makes working with longer batch scripts more tractable. Users can break up longer scripts into sub-functions or modules to improve compile performance.
Another performance improvement with LabVIEW 8.20 MathScript is an up to 500% speed-up over LabVIEW 8.0 for some matrix indexing operations. Matrix indexing operations are a very common task in m-file scripts. As such, improvements in this area will enhance execution speed for a variety of applications.
What's new in MathScript with LabVIEW 8.20?: New Functionality
LabVIEW 8.20 MathScript includes over 200 new functions for digital signal processing (DSP), plotting, file I/O and more. With the new additions, MathScript now includes over 600 functions.
New support for the end and return tokens simplify programming. The 'end' token simplifies matrix indexing by allowing you to specify the last element of a vector without having to call the length function. With the new ‘return’ token you can return from functions directly, eliminating the need to create complicated if / then constructs.
New functions for DSP are available for filter implementation, filter design, modeling / prediction, linear systems, resampling, spectral analysis, transforms, waveform analysis. Highlights of these new functions include:
- sgolayfilt: Filters with a FIR Savitzky-Golay smoothing filter
- rceps, cceps: Real / complex cepstrum of a signal
For plotting, new function highlights include several "easy plot" functions. With these new functions, you can specify a function as a string and quickly plot that function with automatic preparation of data for ranges. Some interesting new easy plot functions are shown below.
|3D easy plot (ezplot3) is an example of the new easy plot capability. The ezplot3 function generates a 3D plot of a curve in space. The curve consists of three functions that all share the same independent variable.|
|Feather plot (feather): Plots vectors that emanate from equally spaced points along a horizontal axis.|
|Quiver plot (quiver): Plots vector field / velocity plots.|
Other new features for LabVIEW 8.20 MathScript are related to application deployment or calling shared libraries. With new support for the LabVIEW 8.20 application builder, you can now create PC-based stand-alone DLLs and EXEs from VIs that include the MathScript node. Related to calling external code, you can now invoke shared libraries from MathScript. Shared library support includes the following functions: LoadLibrary, UnloadLibrary, CallLib, and LibIsLoaded.
MATLAB® is a registered trademark of The MathWorks, Inc. All other trademarks are the property of their respective owners.
2. Graphical tools for Signal Processing, Analysis, and Math
New and Enhanced Window Functions
With an increased variety of window functions you can more directly address applications such as filter design, communications, and spectral analysis. New and enhanced windowing functions in LabVIEW 8.20 include:
The Modified Bartlett-Hanning Window now supports complex-valued inputs. It can be used for FIR Window smoothing that preserves the shape of high frequency components.
With the new Bohman Window, you have a tool that can be used to reduce spectral leakage.
The new Parzen Window is useful for statistics and smoothing histograms.
The Welch Window now supports complex valued inputs and can be used for power spectral estimation and other tasks.
New Signal Generation Functions
- For synthesizing test signals that include non-repeating patterns, LabVIEW 8.20 includes a pulse train function and several new pattern generation functions.
- New pattern generation functions include Gaussian modulated sine pattern, Gaussian monopulse, periodic sinc pattern, and triangle pattern (generic).
4 New Filter Functions
|New Filter Function||Benefits / Applications|
FIR Filter with Initial Conditions
|Simplifies filter application
Prior to these Vis, you had to use the IIR filter VI to apply an FIR filter by choosing appropriate input parameters
Savitzky-Golay Filter Coefficients (piecewise, fits data to polynomial)
Fits data to a polynomial
Unlike alternatives such as lowpass filtering, a Savitsky-Golay Filter can preserve peak shapes
New Signal Operation Functions
- With the new continuous decimate and upsample (zero insertion only, no filter is applied) functions, you have building blocks for creating custom resampling functions with user-defined functions.
- The new rational resample function is a array-based tool for resampling when the ratio of the initial to new (desired sampling rate is not an integer.
New Linear Algebra Functions
The new solve Lyapunov equations and Kronecker product functions occur in stability analysis, optimal design and other areas of control theory and design.
Updated Polynomial Functions
- Create Polynomial From Roots (Improve the numerical precision): determine transfer function model
- GCD of p(x) and q(x) implements a new algorithm for improved accuracy, ‘Approximate GCD’ making it especially suitable for the case of calculating the GCD of the polynomial and its derivative.
- LCM of p(x) and q(x) implements a new algorithm for improved accuracy, ‘Approximate LCM’ making it especially suitable for the case of calculating the LCM of the polynomial and its derivative.