[注意:本文中所有的傅里叶变换和反变换均含对称因子$\frac{1}{\sqrt{2\pi}}$,且$z=e^{-ik\omega}$]

1. 多分辨率分析

1.1 概念

多分辨率分析指的是一系列$L^2(R)$的子空间$V_j$,每个子空间$V_{j+1}$都是它“上一级”子空间$V_j$的“精细化”:

(i) $V_j\subset V_{j+1}$    # 子空间逐级嵌套

(ii) $\overline{U_{j \in Z}V_j}=L^2(R)$  # 所有子空间的并“构成”$L^2(R)$。注意此处上横线不是求补的意思(待补充:)

(iii) $\cap_{j \in Z} V_j=\{0\}$    # 全部子空间的交为空集。可这样理解:交的结果趋向于最“不精细”的那个子空间$V_{-\infty}$

(iv) $f(t) \in V_0 \iff f(2^jt)\in V_j$ # 子空间之间存在“缩放”关系

对子空间$V_0$,存在一组尺度函数$\{ \phi (t-k) \}$作为规范正交基。

我们假定$\phi(t)$是实值且归一化的函数,那么下式成立:

$\int_R\phi(t)dt=\sqrt{2\pi}\Phi(0)=1$   # 傅里叶变换式取$\omega=0$即得

根据子空间之间的“包含”和“缩放”关系,可以写出空间$V_j$的规范正交基:

$\phi_{j,k}(t)=2^{j/2}\phi(2^jt-k)$

系数$2^{j/2}$使得时间尺度变换后的基的范数仍为1。

如果函数$f(t) \in \sum_{k \in Z}c_k\phi_{j,k}(t)$,那么可以写出$f(t)$在$V_j$的规范正交基上的投影:

$c_k=\langle f(t),\phi_{j,k}(t) \rangle$

因为各级子空间存在包含与被包含的关系,所以子空间$V_j$的基总可以用$V_{j+1}$的基的线性组合表示。例如:

$\phi (t) = \sqrt{2} \sum_{k \in Z} h_k \phi (2t-k)$

上式中,$h_k=\langle \phi(t), \phi_{1,k}(t) \rangle$

对于更一般的$\phi_j(t)$:

$\phi_j(t)=\sum_{k \in Z} h_k \phi_{j+1,k}(t)$

注意对上式中的各级子空间$V_0, V_1, ..., V_j, V_{j+1}, ...$,$h_k$总是相同的。

对于更更一般的$\phi_{j,k}(t)$,将$h_k$进行移位即可:

$\phi_{j,l}(t)=\sum_{k \in Z} h_{k-2l} \phi_{j+1, k}(t)$

考虑到各级子空间之间的尺度关系,$h$的下标为$k-2l$是自然的事。

系数$h_k$称为尺度滤波器,具有如下性质:

(i) $\sum_{k \in Z} h_k=\sqrt{2}$    # 为了保持归一化,$\sum h_k$必须等于$\sqrt{2}$。回想下HAAR的尺度滤波器系数

(ii) $\sum_{k \in Z} h_k h_{k-2l} = \delta(l)$  # 因为$\phi(t)$是正交基,所以距离为$2l$的权序列不相关

(iii) $\sum_{k \in Z} h_k^2=1$  # 为了保持尺度变换前后(尺度滤波器内的部分)能量不变

如果将$L^2(R)$上的任意函数$f(t)$投影到$V_j$:

$P_{f,j}(t)=\sum_{k \in Z}\langle f(t), \phi_{j,k}(t) \rangle\phi_{j,k}(t)$

如果我们有一个函数$f_{j+1}\in V_{j+1}$,那么有:

$f_{j+1}(t)=\sum_{k \in Z}a_k\phi_{j+1,k}(t)$

现在将$f_{j+1}(t)$投影到$V_j$:

$f_j(t)=\sum_{l\in Z}b_l\phi_{j,l}(t)$

为了求出$b_l$的表达式,我们可以这样考虑:

想象一下将$\phi_{j+1}$投影到$V_j$,每一个$\phi_{j+1}$都要用$\phi_j$的线性组合来表示。所以$\phi_{j,l}$前的系数是以$a_k$为权的$h_k$的线性组合(加上偏移量$2l$):

$f_j(t)=\sum_{l\in Z}b_l\phi_{j,l}(t)=\sum_{l\in Z} \left(  \sum_{k \in Z}a_kh_{k-2l}  \right) \phi_{j,l}(t)$

1.2 小波函数

$\psi(t)=\sqrt{2}\sum_{k \in Z}g_k\phi(2t-k)$

$\psi_{j,k}(t)=2^{j/2}\psi(2^jt-k)$

$g_k=(-1)^kh_{1-k}$

$\psi_{j,l}(t)=\sum_{k \in Z}g_{k-2l}\phi_{j+1,k}(t)=\sum_{k \in Z}(-1)^k h_{1+2l-k}\phi_{j+1,k}(t)$

1.3 $\phi(t)$的symbol

上面我们将$\phi(t)$表示为

$\phi(t)=\sqrt{2}h_k\phi(2t-k)$

若将$h_k$记作$h(k)$,上面的式子就是一个卷积式子。于是经过一些简单变换就得到:

$\Phi(\omega)=H(\frac{\omega}{2})\Phi(\frac{\omega}{2})$

$H(\omega)=\frac{1}{\sqrt{2}}\sum_{k \in Z}h_ke^{-ik\omega}$

$\phi(t)$具有如下性质:

(i) $||\Phi||=1$  # 单位长度

(ii) $\Phi(0)=\frac{1}{\sqrt{2\pi}}$

(iii) $H(0)=1$ # 直流增益1

(iv) $H(\omega)$周期为$2\pi$  # $h$是离散的,所以这条显然

1.4 The Stability Function

根据空间$V_j$的基在时域的正交性质,可以推导出下式(The Stability Function):

$\mathcal{A}(\omega)=\sum_{l \in Z} \left|  \Phi(\omega + 2\pi l) \right| ^2=\frac{1}{2\pi}$

以HAAR小波为例,其频域为sinc函数,按$2\pi$移位平方累加,在整个频域为常数。

另一方面,在时域上有下式成立:

$\sum_{k \in Z}\phi(t-k)=1$

The Stability Function只需$\phi(t)$为正交基即可,不需要尺度条件。如果加上尺度条件,还有下面的式子:

$|H(\omega)|^2+|H(\omega+\pi)|^2=1$

如果一个函数的频谱满足上式及以下条件,那么该函数有与之对应的尺度函数:

(i) $H(0)=1$    # $h_k$过直流

(ii) 满足$H(z)=(\frac{1+z}{2})^NS(z)$,其中$max_{|z|=1}|S(z)|\le 2^{N-1}$

# 1. 系数$(\frac{1+z}{2})^N$使得$H(z)$为低通形式;

# 2. [1, 1]的z变换为$\frac{1+z}{2}$(考虑了归一化系数),所以$(\frac{1+z}{2})^N$可看作N组[1, 1]的卷积的z变换。

1.5 $g(t)$的symbol$G(\omega)$

$G(\omega)=\frac{1}{\sqrt{2}} \sum_{k \in Z} g_k e^{-ik\omega}=\frac{1}{\sqrt{2}}\sum_{k \in Z} (-1)^kh_{1-k}e^{-ik\omega}$

$G(\omega)$和$\Psi(\omega)$的性质

(i) $\Psi(\omega)=G(\frac{\omega}{2})\Phi(\frac{\omega}{2})$

(ii) $G(\omega)=-e^{-i\omega}\overline{H(\omega+\pi)}$

(iii) $G(0)=0$  # 高通效果

(iv) $\sum_{k \in Z}g_k=0$  # 直流增益0

(v) $\sum_{k \in Z}h_{2k}=\sum_{k \in Z}h_{2k+1}=\frac{\sqrt{2}}{2}$

Multiresolution Analysis(多分辨率分析)的更多相关文章

  1. 帕累托分析法(Pareto Analysis)(柏拉图分析)

    帕累托分析法(Pareto Analysis)(柏拉图分析) ABC分类法是由意大利经济学家帕雷托首创的.1879年,帕累托研究个人收入的分布状态图是地,发现少数人收入占全部人口收入的大部分,而多数人 ...

  2. VTune使用amplxe-cl进行Hardware Event-based Sampling Analysis 0分析

    于BASH正在使用VTune进行Hardware Event-based Sampling Analysis 0分析: 结果(部分)例如以下: 版权声明:本文博客原创文章.博客,未经同意,不得转载.

  3. survival analysis 生存分析与R 语言示例 入门篇

    原创博客,未经允许,不得转载. 生存分析,survival analysis,顾名思义是用来研究个体的存活概率与时间的关系.例如研究病人感染了病毒后,多长时间会死亡:工作的机器多长时间会发生崩溃等. ...

  4. Why many EEG researchers choose only midline electrodes for data analysis EEG分析为何多用中轴线电极

    Source: Research gate Stafford Michahial EEG is a very low frequency.. and literature will give us t ...

  5. [Virus Analysis]恶意软件分析(二)玩出花的批处理(中)

    本文作者:i春秋作家——Sp4ce 0×01上一篇文章部分 首先是文件目录 整理后的目录 整理前的部分文件代码 update.bat %%Q %%Q %%Q %%Q %%Q %%Q %%Q %%Q % ...

  6. Analysis 图标分析 - loadrunner

    analysis常见 /

  7. 性能测试工具LoadRunner24-LR之Analysis 系统资源分析

    1.内存分析方法 内存分析方法主要是用于判断系统有无遇到内存瓶颈,是否需要通过增加内存等手段提高系统性能表现.主要计数器包括Memory和Physical Disk类别的计数器 内存分析的主要步骤和方 ...

  8. 性能测试工具LoadRunner23-LR之Analysis 性能分析

    一.图表分析 1.Average Transaction Response Time(事务平均响应时间) “事务平均响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测 ...

  9. TensorRT Analysis Report分析报告

    TensorRT Analysis Report 一.介绍 TensorRT是一个高性能的深度学习推理(Inference)优化器,可以为深度学习应用提供低延迟.高吞吐率的部署推理.TensorRT可 ...

随机推荐

  1. Python之路PythonThread,第四篇,进程4

    python3  进程/线程4 进程间同步互斥方法: from multiprocessing import Lock 创建 进程锁对象 lock = Lock() lock.acquire()  给 ...

  2. Flask中的route

    1. route的定义: 客户端发送请求给web服务器,web服务器再将请求发送给Flask程序实例 程序实例需要知道每个url请求所对应的运行代码是谁.所以程序中必须要创建一个 url 请求地址 到 ...

  3. opencv的DMatch

    1.DMatch是描述图像匹配信息的类 /** @brief Class for matching keypoint descriptors query descriptor index, train ...

  4. centos6下安装opencv3

    环境 centos6.5 opencv3.3.0 python3.4.9 下载 opencv可从GitHub下载https://github.com/opencv/opencv/tree/3.4.3可 ...

  5. Linux中查看显卡硬件信息

    Linux中查看显卡硬件信息 https://ywnz.com/linuxjc/67.html lspci -vnn | grep VGA -A 12lshw -C display 查看当前使用的显卡 ...

  6. D. The Fair Nut and the Best Path 树形dp (终于会了)

    #include<bits/stdc++.h> #define int long long using namespace std; ; int a[maxn]; int dp[maxn] ...

  7. 使用JQuery反向选择checkbox

    HTML代码: <input id="haspda" type="checkbox" name="haspda" value=&quo ...

  8. putty登陆sourceforge.net(设置登录)

    打开putty.exe session选项的host name (ip address) 填写 shell.soureceforge.net 端口22(不变) 接下来是connection选项子目录下 ...

  9. Js 字符串的三大操作

    回顾: var num = str.length:字符个数 str = str.toLowerCase()/toUpperCase() var char = str.charAt(index)  :指 ...

  10. 下载并安装oracle 11g客户端

    之所以一直没安装成功是因为找不到安装程序,找到的那些要么没有安装程序,要么安装时出错或者安装后用不了,反正一大堆问题 先给个oracle客户端的下载链接 https://pan.baidu.com/s ...