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 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.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!