主要内容

signalFrequencyFeatureExtractor

简化信号频率特征提取

自从R2021b

    描述

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

    创建

    描述

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

    例子

    超临界流体= signalFrequencyFeatureExtractor (名称=值)指定的默认属性值signalFrequencyFeatureExtractor对象。例如,signalFrequencyFeatureExtractor (FrameSize = 30, FrameOverlapLength = 6)将信号划分为重叠30-sample框架,从每一帧中提取特征。

    属性

    全部展开

    主要特性

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

    数据类型:|

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

    数据类型:|

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

    数据类型:|

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

    数据类型:|

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

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

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

    数据类型:字符|字符串

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

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

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

    数据类型:字符|字符串

    特征提取

    选择提取功率谱的平均频率,指定为真正的。如果您指定MeanFrequency是真的,对象提取的平均频率功率谱并将其添加到返回的特性提取函数。

    数据类型:逻辑

    选择提取中值频率的功率谱,指定为真正的。如果您指定MedianFrequency是真的,对象提取的平均频率功率谱并将其添加到返回的特性提取函数。

    数据类型:逻辑

    选择提取频带能量,指定为真正的。如果您指定BandPower真的,对象提取频带能量并将其添加到返回的特性提取函数。

    数据类型:逻辑

    选择提取99%的占用带宽,指定为真正的。如果您指定OccupiedBandwidth真的,对象提取99%占有带宽并将其添加到返回的特性提取函数。

    占用带宽的设置参数提取、使用setExtractorParameters

    setExtractorParameters(超临界流体,“OccupiedBandwidth”名称=值)

    占有带宽提取可设置的参数有:

    • 百分比——功率百分比,指定为一个正整数0One hundred.

    数据类型:逻辑

    选择提取3 dB(半功率带宽),指定为真正的。如果您指定PowerBanwidth真的,对象提取3 dB带宽值并将其添加到返回的特性提取函数。

    半功率带宽的设置参数提取、使用setExtractorParameters

    setExtractorParameters(超临界流体,“PowerBandwidth”名称=值)

    半功率带宽提取可设置的参数有:

    • RelativeAmplitude——相对振幅,指定为一个整数。

    数据类型:逻辑

    选择提取功率谱密度(PSD)估计,指定为真正的。如果您指定WelchPSD真的,对象提取PSD估计使用韦尔奇的方法并将其添加到返回的特性提取函数。

    韦尔奇的PSD的设置参数估计,使用setExtractorParameters

    setExtractorParameters(超临界流体,“WelchPSD”名称=值)

    韦尔奇的PSD估计提取可变的参数是:

    • FFTLength——数量的DFT点,指定为一个正整数。

    • FrequencyVectorPSD的频率估计,至少有两个元素指定为一个向量。您可以指定FrequencyVector只有当FFTLength没有指定。

    • OverlapLength——重叠的样本数量,指定为一个正整数。

    • 窗口——窗口中,指定为一个标量或矢量。

    数据类型:逻辑

    选择提取光谱峰值振幅,指定为真正的。如果您指定PeakAmplitude真的,对象提取峰值振幅的计算韦尔奇PSD估计和附加他们返回的特性提取函数。

    设置参数的峰值振幅提取、使用setExtractorParameters

    setExtractorParameters(超临界流体,“PeakAmplitude”名称=值)

    可设置的参数峰值振幅提取:

    • PeakType——指定为类型的高峰“最小值”“最大值”

    • MaxNumExtrema最大数量的山峰,指定为一个正整数标量。

    • MinProminence——最低突出,指定为一个积极的标量。突出的对象只返回的峰值至少指定的值。

    • MinSeparation——最小峰之间的分离,指定为一个积极的标量。

    • FlatSelection——平地区指标,指定为其中一种:

      • “中心”——显示只有平坦地区的中心元素峰。

      • “第一”——显示只有第一个元素的平坦地区高峰。

      • “最后一次”——显示只有最后一个元素的平坦地区高峰。

      • “所有”——显示所有元素平坦地区的高峰。

    数据类型:逻辑

    选择提取光谱峰值位置,指定为真正的。如果您指定PeakLocation真的,对象提取峰值计算韦尔奇PSD的位置估计和附加他们返回的特性提取函数。

    设置参数的峰值位置提取使用setExtractorParameters

    setExtractorParameters(超临界流体,“PeakLocation”名称=值)

    可设置的参数提取峰值位置是:

    • PeakType——指定为类型的高峰“最小值”“最大值”

    • MaxNumExtrema最大数量的山峰,指定为一个正整数标量。

    • MinProminence——最低突出,指定为一个积极的标量。的setExtractorParameters函数返回只有山峰的地位至少指定的值。

    • MinSeparation——最小峰之间的分离,指定为一个积极的标量。

    • FlatSelection——平地区指标,指定为其中一种:

      • “中心”——显示只有平坦地区的中心元素峰。

      • “第一”——显示只有第一个元素的平坦地区高峰。

      • “最后一次”——显示只有最后一个元素的平坦地区高峰。

      • “所有”——显示所有元素平坦地区的高峰。

    数据类型:逻辑

    请注意

    计算频率特性,signalFrequencyFeatureExtractor首先估计PSD输入的时域信号使用韦尔奇的方法。对象使用计算韦尔奇PSD和相应的频率向量计算指定的特性。您可以配置计算韦尔奇PSD估计使用setExtractorParameters函数。

    对象的功能

    提取 提取时域或频域特性
    generateMATLABFunction 创建MATLAB函数兼容C / c++代码生成
    getExtractorParameters 得到当前参数值特征提取器对象
    setExtractorParameters 设置默认值为特征提取器对象

    例子

    全部折叠

    生成1024个样本的唧唧声在1024千赫采样。50 kHz的唧唧声有一个初始频率达到100千赫采样结束的时候。添加高斯白噪声,信噪比是40 dB。画出功率谱密度(PSD)和注释的平均频率。

    nSamp = 1024;Fs = 1024年e3;信噪比= 40;t = (0: nSamp-1) / Fs;x =唧唧声(t, 50 e3, nSamp / Fs 100 e3);x = x + randn(大小(x)) *性病(x) / db2mag(信噪比);meanfreq (x, Fs)

    图包含一个坐标轴对象。坐标轴对象与标题的意思是频率估计:75.032 kHz,包含频率(赫兹),ylabel功率/频率(dB / Hz)包含2线类型的对象。

    ans = 7.5032 e + 04

    创建一个signalFrequencyFeatureExtractor对象提取平均频率,占用带宽的99%,3 dB带宽的信号。

    超临界流体= signalFrequencyFeatureExtractor (SampleRate = Fs, MeanFrequency = true, OccupiedBandwidth = true, PowerBandwidth = true)
    = signalFrequencyFeatureExtractor医药属性:属性FrameSize:[]帧速率:[]SampleRate: 1024000 IncompleteFrameRule:“下降”FeatureFormat:“矩阵”MeanFrequency启用功能,OccupiedBandwidth, PowerBandwidth MedianFrequency禁用功能,BandPower, WelchPSD, PeakAmplitude PeakLocation

    调用提取函数来提取指定的特性。

    [功能,信息]=提取(超临界流体,x)
    特点=1×3104×7.2252 4.3783 3.7773
    信息=结构体字段:MeanFrequency: 1 OccupiedBandwidth: 2 PowerBandwidth: 3

    查看表中提取的特征,修改FeatureFormat对象的属性。

    超临界流体。FeatureFormat =“表”;=特征提取(超临界流体,x)
    特点=表1×5FrameStartTime FrameEndTime MeanFrequency OccupiedBandwidth 1 1024 72252 43783 _______ _________________ _________________ PowerBandwidth * * * * * * 37773

    您可以使用getExtractorParameters函数将参数用于计算指定的特性。带宽的占用带宽措施包含99%的默认输入信号的总功率。使用setExtractorParameters函数改变比例95%,提取指定的特性。

    params = getExtractorParameters(超临界流体,“OccupiedBandwidth”)
    params =结构体字段:比例:[]
    参数个数。比例= 95;setExtractorParameters(超临界流体,“OccupiedBandwidth”params) features2 =提取(超临界流体,x)
    features2 =表1×5FrameStartTime FrameEndTime MeanFrequency OccupiedBandwidth 1 1024 72252 39840 _______ _________________ _________________ PowerBandwidth * * * * * * 37773

    扩展功能

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

    版本历史

    介绍了R2021b

    全部展开