• 小波变换1


    https://blog.csdn.net/weixin_38071135/article/details/83062330

    傅里叶变换的局限性

    在正式进入小波变换之前,我们不妨来讨论一下傅里叶变换的局限性和为什么我们需要引入小波变换。
    回想傅里叶变换的公式
    F ( ω ) = ∫ − ∞ ∞ f ( t ) e x p ( − j ω t ) d t F(omega) = int^{infty}_{-infty}f(t)exp(-jomega t)dtF(ω)=f(t)exp(jωt)dt

    • 从积分的算式我们可以轻松知道,在积分式一结束的同时,
      另外一个谱的信息就会完全消失,就是说,傅里叶变换的频域上不含有时间信息

    • 同时从积分的上下限我们也可以看到,当信号发生一些不平稳的变化的时候,傅里叶变换并不能很好的察觉到他的幅度和位置,因为从表达式可以看到,傅里叶变化对每一个时刻的值都是平等对待的,而且所有的突变值也会被积分区间所平分.所以我们可以看到傅里叶变换对窄带信号检测不敏感,不能处理非平稳信号

    • 从滤波的角度看,回想一下,当信号频谱和噪声频谱是相互分离的时候,我们总可以分离信号和噪声,通过一些加窗滤波的方法就可以了.但是如果信号和噪声的频谱是混在一起的,那么,这个时候傅里叶变换就无能为力了,也就是说,滤波靠的是信号域和噪声域在频谱上的分离

    短时傅里叶变换(STFT)

    怎么来解决以上的问题呢?有人提出了短时傅里叶变换来加以改善,我们先来看看短时傅里叶变换的表达式:
    F ( ω , t ) = ∫ − ∞ ∞ f ( τ ) w ( τ − t ) e x p ( − j ω τ ) d τ F(omega,t) = int^{infty}_{-infty}f( au)w( au -t)exp(-jomega au)d auF(ω,t)=f(τ)w(τt)exp(jωτ)dτ
    F [ m , k ] = ∑ n x [ n ] w [ n − k ] e x p ( − j 2 π N m n ) m = 0 , 1 , ⋯   , N − 1 F[m,k] = sum_nx[n]w[n-k]exp(-jfrac{2pi}Nmn)quad m=0,1,cdots,N-1F[m,k]=nx[n]w[nk]exp(jN2πmn)m=0,1,,N1
    通过加入一个滑动的窗函数w ( ω , t ) w(omega,t)w(ω,t)(长度为N),来弥补傅里叶变换的频谱上没有时间信息这个弊端

    其实原理很简单,就是原来一段的傅里叶变换,现在固定分成几段来分别进行傅里叶变换,那么分成的这几段,可以在时间上独立开来,就变成了具有时间信息的傅里叶变换

    但当然,这个加窗对整个变换也是有影响的,这里不妨先介绍两个术语:

    时间分辨率

    时间分辨率由时窗宽度T p T_pTp决定,
    T p = N T = N f s a m p l e T_p =NT=frac N{f_{sample}}Tp=NT=fsampleN
    T p T_pTp,时间分辨率越高.

    频谱分辨率

    频谱分辨率是指分辩信号中相邻谱峰的能力
    △ f c = 1 T p riangle f_c = frac1{T_p}fc=Tp1
    $ riangle f_c $越,频谱分辨率越高。

    在对信号的时频分析中,我们希望时间分辨率和频谱分辨率都可以比较高,但是从定义式里面我们就知道,时间分辨率和频谱分辨率是相互制约的,同时也说明,我们没办法同时获得较高的时间分辨率和频谱分辨率.

    从这里我们可以再一步印证出,傅里叶变换(连续)具有无穷的频谱分辨率,而无时间分辨率.

    现在我们回来讨论短时傅里叶变换的窗函数w [ n − k ] w[n-k]w[nk]的长度N,显然N如果变大,频谱分辨率肯定是越来越好的,时间分辨率确实便来越差的.同时N如果变小,频谱分辨率肯定是越来越差的,时间分辨率便是越来越差的.

    我们到底想要什么东西

    既然上面说了时间分辨率和频谱分辨率已经是不可兼得的了,那么现在问题来了,我们到底想得到什么东西?
    回想一下:
    傅里叶变换的缺点在他不能有效地处理非平稳信号,短时傅里叶变换的N是固定的,往两边变化都会有制约.

    那我们能不能在分析的过程中让这个N变起来?让他在信号变化快的时候窗变小一点,获得较高的时间分辨率,较低的频谱分辨率.在信号变化慢的时候窗变大一点,获得较低的时间分辨率,较高的频谱分辨率.

    这个时候就应该给大家引入小波变换了.大家可以先无道理地认为小波变换就是一个窗长度会变的傅里叶变换(虽然我一直不喜欢这个通俗的比喻…)

    信号的正交表示

    在正式讲小波变换前,需要先补充一些知识.

    在信号分析中,我们常将信号展开成一组信号的线性组合,即有
    x ( t ) = ∑ n a n ⋅ ϕ n ( t ) x(t) = sum_n a_n cdot phi_n(t)x(t)=nanϕn(t)

    其中,{a n ; n ∈ Z a_n;nin Zan;nZ}为展开系数,{ϕ n ( t ) ; n ∈ Z phi_n(t);nin Zϕn(t);nZ}为展开函数
    若展开式具有唯一性,即不同的信号对应不同的展开系数a n a_nan ,则该展开函数ϕ n ( t ) phi_n(t)ϕn(t)称为基(basis)。

    对基函数来说,若其内积满足:
    &lt; ϕ l ( t ) , ϕ k ( t ) &gt; = ∫ ϕ l ( t ) ⋅ ϕ k ( t ) d t = δ [ k − l ] &lt;phi_l(t),phi_k(t)&gt; = intphi_l(t)cdotphi_k(t)dt = delta[k-l]<ϕl(t),ϕk(t)>=ϕl(t)ϕk(t)dt=δ[kl]
    称此基函数为**正交规范(orthonormal)**基函数.正交在于其他内积等于0,规范在于系数是1

    在此基础上我们可以知道,由于每个基函数之间都是互相正交的,所以我们可以将x(t)和基函数ϕ n ( t ) phi_n(t)ϕn(t)进行内积计算,便可以得到相应的展开系数a n a_nan,也就是:

    a n = &lt; x ( t ) , ϕ n ( t ) &gt; = ∫ x ( t ) ⋅ ϕ n ( t ) d t a_n = &lt;x(t),phi_n(t)&gt; = int x(t)cdotphi_n(t)dtan=<x(t),ϕn(t)>=x(t)ϕn(t)dt

    稍微有点泛函常识的我们可以知道,这就是将信号往给定基函数元素所张成的内积空间里面投射

    比较出名的就是傅里叶级数,将信号往以e j ω t e^{jomega t}ejωt为基函数的内积空间(无穷维空间)内投射,得到的相应正交基函数的特征值(也就是展开系数a n a_nan)这里的a n a_nan就是傅里叶级数里面的C n C_nCn.大家大可看看表达式,都是一模一样的.

    当然这个是反着来用的,根据每个维度的特征值来合成回x(t),也就是逆变换

    这里要注意的还有一点是,所谓的基函数,其实不仅仅是一个函数,而是一些有相同特征且相互正交的函数族.

    小波展开与小波变换

    小波函数

    小波(wavelet)信号是一类衰减较快的波动信号,其能量有限,且相对集中在局部区域.
    先来看看常用的小波函数:
    xiaobo
    小波函数ψ ( t ) psi(t)ψ(t)(也称为母小波)的基本特性:
    ∫ − ∞ ∞ ψ ( t ) d t = 0 int^infty_{-infty}psi(t)dt = 0ψ(t)dt=0
    小波函数ψ ( t ) psi(t)ψ(t)通过展缩和平移得到小波函数族**ψ j , k ( t ) psi_{j,k}(t)ψj,k(t)**
    hanshuzu
    这里小波函数由于相对集中在局部区域,所以比傅里叶变换的基函数多了平移这一步.
    小波函数族ψ j , k ( t ) psi_{j,k}(t)ψj,k(t)定义为:
    ψ j , k ( t ) = 2 j / 2 ψ ( 2 j t − k ) ; j , k ∈ Z psi_{j,k}(t) = 2^{j/2}psi(2^jt-k);quad j,kin Zψj,k(t)=2j/2ψ(2jtk);j,kZ

    尺度函数

    和小波变换相关的还有尺度函数(父小波)(Scaling Function)
    chidu
    由尺度函数φ ( t ) varphi(t)φ(t)通过展缩和平移得到尺度函数族**φ j , k ( t ) varphi_{j,k}(t)φj,k(t)**

    尺度函数族φ j , k ( t ) varphi_{j,k}(t)φj,k(t)定义为:
    φ j , k ( t ) = 2 j / 2 φ ( 2 j t − k ) ; j , k ∈ Z varphi_{j,k}(t) = 2^{j/2}varphi(2^jt-k);quad j,kin Zφj,k(t)=2j/2φ(2jtk);j,kZ

    小波函数族和尺度函数族前面的系数2 j 2^j2j是为了保持基函数的能量始终为1

    对于这两个后面会有更理性的认识,这里我们先直接介绍DWT和IDWT

    离散小波变换 (DWT)

    有了小波函数和尺度函数,就相当于明确了我们的小波的基函数.
    我们可以利用小波函数族ψ j , k ( t ) psi_{j,k}(t)ψj,k(t),尺度函数族φ j , k ( t ) varphi_{j,k}(t)φj,k(t),来将信号进行小波展开:
    x ( t ) = ∑ n c 0 [ k ] φ 0 , k ( t ) + ∑ n d 0 [ k ] ψ 0 , k ( t ) + ∑ n d 1 [ k ] ψ 1 , k ( t ) + ⋯ x(t) = sum_nc_0[k]varphi_{0,k}(t) + sum_nd_0[k]psi_{0,k}(t) + sum_nd_1[k]psi_{1,k}(t) +cdotsx(t)=nc0[k]φ0,k(t)+nd0[k]ψ0,k(t)+nd1[k]ψ1,k(t)+
    同时,上式也被称为离散小波逆变换 (IDWT)

    相反地,由信号x(t)求解展开系数{c 0 [ k ] , d 1 [ k ] , d 2 [ k ] c_0[k],d_1[k],d_2[k]c0[k],d1[k],d2[k]}称为离散小波变换(Discrete Wavelet Transform, DWT)

    我们常用c 0 c_0c0来表示信号的粗糙成分,d j , k d_{j,k}dj,k来表示信号的精细部分.详细内容会在下一篇博客继续阐述.

    人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。
  • 相关阅读:
    day23-json、pickle、configparser、hashlib、suprocess模块
    day22-时间模块、random模块、os模块、sys模块
    day21-py文件作用,导包、模块搜索路径
    day20-python-二分、面向过程思想、函数式、模块
    day19-python-叠加装饰器分析、yield、三元、生成式、递归
    day18-python-装饰器、迭代器、生成器
    day17-python-装饰器
    day16-python-函数对象、函数嵌套、闭包函数
    搭建yum本地源_阿里云CentOS服务器初始化设置
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/14395300.html
Copyright © 2020-2023  润新知