小波包分解一例

     说到小波,真是痛苦,记得上小波分析这门课的时候,听的是一头雾水,都是说小波是继傅里叶变换后又一重大发现,小波的论文快是被学术界写烂了,但是工作了才发现小波真的是应用的少之又少,还是15年七八月份的事,应用研究了下,现在想想,真是快万忘了。推荐一本书不错:MATLAB 6.5 辅助小波分析与应用 飞思科技.pdf.不是讲理论,而是直接将怎么用的。下载链接:

拿一组波形示意如下:对此进行6层小波分解:计算得到的小波频带能量分布图如下:

由此便可看不信号的频率成分是在哪些频带部分的。感觉无非是比滤波器方便了些;其他并不感觉有什么特殊用处;

附:计算程序如下

 

function EE = xiaobobao_db10_fenjie( x,n )
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
% n=7;%分解层数
wpt=wpdec(x,n,'db10','shannon');%小波基
% wpviewcf(wpt,1);%顺序
%二进制与格雷码对应顺序,是从0000开始的,先减1再与高位异或,结果才对
y=zeros(2^n,length(x));
for i=1:2^n
    q=num2gray(i-1,n);%.y[1]与0000对应
%   disp(['顺序为:',num2str(q)]);
    y(i,:)=wprcoef(wpt,[n,q]);
end
%求能量
E=zeros(1,2^n);%
for j=1:2^n
%     E(j)=nengliang(y(j,:));
    E(j)=sum(y(j,:).^2);
end
% %求总能量
E_total=sum(E); %求总能量
%能量归一化
EE=zeros(1,2^n);
for k=1:2^n
    EE(k)=E(k)/E_total;
end
% figure,bar(EE);title(['信号频带能量分布-层数',num2str(n)]);

end

 

 

function c=num2gray(a,L)
%将十进制数转化为格雷码,小波包分解时用,便于重新排列顺序
b=dec2bin(a,L);%L=4,8...
 c(1)=b(1);
for i=1:L-1
    m=bin2dec(b(i));
    n=bin2dec(b(i+1));
    c(i+1)=dec2bin(xor(m,n));
end
c=bin2dec(c);%对于的格雷码的十进制表示
end

 

 

 

 

在Python中,可以使用pywt库进行小波包分解。首先,通过导入pywt库来使用小波包分解功能。接下来,使用WaveletPacket函数创建一个小波包对象,并传入待分解的数据、小波类型和模式。例如,可以使用以下代码创建一个小波包对象:wp = pywt.WaveletPacket(data=x, wavelet='db1', mode='symmetric').其中,data参数是待分解的数据,wavelet参数指定小波的类型,mode参数指定分解模式。然后,可以使用小波包对象的各种方法进行分解和操作,例如移除节点等。例如,可以使用remove方法从小波包树中移除节点。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [用python进行小波包分解](https://blog.csdn.net/qq_41978536/article/details/89337436)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [小波包分解&小波包能量熵算例.rar](https://download.csdn.net/download/m0_64795180/85192156)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值