大家好,又见面了,我是你们的朋友全栈君。
主要参考来源
0.小波簇类型
1.print(pywt.families)
即可显示软件内含的小波族:
[‘haar’, ‘db’, ‘sym’, ‘coif’, ‘bior’, ‘rbio’, ‘dmey’]
它们分别是:
l Haar (haar)
l Daubechies (db)
l Symlets (sym)
l Coiflets (coif)
l Biorthogonal (bior)
l Reverse biorthogonal (rbio)
l “Discrete” FIR approximation of Meyer wavelet (dmey)
1.四种变换的区别
2.小波和小波包的区别
工程应用中经常需要对一些非平稳信号进行,小波分析和小波包分析适合对非平稳信号分析,相比较小波分析,利用小波包分析可以对信号分析更加精细,小波包分析可以将时频平面划分的更为细致,对信号的高频部分的分辨率要好于小波分析,可以根据信号的特征,自适应的选择最佳小波基函数,比便更好的对信号进行分析,所以小波包分析应用更加广泛。
2.1小波分解
只适用于低频信息
小波变换只对信号的低频部分做进一步分解,而对高频部分也即信号的细节部分不再继续分解,所以小波变换能够很好地表征一大类以低频信息为主要成分的信号,不能很好地分解和表示包含大量细节信息(细小边缘或纹理)的信号,如非平稳机械振动信号、遥感图象、地震信号和生物医学信号等。
从图中可以看出来,(a为低频,d为高频) 而且顺序是从叶子往上的 这个分解,最终只保留了最低的两个
2.2 小波包分解
小波包分解,则高频低频都能很好处理
小波包变换既可以对低频部分信号进行分解,也可以对高频部分进行分解,而且这种分解既无冗余,也无疏漏,所以对包含大量中、高频信息的信号能够进行更好的时频局部化分析。
小波包 树
每个节点都有对应的小波包系数,这个系数决定了频率的大小,频域信息已经有了
节点的命名,如图所示
那么时域信息呢? 时域就是order,节点的顺序,也就代表了频域的顺序
matlab代码:
代码语言:javascript复制clear all
clc
fs=1024; %采样频率
f1=100; %信号的第一个频率
f2=300; %信号第二个频率
t=0:1/fs:1;
s=sin(2*pi*f1*t) sin(2*pi*f2*t); %生成混合信号
[tt]=wpdec(s,3,'dmey'); %小波包分解,3代表分解3层,'dmey'使用meyr小波
plot(tt) %画小波包树图
wpviewcf(tt,1); %画出时间频率图
看右图,matlab生成的结果 横轴代表采样点,总计1024个 纵轴代表的频率结果 1204/2 = 512 hz 从512hz开始,3层小波包分解,每一个频带是 512 / 8 = 64hz
交流分量的频率在100hz和300hz
0-64 、65-128 、 129-… 257-320hz 恰好就在波形变化的地方,颜色较深 其他是直流信号,频率没有变化 所以这个图是没有问题的 ,至于命名的数字,不知道为啥
参考链接
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179154.html原文链接:https://javaforall.cn