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
|
UPDATED RELEASE: RAD Studio/Delphi 13.0 Florence version of all the libraries has been released!
NEW RELEASE: RAD Studio/Delphi 13.0 Florence version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 12.3 Athens version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 12.3 Athens version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 12.2 Athens version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 12.0.0 Athens version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 12.0.0 Athens version of all the libraries has been released!
NEW RELEASE: Updated RAD Studio/Delphi 12.0.0 Athens version of all the libraries has been released!
NEW RELEASE: RAD Studio/Delphi 12.0 Athens version of all the libraries has been released!
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!