SignalLab是一款用于快速數字信號處理(DSP)的組件集。該庫為您提供可視化操作,以快速處理復雜信號而不需要代碼編輯。
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.
這里有一些使用SignalLab完成一些功能的實例:
采集處理,記錄和顯示信號
播放和分析該信號并顯示結果
生成和輸出信號
混合不同的信號源,輸出和顯示結果

SignalLab由以下組件組成:
信號生成器:
- 生成Tone(正弦波),三角,矩形或直流信號
- 生成偽隨機實數(雙精度)樣本
- 生成高斯分布的偽隨機實數(雙精度)樣本
算術組件:
- 加法
- 減法
- 乘法
- 除法
- 在一個輸入的信號上應用一個窗口函數
- 使用實數常量
- 使用整型常量
- 使用復雜類型常量
文件訪問:
- 存儲實型,整型或復雜類型數據到一個二進制文件中
- 播放來自現有的一個二進制文件中的實型,整型或復雜類型數據
濾波器:
- 對輸入信號執行一個低通濾波器。
- 對輸入信號執行一個高通濾波器。
- 對輸入信號執行一個帶通濾波器。
- 對輸入信號執行一個帶阻濾波器。
- 對輸入信號執行一個FIR濾波器。
- 對輸入信號執行一個任意的IIR濾波器。
- 對輸入信號執行一個雙二階IIR濾波器。
- 對輸入信號執行一個中值濾波器。
- 轉換緩沖區的值為絕對值。
- 從信號中移除直流分量。
- 為信號的處理增加一個延遲
- 取出數據的一個快照(樣本)緩沖并發送它到該組件輸出。
- 通過該組件為信號使用開/關來切換啟用或禁用數據緩沖區
變換:
- 對一個實型的或復雜的信號執行快速傅里葉變換(FFT)
- 對一個實信號作反快速傅里葉變換(反向FFT)
- 對一個實信號作反快速傅里葉變換(反向FFT)
- 對實型的或復雜的信號作離散傅里葉變換(DFT)。
- 對一個實信號執行反離散傅里葉變換(反向DFT)。
- 對一個實信號執行反離散傅里葉變換(反向DFT)。
- 對一個實型的或一個復雜緩沖區的給定頻率計算離散傅立葉變換(Goertzel DFT)。
- 執行離散余弦變換(DCT)。
- 執行反向離散余弦變換(反向DCT)。
- 執行前向單級離散小波Haar變換(Haar)。
- 執行反向單級離散小波Haar變換(反向Haar)。
轉換器:
- 將輸入信號轉換為方波信號。
- 將輸入信號轉換為分貝表現形式。
- 將實(雙精度)數據緩沖區數據轉換到整型數據緩沖區。
- 將整型數據緩沖區數據轉換到實(雙精度)數據緩沖區。
- 將兩個包含實型和圖像數據的實型(雙精度)數據緩沖區中的數據轉換到復雜數據緩沖區。
- 將一個復雜信號元素轉換為極坐標形式。
- 將存儲在輸入信號中的極坐標形式的幅度/相位對轉換為直角坐標形式。
- 執行一個90度的相移。
- 執行Conjugater轉換。
- 計算功率譜或一個實型緩沖區的幅度。
- 以一個指定的大小重新安排緩沖區的樣本。
- 改變信號的輸出范圍。
- 檢測輸入信號的電平。
統計組件:
儀表:
用戶定義的自定義濾波器和生成器:
- 對實型(雙精度)數據緩沖區用戶定義的通用濾波器
- 通用的實型數據生成器。
- 對整型數據緩沖區用戶定義的通用濾波器。
- 通用的實整型數據生成器。
- 對復雜數據類型緩沖區用戶自定義的通用濾波器。
- 通用復雜數據生成器
- 為二進制數據緩沖區用戶定義的通用濾波器。
- 通用二進制數據生成器。
SignalLab在線demo演示

Here are some examples of what can be done with SignalLab:
Acquire process, record and display the signals

Play and analyze the signal and display the results

Generate and output signals

Mix different signal sources, output and display the result

The following components are part of SignalLab:
Signal Generators:
- Generates Tone(Sine Wave), Triangle, Rectangle or DC signal.
- Generates pseudo-random Real(double) data samples.
- Generates pseudo-random Real(double) data samples with a Gaussian distribution.
Arithmetic components:
- Add
- Subtract
- Multiply
- Divide
- Applies a window function over the input signal
- Apply Real constant
- Apply Integer constant
- Apply Complex constant
File Access:
- Stores Real, Integer or Complex data into a Binary file
- Plays Real, Integer or Complex data from an existing Binary file
Filters:
- Performs a LowPass filter over the input signal
- Performs a HighPass filter over the input signal.
- Performs a BandPass filter over the input signal.
- Performs a BandStop filter over the input signal.
- Performs a FIR filter over the input signal.
- Performs an Arbitrary IIR filter over the input signal.
- Performs an BiQuad IIR filter over the input signal.
- Performs a Median Filter over the input signal.
- Converts the values of the buffers to absolute values
- Removes the DC component from the signal
- Adds a delay to the processed of the signal
- Takes a snapshot(Sample) buffer of the data and sends it to the component output.
- Enables or disables the data buffers to go trough. Works as On/Off switch for the signal passing trough the component.
Transformations:
- Performs fast Fourier transformation (FFT) over real or complex signal.
- Performs inverse fast Fourier transformation (Inverse FFT) to a real signal.
- Performs inverse fast Fourier transformation (Inverse FFT) to a Complex signal.
- Performs Discrete Fourier transformation (DFT) over real or complex signal.
- Performs inverse Discrete Fourier transformation (Inverse DFT) to a real signal.
- Performs inverse Discrete Fourier transformation (Inverse DFT) to a Complex signal.
- Computes the discrete Fourier transform ( Goertzel DFT ) for a given frequency for a real or complex buffer.
- Performs Discrete Cosine Transform (DCT).
- Performs Inverse Discrete Cosine Transform ( Inverse DCT).
- Performs forward single-level discrete wavelet Haar transformation (Haar).
- Performs Inverse single-level discrete wavelet Haar transformation ( Inverse Haar).
Converters:
- Converts the input signal to a square signal.
- Converts the input signal to a dB representation form.
- Converts Real(double) data buffer data into Integer data buffer.
- Converts Integer data buffer data into Real(double) data buffer.
- Converts two Real(double) data buffers containing the Real and Imaginary data into Complex data buffer.
- Converts Complex data buffer into two Real(double) data buffers containing the Real and Imaginary data.
- Converts the elements of a complex signal to polar coordinate form.
- Converts the polar form magnitude/phase pairs stored in input signals to Cartesian coordinate form.
- Performs a 90 degrees phase shift.
- Performs Conjugater conversion.
- Computes the Power Spectrum or the Magnitude of a Real Buffer.
- Rearranges the samples into buffers with a specified size.
- Changes the output range of the signal.
- Detects levels in the input signal.
Statistics components:
- Calculates the noise stats of a signal.
Meters:
- Implements a RMS (Root Mean Square) Meter.
User defined custom filters and generators:
- User defined generic filter for Real(double) Data Buffers.
- Generic Real data generator
- User defined generic filter for Integer Data Buffers.
- Generic Integer data generator
- User defined generic filter for Complex Data Buffers.
- Generic Complex data generator
- User defined generic filter for Binary Data Buffers.
- Generic Binary data generator