1、了解DWT是什么?(DWT=DiscreteWaveletTransformation)
总结:
DWT是离散小波变换:处理L对象是离散信号
这种分解信号的方法可用于信号降噪。
分解过程图解:
多层分解图解:
联系上面两个图,该分解信号的方法与傅里叶变换的比较:
- 傅里叶变换的分解结果表现形式不够直观,并且噪声会使得信号频谱复杂化。
- 小波分解的意义就在于能够在不同尺度上对信号进行分解(对尺度的选择就用滤波器),而且对不同尺度的选择可以根据不同的目标来确定(可以选择分解到第几层)。
离散小波变换的意义:
对于许多信号,低频成分相当重要,它常常蕴含着信号的特征,而高频成分则给出信号的细节或差别。例如,人的话音如果去掉高频成分,听起来仍能知道所说的内容;如果去掉足够的低频成分,则听到的是一些没有意义的声音。所以这类信号,**低频信息可以近似原来的信号,高频信息体现信号的细节。**因此,原始信号可以通过两个相互滤波器产生两个信号(高和低)。
小波分析代码和例子:
% By lyqmath
% DLUT School of Mathematical Sciences 2008
% BLOG:http://blog.sina.com.cn/lyqmath
clc; clear all; close all;
load leleccum; % 载入信号数据
s = leleccum;
Len = length(s);
[ca1, cd1] = dwt(s, 'db1'); % 采用db1小波基分解
a1 = upcoef('a', ca1, 'db1', 1, Len); % 从系数得到近似信号
d1 = upcoef('d', cd1, 'db1', 1, Len); % 从系数得到细节信号
s1 = a1+d1; % 重构信号
figure;
subplot(2, 2, 1); plot(s); title('初始电源信号');
subplot(2, 2, 2); plot(ca1); title('一层小波分解的低频信息');
subplot(2, 2, 3); plot(cd1); title('一层小波分解的高频信息');
subplot(2, 2, 4); plot(s1, 'r-'); title('一层小波分解的重构信号');
以上是MATLAB code
运行结果:
2、通过论文了解DWT能做什么
《基于多小波的北京市房屋市场价格的分析预测》
用来预测数据:
针对房价波动大的数据特征,利用四种方法
①Haar 小波变换
②Daubechies 系列小波变换
③基于过采样预处理的GHM 多小波变换
④CL 多小波变换
处理房价数据的分解重构效果,并通过对高频系数进行门限阈值量化重构处理以达到去噪的目的;
建立支持向量机( SVM) 预测模型
《基于混沌加密和离散小波变换的数字图像水印算法》(挺水的一篇论文)
用来图像中的水印嵌入和去水印
将数字水印小波分解后,嵌入到原始载体图像第三级小波子带,实现水印的嵌入