基于Matlab的小波分解、去噪与重构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《现代信号处理》
大作业
基于Matlab的小波分解、去噪与重构
目录
一作业内容及要求 (3)
1.1 作业内容 (3)
1.2 作业要求 (3)
二系统原理 (3)
2.1 小波变换原理 (3)
2.2 阈值去噪原理 (3)
三系统分析及设计 (5)
3.1 图像分解 (5)
3.2 高频去噪 (5)
3.3 图像重构 (6)
四程序编写 (7)
4.1 main函数 (7)
4.2 分解函数 (9)
4.2.1 二维分解函数 (9)
4.2.2 一维分解函数 (10)
4.3 卷积函数 (10)
4.4 采样函数 (11)
4.4.1 下采样函数 (11)
4.4.2 上采样函数 (11)
4.5 重构函数 (12)
4.5.1 二维重构函数 (12)
4.5.2 一维重构函数 (13)
五结果分析及检验 (14)
5.1 结果分析 (14)
5.2 结果检验 (16)
六心得体会 (18)
参考文献 (19)
一作业内容及要求
1.1 作业内容
用小波对图像进行滤波分解、去噪,然后重构。
1.2 作业要求
用小波对图像进行滤波分解、去噪,然后重构。具体要求:
(1) 被处理图像可选择:woman, wbarb, wgatlin, detfingr, tire.;
(2) 可以选择db等正交小波、或双正交小波(或用几种小波);
(3) 用选用小波的分解滤波器通过定义的卷积函数conv_my( )对图像二维数
组进行小波分解,并进行下采样,获取CA、CV、CD、CH等分解子图;
(4) 对高频信号子图进行去噪处理,可以采用软阈值、硬阈值等方法;
(5) 用选用小波的综合滤波器对去噪的子图进行图像重构。
二系统原理
2.1 小波变换原理
小波变换的一级分解过程是,先将信号与低通滤波器卷积再下采样可以得到低频部分的小波分解系数再将信号与高通滤波器卷积后下采样得到高频部分的小波分解系数;而多级分解则是对上一级分解得到的低频系数再进行小波分解,是一个递归过程。
二维小波分解重构可以用一系列的一维小波分解重构来实现。
重构则是分解的逆过程,对低频系数、高频系数分别进行上抽样和低通、高通滤波处理。要注意重构时同一级的低频、高频系数的个数必须相等。
2.2 阈值去噪原理
图像去噪的方法是:
(1)图像的小波分解。选择合适的小波函数以及合适的分解层数对图像进行分解。
(2)对分解后的高频系数进行阈值处理。对分解的每一层,选择合适的阈值对该层的水平、垂直和对角三个方向的高频系数进行阈值处理。
(3)重构图像。根据小波分解的低频系数和经阈值量化处理后的高频系数进行图像重构。
本设计采用软阈值去噪,其原理为:当小波系数的绝对值小于给定的阈值时,
令其为0,大于阈值时,令其都减去阈值,即:
λλ
λλ<>
-=
|
|,0
| |),
|
)](|
(
[
{
w
w w
w
w
sign
小波阈值λ在去噪过程中起到决定性的作用。如果λ太小,那么施加阈值以后的小波系数中将包含过多的噪声分量,达不到去噪的目的;反之,如果λ太大,那么将去除一部分信号的分量,从而使由小波系数重建后的信号产生过大的失真。
MATLAB中实现阈值获取的函数有ddenmp、thselect、wbmpen和wdcbm,本次设计中采用ddenmp函数进行阈值获取。调用格式为[THR,SORH,KEEPAPP]=ddencmp('den','wv',X),函数ddencmp用于获取信号在消噪或压缩过程中的默认阈值。输入参数X为一维或二维信号;'den'表示进行去噪;'wv'表示选择小波。返回值THR是返回的阈值;SORH是软阈值或硬阈值选择参数;KEEPAPP表示保存低频信号。
三 系统分析及设计
3.1 图像分解
图像分解在程序中分为两部分:一维分解以及二维分解。
(1)一维分解先将信号与低通滤波器卷积再下采样可以得到低频部分的小波分解系数,再将信号与高通滤波器卷积后下采样得到高频部分的小波分解系数
(2)对输入的信号,也就是前面load 图像之后得到的X 矩阵,先对每一行进行一维分解,在对分解后得到的矩阵的每一列进行一维分解,最后得到一个矩
阵X2=[CA CH CV CD
];可以将CA 、CH 、 CV 、 CD 依次输出得到分解后的低频、垂直、水平、对角分量。
原始信号分别进行低通、高通滤波,再分别对列进行二元下抽样,就得到低频、高频(也称为平均、细节)两部分系数;再对这两部分系数进行小波分解,步骤与第一级分解一致,最后得到cA :低频分量,cH :水平分量,cV :垂直分量,cD :对角线分量。流程图如下图1所示。
图1 分解流程图 3.2 高频去噪
本次设计采用软阈值去噪方法,将对分解出的cH 、cV 、cD 进行阈值去噪,选用ddencmp 函数获取去噪过程中的默认软阈值。其调用格式为:
[THR,SORH,KEEPAPP]=ddencmp(IN1,IN2,X)。IN1='den',IN2='wv',X 为一维或二维矩阵信号。
在获取默认阈值后,对该阈值进行软阈值处理,调用到函数wthcoef2进行
X
Lo_D Hi_D 2 2 Lo_D
Hi_D Hi_D
Lo_D
2 2 2 2 CA CH CD
CV 行卷积
行卷积 列卷积 列卷积 列卷积
列卷积