fft变换的物理意义 matlab_fft变换matlab程序

fft变换的物理意义 matlab_fft变换matlab程序基于数学推导与matlab实验对小波变换进行终极理解小波变换这篇文章主要搞懂以下三个问题(写的有点赶时间,后面可能会修改)什么是小波变换?小波变换的本质是什么?重点!这一部分是这篇文章的核心为什么要用小波变换?本文将用严谨的数学推导带你进行终极理解1、什么是小

基于数学推导与matlab实验对小波变换进行终极理解
  小波变换

  这篇文章主要搞懂以下三个问题(写的有点赶时间,后面可能会修改)

  什么是小波变换?

  小波变换的本质是什么?重点!这一部分是这篇文章的核心

  为什么要用小波变换?

  本文将用严谨的数学推导带你进行终极理解

  1、什么是小波变换?

  1.1 小波是什么?

  小波是一种在时间上局部化的波状振荡。

  小波作为一种数学工具,可以从多种数据中提取信息,包括音频信号和图像。为了充分分析数据,需要一组小波。“互补”小波分解没有间隙或重叠的信号,因此分解过程在数学上是可逆的。因此,互补小波集在基于小波的压缩/解压缩算法中是有用的,其中希望以最小的损失恢复原始信息。

  在形式上,这个表示是一个平方可积函数的小波级数表示,对于平方可积函数的希尔伯特空间,它可以是一个完备的、正交的基函数集,也可以是一个向量空间的过完备集或框架。(其实这里基本已经把本质一(还有本质二)说明白了:原来咱学的傅里叶变换用的是一组三角函数正交基来表示各种信号(傅里叶级数/泰勒展开)),小波变换就是用一组小波正交基来表示各种信号(小波级数/泰勒展开)这是通过连贯状态来实现的。

  1.2 选定的波形满足的条件

  选定的母波 \psi (理解成波形就可以,比如是正弦波还是方波还是啥的)必须满足的条件:

  勒贝格可测函数的空间既绝对可积又平方可积

  条件一:绝对可积

   \int_{-\infty}^{\infty}|\psi(t)|dt < \infty

  条件二:绝对平方可积

   \int_{-\infty}^{\infty}|\psi(t)|^2dt < \infty

  条件三:均值为0

   \int_{-\infty}^{\infty}\psi(t)dt =0

  条件四:绝对平方为1

   \int_{-\infty}^{\infty}|\psi(t)|^2dt=\int_{-\infty}^{\infty}\psi(t)\psi^*(t)dt = 1

  在大多数情况下,将其限制为具有更高M个消失矩的连续函数是有用的,即对于所有整m <M

   \int_{-\infty}^{\infty}t^m\psi(t)dt =0

  母小波按a倍缩放(或扩展)并按b倍平移(或移位)得到(在Morlet的原始公式下):(得到一个子集(基))

   \{\psi_{a,b}(t) = \frac{1}{\sqrt{a}}\psi(\frac{t-b}{a})\}|_{a \in R,b\in R^+}

  对于连续的WT,对(a,b)在整个半平面 R_+ \times R 上变化;对于离散WT,这对在它的一个离散子集上变化,这个子集也被称为仿射群。

  一个基本概念:

  在连续小波变换(CWT)和连续傅立叶变换(CFT)中,通常用来分析信号的函数(小波和复指数函数)并不严格意义上构成一个“基”,至少不是在数学上定义的正交基或完备基的意义上。让我们来分解这个概念:

  基函数:

  在数学中,特别是在线性代数和函数分析中,一个“基”是指一组线性独立的向量(或函数),这些向量(或函数)可以组合(通过线性组合)来表示在同一空间中的任何其他向量(或函数)。在无限维的函数空间中,这组基函数需要满足两个条件:它们是线性独立的,并且它们是完备的(即它们可以紧密地表示空间中的任何函数)。

  连续傅里叶和小波变换中的函数不是严格的基连续性:在连续傅里叶变换中,使用的是复指数函数 e^{i2\pi ft} ,而在连续小波变换中使用的是通过平移和伸缩得到的连续小波函数。这些函数是连续变化的,没有离散的间隔,因此它们不构成一个严格的、离散的基。 非正交性:尽管存在正交小波,但在一般的连续小波变换中,由于小波函数是连续平移和伸缩的,这些函数之间通常不是正交的。正交性是构成严格基的一个重要属性,因为它确保了基函数之间的独立性。 完备性和过完备性:连续小波变换是过完备的,意味着存在许多不同的方式来表示同一信号。这与构成严格基的完备性条件有所不同,后者要求只有一种唯一的表示方式。

  当我们说小波或复指数函数是变换的“基”时,这更多是一种便利的说法或直观理解,而不是严格的数学定义。

  1.3 小波的基本性质

  小波有两个基本性质:尺度和位置。尺度(或膨胀)定义了小波的拉伸或压缩程度。这个性质与波的频率有关。位置定义了小波在时间(或空间)上的位置。

  下面以一个常见的小波(高斯函数的第一阶导数的负值)分析,公式如下:

   -(x-b)e^{\frac{-(x-b)^2/(2a^2)}{\sqrt{2 \pi}a^3}}

  代码如下:

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序 a =1.0 b = 0.0

  上式中的参数a设置了小波的尺度。如果我们减小它的值,小波看起来会更被压扁。这反过来又可以捕获高频信息。相反,增加a的值将拉伸小波并捕获低频信息。fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序 a=2.0 b = 0.0(拉伸)

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序a = 0.2 b = 0.0(压缩)

  参数b定义了小波的位置。减小b会使小波向左移动。增加b会使它向右移动。位置很重要,因为与波不同,小波只在短时间内是非零的。此外,在分析信号时,我们不仅对它的振荡感兴趣,而且对这些振荡发生的位置感兴趣。

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序 a = 1.0 b = 2.0(小波右移)

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序a = 1.0 b = -2.0(小波左移)

  小波变换

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

   Wf(a,b)=\int_{-\infty}^{\infty}f(t)\frac{1}{\sqrt{a}}\psi^*(\frac{t-b}{a})dt

  需要解释的一点:在连续小波变换(CWT)的公式中提到母小波的复共轭主要是为了数学上的完整性和处理复数信号。实际上,对于实数小波函数和实数信号,共轭操作并不改变结果,因为实数的共轭就是其本身。然而,当涉及到复数信号或复数小波函数时,共轭就变得重要。(对共轭不理解请看附录)

  通过这个变换,可以将一维信号f(t)映射到二维系数Wf(s, u)。这两个变量可以进行时频分析。我们可以告诉定位一个特定的频率(参数s),在某一时刻(参数u)。如果f(t)是L2(R)函数。小波逆变换是

  f(t) = \frac{1}{C_\psi}\int_{0}^{\infty}\int_{-\infty}^{\infty}Wf(a,b)\frac{1}{\sqrt{a}}\psi(\frac{t-b}{a})db \frac{da}{a^2}  \\ 容许条件:C_\psi = \int_{0}^{\infty} \frac{|\Psi(\omega)|^2}{\omega}dw <\infty  \\  \Psi(w) 是母小波\psi(t)的傅里叶变换

  1.4 离散小波变换(离散位移和尺度参数,时间连续)

  就像一个滤波器组:信号输入,系数输出 基于2的幂的规模和位置的“子集”而不是在连续小波变换中每一个“可能”的尺度和位置集合

  1.4.1 母小波

  连续小波变换存在两个缺点:冗余和不实用。从小波变换的性质来看,第一个是显而易见的;从两个变换参数都是连续的这一事实来看,第二个是显而易见的。我们可以尝试通过采样参数来解决这两个问题

  设采样点阵:

   a = a_0^mb=nb_0a_0^m

  得到子小波:

  \psi_{m,n} = \frac{1}{\sqrt{a_0^m}}\psi(\frac{t-nb_0a_0^m}{a_0^m})  \\  m,n \in Z

  如果这个集合在 L^2(R) 中对于 ψ(t), a, b 是完备的,那么 (\psi_{mn}) 被称为仿射小波。一般尺度参数 a_0 通常取2,平移参数b通常取1

  \psi_{m,n} = \frac{1}{\sqrt{2^m}}\psi(\frac{t-n2^m}{2^m})  \\  m,n \in Z

  1.4.2 滤波器组实现DWT

  信号 x 的DWT是通过一系列滤波器来计算的。首先,样品通过具有脉冲响应 g 的低通滤波器,导致两者的卷积:

   y[n]=(x*g)[n]=\sum_{k=-\infty}^{\infty}x[k]g[n-k]

  信号也使用高通滤波器 h 同时 分解。输出给出细节系数(来自高通滤波器)和近似系数(来自低通)。重要的是,这两个滤波器是相互关联的,它们被称为正交镜像滤波器。

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  然而,由于信号的一半频率现在已经被删除,根据奈奎斯特的规则,一半的样本可以被丢弃。然后将上图中的低通滤波器g的滤波器输出进行2的下采样,并再次通过新的低通滤波器g和高通滤波器h进行进一步处理,其截止频率为前一个滤波器的一半。

  (这一步操作的意义:

  频带分割:在通过低通滤波器后,信号的高频部分被去除,只保留低频部分。同样,高通滤波器移除了低频成分,只保留高频成分。这种处理本质上是在频带分割信号。

  能量集中:对于许多自然信号而言,其能量主要集中在低频范围内。通过低通滤波器,我们能够捕捉到这些主要的信息。同时,高频部分通常包含了信号的快速变化细节,如边缘或噪声。

  下采样的意义:

  奈奎斯特规则:根据奈奎斯特采样定理,一个信号的采样频率应该是其最高频率成分的两倍以上,才能完整地捕捉信号的所有信息。当通过低通滤波器后,信号的频率范围被减半,因此原始的采样频率就变得过高了,意味着可以安全地减少样本数量而不丢失信息。

  减少冗余:在低通和高通滤波之后,如果不进行下采样,将会有冗余的信息。例如,经过低通滤波器后,信号的高频部分已经被去除,如果保持原来的所有采样点,那么许多采样点将不再携带额外的信息。

  多分辨率分析:在多级分解的过程中,每一级的下采样实际上是在构建一个新的、更粗糙的信号表示,这是多分辨率分析的核心。每一级的下采样都减少了信号的时间分辨率,同时增加了频率分辨率。)

  通过新的低通滤波器g和高通滤波器h进行进一步处理,其截止频率为前一个滤波器的一半,即:

  y_{low}[n] = \sum_{k=-\infty}^{\infty}x[k]g[2n-k]  \\  y_{high}[n] = \sum_{k=-\infty}^{\infty}x[k]g[2n-k]

  这种分解使时间分辨率减半,因为每个滤波器只有一半的输出信号。但是,每个输出的频带都是输入的一半,因此频率分辨率提高了一倍。

  级联滤波器组:

  重复这种分解以进一步提高频率分辨率和用高通和低通滤波器分解的近似系数,然后进行下采样。这被表示为二叉树,其节点表示具有不同时频定位的子空间。这棵树被称为滤波器组。

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  在DWT中,滤波器系数实际上是从母小波和尺度函数导出的,它们反映了小波和尺度函数的特性。换句话说,这些滤波器并非随意选择的,而是基于小波理论精心设计的,以捕获信号的多尺度特性。母小波的角色:在DWT中,母小波定义了信号的细节部分如何被捕捉,其特性(如正交性、紧支撑、平滑度)直接影响了变换的性能。尺度函数的角色:尺度函数对应于DWT中的低通滤波器,定义了信号在每一级分解后的近似部分。

  1.4.3 小波级数展开

  函数 f(x) \in L^2 相对于小波 ψ(x) 和标度函数 φ(x) 的小波级数展开式

   f(x) = \sum_kc_{j0}(k)\varphi_{j_0,k}(x)+\sum_{j=j0}^{\infty}\sum_kd_j(k)\psi_{j,k}(x) \\ c_{j0}(k):近似系数和/或比例(尺寸)系数 \\ d_j(k):细节和/或小波系数

  其中:

   c_{j0}(k)=<f(x),\varphi_{j_0,k}(x)≥\int f(x) \varphi_{j_0,k}(x)dx \\ d_j(k) = <f(x),\psi_{j,k}(x)≥\int f(x) \psi_{j,k}(x)dx

  2、 小波变换的本质

  前面我们已经说了,小波变换的本质之一是直接将正交三角基换成了小波基,那么另一个本质是什么?

  另一个本质就是相关。

  下面回忆一下相关的公式:(这里只找到了自相关的图片,能理解公式其实咱是要用互相关就行)

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  我们来看连续小波变换的公式:

   Wf(a,b)=\int_{-\infty}^{\infty}f(t)\frac{1}{\sqrt{a}}\psi^*(\frac{t-b}{a})dt

  这其实就是把信号和一个小波基里面的每一个子小波做相关(平移,点对点相乘)

  作用:如果信号的一个小段和子小波都是正弦波,

  频率相同,相位对齐:如果两个正弦波的频率完全相同,并且它们的相位也对齐(即它们起伏同步),那么它们之间的相关函数的值将最大(相当于没一点的振幅平方相加),表示很高的正相关性。

  或者我们把相关函数归一化成相关系数后

  频率相同,相位不对齐:如果两个正弦波频率相同,但相位不同(即一个波形相对于另一个波形有所延迟或提前),它们的相关系数将根据相位差异而变化。当相位差为90度时(即一个信号是另一个信号的余弦波形),相关系数为0;相位差为180度时(即两个波形完全反相),相关系数为-1。

  频率不同:如果两个正弦波的频率不同,即使它们的波形相似(都是正弦波),它们的相关系数通常会较低,因为它们的波峰和波谷不会持续对齐。

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  如图,将一个子小波不断平移,不断求相关c直到划过整个信号:fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序imgfft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  当上一个子小波已经求完了,就把小波伸缩变换(改变a,b)重复前面的操作,直到把每一个小波基里面的子小波都这样操作一遍

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  这样我们就能得到一个相关(或卷积),时间b和尺度变换a的关系图

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  这样我们就知道了这个信号的所有信息了。

  3、为什么要用小波变换?

  ​ 小波变换提供了一种同时捕捉信号在时间和频率维度上局部化特性的方法。不同于傅里叶变换(FT)仅提供信号的全局频率信息,小波变换通过引入可变尺度和平移的小波基,允许在不同分辨率下分析信号,从而在保持频率信息的同时获得时间信息。这使得小波变换尤其适用于分析非平稳信号,即那些其统计特性随时间变化的信号。

  与短时傅里叶变换(STFT)相比,小波变换不受固定时间-频率分辨率的限制。

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  STFT通过在整个信号上滑动固定大小的窗口来提供时频表示,但窗口大小的选择固定了时间和频率分辨率的权衡。小波变换通过允许在较低频率处使用较宽的窗口,在较高频率处使用较窄的窗口,提供了更加灵活的时频局部化。

  尽管小波变换在信号去噪、特征提取、图像压缩等领域内被广泛应用,但它也带来了一些挑战和局限性。选择适合特定应用的小波基和理解其特性需要深入的专业知识。此外,在处理有限长度信号时,小波变换可能产生边界效应,特别是当信号的长度不是小波尺度长度的整数倍时。此外,多尺度分解的逆变换可能需要仔细处理以确保信号的完全重建,尤其是在使用非正交小波时。

  4、 matlab实验

  代码

  上面是一个chirp信号,在0-1s的时候,频率变换从0-250Hz变化,得到的图像如下:

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  第三个是选择小波“bump”后得到的时频图

  下面是选择“Morse”小波得到的时频图:

  fft变换的物理意义 matlab_fft变换matlab程序fft变换的物理意义 matlab_fft变换matlab程序img

  这个实验基本可以说明,选择母波的重要性

  附录

  共轭的本质

  假设有两个复数信号,它们分别用复数表示:

  信号 A: A = a e^{i\theta_a} 信号 B: B = b e^{i\theta_b}

  这里,a 和 b 分别是信号的幅度,而 \theta_a\theta_b 是信号的相位。这两个信号可以看作是在复平面上的向量,幅度代表向量的长度,相位代表向量与实轴的夹角。

  为了计算这两个信号的相似度,可以计算它们的点积。对于复数,这通常意味着将一个信号与另一个信号的共轭相乘。

  信号 B 的共轭是 B^* = b e^{-i\theta_b} ,相位反转了。

  现在,来计算 A 和 B 的点积,包含了幅度和相位信息:

   A \cdot B^* = (a e^{i\theta_a}) \cdot (b e^{-i\theta_b})   = ab e^{i(\theta_a - \theta_b)}

  如果两个信号的相位相同即 \theta_a = \theta_b ,那么 e^{i(\theta_a - \theta_b)} = e^{i(0)} = 1 ,点积就简化为: A \cdot B^* = ab

  这个结果是一个实数,表明两个信号完全相似,没有相位差。点积的大小 ab 表示两个信号幅度的乘积,这也是两个向量长度的乘积,它们在相同相位下的相关性。

  如果相位不同, e^{i(\theta_a - \theta_b)} 部分将贡献一个复数,其幅度为1,但相位为 \theta_a - \theta_b 。这个复数的角度表示两个信号之间的相位差,它告诉我们一个信号相对于另一个信号是如何振动的。

  所以,当我们计算复数信号和它们共轭的点积时,我们实际上是在计算两个信号的幅度相似度,并且通过点积的相位来考虑它们的相位差异。这允许我们全面地了解两个信号的相似性,不仅仅是它们的大小,还包括它们的时序信息,即它们是如何随时间变化的。

  共轭在处理复数信号时很重要,因为它允许信号的幅度和相位在变换过程中得以保留。

  参考:

  https://en.wikipedia.org/wiki/Wavelet

  https://builtin.com/data-science/wavelet-transform

  https://www.sciencedirect.com/topics/computer-science/wavelet-transforms

  http://disp.ee.ntu.edu.tw/tutorial/WaveletTutorial.pdf

  https://inst.eecs.berkeley.edu/~ee225b/sp14/lectures/wavelets-g&w.pdf

  https://en.wikipedia.org/wiki/Discrete_wavelet_transform

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/95795.html

(0)
上一篇 2024年 5月 24日 上午9:42
下一篇 2024年 5月 24日 上午10:06

相关推荐

关注微信