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