当前位置:文档之家› 哈工大小波分析上机实验报告

哈工大小波分析上机实验报告

小波分析上机实验报告院系:电气工程及自动化学院学科:仪器科学与技术实验一小波分析在信号压缩中的应用一、试验目的(1)进一步加深对小波分析进行信号压缩的理解;(2)学习Matlab中有关信号压缩的相关函数的用法。

二、相关知识复习用一个给定的小波基对信号进行压缩后它意味着信号在小波阈的表示相对缺少了一些信息。

之所以能对信号进行压缩是因为对于规则的信号可以用很少的低频系数在一个合适的小波层上和一部分高频系数来近似表示。

利用小波变换对信号进行压缩分为以下几个步骤来完成:(1)进行信号的小波分解;(2)将高频系数进行阈值量化处理。

对从1 到N 的每一层高频系数都可以选择不同的阈值并且用硬阈值进行系数的量化;(3)对量化后的系数进行小波重构。

三、实验要求(1)对于某一给定的信号(信号的文件名为leleccum.mat),利用小波分析对信号进行压缩处理。

(2)给出一个图像,即一个二维信号(文件名为wbarb.mat),利用二维小波分析对图像进行压缩。

四、实验结果及程序(1)load leleccum%将信号装入Matlab工作环境%设置变量名s和ls,在原始信号中,只取2600-3100个点s = leleccum(2600:3100); ls = length(s);%用db3对信号进行3级小波分解[c,l] = wavedec(s, 3, 'db3');%选用全局阈值进行信号压缩thr = 35;[xd,cxd,lxd,perf0,perfl2] = wdencmp('gbl',c,l,'db3',3,thr,'h',1);subplot(2,1,1);plot(s);title('原是信号s');subplot(2,1,2);plot(xd);title('压缩后的信号xd');图1 实验1压缩结果图2 不同阈值下实验1压缩结果(2)clear %清除Matlab工作环境中现有的变量load wbarb;%显示图像subplot(221); image(X); colormap(map);title('原始图像');axis square;disp('压缩前图像X的大小')whos('X')%==================================================== %对图像用bior3.7小波进行2层小波分解[c,s] = wavedec2(X,2,'bior3.7');%提取小波分解结构中第1层的低频系数和高频系数ca1 = appcoef2(c,s,'bior3.7',1);ch1 = detcoef2('h',c,s,1); %小波分解结构中第1层的水平方向高频系数cv1 = detcoef2('v',c,s,1); %小波分解结构中第1层的垂直方向高频系数cd1 = detcoef2('d',c,s,1); %小波分解结构中第1层的斜线方向高频系数%分别对小波分解结构中第1层的各频率成份进行重构a1 = wrcoef2('a',c,s,'bior3.7',1);h1 = wrcoef2('h',c,s,'bior3.7',1);v1 = wrcoef2('v',c,s,'bior3.7',1);d1 = wrcoef2('d',c,s,'bior3.7',1);c1 = [a1,h1;v1,d1];%显示分解后各频率成分的信息subplot(222);image(c1);axis squaretitle('分解后低频和高频信息');%==================================================== %下面进行图像的压缩处理%保留小波分解结构中第1层的低频信息,进行图像压缩%第1层的低频信息为ca1,显示第1层的低频信息%首先对第1层信息进行量化编码ca1 = wcodemat(ca1,440,'mat',0);%改变图像的亮度ca1 = 0.5*ca1;subplot(223);image(ca1);colormap(map);axis square;title('第一次压缩图像');disp('第一次压缩图像的大小为:')whos('ca1')%==================================================== %保留小波分解第二层低频信息,进行图像的压缩,此时压缩比更大%第2层的低频信息即为ca2,显示第2层的低频信息ca2 = appcoef2(c,s,'bior3.7',2);%首先对第2层低频信息进行量化编码ca2 = wcodemat(ca2,440,'mat',0);%改变图像的亮度ca2 = 0.25*ca2;subplot(224);image(ca2);colormap(map);axis square;title('第2次压缩图像');disp('第2次压缩图像的大小为');whos('ca2')图3 实验2压缩结果五、实验分析及结论(1)根据实验1压缩结果分析得到,压缩后的信号保持了原有信号的轮廓信息,即低频信息,而大部分细节信息(高频信息)得到了消除。

原有信号中的高频信息可能是噪声,也可能是信号本身,所以通过合理的选择阈值,可以得到不同的滤波效果或者是压缩效果。

(2)实验2是进行2维图像的压缩,根据压缩结果,原始图像大小为256*256,第一次压缩大小为135*135,第二次压缩大小为75*75。

显然,经过小波分解后得到了一系列的不同分辨率的图像,分解层数越多,低频区间越小,所提取的图像的信息越少,即图像压缩比也大。

但是,带来的结果是随着分解层数的增加,图像的质量越来越差。

因而,在对压缩比和图像质量都有较高要求时,只保留原始图像的低频信息是不够的,必须采用其他的编码方法。

实验二小波分析在信号奇异性检测中的应用一、试验目的(1)通过例子学习小波分析在一维信号奇异性检测中的应用;(2)学习Matlab中小波分解、重构相关函数的用法。

二、奇异性检测原理利用小波分析检测信号突变点的一般方法是:对信号进行多尺度分析,在信号出现突变时,其小波变换后的系数具有模极大值,因而可以通过对模极大值点的检测来确定故障发生的时间点。

通常情况下,信号的奇异性分两种情况,一种是信号在某一个时刻内其幅值发生突变,引起信号的非连续,幅值的突变处是第一种类型的间断点。

另一种是信号外观上很光滑,幅值没有突变,但是,信号的一阶微分有突变发生,且一阶微分是不连续的,成为第二种类型的间断点。

三、实验要求(1)对一个给定的含有突变点的信号(信号的文件名为freqbrk.mat,这个信号的不连续是由于低频的正弦信号在后半部分中)突然加入了高频特征的正弦信号,利用小波分析对信号突变点的时机进行检测。

(2)对某一给定的信号(它是由两个独立的满足指数方程的信号连接起来的),利用小波分析来检测出第二类间断点的准确位置。

四、实验结果及程序(1)load freqbrk;s = freqbrk;ls = length(s);[c,l] = wavedec(s,6,'db5');subplot(8,1,1);plot(s);title('用db5小波分解六层:s=a6+d6+d5+d4+d3+d2+d1');ylabel('s');%对分解结构[c,l]中的第六层低频部分进行重构a6 = wrcoef('a',c,l,'db5',6);subplot(8,1,2);plot(a6);ylabel('a6');%对分解结构[c,l]中的各层高频部分进行重构for i = 1 : 6decmp = wrcoef('d',c,l,'db5',7-i);subplot(8,1,i+2);plot(decmp);ylabel(['d',num2str(7-i)]);end图1 实验1奇异点检测结果(2)t=0:pi/200:2*pi;s1 = exp(t);s2 = exp(4*t);s = [s1,s2]; %整个信号subplot(5,1,1);plot(s);title('原始信号');ylabel('s');%计算信号的一阶微分ds = diff(s);%显示信号的一阶微分结果subplot(5,1,2); plot(ds);ylabel('s微分');[c,l] = wavedec(s,2,'db1');%对分解结构[c,l]中的第2层低频部分进行重构a2 = wrcoef('a',c,l,'db1',2);%显示重构结果subplot(5,1,3);plot(a2);ylabel('a2');for i=1:2decmp = wrcoef('d',c,l,'db1',3-i);subplot(5,1,i+3);plot(decmp);ylabel(['d', num2str(3-i)]);end图2实验2奇异点检测结果五、实验分析及结论(1)根据实验1的奇异点检测结果:第一层(d1)和第二层(d2)的高频部分将信号的不连续点显示的相当明显,即信号的断裂部分包含的是高频部分。

由图1知,大致第500个采样点为信号的奇异点,即重构信号中具有模极大值。

如果只需识别出信号的间断点,那么用db1小波比用db5小波的效果要好。

(2)根据第二种类型间断点的性质,信号很光滑,幅值没有突变,但是信号的一阶微分有突变发生,即一阶微分是不连续的。

实验2的奇异点检测结果:原始信号在时间轴上是连续的,对其进行多分辨分析,其细节信号明显地将该信号的第二类型间断点显现出来,即重构信号中具有模极大值。

根据小波分析结果知原始信号的间断点在第750个采样点以后,这与其一阶微分不连续的结论结果一致。

相关主题