主要内容

signalTimeFeatureExtractor

简化信号特征提取

    描述

    使用signalTimeFeatureExtractor从信号中提取时域特征。您可以使用提取的特征来训练机器学习模型或深学习网络。

    创建

    描述

    超临界流体= signalTimeFeatureExtractor创建一个signalTimeFeatureExtractor对象的默认属性值。

    例子

    超临界流体= signalTimeFeatureExtractor (名称,值)指定的默认属性值signalTimeFeatureExtractor对象。例如,signalTimeFeatureExtractor (FeatureFormat =“表”)设置输出格式生成的功能表。

    属性

    全部展开

    主要特性

    一个框架的样本数量,指定为一个正整数。指定的对象将信号划分为帧长度和提取功能,为每一帧。如果你不指定FrameSize,或者如果您指定FrameSize空,对象为整个信号提取特征。

    数据类型:|

    的开始帧之间的样本数量,指定为一个正整数。帧速率确定样本之间的距离帧的起始点。如果您指定帧速率,那你还必须指定FrameSize。如果你不指定帧速率FrameOverlapLength,然后帧速率假定等于什么FrameSize。你不能指定帧速率FrameOverlapLength同时进行。

    数据类型:|

    连续帧之间的重叠的样本数量,指定为一个正整数。FrameOverlapLength必须小于或等于帧大小。如果您指定FrameOverlapLength,那你还必须指定FrameSize。你不能指定FrameOverlapLength帧速率同时进行。

    数据类型:|

    输入采样率,指定为一个积极的标量赫兹。

    数据类型:|

    的格式生成特性,指定为“矩阵”“表”。的提取函数返回功能作为其中的一个:

    • 矩阵——矩阵列对应的特征值。

    • 表,每个表变量对应一个特征值。

    数据类型:字符|字符串

    规则来处理不完整的帧,指定为“下降”“zeropad”。这条规则适用于当前帧的大小小于指定的FrameSize财产。

    • 下降——把不完整的框架和不使用它来计算功能。

    • zeropad——在不完整的框架和使用它来计算功能。

    数据类型:字符|字符串

    特征提取

    选择提取的意思是,指定为真正的。如果您指定的意思是是真的,对象提取的意思和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取均方根(RMS),指定为真正的。如果您指定RMS是真的,对象提取RMS和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取标准差,指定为真正的。如果您指定StandardDeviation是真的,对象提取标准偏差和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取形状因子,指定为真正的。形状系数等于均方根值除以平均绝对值的信号。如果您指定ShapeFactor是真的,对象提取形状系数和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取信噪比(信噪比),指定为真正的。如果您指定信噪比是真的,对象提取信噪比和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取总谐波失真(THD),指定为真正的。如果您指定是真的,对象提取(THD和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取信号噪声和失真率(SINAD)分贝,指定为真正的。如果您指定Sinad是真的,对象提取SINAD和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取峰值,指定为真正的。峰值对应的最大绝对值的信号。如果您指定PeakValue是真的,对象提取峰值和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取波峰因素,指定为真正的。波峰因子等于峰值除以RMS。如果您指定CrestFactor是真的,对象提取峰值系数和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取间隙因素,指定为真正的。间隙因素等于峰值除以根号的平方均值的绝对振幅。如果您指定ClearanceFactor是真的,对象提取间隙系数和附加价值功能返回的提取函数。

    数据类型:逻辑

    选择提取冲动因素,指定为真正的。脉冲系数等于峰值除以绝对振幅的均值。如果您指定ImpulseFactor是真的,对象提取脉冲系数和附加价值功能返回的提取函数。

    数据类型:逻辑

    对象的功能

    提取 提取时域或频域特性
    generateMATLABFunction 创建MATLAB函数兼容C / c++代码生成

    例子

    全部折叠

    从肌提取时域特征(EMG)工作流数据供以后使用机器学习分类前臂动作。可用的文件在这个位置:https://ssd.mathworks.com/金宝appsupportfiles/SPT/data/MyoelectricData.zip

    这个示例使用EMG信号收集30前臂的科目[1]。720年的数据集包含文件。每个主题参与四个测试会议,执行六个试验不同的前臂动作/会话。下载并解压缩文件到临时目录中。

    localfile = matlab.internal.examples.download金宝appSupportFile (“SPT”,“数据/ MyoelectricData.zip”);datasetFolder = fullfile (tempdir,“MyoelectricData”);解压缩(localfile datasetFolder)

    每个文件包含一个八路EMG信号代表八前臂肌肉的激活在一系列的动作。采样率为1000 Hz。创建一个signalDatastore指向数据集文件夹。

    fs = 1000;sds = signalDatastore (datasetFolder IncludeSubfolders = true);

    对于这个示例,分析只有最后(六)每个会话的审判。使用endsWith函数来找到这些文件相对应的指标。创建一个新的数据存储包含这个子集的信号。

    p = endsWith (sds.Files“6 d.mat”);sdssub =子集(sds、p);data = readall (sdssub);

    创建一个signalTimeFeatureExtractor对象提取的意思是,均方根(RMS)和高峰值的EMG信号。调用提取函数来提取指定的特性。情节的高峰值第二个和第八EMG频道。

    超临界流体= signalTimeFeatureExtractor (SampleRate = fs,意味着= true, RMS = true, PeakValue = true);M = [];F = [];i = 1:长度(sdssub.Files) M{我1}=提取(技术、数据{我});结束k = 1:30 peak2 = M {k, 1} (:, 3、2);peak8 = M {k, 1} (:, 3、8);F (k, 1) = peak2;F (k, 2) = peak8;结束酒吧(F)包含(“主题”)ylabel (“EMG高峰值(mV)”)传说([“频道2”;“频道8”])

    引用

    [1]Chan艾德里安。,和Geoffrey C. Green. 2007. "Myoelectric Control Development Toolbox." Paper presented at 30th Conference of the Canadian Medical & Biological Engineering Society, Toronto, Canada, 2007.

    扩展功能

    C / c++代码生成
    生成C和c++代码使用MATLAB®编码器™。

    版本历史

    介绍了R2021a

    另请参阅

    对象