小波包分解画图代码
最后更新于:2024-07-02 21:05:10
一、代码运行环境
MATLAB2018b及更新版本。
二、程序介绍

注:图标代表该m文件为脚本文件,可以直接运行;
图标代表函数文件,在没有输入变量的情况下无法直接运行。更详细的解释可以看这里。
1.demoWPT.m文件
使用生成仿真信号进行小波分解的案例,其中演示了pWPT、pWPTandFFT函数的应用方式示范。
文件可以直接运行。程序运行完成后,将会画出如下图像:


2.pWPT.m文件
小波包分解并画图的程序。
代码说明:
function reconstructed_signal = pWPT(signal,decompositionLevel,wname)
% 小波包分解并画图的程序
% 输入:
% signal:需要进行小波包分解的信号
% decompositionLevel:小波分解水平
% wname:小波名称,可选范围参考这里:https://ww2.mathworks.cn/help/wavelet/ref/wfilters.html?searchHighlight=wname&s_tid=srchtitle_wname_2#d123e130597
% 输出:
% reconstructed_signal:小波包分解结果。
3.pWPTandFFT.m文件
小波包分解图及频谱图程序。
代码说明:
function reconstructed_signal = pWPTandFFT(signal, decompositionLevel, wname, Fs)
% 小波包分解图及频谱图程序
% 输入:
% signal:需要进行小波包分解的信号
% decompositionLevel:小波分解水平
% wname:小波名称,可选范围参考这里:https://ww2.mathworks.cn/help/wavelet/ref/wfilters.html?searchHighlight=wname&s_tid=srchtitle_wname_2#d123e130597
% Fs: 采样频率,需要提供这个参数以计算频谱
% 输出:
% reconstructed_signal:小波包分解结果。
三、快速开始
1.运行测试脚本
先在MATLAB里打开下载好的文件夹,然后运行demoWPT.m程序,程序运行完毕后如果没报错,且正常画出上述图像,则说明运行环境正常,程序正确。
2.修改仿真数据/导入数据
复制一个demoWPT.m的文件副本,在这个副本里做如下修改:
(1)第一种情况,你可能想要对你自己要研究的仿真数据进行滤波测试,此时你需要对 demoWPT.m 脚本文件中的第1小节内容进行修改替换即可。需要注意的是,请最好保持变量名的一致,即将待分解信号命名为signal,为一维数据。此时数据替换完成。
(2)第二种情况,你可能是想对一段真实采集的数据进行滤波,此时需要根据你的文件类型的不同(excel,txt,csv等),将数据导入MATLAB的方法有所不同。同学们可以看博主针对常用文件的导入方法的这个教程,教程上未包含的数据类型,大家可以再参考这个文档。导入完成后请讲这个待滤波信号命名为signal。
3.实现小波包分解
参照脚本文件中第二、三步,根据需要调整相关参数。
运行程序即可。
四、关于完整版与公开版代码
功能 | 完整版 | 公开版 |
数据导入、参数设置、实现滤波 | √ | √ |
软件全部源码(函数m文件) | √ | × |
画图水印 | 有水印 | 无水印 |
可分析数据长度 | 无限制 | 1000个点以内 |
五、获取公开版程序(需使用电脑浏览器打开)
注:公开版代码需使用MATLAB2022a及以上版本
六、获取完整版程序(使用电脑浏览器或者手机浏览器打开)
获取通道一(淘宝):点击此处获取完整版程序
获取通道二(本页面):点击下面“立即支付”按钮,付款后获取完整版代码下载链接和售后联系方式~本通道处于测试阶段,使用该通道可以额外优惠(仅需28元)。付款完成后刷新一下本页面即可看到下载链接。
(注意支付跳转失败的话,请使用浏览器打开本页面)
七、完整版代码重要更新
20231107 代码初始版本(公开版所在版本)
八、常见问题
无