小波包分解与重构

波包分解与重构
1、⼩波变换的理解
傅⾥叶变换——短时傅⾥叶变换——⼩波变换。
参考⽂献:以下两篇参考资料讲述得⼗分清楚,有助于理解⼩波变换。
但具体的数学⾓度阐述,请参考其他资料。
(1)知乎专栏:形象易懂讲解算法I——⼩波变换
(2)知乎专栏:傅⾥叶分析之掐死教程。
2、⼩波包分解
⼩波包是为了克服⼩波分解在⾼频段的频率分辨率较差,⽽在低频段的时间分辨率较差的问题的基础上⽽提出的。白鹭课文教材解读
它是⼀种更精细的信号分析的⽅法,提⾼了信号的时域分辨率。
下⾯是两者的对⽐图:
3、能量谱
基于⼩波包分解提取多尺度空间能量特征的原理是把不同分解尺度上的信号能量求解出来,将这些能量值按尺度顺序排列成特征向量供识别使⽤。
20180510补充更新:具体计算公式如下所⽰,本⽂中未使⽤重构后的系数进⾏能量值计算,直接使⽤⼩波包分解后的系数,参考⽂献《基于⼩波包能量特征的滚动轴承故障监测⽅法 》。
4、Matlab代码
给出两部分代码,写成两个函数。⼀个是⼩波包分解与重构,另⼀个是能量谱函数。
代码名称:wavelet_packetdecomposition_reconstruct
function wpt= wavelet_packetdecomposition_reconstruct( x,n,wpname )
%% 对信号进⾏⼩波包分解,得到节点的⼩波包系数。然后对每个节点系数进⾏重构。
% Decompose x at depth n with wpname wavelet packets.using Shannon entropy.
%
%  x-input signal,列向量。
战斗机代数划分
%  n-the number of decomposition layers
%  wpname-a pe:string.
%
%Author hubery_zhang
%Date 20170714
%%
wpt=wpdec(x,n,wpname);
% Plot wavelet packet tree (binary tree)
plot(wpt)
跨文化交际英语论文%% wavelet packet coefficients.default:use the front 4. cfs0=wpcoef(wpt,[n 0]);
cfs1=wpcoef(wpt,[n 1]);
cfs2=wpcoef(wpt,[n 2]);
cfs3=wpcoef(wpt,[n 3]);
figure;
subplot(5,1,1);
plot(x);笛卡儿坐标
title('原始信号');
subplot(5,1,2);
plot(cfs0);
title(['结点 ',num2str(n) '  1',' 系数'])
subplot(5,1,3);
plot(cfs1);
title(['结点 ',num2str(n) '  2',' 系数'])
subplot(5,1,4);
plot(cfs2);
title(['结点 ',num2str(n) '  3',' 系数'])
subplot(5,1,5);
plot(cfs3);
title(['结点 ',num2str(n) '  4',' 系数'])
%% reconstruct wavelet packet coefficients.
rex0=wprcoef(wpt,[n 0]);
rex1=wprcoef(wpt,[n 1]);
rex2=wprcoef(wpt,[n 2]);
rex3=wprcoef(wpt,[n 3]);
figure;
subplot(5,1,1);
plot(x);
title('原始信号');
subplot(5,1,2);
plot(rex0);
title(['重构结点 ',num2str(n) '  1',' 系数'])
subplot(5,1,3);
plot(rex1);
title(['重构结点 ',num2str(n) '  2',' 系数'])
subplot(5,1,4);
plot(rex2);
title(['重构结点 ',num2str(n) '  3',' 系数'])
subplot(5,1,5);
plot(rex3);
title(['重构结点 ',num2str(n) '  4',' 系数'])
end
代码名称:wavelet_energy_spectrum
function E = wavelet_energy_spectrum( wpt,n )
%% 计算每⼀层每⼀个节点的能量
%  wpt-wavelet packet tree
%  n-第n层能量
%
% Author hubery_zhang
已来的主人翁% Date  20170714
%%
% 求第n层第i个节点的系数
E(1:2^n )=0;
for i=1:2^n
E(i) = norm(wpcoef(wpt,[n,i-1]),2)^2; %20180604更新 原代码:E(i) = norm(wpcoef(wpt,[n,i-1]),2)
end
%求每个节点的概率
E_total=sum(E);
for i=1:2^n
p_node(i)= 100*E(i)/E_total;
end
% E = wenergy(wpt); only get the last layer
figure;
x=1:2^n;
bar(x,p_node);
title(['第',num2str(n),'层']);
axis([0 2^n 0 100]);
农村留守儿童教育问题xlabel('结点');
ylabel('能量百分⽐/%');
for j=1:2^n
text(x(j),p_node(i),num2str(p_node(j),'%0.2f'),...
'HorizontalAlignment','center',...
'VerticalAlignment','bottom')
end
⼩波与⼩波包、⼩波包分解与信号重构、⼩波包能量特征提取  (Matlab 程序详解)
-----暨⼩波包分解后解决频率⼤⼩分布重新排列问题
本⼈当前对⼩波理解不是很深⼊,通过翻阅⽹络他⼈博客,进⾏汇总总结,重新调试Matlab代码,实现对⼩波与⼩波包、⼩波包分解与信号重构、⼩波包能量特征提取,供⼤家参考,后续将继续更新!
本⼈在分析信号的过程中发现,按照⽹上所述的⼩波包分解⽅法理解,获取每层节点重构后信号频率并不是按照(n,0)、(n,1)...顺序依次由⼩到⼤排列的,经过进⼀步分析研究后发现,需要对节点进⾏重排序,具体操作见本⽂分析。
1.⼩波与⼩波包区别
⼯程应⽤中经常需要对⼀些⾮平稳信号进⾏,⼩波分析和⼩波包分析适合对⾮平稳信号分析,相⽐较⼩波分析,利⽤⼩波包分析可以对信号分析更加精细,⼩波包分析可以将时频平⾯划分的更为细致,对信号的⾼频部分的分辨率要好于⼩波分析,可以根据信号的特征,⾃适应的选择最佳⼩波基函数,⽐便更好的对信号进⾏分析,所以⼩波包分析应⽤更加⼴泛。
①⼩波分解
⼩波变换只对信号的低频部分做进⼀步分解,⽽对⾼频部分也即信号的细节部分不再继续分解,所以⼩波变换能够很好地表征⼀⼤类以低频信息为主要成分的信号,不能很好地分解和表⽰包含⼤量细节信息(细⼩边缘或纹理)的信号,如⾮平稳机械振动信号、遥感图象、地震信号和⽣物医学信号等。
②⼩波包分解
⼩波包变换既可以对低频部分信号进⾏分解,也可以对⾼频部分进⾏分解,⽽且这种分解既⽆冗余,也⽆疏漏,所以对包含⼤量中、⾼频信息的信号能够进⾏更好的时频局部化分析。
2.⼩波包——⼩波包树与时频图
⼩波包树解读:
以上即是⼩波包树,其中节点的命名规则是从(1,0)开始,叫1号, (1,1)是2号………依此类推,(3,0)是7号,(3,7)是14号。 每个节点都有对应的⼩波包系数,这个系数决定了频率的⼤⼩,也就是说频率信息已经有了,但是时域信息在哪⾥呢? 那就是order。  这个order就是这些节点的顺序,也就是频率的顺序。
Matlab实例:
采样频率为1024Hz,采样时间是1秒,有⼀个信号s是由频率100和200Hz的正弦波混合的,我们⽤⼩波包来分解。
1. clear all
2. clc
3. fs=1024; %采样频率
4. f1=100; %信号的第⼀个频率
5. f2=300; %信号第⼆个频率
6. t=0:1/fs:1;
7. s=sin(2*pi*f1*t)+sin(2*pi*f2*t); %⽣成混合信号
8. [tt]=wpdec(s,3,'dmey'); %⼩波包分解,3代表分解3层,'dmey'使⽤meyr⼩波
9. plot(tt) %画⼩波包树图
0. wpviewcf(tt,1); %画出时间频率图
主要解释:
x轴,就是1024个点,对应1秒,每个点就代表1/1024秒。
3.⼩波包-----⼩波包分解系数
在数值分析中,我们学过内积,内积的物理含义:两个图形的相似性,若两个图形完全正交,则内积为0,若两个图形完全⼀样,则系数为1(相对值)。⼩波变换的实质是:原信号与⼩波基函数的相似性。⼩波系数就是⼩波基函数与原信号相似的系数。
连续⼩波变换:⼩波函数与原信号对应点相乘,再相加,得到对应点的⼩波变换系数,平移⼩波基函数,再计算⼩波函数与原信号对应点相乘,再相加,这样就得到⼀系列的⼩波系数。对于离散⼩波变换(由于很多⼩波函数不是正交函数,因此需要⼀个尺度函数)所以,原信号函数可以分解成尺度函数和⼩波函数的线性组合,在这个函数中,尺度函数产⽣低频部分,⼩波函数产⽣⾼频部分。
4.⼩波包-----信号分解与重构(⽅法1)

本文发布于:2024-09-22 03:43:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/494559.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   波包   分解
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议