signalFrequencyFeatureExtractor
描述
使用signalFrequencyFeatureExtractor
从信号中提取频域特性。您可以使用提取的特征来训练机器学习模型或深学习网络。
创建
描述
创建一个超临界流体
= signalFrequencyFeatureExtractorsignalFrequencyFeatureExtractor
对象的默认属性值。
指定的默认属性值超临界流体
= signalFrequencyFeatureExtractor (名称=值
)signalFrequencyFeatureExtractor
对象。例如,signalFrequencyFeatureExtractor (FrameSize = 30, FrameOverlapLength = 6)
将信号划分为重叠30-sample框架,从每一帧中提取特征。
属性
主要特性
FrameSize
- - - - - -样品在一个框架
正整数
一个框架的样本数量,指定为一个正整数。指定的对象将信号划分为帧长度和提取功能,为每一帧。如果你不指定FrameSize
,或者如果您指定FrameSize
空,对象为整个信号提取特征。
数据类型:单
|双
帧速率
- - - - - -数量的样本之间的帧的开始
正整数
的开始帧之间的样本数量,指定为一个正整数。帧速率确定样本之间的距离帧的起始点。如果您指定帧速率
,那你还必须指定FrameSize
。如果你不指定帧速率
或FrameOverlapLength
,然后帧速率
假定等于什么FrameSize
。你不能指定帧速率
和FrameOverlapLength
同时进行。
数据类型:单
|双
FrameOverlapLength
- - - - - -连续帧之间的重叠的样本数量
正整数
连续帧之间的重叠的样本数量,指定为一个正整数。FrameOverlapLength
必须小于或等于帧大小。如果您指定FrameOverlapLength
,那你还必须指定FrameSize
。你不能指定FrameOverlapLength
和帧速率
同时进行。
数据类型:单
|双
SampleRate
- - - - - -采样率
[]
(默认)|积极的标量
输入采样率,指定为一个积极的标量赫兹。
数据类型:单
|双
FeatureFormat
- - - - - -格式生成的功能
“矩阵”
(默认)|“表”
IncompleteFrameRule
- - - - - -规则来处理不完整的帧
“下降”
(默认)|“zeropad”
规则来处理不完整的帧,指定为“下降”
或“zeropad”
。这条规则适用于当前帧的大小小于指定的FrameSize
财产。
下降
——把不完整的框架和不使用它来计算功能。zeropad
——在不完整的框架和使用它来计算功能。
数据类型:字符
|字符串
特征提取
MeanFrequency
- - - - - -选择提取平均频率
假
(默认)|真正的
选择提取功率谱的平均频率,指定为真正的
或假
。如果您指定MeanFrequency
是真的,对象提取的平均频率功率谱并将其添加到返回的特性提取
函数。
数据类型:逻辑
MedianFrequency
- - - - - -选择提取中值频率
假
(默认)|真正的
选择提取中值频率的功率谱,指定为真正的
或假
。如果您指定MedianFrequency
是真的,对象提取的平均频率功率谱并将其添加到返回的特性提取
函数。
数据类型:逻辑
BandPower
- - - - - -选择提取平均乐队的力量
假
(默认)|真正的
选择提取频带能量,指定为真正的
或假
。如果您指定BandPower
真的,对象提取频带能量并将其添加到返回的特性提取
函数。
数据类型:逻辑
OccupiedBandwidth
- - - - - -选择提取占用带宽
假
(默认)|真正的
选择提取99%的占用带宽,指定为真正的
或假
。如果您指定OccupiedBandwidth
真的,对象提取99%占有带宽并将其添加到返回的特性提取
函数。
占用带宽的设置参数提取、使用setExtractorParameters
。
setExtractorParameters(超临界流体,“OccupiedBandwidth”名称=值)
占有带宽提取可设置的参数有:
百分比
——功率百分比,指定为一个正整数0
和One hundred.
。
数据类型:逻辑
PowerBandwidth
- - - - - -选择提取半功率带宽
假
(默认)|真正的
选择提取3 dB(半功率带宽),指定为真正的
或假
。如果您指定PowerBanwidth
真的,对象提取3 dB带宽值并将其添加到返回的特性提取
函数。
半功率带宽的设置参数提取、使用setExtractorParameters
。
setExtractorParameters(超临界流体,“PowerBandwidth”名称=值)
半功率带宽提取可设置的参数有:
RelativeAmplitude
——相对振幅,指定为一个整数。
数据类型:逻辑
WelchPSD
- - - - - -选择提取功率谱密度估计
假
(默认)|真正的
选择提取功率谱密度(PSD)估计,指定为真正的
或假
。如果您指定WelchPSD
真的,对象提取PSD估计使用韦尔奇的方法并将其添加到返回的特性提取
函数。
韦尔奇的PSD的设置参数估计,使用setExtractorParameters
。
setExtractorParameters(超临界流体,“WelchPSD”名称=值)
韦尔奇的PSD估计提取可变的参数是:
FFTLength
——数量的DFT点,指定为一个正整数。FrequencyVector
PSD的频率估计,至少有两个元素指定为一个向量。您可以指定FrequencyVector
只有当FFTLength
没有指定。OverlapLength
——重叠的样本数量,指定为一个正整数。窗口
——窗口中,指定为一个标量或矢量。
数据类型:逻辑
PeakAmplitude
- - - - - -选择提取峰值振幅
假
(默认)|真正的
选择提取光谱峰值振幅,指定为真正的
或假
。如果您指定PeakAmplitude
真的,对象提取峰值振幅的计算韦尔奇PSD估计和附加他们返回的特性提取
函数。
设置参数的峰值振幅提取、使用setExtractorParameters
。
setExtractorParameters(超临界流体,“PeakAmplitude”名称=值)
可设置的参数峰值振幅提取:
PeakType
——指定为类型的高峰“最小值”
或“最大值”
。MaxNumExtrema
最大数量的山峰,指定为一个正整数标量。MinProminence
——最低突出,指定为一个积极的标量。突出的对象只返回的峰值至少指定的值。MinSeparation
——最小峰之间的分离,指定为一个积极的标量。FlatSelection
——平地区指标,指定为其中一种:“中心”
——显示只有平坦地区的中心元素峰。“第一”
——显示只有第一个元素的平坦地区高峰。“最后一次”
——显示只有最后一个元素的平坦地区高峰。“所有”
——显示所有元素平坦地区的高峰。
数据类型:逻辑
PeakLocation
- - - - - -选择提取峰值位置
假
(默认)|真正的
选择提取光谱峰值位置,指定为真正的
或假
。如果您指定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)
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®编码器™。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
这个函数完全支持GPU数组。金宝app有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
介绍了R2021bR2023a:使用gpuArray
输入
的signalFrequencyFeatureExtractor
对象支持金宝appgpuArray
输入。你必须有并行计算工具箱™使用此功能。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。