小波实验报告信号去噪
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、题目:信号去噪
二、目的:编程实现信号的去噪
三、算法及其实现:小波去噪
设信号在某一尺度2L
上的离散逼近()f n 被被加性噪声()W n 污染,观测数据:()()()X n f n W n =+。将()X n 在正交规范基{}{},.,[(),()]J m j m m L j J m B n n φψ∈<≤∈=Z Z 上分解,小波去噪是对分解系数取阈值后进行重构,即对f 的估计可写成:
,,,,1(,)(,)J T j m j m T J m J m j L m m
F
X X ρψψρφφ=+=<>+<>∑∑∑ 其中,T ρ表示对分解系数取硬阈值或软阈值。小波去噪相当于一个自适应平滑过程,它只在信号的正则部分平滑掉噪声,而在其锐变部分保留了信号的细节,也可以说,小波去噪是一个幅值域滤波的过程。本实验中先给信号加入噪声,然后用ddencmp 函数获得消噪阈值,并确定对系数取阈值的方式(硬阈值或软阈值方式)以及是否对图像进行压缩,再用wdencmp 函数去噪。
四、实现工具:Matlab
五、程序代码:
load noisdopp;
indx = 1:1000;
x = noisdopp(indx);
% 产生含噪信号
init=2055615866;
randn('seed',init);
nx = x + 32*randn(size(x));
% 获取消噪的阈值
[thr,sorh,keepapp] = ddencmp('den','wv',nx);
% 对信号进行消噪
xd = wdencmp('gbl',nx,'db4',2,thr,sorh,keepapp);
subplot(2,2,1);
plot(x);
title('原始信号');
subplot(2,2,2);
plot(nx);
title('含噪信号');
subplot(2,2,3)
plot(xd);
title('消噪后的信号');
六、运行结果:
七、结果分析: