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

SignalLab由以下組件組成:
信號(hào)生成器:
- 生成Tone(正弦波),三角,矩形或直流信號(hào)
- 生成偽隨機(jī)實(shí)數(shù)(雙精度)樣本
- 生成高斯分布的偽隨機(jī)實(shí)數(shù)(雙精度)樣本
算術(shù)組件:
- 加法
- 減法
- 乘法
- 除法
- 在一個(gè)輸入的信號(hào)上應(yīng)用一個(gè)窗口函數(shù)
- 使用實(shí)數(shù)常量
- 使用整型常量
- 使用復(fù)雜類型常量
文件訪問(wèn):
- 存儲(chǔ)實(shí)型,整型或復(fù)雜類型數(shù)據(jù)到一個(gè)二進(jìn)制文件中
- 播放來(lái)自現(xiàn)有的一個(gè)二進(jìn)制文件中的實(shí)型,整型或復(fù)雜類型數(shù)據(jù)
濾波器:
- 對(duì)輸入信號(hào)執(zhí)行一個(gè)低通濾波器。
- 對(duì)輸入信號(hào)執(zhí)行一個(gè)高通濾波器。
- 對(duì)輸入信號(hào)執(zhí)行一個(gè)帶通濾波器。
- 對(duì)輸入信號(hào)執(zhí)行一個(gè)帶阻濾波器。
- 對(duì)輸入信號(hào)執(zhí)行一個(gè)FIR濾波器。
- 對(duì)輸入信號(hào)執(zhí)行一個(gè)任意的IIR濾波器。
- 對(duì)輸入信號(hào)執(zhí)行一個(gè)雙二階IIR濾波器。
- 對(duì)輸入信號(hào)執(zhí)行一個(gè)中值濾波器。
- 轉(zhuǎn)換緩沖區(qū)的值為絕對(duì)值。
- 從信號(hào)中移除直流分量。
- 為信號(hào)的處理增加一個(gè)延遲
- 取出數(shù)據(jù)的一個(gè)快照(樣本)緩沖并發(fā)送它到該組件輸出。
- 通過(guò)該組件為信號(hào)使用開/關(guān)來(lái)切換啟用或禁用數(shù)據(jù)緩沖區(qū)
變換:
- 對(duì)一個(gè)實(shí)型的或復(fù)雜的信號(hào)執(zhí)行快速傅里葉變換(FFT)
- 對(duì)一個(gè)實(shí)信號(hào)作反快速傅里葉變換(反向FFT)
- 對(duì)一個(gè)實(shí)信號(hào)作反快速傅里葉變換(反向FFT)
- 對(duì)實(shí)型的或復(fù)雜的信號(hào)作離散傅里葉變換(DFT)。
- 對(duì)一個(gè)實(shí)信號(hào)執(zhí)行反離散傅里葉變換(反向DFT)。
- 對(duì)一個(gè)實(shí)信號(hào)執(zhí)行反離散傅里葉變換(反向DFT)。
- 對(duì)一個(gè)實(shí)型的或一個(gè)復(fù)雜緩沖區(qū)的給定頻率計(jì)算離散傅立葉變換(Goertzel DFT)。
- 執(zhí)行離散余弦變換(DCT)。
- 執(zhí)行反向離散余弦變換(反向DCT)。
- 執(zhí)行前向單級(jí)離散小波Haar變換(Haar)。
- 執(zhí)行反向單級(jí)離散小波Haar變換(反向Haar)。
轉(zhuǎn)換器:
- 將輸入信號(hào)轉(zhuǎn)換為方波信號(hào)。
- 將輸入信號(hào)轉(zhuǎn)換為分貝表現(xiàn)形式。
- 將實(shí)(雙精度)數(shù)據(jù)緩沖區(qū)數(shù)據(jù)轉(zhuǎn)換到整型數(shù)據(jù)緩沖區(qū)。
- 將整型數(shù)據(jù)緩沖區(qū)數(shù)據(jù)轉(zhuǎn)換到實(shí)(雙精度)數(shù)據(jù)緩沖區(qū)。
- 將兩個(gè)包含實(shí)型和圖像數(shù)據(jù)的實(shí)型(雙精度)數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)轉(zhuǎn)換到復(fù)雜數(shù)據(jù)緩沖區(qū)。
- 將一個(gè)復(fù)雜信號(hào)元素轉(zhuǎn)換為極坐標(biāo)形式。
- 將存儲(chǔ)在輸入信號(hào)中的極坐標(biāo)形式的幅度/相位對(duì)轉(zhuǎn)換為直角坐標(biāo)形式。
- 執(zhí)行一個(gè)90度的相移。
- 執(zhí)行Conjugater轉(zhuǎn)換。
- 計(jì)算功率譜或一個(gè)實(shí)型緩沖區(qū)的幅度。
- 以一個(gè)指定的大小重新安排緩沖區(qū)的樣本。
- 改變信號(hào)的輸出范圍。
- 檢測(cè)輸入信號(hào)的電平。
統(tǒng)計(jì)組件:
- 計(jì)算一個(gè)信號(hào)的噪聲統(tǒng)計(jì)信息。
儀表:
- 實(shí)現(xiàn)一個(gè)RMS(均方根)儀表。
用戶定義的自定義濾波器和生成器:
- 對(duì)實(shí)型(雙精度)數(shù)據(jù)緩沖區(qū)用戶定義的通用濾波器
- 通用的實(shí)型數(shù)據(jù)生成器。
- 對(duì)整型數(shù)據(jù)緩沖區(qū)用戶定義的通用濾波器。
- 通用的實(shí)整型數(shù)據(jù)生成器。
- 對(duì)復(fù)雜數(shù)據(jù)類型緩沖區(qū)用戶自定義的通用濾波器。
- 通用復(fù)雜數(shù)據(jù)生成器
- 為二進(jìn)制數(shù)據(jù)緩沖區(qū)用戶定義的通用濾波器。
- 通用二進(jìn)制數(shù)據(jù)生成器。
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