Signal Processing Toolbox

执行信号处理和分析

 

Signal Processing Toolbox™ 提供多种函数和 App,可用于均匀和非均匀采样信号的分析、预处理和特征提取。该工具箱包含一系列工具,可用于滤波器设计和分析、重采样、平滑处理、去趋势和功率谱估计。该工具箱还具备以下功能:提取变化点和包络等特征、查找峰值和信号模式、量化信号相似性,以及执行 SNR 和失真等测量。您还可以执行振动信号的模态和阶次分析。

借助 Signal Analyzer,您无需编写代码,就可以在时域、频域和时频域同时预处理和分析多个信号,探查长信号,并提取关注区域。借助 Filter Designer,您可以选择各种算法和响应来设计和分析数字滤波器。这两个 App 都能够生成 MATLAB® 代码。

快速入门:

面向信号的机器学习和深度学习

针对机器学习和深度学习工作流程执行预处理、特征工程、信号标注和数据集生成

预处理和特征提取

在训练深度网络之前,使用内置函数和 App 来清理信号并移除不需要的内容。

从信号中提取时域、频域和时频域特征,以增强特征,减少变异性和数据维度,用以训练深度学习模型。

使用长短期记忆网络进行 ECG 信号分类

标注和数据集管理

使用 Signal Labeler 标注信号的属性、关注区域和关注点。创建不同类型的标签和子标签。

使用信号数据存储管理因体积过大无法放入内存的大量信号数据。

标注信号以进行分析 

参考示例

通过示例开始了解面向信号的机器学习和深度学习。

使用深度学习进行波形分割

信号探查和预处理

使用 App 和函数来探查、处理和理解数据

探查信号

使用 Signal Analyzer 在时域、频域和时频域中分析和可视化信号。从信号中提取关注区域以进一步分析。

利用 Signal Analyzer,您还可以在同一视图内同时测量和分析具有不同持续时间的信号。

从鲸鱼叫声中提取关注区域

预处理数据

对信号进行去噪、平滑和去趋势处理,为进一步分析做好准备。移除数据中的离群值和乱真内容。

对信号进行增强和可视化处理,从而发现模式。更改信号的采样率,或者使采样不规则或包含缺失数据的信号具有恒定的采样率。

处理包含缺失采样的信号

特征提取和信号测量

测量信号中的常见独特特征并提取模式

描述性统计量

计算常见描述性统计量,如极大值、极小值、标准差和 RMS 水平。查找信号中的变化点并使用动态时间规整来对齐信号。

找出信号峰值并确定其高度、宽度以及相邻峰值的间距。测量时域特征,比如峰间幅值和信号包络。

脉冲和瞬态指标

测量上升时间、下降时间、压摆率、过冲、欠冲、稳定时间、脉冲宽度、脉冲周期和占空比。

三角波形的压摆率

频谱测量

计算信号或功率谱的带宽和均值或中位数频率。测量信噪比 (SNR)、总谐波失真 (THD) 以及信号与噪声失真比 (SINAD)。测量谐波失真。

估算瞬时频率、谱熵和谱峰度。

测量信号的功率

滤波器设计和分析

设计、分析和实现各种数字和模拟滤波器

数字滤波器

使用 Filter Designer 设计、分析和实现各种数字 FIR 和 IIR 滤波器,如低通、高通和带阻。对幅值、相位、群延迟、脉冲和阶跃等各种响应进行可视化。

检查滤波器极点和零点。通过测试稳定性和相位线性来评估滤波器性能。对数据应用滤波器,并使用零相位滤波消除延迟和相位失真。

模拟滤波器

设计和分析模拟滤波器,包括 Butterworth、Chebyshev、Bessel 和椭圆滤波器设计。

使用脉冲响应不变法和双线性转换法等离散化方法执行模拟滤波器到数字滤波器的转换。

比较各种模拟 IIR 低通滤波器

频谱分析

表征信号的频率成分

频谱估计

使用周期图法、Welch 交叠平均法和多窗谱法等非参数化方法估计频谱密度。实现 Burg、协方差和 MUSIC 等参数化及子空间方法估计频谱。

使用 Lomb-Scargle 方法为非均匀采样信号或包含缺失采样的信号计算功率谱。通过估计频谱相关性在频域中测量信号相似性。

Welch 频谱估计

窗函数

实现并可视化常见窗函数。使用 Window Designer 设计和分析窗。比较窗在不同大小和其他参数设置下的主瓣宽度和旁瓣电平。

设计和分析频谱窗

时频分析

可视化和比较非稳态信号的时频成分 

时频分布

使用短时傅里叶变换、频谱图或 Wigner-Ville 分布来分析含有时变频谱的信号。使用交叉频谱图在时频域中比较信号。

短时傅里叶变换

重排和同步压缩

使用重排法锐化时频估计的局部化。使用同步压缩识别时频脊。

复线性调频的瞬时频率

数据自适应变换

使用经验模态分解、变分模态分解和 Hilbert-Huang 变换执行数据自适应时频分析。

经验模态分解

振动分析

表征机械系统中的振动

阶次分析

使用阶次分析,分析并可视化在旋转机械中出现的频谱成分。

跟踪和提取阶次及其时域波形。从振动信号中跟踪和提取转速描述图。使用时间同步平均法连贯地消除噪声。

旋转机械的振动分析

模态分析

通过估算频率响应函数、自然频率、阻尼比和模态形状进行实验性的模态分析。

弹性机翼飞机的模态分析

疲劳分析

生成疲劳分析的高频雨流计数。

疲劳分析的雨流计数

加速和部署

使用 GPU 加速代码。从 MATLAB® 代码生成可移植的 C/C++ 源代码、独立可执行文件或独立应用程序

代码加速

如果函数支持,可使用 GPU 和多核处理器加快代码执行。

用 GPU 加快处理相关性问题

代码生成

使用 MATLAB Coder 生成产品级 C/C++ 代码和 MEX 文件,以便在桌面和嵌入式应用程序中部署。

如果函数支持,可生成优化的 CUDA 代码并在 NVIDIA GPU 中使用。

零相位滤波的代码生成

最新特性

Signal Labeler

执行交互式或自动信号标记

信号数据存储

处理工作区或文件中的信号集合

时频分析

使用变分模态分解来提取固有模态

深度学习示例

使用时频分析和神经网络进行分类和标注

tall 数组

在频谱图和 stft 函数中支持 tall 数组

GPU 代码生成支持

fftfiltstft 函数生成 CUDA 代码

GPU 加速

加速 spectrogram、cztstftwvd 函数

C/C++ 代码生成支持

为时频分析、特征提取、频谱分析、多速率信号处理和滤波器设计生成代码

关于这些特性和相应函数的详细信息,请参阅发行说明