多项式拟合matlab之方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验题目
使用Haar小波和傅里叶变换方法滤波及数据压缩
指导老师:李爱国
学生:陈立朝
学号:16208009004
专业:应用数学
西安科技大学计算机科学与技术学院
西安科技大学计算机科学与技术学院
1 实验报告
一、实验题目:
使用Haar 小波和傅里叶变换方法滤波及数据压缩
二、实验目的
1.掌握离散数据的Haar 小波变换和傅里叶变换的定义,基本原理和方法.
2.使用C++实现数据的Haar 小波变换和离散傅里叶变换.
3.掌握数据滤波的基本原理和方法.
4.掌握使用Haar 小波变换和离散傅里叶变换应用于数据压缩的基本原理和方法,并且对两种数据压缩进行评价.
三、实验步骤
1 算法原理
1.1 Haar 小波变换
(1)平均,细节及压缩原理
设{x1,x2}是一组两个元素组成的信号,定义平均与细节为2/)(21x x a +=,2/)(21x x d -=。则可以将{a ,d}作为原信号的一种表示,且信号可由{a ,d}恢复,1x a d =+,2x a d =-。
(2)尺度函数和小波方程 在小波分析中,引入记号)()(]1,0[t X t =φ,其中,)(]1,0[t X 表示区间[0,1]上的特征函数。定义
,()(2),0,1,...,21j j j k t t k k φφ=-=-
称)(t φ为Haar 尺度函数。由上式可知,)(,t k j φ都可以由)(0,0t φ伸缩和平移得到。
小波分析中,对于信号有不同分辨率的表示,当用较低分辨率来表示原始信号时,会丢失细节信息,需要找到一个函数来描述这种信息,该函数称之为小波函数。基本的小波函数定义如下:
[0,1/2)[1/2,1)1,01/2()()()1,1/210,t t X t X t t ψ≤<⎧⎫⎪⎪=-=-≤<⎨⎬⎪⎪⎩⎭其他
则)()12()2()(t t t t ψφφψ。--=称为Haar 小波。)()(t t t 1,00,1)(φφφ+=称为两尺度方程,)
()(t t t 1,00,1)(φφφ-=称为小波方程。 (3)Haar 小波变换计算方法
设),,(221n X X X 是一个长度为n 2(n>1)的离散信号序列,记为),,,(12,1,0,-n n n n a a a ,该序列可以用如下的带有尺度函数来表示:
,0,0,21,21()()...()
n n n n n n f t a t a t φφ--=++
一次小波分解的结果:
11111,01,01,01,01,211,211,211,21()()...()()...()n n n n n n n n n n n n f t a t a t d t d t φφψψ----------------=+++++对上式积分,由尺度函数的正交性,可得⎰--=1
0,1,1)()(k n k n a dt t t f φ。令k=0
,得到1,0,0,1()/n n n a a a -=+ 一般的,有
11,,2,21()/0,1,...21n n k n k n k a a a k --+=+=-
同理,有
11,,2,21()/0,1,...21n n k n k n k d a a k --+=-=-
2.傅里叶变换
(1)一维连续函数的傅里叶变换定义
设f(t)为连续的时间信号,则定义⎰+∞∞--=
dt e t f u F zut j 2)()(为f(t)的傅里叶变换,其反变换为⎰+∞
∞-=du e t F u f zut j 2)()(。 (2)一维离散傅里叶变换
对连续的时间信号f(t)等间隔采样,得到离散序列f(n)。假设采样N 次,则序列表示为{(0),(1),...,(1)}f f f N -。令n 为离散变量,u 为离散频率变量,则一维离散傅里叶变换及其反变换定义:
1
2/01()(),0,1,...,1N j un N n F u f n e u N N π--===-∑
12/0()(),0,1,...,1
N j un N u f n F u e n N π-===-∑
傅里叶变换的数学性质中,最重要的一点是:一个在时域或空域上看起来很复杂的信号(比如声音或图像)通常在频域上只集中在很小一块区域内,而很大一部分数值都接近于零。
即一个在空域中看起来占满全空间的信号,从频域中很可能只占用了极小一块区域,而大部分频率是被为零的。这就得到一个极为实用的结论:一个看起来信息量很大的信号,其实可以只用极少的数据就可加以描述。只要对它先做傅里叶变换,然后只记录那些不接近零的频域信息就可以达到数据压缩的目的。
(3)快速傅里叶变换FFT 原理
FFT 的基本思想:将大点数的DFT 分解为若干个小点数DFT 的组合,从而减少运算量。
令N znk j k n N e W /2,-=,则F(u)可改写为∑-==10,)(1)(N N k n N W n f N k F 。令N=2M ,其中M 为一正整数。带入式中,得到
21,201()()2M n k M n F k f n W M -==∑
11,,200111()(2)(21)2M M n k n k k M M M n n F k f n W f n W W M
M --==⎡⎤=++⎢⎥⎣⎦∑∑
1,01()(2)M n k e M n F k f n W M -==∑,1,01()(21)M n k o M n F k f n W M -==+∑
则有 21()()()2k e o M F k F k F k W ⎡⎤=+⎣⎦,21()()()2k e o M F k M F k F k W ⎡⎤+=-⎣⎦
上述推导说明:对一个长度为N 的序列进行傅里叶变换可以通过将其划分为2个N/2的序列进行傅里叶变换,对于N/2的傅里叶变换,可划分为两个N/4的变换,这一过程不断迭代,知道两点的序列为止,可计算出该序列的傅里叶变换。
(4)时间抽取的基2FFT 蝶形算法
对于(3)中的计算方法,可以采用蝶形运算符号来表示。本实验中采用的算法是时间抽取的基2FFT 算法实现快速傅里叶变换。
3. 数据压缩的评价准则
(1)数据压缩比
设原始信号f(n)的数据量大小为S ,经过数据压缩后,信号的数据量变为M ,一般情况下M
()/S M S η=-
由上式可知,数据压缩得越小,其数据压缩比越大。
(2)数据失真度
对于压缩后的数据,可以采用反变换等方式还原信号。设原信号为f(n),还原信号为f1(n),则我们定义还原信号与原始信号的差异为数据失真度。显然,数据恢复越接近原始信号,数据失真度越小。
4.算法步骤
(1)Haar 小波方法步骤