SignalLab allows fast, complex signal manipulations and visualization with almost zero lines of code!
|
|
SignalLab is a set of components for very fast digital signal processing (DSP). The library allows very fast complex signal manipulations and visualization with zero lines of program code.
Applications include: real time data acquisition, process control, signal analysis, digital signal analysis, audio analysis, video analysis, data visualization, visual instrumentation and more.
A simple signal generation tutorial (.NET or VCL) and a more complex signal analysis tutorial (.NET or VCL) are available in the tutorials section.
Acquire, process, record and display signals:
SLNoiseStats | ![]() |
Calculates the noise stats of a signal: SNR, THD, SINAD, Harmonics and more. |
SLPatternDetector | ![]() |
Use this component to detect patterns in the buffers |
SLMultiply | ![]() |
Combines multiple input real signals by performing Multiply operation |
SLAdd | ![]() |
Combines multiple input signals by performing Add operation over real data |
SLSubtract | ![]() |
Combines two input real signals by performing Subtract operation |
SLDivide | ![]() |
Combines two input real signals by performing Divide operation |
SLApplyComplexConst | ![]() |
Applies a Complex constant to each sample |
SLApplyIntConst | ![]() |
Applies a Integer constant to each sample |
SLApplyRealConst | ![]() |
Applies a Real constant to each sample |
SLApplyWindow | ![]() |
Applies a window function over the input signal |
SLAddComplex | ![]() |
Combines multiple input signals by performing Add operation over complex data |
SLMultiplyComplex | ![]() |
Combines multiple input complex signals by performing Multiply operation |
SLSubtractComplex | ![]() |
Combines two input complex signals by performing Subtract operation |
SLDivideComplex | ![]() |
Combines two input complex signals by performing Divide operation |
SLMinMax | ![]() |
Use this component to find the minimal and maximal values in the each buffer |
SLMean | ![]() |
Use this component to find the Mean(average) of the data buffers |
SLChangeRange | ![]() |
Changes the output range of the signal |
SLDetectLevels | ![]() |
Detects levels in the input signal |
SLPair | ![]() |
Pairs multiple data buffers together |
SLComplexToReal | ![]() |
Converts Complex buffer to Real and Imaginary buffers |
SLRealToComplex | ![]() |
Converts Real and Imaginary buffers to a Complex buffer |
SLRealToInt | ![]() |
Converts Real data to Integer |
SLIntToReal | ![]() |
Converts Integer data to Real |
SLCartToPolar | ![]() |
Converts the elements of a complex signal to polar coordinate form |
SLPolarToCart | ![]() |
Converts the polar form magnitude/phase pairs stored in input signals to Cartesian coordinate form |
SLHilbert | ![]() |
Performs a Hilbert transform |
SLToSquare | ![]() |
Converts the input signal to a square signal |
SLPowerSpectrum | ![]() |
Computes the Power Spectrum of a Real Buffer |
SLConjugate | ![]() |
Performs Conjugater conversion |
SLRepack | ![]() |
Rearranges the samples into buffers with a specified size |
SLRealTodB | ![]() |
Converts real data to dB format |
SLMakeStructure | ![]() |
Combines elements into a strucrure |
SLSplitStructure | ![]() |
Splits a structure into multiple elements |
SLGenericRealValue | ![]() |
User defined filter for Real values |
SLGenericReal | ![]() |
User defined filter for Real data |
SLGenericFilter | ![]() |
User defined filter for Binary data |
SLGenericRealMatrix | ![]() |
User defined generator for Real matrix data |
SLGenericInt | ![]() |
User defined filter for Integer data |
SLGenericComplex | ![]() |
User defined filter for Complex data |
MLDSMediaFilter | ![]() |
Passes media trough a DirectShow filter |
SLIir | ![]() |
Performs an Arbitrary IIR filter over the input signal |
SLBandPass | ![]() |
Performs a BandPass filter over the input signal |
SLBandStop | ![]() |
Performs a BandStop filter over the input signal |
SLFir | ![]() |
Performs a FIR filter over the input signal |
SLHighPass | ![]() |
Performs a HighPass filter over the input signal |
SLLowPass | ![]() |
Performs a LowPass filter over the input signal |
SLMedian | ![]() |
Performs a Median Filter |
SLBiQuadIir | ![]() |
Performs a BiQuad IIR filter over the input signal |
SLDelayLine | ![]() |
Delays the signal |
SLRemoveDC | ![]() |
Removes the DC component from the signal |
SLSnapshot | ![]() |
Takes a snapshot of the data |
SLSwitch | ![]() |
Enables or disables the data to go trough |
SLCombFilter | ![]() |
Performs a Comb filter over the input signal |
SLGenericReal | ![]() |
User defined filter for Real data |
SLGenericFilter | ![]() |
User defined filter for Binary data |
SLGenericRealMatrix | ![]() |
User defined generator for Real matrix data |
TLGenericFilter | ![]() |
User defined timing filter |
SLGenericGen | ![]() |
User defined generator for Binary data |
SLGenericRealGen | ![]() |
User defined generator for Real data |
SLRMSMeter | ![]() |
RMS (Root Mean Square) Meter |
OpenWireStudio | ![]() |
Loads, executes, and exchanges data with OpenWire Studio projects |
SLGenericRealValue | ![]() |
User defined filter for Real values |
SLGenericReal | ![]() |
User defined filter for Real data |
SLGenericFilter | ![]() |
User defined filter for Binary data |
SLGenericRealMatrix | ![]() |
User defined generator for Real matrix data |
SLGenericRealValueGen | ![]() |
User defined generator for Real values |
SLGenericGen | ![]() |
User defined generator for Binary data |
SLGenericRealGen | ![]() |
User defined generator for Real data |
SLGaussGen | ![]() |
Generates Gaussian distribution pseudo-random samples |
SLRandomGen | ![]() |
Generates pseudo-random Real(double) dta samples |
SLSignalGen | ![]() |
Generates Tone(Sine Wave), Triangle, Rectangle, Ramp or DC signal |
SLGenericIntGen | ![]() |
User defined generator for Integer data |
SLGenericComplexGen | ![]() |
User defined generator for Complex data |
TLWatchDogTimer | ![]() |
Implements a Watch Dog Timer. |
TLMainThredEvent | ![]() |
Allows other threads to generate main thread notifications. |
TLClockGen | ![]() |
Provides clock for other components. |
TLThreadEvent | ![]() |
Use this component to execute code in a separated thread |
TLStopWatch | ![]() |
Use this component to implement a Stop Watch |
TLFrequencyMeter | ![]() |
Use this component to implement a Frequency meter |
TLCounter | ![]() |
Use this component to implement a Counter |
SLSnippetTrigger | ![]() |
Defines trigger data class |
SLFourier | ![]() |
Performs Fast Fourier Transformation (FFT) |
SLInverseFourier | ![]() |
Performs Real Inverse Fast Fourier Transformation (Inverse FFT) |
SLInverseComplexFourier | ![]() |
Performs Complex Inverse Fast Fourier Transformation (Inverse FFT) |
SLDft | ![]() |
Performs Discrete Fourier Transformation (DFT) |
SLInverseDft | ![]() |
Performs Real Inverse Discrete Fourier Transformation (Inverse DFT) |
SLInverseComplexDft | ![]() |
Performs Complex Inverse Discrete Fourier Transformation (Inverse DFT) |
SLDct | ![]() |
Performs Discrete Cosine Transform (DCT) |
SLInverseDct | ![]() |
Performs Inverse Discrete Cosine Transform (Inverse DCT) |
SLGoertzOne | ![]() |
Computes the Discrete Fourier Transform ( Goertzel DFT ) for a given frequency |
SLHaar | ![]() |
Performs Forward single-level discrete wavelet Haar transformation |
SLInverseHaar | ![]() |
Performs Inverse single-level discrete wavelet Haar transformation |
SLAbs | ![]() |
Converts the values of the buffers to absolute values |
SLAverageValue | ![]() |
Use this component to average the input values |
SLScope | ![]() |
Visible Scope/Plot component for representing floating point data |
SLWaterfall | ![]() |
Visible waterfall for representing Real(double) data |
SLScopeLayer | ![]() |
A scope drawing layer. You can add this layer to any drawing component such as TVLDraw to render a video layer containing a scope |
SLWaterfallLayer | ![]() |
A waterfall draw layer. You can add this layer to any drawing component such as TVLDraw to render a video layer containing a waterfall |
SLExternalScopeMatrixLayer | ![]() |
A scope matrix component layer |
SLExternalWaterfallMatrixLayer | ![]() |
A waterfall matrix component layer |
SLExternalScopeElement | ![]() |
A scope component element |
SLExternalWaterfallElement | ![]() |
A waterfall component element |
Generate Signals | ![]() |
![]() |
![]() |
Demo: Signal Generator demo
|
Perform LowPass filter | ![]() |
![]() |
![]() |
Demo: Low Pass demo
|
Perform forward and reverse FFT | ![]() |
![]() |
![]() |
|
Perform LowPass, HighPass, BandPass, and BandStop filters | ![]() |
![]() |
![]() |
|
Feed SignalLab with your own data from data acquisition board or other source, implement your own filters, and visualization | ![]() |
![]() |
![]() |
|
Play recorded data and display the FFT spectrum into a Waterfall | ![]() |
![]() |
![]() |
Filters demo (LowPass, HighPass, BandPass, BandStop) |
Demonstrates the application of LowPass, HighPass, BandPass and BandStop filters |
Signal Generator demo |
Demonstrates how to use TSLSignalGen to generate tone (sine), triangle and square waves |
Low Pass demo |
Demonstrates how to apply TSLLowPass filter, and displays the output in a Waterfall plot |
Custom Digital Filters demo |
Demonstrates how to use the TSLGenericReal component to apply custom filter logic |
Fast Fourier Transform demo |
Demonstrats application of TSLFourier and TSLInverseFourier components. Displays real, imaginary, phase and spectrum magnitude outputs |
Goertzel (Alternative to FFT) demo |
Unlike the FFT, the TSLGoertzOne component looks for predetermined frequencies. It can be used, e.g., to detect the tones generated by telephone pushbuttons |
Lissajous Figures demo |
Demonstrates the generation and modification of Lissajous curves in a rectangular space by altering the sine equation parameters |
Player Waterfal demo |
Demonstrates playing a saved (binary) signal file and displaying in a waterfall plot
|
NEW RELEASE: Updated RAD Studio/Delphi 10.4 Sydney version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 10.3 Rio version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 11.0 Alexandria version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 10.4.2 Sydney version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 11.0.0 Alexandria version of all the libraries has been released!
NEW RELEASE: RAD Studio/Delphi 11.0 Alexandria version of all the libraries has been released!
NEW RELEASE: RAD Studio/Delphi 10.4.2 Sydney version of all the libraries has been released!
NEW RELEASE: Version 8.0.0 of all of the Mitov Software products has been released!
The latest RAD Studio 10.3 Rio Update 3 compatible versions of Libraries and OpenWire Studio are now available on the site
The latest RAD Studio 10.3 Rio compatible versions of Libraries and OpenWire Studio are now available on the site