1 / 17
文档名称:

实验报告-数据滤波和数据压缩实验.doc

格式:doc   大小:2,618KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验报告-数据滤波和数据压缩实验.doc

上传人:儒林 2022/5/23 文件大小:2.56 MB

下载得到文件列表

实验报告-数据滤波和数据压缩实验.doc

相关文档

文档介绍

文档介绍:实验报告-数据滤波和数据压缩实验
实验题目:使用Haar小波和傅里叶变换方法滤波及数据压缩
1 实验目的
(1)掌握离散数据的Haar小波变换为一正整数。
带入式中,得到
令,
则有

上述推导说明:对一个长度为N的序列进行傅里叶变换可以通过将其划分为2个N/2的序列进行傅里叶变换,对于N/2的傅里叶变换,可划分为两个N/4的变换,这一过程不断迭代,知道两点的序列为止,可计算出该序列的傅里叶变换。
(4)时间抽取的基2FFT蝶形算法
对于(3)中的计算方法,可以采用蝶形运算符号来表示。本实验中采用的算法是时间抽取的基2FFT算法实现快速傅里叶变换。
数据压缩的评价准则
(1)数据压缩比
设原始信号f(n)的数据量大小为S,经过数据压缩后,信号的数据量变为M
,一般情况下M<S。则数据压缩比率的定义为:

由上式可知,数据压缩得越小,其数据压缩比越大。
(2)数据失真度
对于压缩后的数据,可以采用反变换等方式还原信号。设原信号为f(n),还原信号为f1(n),则我们定义还原信号与原始信号的差异为数据失真度。显然,数据恢复越接近原始信号,数据失真度越小。
算法步骤
(1)Haar小波方法步骤
读入原始数据f(n)
对原始数据f(n) 进行小波变换。对原始数据进行不同层级(分辨率)下的小波变换,得到不同的小波变换结果[An , Dn]
对于上步中的小波变换结果,把细节分量Dn置为0,即滤波得到压缩数据 [An]
对于滤波结果 [An],通过小波逆变换,恢复数据
计算恢复数据与原始数据的差异,进行压缩评价
(2)离散傅里叶变换步骤
读入原始数据f(n)
对原始数据f(n)进行离散傅里叶变换。使用蝶形算法计算傅里叶变换结果F(u)
对F(u)进行滤波,保留低频成分,舍弃高频成分,即得到原始数据的近似表示
对滤波结果的低频数据,高频分量恢复为零值,使用傅里叶反变换,恢复数据
计算恢复数据和原始数据的差异,进行压缩评价
程序流程图
开始
读取原始数据
小波变换DWT
变换结果滤波
数据写入文件
结束
图1 Haar小波变换流程图
在图1中,,由程序运行时读入。对结果的滤波是舍弃小波分解的细节部分。。
开始
读取原始数据数据f(n),变换后A(n)
对A(n)小波逆变换IDWT,得f1(n)
计算f(n)和f1(n)差异
结束
图2 Haar小波压缩数据差异计算流程图
图2是计算使用Haar小波进行数据压缩后,与原始数据差异。图中的f(n)表示原始数据,A(n)是小波变化结果,f1(n)表示逆变换结果。
开始
读取原始数据f(n)
傅里叶变换FFT,得到F(u)
变换结果F(u)滤波
F(u)数据写入文件
结束
图3 离散傅里叶变换流程图
图3是傅里叶变换流程图。。对F(u)滤波时,舍弃高频信息。。
开始
读取原始数据数据f(n),变换后F1(u)
对F1(u)傅里叶逆变换IFFT,得到f1(n)
计算f(n)和f1(n)的差异
结束
图4 离散傅里叶变换压缩数据差异计算流程图
图4是傅里叶变化压缩数据后的差异计算。傅里叶逆变换时,对于高频分量补零,与低频分量来恢复数据
f1(n)。
3 实验结果分析
(1)傅里叶变换
图5 测试数据集的FFT变换及IFFT变换结果
在上图中,得到测试数据集的傅里叶变换结果。图中带括号的是数据变换的复数结果,后边的小数是变换后的幅值。可以看出,在傅里叶变换的结果中,有1/2的数据经过变换之后变为0值。这部分为0值的数据可以采用压缩方式存储,从而压缩原始数据。并且,经过傅里叶反变换后,原始数据可以得到良好的恢复。
图6
,由于数据量较大,此处只是部分数据截图
。数据不足的部分用零补齐。可以看出,变换后的数据幅值较大,且基本没有为0数据。此时,采用阈值进行滤波处理,取阈值,即将阈值小于30的值置为0。
(2)小波变换
图7 测试数据集的小波变换DWT
由上图的实验结果可以看出,数据经过小波变换后,其能量集中于数据的靠前的小波系数。对于相同的数据集,可以采用不同级别的小波变换数据。
图8
由上图,对于