小波变换一之Haar变换

Haar变换

案例一简单一维信号变换

下面是一个一维信号(一组数): f = { 2 , 2 , 2 , 4 , 4 , 4 } f = \{2, 2, 2, 4, 4, 4\} f={2,2,2,4,4,4}

我对这个信号进行如下处理:

a m = 2 f 2 m − 1 + f 2 m 2 = f 2 m − 1 + f 2 m 2 a_m = \sqrt{2}\frac{f_{2m-1}+f_{2m}}{2} = \frac{f_{2m-1}+f_{2m}}{\sqrt{2}} am=2 2f2m1+f2m=2 f2m1+f2m(相邻两个数相加,求平均,然后乘以 2 \sqrt{2} 2

d m = 2 f 2 m − 1 − f 2 m 2 = f 2 m − 1 − f 2 m 2 d_m = \sqrt{2}\frac{f_{2m-1}-f_{2m}}{2} = \frac{f_{2m-1}-f_{2m}}{\sqrt{2}} dm=2 2f2m1f2m=2 f2m1f2m(相邻两个数相减,求平均,然后乘以 2 \sqrt{2} 2

注:至于为什么要乘以 2 \sqrt{2} 2 呢?我们这里先不解释,放到后面再说。

然后按照先 a a a d d d的顺序排列 a 1 , a 2 , . . . , a N / 2 , d 1 , d 2 , . . . , d N / 2 {a_1,a_2,...,a_{N/2}, d_1, d_2, ..., d_{N/2}} a1,a2,...,aN/2,d1,d2,...,dN/2 N N N是离散信号中的值的个数)

则, a = { 2 2 , 3 2 , 4 2 } a = \{2\sqrt{2}, 3\sqrt{2}, 4\sqrt{2}\} a={22 ,32 ,42 } d = { 0 , − 2 , 0 } d=\{0, -\sqrt{2}, 0\} d={0,2 ,0}

我们可以得到结果: t f = { 2 2 , 3 2 , 4 2 , 0 , − 2 , 0 } tf = \{2\sqrt{2}, 3\sqrt{2}, 4\sqrt{2}, 0, -\sqrt{2}, 0\} tf={22 ,32 ,42 ,0,2 ,0}

这就是传说中的Haar变换了……

a a a表示的是信号的趋势(trend),近似(approximation),是低频信息;而 d d d表示的是信号的细节(detail),是高频信息。

那么我们怎么变回去呢?我们对变换以后的信号进行如下处理:

f 2 m − 1 = 2 a m + d m 2 = a m + d m 2 f_{2m-1} = \sqrt{2}\frac{a_m +d_m}{2} = \frac{a_m +d_m}{\sqrt{2}} f2m1=2 2am+dm=2 am+dm(第 m m m a a a d d d相加,求平均,然后乘以 2 \sqrt{2} 2

f 2 m = 2 a m − d m 2 = a m − d m 2 f_{2m} = \sqrt{2}\frac{a_m -d_m}{2} = \frac{a_m -d_m}{\sqrt{2}} f2m=2 2amdm=2 amdm (第 m m m a a a d d d相减,求平均,然后乘以 2 \sqrt{2} 2

我们可以得到结果 i f = { 2 , 2 , 2 , 4 , 4 , 4 } if = \{2, 2, 2, 4, 4, 4\} if={2,2,2,4,4,4}

这样就是Haar变换的逆变换。

通过观察,我们可以发现:

  • d d d中的数字绝大部分都很小(这是做信息压缩很重要的依据)
  • 变换前后信号的能量保持不变,即 ∑ f i 2 = ∑ a m 2 + ∑ d i 2 \sum{f_i^2} = \sum{a_m^2} + \sum{d_i^2} fi2=am2+di2(有兴趣的同学可以算一下对于 f f f t f tf tf的能量都是60,刚好相等)

案例二多分辨率一维信号变换

我们可以按照上面的思路将信号对得到的低频信号( a a a)一直一直划分下去,直到 l o g 2 N \mathrm{log}_2N log2N(离散信号的值的数目不是偶数的,可以在后面补0)

给定如下的一个信号: f ( t ) = 20 x 2 ( 1 − x ) 4 cos ⁡ ( 12 π x ) f(t) = 20x^2(1-x)^4\cos(12\pi x) f(t)=20x2(1x)4cos(12πx)

我们通过在[0, 1]之间取样1024个点可以得到信号的振幅,绘制出信号图像如下:
原始信号
我们可以通过案例一种描述的方法进行Haar变换,我们这里对 f ( t ) f(t) f(t)信号进行两次Haar变换,如下图所示:
Haar多分辨率分析

这是多分辨率分析(Multi-Resolution Analysis,MRA)以及图像压缩(JPEG2000编码)等的基础理念,这里现有一个大概理解,后面我们会继续谈到。

变换的结果如下(感兴趣的朋友可以使用Mathematica或者MATLAB是一样,这两个数学软件都提供了对Haar变换的直接支持):
Haar变换

好了,这一节先到这里,我们以后有时间慢慢聊!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值