多项式拟合matlab之方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 小波方法步骤