基于小波变换多尺度空间能量分布特征提取方法

基于小波变换多尺度空间能量分布特征提取方法

转载自:https://write-bug.com/article/1940.html

小波分析技术可以把信号在各频率波段中的特征提取出来,基于小波变化的多尺度空间能量分布特征提取方法是对信号进行频带分析,再分别以计算所得的各个频带的能量作为特征向量。

信号f(t)的二进小波分解可表示为:
f ( t ) = A j + Σ D j f(t) = Aj + ΣDj f(t)=Aj+ΣDj
其中A是近似信号,为低频部分;D是细节信号,为高频部分,此时信号的频带分布如图:
在这里插入图片描述
信号的总能量为:
E = E A j + ∑ E D j E = EAj + ∑EDj E=EAj+EDj
选择第j层的近似信号和各层的细节信号的能量作为特征,构造特征向量
F = [ E A j , E D 1 , E D 2 , … … . E D j ] F = [EAj, ED1 , ED2 , …….EDj] F=[EAj,ED1,ED2,.EDj]
利用小波变换提取出可以代表声波信号的向量数据,即完成从声波信号的特征向量数据的变换。本例利用小波函数对声波信号数据进行分解,得到5个层次的小波系数。

利用这些小波系数求得各个能量值,这些能量值即可作为声波信号的特征数据。

在python中,Scipy本身提供一些信号处理函数,但不够全面,更好的信号处理库是PyWaves(pywt)。

#-*- coding: utf-8 -*-

#利用小波分析进行特征分析

#参数初始化
inputfile= 'leleccum.mat' 

#提取自Matlab的信号文件
from scipy.io import loadmat

#mat是MATLAB专用格式,需要用loadmat读取它
mat = loadmat(inputfile)signal = mat['leleccum'][0]

#导入PyWavelets
import pywt 

coeffs = pywt.wavedec(signal, 'bior3.7', level = 5)
#返回结果为level+1个数字,第一个数组为逼近系数数组,后面的依次是细节系数数组

print(coeffs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值