工具箱提供了如下函数做一维信号分析:
Function Name
Purpose
分解函数
dwt
一层分解
wavedec
分解
wmaxlev
最大小波分解层数
重构函数
idwt
一层重构
waverec
全重构
wrcoef
有选择性重构
upcoef
单一重构
分解结构工具
detcoef
细节系数抽取
appcoef
近似系数抽取
upwlev
分解结构重排
去噪和压缩
ddencmp
使用默认进行去噪和压缩
wbmpen
使用处罚门槛进行一维或二维去噪
wdcbm
使用处罚门槛进行一维(使用Birgé-Massart方法)
wdencmp
小波去噪和压缩
wden
自适应小波去噪
wthrmngr
门槛设置管理
在这一部分,可以学到
l 加载信号
l 执行一层小波分解
l 从系数重建近似和细节
l 显示近似和细节
l 通过逆小波变换重建信号
l 执行多层小波分解
l 抽取近似系数和细节系数
l 重构第三层近似
l 重构第1、2、3层细节
l 显示多层分解的结果
l 从第三层分解重构原始信号
l 从信号中去除噪声
l 改善分析
l 压缩信号
l 显示信号的统计信息和直方图
一维分析---使用命令行
这个例子包含一个真实世界的信号---测量3天的电功耗。这个信号很典型,因为它包含一个明显的测量噪声,而小波分析可以有效的移除噪声。
1. 加载信号
load leleccum
截取信号
s = leleccum(1:3920);
l_s = length(s);
2. 对信号执行一层小波分解
使用db1小波执行一层小波分解,执行下面的语句产生近似系数cA1、细节系数cD1
[cA1,cD1] = dwt(s,'db1');
3. 从系数中构建近似和细节
从系数cA1和cD1中构建一层近似A1和细节D1,执行以下代码
A1 = upcoef('a',cA1,'db1',1,l_s);
D1 = upcoef('d',cD1,'db1',1,l_s);
或
A1 = idwt(cA1,[],'db1',l_s);
D1 = idwt([],cD1,'db1',l_s);
4. 显示近似和细节
subplot(1,2,1); plot(A1); title('Approximation A1')
subplot(1,2,2)