信号的频域分析 ^^^^^^^^^^^^^^^^^ 信号的频域分析方法多种多样,本文主要写一些信号频域分析的方法,主要包含频谱,倒频谱,相干分析,信号的调制与解调等相关内容。 在了解信号的频域分析之前,我们需要先了解一下几个信号分析的基本概念。 - FT(Fourier Transformation):傅里叶变换。就是我们理论上学的概念,但是对于连续的信号无法在计算机上使用。其时域信号和频域信号都是连续的。 - DTFT(Discrete-time Fourier Transform):离散时间傅里叶变换。即时域离散,频域连续。 - DFTD(iscrete Fourier Transform):离散傅里叶变换。在DTFT之后,将傅里叶变换的结果也进行离散化,就是DFT。即时域离散,频域离散。 - FFT(sFast Fourier Transformation):快速傅里叶变换。就是DFT的快速算法,工程应用时常用的算法。 - FS(Fourier Series):傅里叶级数。是针对时域连续周期信号提出的,结果是离散的频域结果。 - DFS(Discrete Fourier Series):离散傅里叶级数。是针对时域离散周期信号提出的,DFS与DFT的本质是一样的。 1 频谱 """""""""" **基本概念** 频谱是频率谱密度的简称,是频率的分布曲线。复杂振荡分解为振幅不同和频率不同的谐振荡,这些谐振荡的幅值按频 率排列的图形叫做频谱。频谱将对信号的研究从时域引入到频域,从而带来更直观的认识。一般来说,频谱分析指的是将信号做 傅里叶变换从而进行分析。频谱分析是包括幅频谱和相频谱两张图的。不过最常用的是幅频谱。 频谱分析是最常用和最重要也是最基础的频域分析方法。 **频谱的作用**:将信号在时间域中的波形转变为频率域的频谱,进而可以对信号的信息作定量解释。如求得动态信号中的各个频率成分和频率分 布范围,求出各个频率成分的幅值分布和能量分布,从而得到主要幅度和能量分布的频率值。 **浅谈傅里叶变换** 将时域的信号,变换到频域的正弦信号。傅里叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的 无限叠加。而根据该原理创立的傅里叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同 正弦波信号的频率、振幅和相位。傅里叶变换将原来难以处理的时域信号转换成了易于分析的频域信号(信号的频谱) ,可以利用一些工具对这些频域信号进行处理、加工。最后还可以利用傅里叶反变换将这些频域信号转换成时域信号。 2 能量谱 """"""""""""""""" 能量谱是针对能量有限的信号。能量谱也叫能量谱密度,能量谱密度描述了信号或时间序列的能量如何随频率分布。能量谱是原信号 傅立叶变换的平方。信号分为确定信号和随机信号,而确定信号又分为能量信号和功率信号,随机信号一定是功率信号。根据狄里 赫利条件,能量信号可以直接进行傅里叶变换,而功率信号不行。对于无法做傅里叶变换的信号,先求自相关,再做傅里叶。 即能量有限、功率为零的信号为能量信号。能量无限、功率有限的信号为功率信号。所有周期信号都是功率信号;所有有限数量的脉冲信号都是能量信号。 3 功率谱 """"""""""" 功率谱是功率谱密度函数(PSD)的简称,它定义为单位频带内的信号功率。 功率谱是针对功率信号来说的。根据维纳-辛钦定理:一段信号的功率谱等于这段信号自相关函数的傅里叶变换。 求功率谱有两种方法,分别为直接法和相关函数法。 4 倒频谱 """"""""""""" **4.1 基本知识** 倒频谱(Cepstrum)也叫倒谱、二次谱和对数功率谱等。倒频谱的工程型定义是:信号功率谱对数值进行傅立叶逆变换的结果。 该方法方便提取、分析原频谱图上肉眼难以识别的周期性信号,能将原来频谱图上成族的边频带谱线简化为单根谱线,受传感 器的测点位置及传输途径的影响小 **4.2 倒谱的意义** 对于高速大型旋转机械,其旋转状况是复杂的,尤其当设备出现不对中,轴承或齿轮的缺陷、油膜涡动、磨擦、质量不对称等 现象时,则振动更为复杂,用一般频谱分析方法已经难于辩识(识别反映缺陷的频率分量),而用倒频谱,则会增强识别能力。 频谱分析就是为了提取原始信号中的周期性信号的,怎么频谱中的信号还会有周期性?这就又涉及到两个概念: **调制和边频带**。 调制分为 **幅值调制和频率调制**。下面以齿轮的幅值调制为例进行说明:齿轮的振动信号主要包括两部分,分别是齿轮啮合振动 信号(高频)和齿轮轴的转频振动信号(低频),时域和频域曲线分别如下图所示: 调制就是高低频率信号的混合。幅值调制从数学上看,相当于两个信号在时域上相乘;而在频域上,相当于两个信号的卷积。 调制后的信号在时域和频域上分别变为: .. image:: ../media/pinyu/001.png :alt: 图1 :align: center .. image:: ../media/pinyu/002.png :alt: 图2 :align: center 上图分别为高频信号和低频信号的时域波形以及频域波形。 .. image:: ../media/pinyu/003.png :alt: 图3 :align: center 调制就是高低频率信号的混合。幅值调制从数学上看,相当于两个信号在时域上相乘;而在频域上,相当于两个信号的卷积。 上图为调制后的信号在时域和频域上的波形. 调制后的信号中,除原来的啮合频率分量外,增加了一对分量,它们是以高频信号特征频率为中心,对称分布于两侧,所以称为边频带。 实际实验中齿轮啮合振动信号(高频)和齿轮轴的转频振动信号(低频)的特征频率可能是有多组的,其调制后的频域信号近似于一组频率间隔较 大的脉冲函数和一组频率间隔较小的脉冲函数的卷积,从而在频谱上形成若干组围绕啮合频率及其倍频成分两侧的边频族,如下图: .. image:: ../media/pinyu/004.png :alt: 图3 :align: center 倒频谱“方便提取、分析原频谱图上肉眼难以识别的周期性信号”。这里指的周期性信号,就是重复出现的边频带。 倒频谱能较好地检测出功率谱上的周期成分,通常在功率谱上无法对边频的总体水平作出定量估计,而倒频谱对边频成分具有“概括”能力, 能较明显地显示出功率谱上的周期成分,将原来谱上成族的边频带谱线简化为单根谱线,便于观察,而齿轮发生故障时的振动频谱具有的 边频带一般都具有等间隔(故障频率)的结构,利用倒频谱这个优点,可以检测出功率谱中难以辨识的周期性信号。 **倒频谱的第二个好处是受传感器的测点位置及传输途径的影响小** 对于布置在不同位置的传感器,由于传递路径不同,其功率谱也不相同。但在倒频谱上,由于信号源的振动效应和传递途径的效应分离开来, 代表齿轮振动特征的倒频率分量几乎完全相同,只是低倒频率段存在由于传递函数差异而产生的影响。在进行倒频谱分析时,可以不必考虑信 号测取时的衰减和标定系数所带来的影响。这一优点对于故障识别极为有用。 参考: `信号频域分析方法的理解`_. .. _信号频域分析方法的理解: https://blog.csdn.net/weixin_47979206/article/details/123349558?spm=1001.2014.3001.5506 5 相干分析 """"""""""""" **5.1 基本概念** 相干是信号处理中,衡量确定性信号相似度的术语。相关是概率与统计领域衡量随机变量相似度的术语。 **相关性(Correlation)**:显示两相关变量之间线性关系的强度和方向。在统计学中,相关的意义是用来衡量两个变量相对于其相互独立的距离。 相关性多用于普通的数组计算和时域信号。 **相干性(Coherence)**:与相关性计算得到的信息非常相似,都是衡量两个变量之间的相关程度。相干性多用于频域计算,可以在基于频 率上给出更多的信息。 相关就是信号之间的相似程度,例如一个单位正弦波(幅值、频率都为1)和一个单位余弦波,由于它们在0时刻是正交的,所以不相关。 相干是包含相位信息的,还是一个单位正弦波和一个单位余弦波,它们是相干的,因为具有相同的频率(恒定的相位差)。 **5.2 相干信号** 两束满足相干条件的信号称为相干信号, **相干条件(Coherent Condition)**: 这两束信号在相遇区域:①振动方向相同; ②振动频率相同;③相位相同或相位差保持恒定 参考: `信号的相关与相干区分`_. .. _信号的相关与相干区分: https://blog.csdn.net/weixin_45475922/article/details/115254540?ops_request_misc=%257B%2522req uest%255Fid%2522%253A%2522166841159616800182194927%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&reques t_id=166841159616800182194927&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~defaul t-2-115254540-null-null.142^v63^control,201^v3^control_2,213^v2^t3_esquery_v1&utm_term=%E4%BF%A1%E5%8F%B7%E7%9A%84%E7%9B%B8% E5%B9%B2&spm=1018.2226.3001.4187 6 信号的调制与解调 """"""""""""""""""" **基本概念** **调制**:调制就是使一个信号(如光、高频电磁振荡等)的某些参数(如振幅、频率等)按照另一个欲传输的信号(如声音、图像等)的特点 变化的过程。(调制是通过改变高频载波的幅度、相位或者频率,使其随着基带信号的变化而变化来实现的。) **解调**:是调制的逆过程,作用是从已调信号中取出原来的调制信号。(解调则是将基带信号从载波中提取出来以便预定 的接收者(信宿)处理和理解的过程。) **基带信号**:要传递的信息,又称调制信号。 **已调信号**:调制波(信息)和载波叠加在一起就形成了已调信号。 **载波**:未受调制的周期性振荡信号称为载波,载波可以是正弦波,也可以是非正弦波(如周期性脉冲序列)。 一般要求正弦载波的频率远远高于调制信号的带宽,否则会发生混叠,使传输信号失真。 **调制就是用基带信号去控制载波信号的某个或几个参量的变化,将信息荷载在其上形成已调信号传输,而解调是 调制的反过程,通过具体的方法从已调信号的参量变化中将恢复原始的基带信号。** **调制:将各种数字基带信号转换成适于信道传输的数字调制信号(已调信号或频带信号); 解调:在接收端将收到的数字频带信号还原成数字基带信号;** **为什么需要调制?** - 根据电磁波理论,发射天线尺寸为被发射信号波长的十分之一或者更大些,信号才能有效地发射出去; - 大气对较高频率范围的信号能传播很远的距离,因此,需要通过大气层远距离传输基带信号,就需要极高频率的载波信号来携带基带信号; - 调制能够实现频谱搬移,将低频信号搬移到高频处,这能够降低发射天线的尺度; - 低频频带窄,都用低频传输,会造成堵塞,调制能够扩宽传输频带,提高了频率利用率; - 调制能够将多路基带信号加载到频率不同的载波上,完成信号的频率分配,使多路信号互不干扰地在同一个信道上传输,实现频分复用; - 调制还可以减弱噪声和降低干扰。 **什么是解调?** - 解调是调制的反过程,通过具体的方法从已调信号的参量变化中将恢复原始的基带信号。 6.1 幅度调制 ************ 幅度调制是用调制信号去控制高频载波的幅度,使之随调制信号做线性变化的过程。 **1 调幅(AM)** 常规的双边带幅度调制,简称调幅(AM),其时域表达式为: .. math:: \begin{array}{l} \mathrm{s}_{\mathrm{AM}}=\left[\mathrm{A}_{0}+\mathrm{m}(\mathrm{t})\right] \cos \omega_{\mathrm{c}} \mathrm{t} \\ =\mathrm{A}_{0} \cos \omega_{\mathrm{c}} \mathrm{t}+\mathrm{m}(\mathrm{t}) \cos \omega_{\mathrm{c}} \mathrm{t} \end{array} 其第一项为载波项,第二项为边带项,在调制过程中,携带调制信号信息的只有边带项,因此载波项为无用项,由此就造成了功率的浪费。 **2 抑制载波的双边带调制(DSB)** 为了避免功率的浪费,考虑到如果在调制过程中直流部分去掉,即去掉(:math:`A_0`)既可以抑制载波,其时域表达式如下: .. math:: \mathrm{s}_{\mathrm{DSB}}=\mathrm{m}(\mathrm{t}) \cos \omega_{\mathrm{c}} \mathrm{t} 比较AM和DSB调制信号的频谱,AM信号的频偏由上边带,下边带,载波分量组成,而DSB由上边带和下边带组成,抑制了载波分量,避免 了功率的浪费,但是上下边带都各自携带了全部的调制信号信息,就相当于同样的信息出现了两次,这就造成了带宽的浪费(结论为DSB 和AM信号的带宽都为2倍的调制信号带宽),进一步寻求改进,即想办法消除一个边带以减小带宽,增大频带利用率。 **3 抑制载波的单边带调制(SSB)** 产生SSB信号的方法有两种,滤波法和相移法。 **3.1 滤波法** 首先产生一个双边带信号,再让其通过一个边带滤波器滤除不要的边带即可得到单边带信号。如采用高通滤波器则可滤除下边带,保留上边带: .. math:: \mathrm{H}(\omega)=\left\{\begin{array}{ll} 1, & |\omega|>\omega_{\mathrm{c}} \\ 0, & |\omega|<\omega_{\mathrm{c}} \end{array}\right. 若采用低通滤波器则滤除上边带保留下边带: .. math:: \mathrm{H}(\omega)=\left\{\begin{array}{ll} 1, & |\omega|<\omega_{\mathrm{c}} \\ 0, & |\omega|>\omega_{\mathrm{c}} \end{array}\right. **3.2 相移法** 相移法的原理为:利用相依网络,对载波信号和调制信号适当相移以便在何处过程中将其中一个边带抵消掉而获得SSB,由此 就不需要实现滤波法中边带滤波器陡峭的边带条件。 **实例** 调制信号为: :math:`\mathrm{m}(\mathrm{t})=\mathrm{A}_{\mathrm{m}} \cos \omega_{\mathrm{m}} \mathrm{t}` ,载波信 号为: :math:`c(t)=\cos \omega_{c} t` 则其DSB的时域表达式为: .. math:: \begin{aligned} \mathrm{SDSB}_{\mathrm{D}} &=\mathrm{m}(\mathrm{t}) \cos \omega_{\mathrm{c}} \mathrm{t} \\ &=\mathrm{A}_{\mathrm{m}} \cos \omega_{\mathrm{m}} \mathrm{t} \cos \omega_{\mathrm{c}} \mathrm{t} \\ &=\frac{1}{2} \mathrm{~A}_{\mathrm{m}} \cos \left(\omega_{\mathrm{c}}+\omega_{\mathrm{m}}\right) \mathrm{t}+\frac{1}{2} \mathrm{~A}_{\mathrm{m}} \cos \left(\omega_{\mathrm{c}}-\omega_{\mathrm{m}}\right) \mathrm{t} \end{aligned} 则保留上下边带的表达式分别为: .. math:: \begin{aligned} =& \frac{1}{2} \mathrm{~A}_{\mathrm{m}} \cos \left(\omega_{\mathrm{c}}+\omega_{\mathrm{m}}\right) \mathrm{t} \\ =& \frac{1}{2} \mathrm{~A}_{\mathrm{m}} \cos \omega_{\mathrm{m}} \mathrm{t} \cos \omega_{\mathrm{c}} \mathrm{t}-\frac{1}{2} \mathrm{~A}_{\mathrm{m}} \sin \omega_{\mathrm{m}} \mathrm{t} \sin \omega_{\mathrm{c}} \mathrm{t} \end{aligned} .. math:: \begin{aligned} =& \frac{1}{2} \mathrm{~A}_{\mathrm{m}} \cos \left(\omega_{\mathrm{c}}-\omega_{\mathrm{m}}\right) \mathrm{t} \\ =& \frac{1}{2} \mathrm{~A}_{\mathrm{m}} \cos \omega_{\mathrm{m}} \mathrm{t} \cos \omega_{\mathrm{c}} \mathrm{t}+\frac{1}{2} \mathrm{~A}_{\mathrm{m}} \sin \omega_{\mathrm{m}} \mathrm{t} \sin \omega_{\mathrm{c}} \mathrm{t} \end{aligned} 可以得出: .. math:: \mathrm{s}_{\mathrm{SSB}}(\mathrm{t})=\frac{1}{2} \mathrm{~m}(\mathrm{t}) \cos \omega_{\mathrm{c}} \mathrm{t} \mp \frac{1}{2} \hat{\mathrm{m}}(\mathrm{t}) \sin \omega_{\mathrm{c}} \mathrm{t} 其中, :math:`\hat{\mathrm{m}}(\mathrm{t})` 为 :math:`\mathrm{m}(\mathrm{t})` 的希尔伯特变换。 而相移法的技术难点在于相移网络的制作,很难将 :math:`\mathrm{m}(\mathrm{t})` 的所有频率分量精准相移 :math:`\frac{\pi}{2}` 综上所述,要实现SSB无论是滤波法和相移法都有其技术难点,因此需要找出一种折衷的方法,能滤除部分边带且较容易实现。 **3.3 残留边带调制** 残留边带调制(VSB)就是这样一种折衷方法,既克服了DSB占用频带宽的特点,又解决了SSB实现困难的特点。VSB不用陡峭的滤波器,而是用比较平缓的滤波器切除无用边带。 6.2 角度调制 ************ **1 FM和PM简介** 对于一个信号而言,由于其频率和相位存在微积分的关系,因此调频和调相是可以相互转换的,由此可引出:直接调频,间接调频,直接调相,间接调相。由于调频与调相有这样的关系,以FM为例。 调频信号的时域表达式为其中 :math:`\mathrm{K}_{\mathrm{f}}` 称为调频灵敏度。 .. math:: \mathrm{s}_{\mathrm{FM}}(\mathrm{t})=\mathrm{A} \cos \left[\omega_{\mathrm{c}} \mathrm{t}+\mathrm{K}_{\mathrm{f}} \int \mathrm{m}(\tau) \mathrm{d} \tau\right] 调相信号的时域表达式为其中 :math:`\mathrm{K}_{\mathrm{p}}` 称为调相灵敏度: .. math:: \mathrm{s}_{\mathrm{PM}}(\mathrm{t})=\mathrm{A} \cos \left[\omega_{\mathrm{c}} \mathrm{t}+\mathrm{K}_{\mathrm{P}} \mathrm{m}(\tau)\right] 直接调频和间接调频各有利弊,直接调频法在实现线性调频的前提下可获得较大频偏,但频率稳定度不高;间接调频法稳定性好但电路复杂,且频偏相对于直接调频要小。 **2 窄带调频NBFM与窄带调频WBFM** 若FM信号满足: .. math:: \left|\mathrm{K}_{\mathrm{f}} \int \mathrm{m}(\tau) \mathrm{d} \tau\right| \ll 0.5 则称其为窄带调频,否则则称为宽带调频.窄带调频信号的时域表达式为: .. math:: \mathrm{S}_{\mathrm{NBFM}}(\mathrm{t})=\mathrm{A} \cos \left(\omega_{\mathrm{c}} \mathrm{t}\right)-\left[\mathrm{AK} \mathrm{f}_{\mathrm{f}} \int \mathrm{m}(\tau) \mathrm{d} \tau\right] \sin \omega_{\mathrm{c}} \mathrm{t} 其频谱为: .. math:: \mathrm{S}_{\mathrm{NBFM}}(\omega)=\pi \mathrm{A}\left[\delta\left(\omega+\omega_{\mathrm{c}}\right)+\delta\left(\omega-\omega_{c}\right)\right]+ \frac{\mathrm{AK}_{\mathrm{f}}}{2}\left[\frac{\mathrm{M}\left(\omega-\omega_{\mathrm{c}}\right)}{\omega-\omega_{\mathrm{c}}}-\frac{\mathrm{M}\left(\omega+\omega_{\mathrm{c}}\right)}{\omega+\omega_{\mathrm{c}}}\right] 宽带调频时,频谱不再是调制信号的线性搬移,而是一个非线性过程。 6.3 相干解调 ************ 相干解调的原理与调制相似,都是频谱搬移,需要在接收端提供与已调信号完全同步的本地载波,与已调信号相乘后,经低通滤波器滤出低频分量。适用于对所有线性调制系统的解调。 6.4 非相干解调 **************** 适用于当 :math:`|\mathrm{m}(\mathrm{t})|_{\max } \leqslant \mathrm{A}_{0}` 的情况,包络与调制信号 :math:`\hat{\mathrm{m}}(\mathrm{t})` 的形状一样,可以直接从包络中提取载波信息,在两种 方法都适用的情况下,非相干解调较为简单,但存在门限效应。门限效应:当输入信噪比低于某一门限后,输出信噪比不再按比例下降,而是急剧恶化,这是由包络检波器的非线性解调作用引起的。 参考: `调制与解调`_. .. _调制与解调: https://blog.csdn.net/weixin_43790761/article/details/124943373?spm=1001.2014.3001.5506 7 希尔伯特-黄变换(HHT) """"""""""""""""""""""""" 在介绍希尔伯特变换以及希尔伯特黄变换之前我们首先要了解几个与之相关概念。 7.1 经验模态函数EMD(Empirical Mode Decomposition) ********************************************************* EMD最显著的特点,就是其克服了基函数无自适应性的问题。用EMD有什么好处呢?对于一段未知信号,不需要做预先分析与研究,就可以直接开始分解。这个方法会自动按照一些固定模 式按层次分好,而不需要人为设置和干预。其主要目的是将任意信号(尤其是非平稳非线性时间序列信号)分解为线性稳态信号(IMF),主要功能是把任一个自由的信号分解成为若干个固 有模态函数(IntrinsicModeFunction, IMF)和 一个残余分量,每一个 IMF 代表了原信号不同频率段的振荡变化,反映信号的局部特征,而最后的残余分量则反映信号中的缓慢变化量。 **内涵模态分量(Intrinsic Mode Functions, IMF)的两个约束条件** - 在整个数据段内,极值点的个数和过零点的个数必须相等或相差最多不能超过一个。 - 在任意时刻,由局部极大值点形成的上包络线和由局部极小值点形成的下包络线的平均值为零,即上、下包络线相对于时间轴局部对称。 7.2 希尔伯特变换(Hilbert Transform HT) ********************************************************* 希尔伯特变换也是傅里叶变换的一种扩展,它常常用于通信系统中的调制解调,当然它也可以用于信号的时频分析。 Hibert变换的实质是已知复信号的实部,求该复信号(虚部就是实部的希尔伯特变换),实际接收信号是高频实信号(双边带),是基带信号经载波信号处理以后得到的,有用信息是基带信 号是复信号(单边频谱),而对于复信号对其求包络,求相位等操作较为方便。 **希尔伯特变换的条件** 信号必须是窄带信号、不含噪声、不是复杂信号、不出现尖峰跳跃、数据尽量平稳,没有“骑波”,避免不可解释的负频率出现等。 带宽:信号频率的宽度,即信号所含谐波最高频率与最低频率之差 窄带信号:信号带宽远小于中心频率,也就是所含的频率分量区间尽量小 如果是实信号,其具有双边频谱,希尔伯特变换以后获得的瞬时频率、幅度和相位包括负值,无意义。 7.3 希尔伯特黄变换(Hilbert-Huang Transform, HHT) ********************************************************* 相比于HT,HHT就多了一个经验模态分解(Empirical Mode Decomposition, EMD),EMD就是把复杂信号分解成从高频到低频的若干 个固有模态函数(Intrinsic Mode Function, IMF),IMF需要满足两个条件: - 1 信号极值点的数量与零点数相等或相差为1 - 2 信号的由极大值定义的上包络和由极小值定义的下包络的局部均值为0(即包络上下对称) 简单的理解就是,EMD是依次提取信号在每个局部的最高频分量的过程,所以每个IMF实际上是一个单频率分量信号,这样我们 就可以对每个IMF分量进行Hilbert变换,从而得到每个分量的Hilbert谱。 希尔伯特-黄变换(HHT)就是先对信号进行EMD求固有模态函数IMFs,然后对各个IMF分量做希尔伯特变换,如下图所示。 因为希尔伯特变换的前提条件是:窄带信号、非复杂信号,平稳信号,但是生活中存在的大部分信号均不满足该条件,为了 使用希尔伯特变换,必须将非线性平稳信号转换为平稳信号,因此,必须使用EMD进行模态的分解,再对分解得到的IMF进行希 尔伯特变换,求得复信号以后再进行进一步的分析。 .. image:: ../media/pinyu/005.png :alt: 图3 :align: center HHT后得到的是一种时频属性,既包括时域又包括频域的性质,是一种时频分析方法 **HHT变换实例** **例1** 为了更好的理解原始信号经过EMD分解后的情况,我们分别预先设置两个已知的不同频率的信号来进行分解,代码如下: :: fs = 60; ts = 0:1/fs:6-1/fs; sig1 = 5*sin(2*pi*ts); %低频正弦信号 sig2 = sin(2*pi*20*ts);%调频的高频信号 sig = sig1+sig2; [IMF,residual,info] = emd(sig); %利用matlab当中自带的emd函数对合成信号进行分解 [hs,f,t] = hht(IMF,fs); %对分解后的信号再进行hht变换 sig_rec = IMF(:,1)+IMF(:,2); %还原信号 plot(ts,sig,ts,sig_rec) 下图是对原始信号进行EMD分解后的不同频率类型的信号,其中IMF1为调频的高频信号,IMF2为低频正弦信号。 .. image:: ../media/pinyu/006.png :alt: EMD分解后的信号 :align: center 经过hht变换后的时频图如下,可以明显看到有两个频率不同的两个信号图形。 .. image:: ../media/pinyu/007.png :alt: hht变换后的时频图 :align: center 重构后的信号图形,蓝色部分为处理前的原始信号,橙色部分为处理后的重构信号。 .. image:: ../media/pinyu/008.png :alt: 图3 :align: center **例二** 生成一个简单正弦信号以及频谱图和波形图,便于对照理解,代码如下: :: %% 产生原始信号 f1=5; % 信号1的频率 f2=2; % 信号2的频率 f3=10; % 信号3的频率 fs=30; % 采样率 N=fs*60; t = 0 : 1/fs : (N-1)/fs; y1=5*sin(2*pi*f1*t)+10*sin(2*pi*f2*t)+8*sin(2*pi*f3*t); figure(1);subplot(2,1,1);plot(y1,'b');title('原始信号图'); %% 画出原信号的频率谱 n=0:N-1; f=n*fs/N; y=fft(y1,N); mag=abs(y)*2/N; subplot(2,1,2); plot(f(1:N/2),mag(1:N/2)); title('频谱图'); %% 画出EMD分解的IMF值的图像 % [imf,residual,info] = emd(y1,'Interpolation','pchip'); emd(y1,'Interpolation','pchip'); %% hht变换 hht(y1,fs); 下图为简单正弦信号的波形图以及频谱图: .. image:: ../media/pinyu/009.png :alt: 信号的波形以及频谱图 :align: center 下图为经过EMD模态分解后的信号的图形: .. image:: ../media/pinyu/010.png :alt: EMD分解后的信号 :align: center 参考: `信号处理`_. .. _信号处理: https://zhuanlan.zhihu.com/p/150705777 `希尔伯特-黄变换(HHT)的前世今生`_. .. _希尔伯特-黄变换(HHT)的前世今生: https://zhuanlan.zhihu.com/p/124257081 `经验模式分解(EMD)及希尔伯特-黄变换(HHT)简介`_. .. _经验模式分解(EMD)及希尔伯特-黄变换(HHT)简介: https://blog.csdn.net/weixin_42846157/article/details/104916700 `Matlab使用EMD`_. .. _Matlab使用EMD: https://blog.csdn.net/haojun1996/article/details/120946887?spm=1001.2014.3001.5506 8 傅里叶变换FT(Fourier Transformation) """"""""""""""""""""""""""""""""""""""" 8.1 傅里叶变换FT(Fourier Transformation) ***************************************** **基本知识** **简单来说傅里叶变换的基本目标是将时域的信号,变换到频域的正弦信号。 傅里叶原理表明:任何连续测量的时序或信号,都可以表示 为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅里叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同 正弦波信号的频率、振幅和相位。** 和傅里叶变换算法对应的是反傅里叶变换算法。该反变换从本质上说也是一种累加处理,这样就可以将单独改变的正弦波信号转换成一个信号。 因此,可以说,傅里叶变换将原来难以处理的时域信号转换成了易于分析的频域信号(信号的频谱),可以利用一些工具对这些频域信号进行处 理、加工。最后还可以利用傅里叶反变换将这些频域信号转换成时域信号。 傅里叶变换使一种线性的积分变换,这种变换是从时间转换为频率的变换或其相互转换。那么为什么要使用傅里叶变化呢?它可以很容易的将 信号分解为频域里各种不同频率的信号,又由于频域分析具有很多时域所不具有的特点,故可以比较方便的对原信号进行分析。 **matlab中利用fft函数实现快速傅里叶变换** MATLAB中的fft函数使用快速傅里叶变换算法来计算数据的傅里叶变换。以正弦信号x为例,该信号是时间t的函数,频率分量为15Hz和20Hz。 使用在10秒周期内以1/50秒为增量进行采样的时间向量。 代码如下: :: Ts = 1/50; t = 0:Ts:10-Ts; x = sin(2*pi*15*t) + sin(2*pi*20*t); plot(t,x) xlabel('Time (seconds)') ylabel('Amplitude') %%计算信号的傅里叶变换,并在频率空间创建对应于信号采样的向量f y = fft(x); fs = 1/Ts; f = (0:length(y)-1)*fs/length(y); 如图: .. image:: ../media/pinyu/011.png :alt: :align: center 以频率函数形式绘制信号幅值时,幅值尖峰对应于信号的15 Hz和20 Hz频率分量。该变换还会生成尖峰的镜像副本,该 副本对应于信号的负频率。为了更好地以可视化方式呈现周期性,可以使用 fftshift 函数对变换执行以零为中心的循环平移。 :: n = length(x); fshift = (-n/2:n/2-1)*(fs/n); yshift = fftshift(y); plot(fshift,abs(yshift)) xlabel('Frequency (Hz)') ylabel('Magnitude') 如图: .. image:: ../media/pinyu/012.png :alt: :align: center 有关傅里叶变换的更多文章如下,讲的都很详细而且通俗易懂,大家可以学习参考: `深入浅出的讲解傅里叶变换`_. .. _深入浅出的讲解傅里叶变换: https://blog.csdn.net/l494926429/article/details/51818012?ops_request_misc= 参考: `傅里叶变换`_. .. _傅里叶变换: https://blog.csdn.net/jk_101/article/details/124803761?ops_request_misc=&request_id=&biz_id=102&utm_term 8.2 离散傅里叶变换(DFT) ***************************************** 离散傅里叶变换(DFT)是数字信号处理中非常有用的一种变换,因为它是频域也离散化的一种傅里叶变换。也就是说,时域和频域都离散化了,这样 使计算机对信号的时域、频域都能进行计算;另外DFT作为有限长序列的一种傅里叶表示法在理论上相当重要;最后由于DFT有多种快速算法。使得信 号处理速度有非常大的提高。 离散傅里叶变换(DFT)是离散傅里叶级数(DFS)引伸出来的, 这二者的时域、频域都是离散的,因而它们的时域、频域又必然是周期的。但是DFT是 针对有限长序列的,实际上,它是取周期序列的DFS的一个周期的对应关系来加以定义和研究的,因而它隐含有周期性的。 为了对时域离散以及频域离散有更好的理解,如下图较为形象的表达了时域与频域离散或者连续的情况: 时域连续,频域离散: .. image:: ../media/pinyu/014.png :alt: :align: center .. image:: ../media/pinyu/015.png :alt: :align: center 时域离散,频域离散: .. image:: ../media/pinyu/016.png :alt: :align: center 时域连续,频域连续: .. image:: ../media/pinyu/017.png :alt: :align: center **(1)由傅里叶变换(FT)演化出离散时间傅里叶变换(DTFT)** 离散化的目的:以计算机为代表的数字处理系统只能存储和处理有限长度的离散数字信号,且无法直接进行连续积分运算。 所以需要对信号离散化。 这里的离散指的仅仅时域离散,频域不离散。 傅里叶变换: .. math:: F(j \omega)=\int_{-\infty}^{\infty} f(t) e^{-j \omega t} d t 由采样定理知,序列可以看作在满足采样定理的条件下对连续信号进行采样得到即: .. math:: X(j \omega)=\sum_{n=-\infty}^{\infty} x[n \cdot \Delta t] e^{-j \omega n \Delta t} \Delta t 将时域间隔单位归一化后 :math:`\Delta t` 取1s,得到: .. math:: X(j \omega)=\sum_{n=-\infty}^{\infty} x[n] e^{-j \omega n} 上式是将连续傅里叶变换中的时域信号进行离散化后得到,称离散时间傅里叶变换(DTFT-Discrete-time Fourier Transform) 但是,DTFT仍未达到便于数字系统处理的目的。 即:时域序列的长度仍然是无限长的;信号在频域仍然是连续的。因此,还需要对频域信号进行离散化演化出DFT。 **(2)离散时间傅里叶变换(DTFT)演化出离散傅里叶变换(DFT)** 实际上,对DTFT而言,其频域变换结果是以 2π 为周期的连续周期函数 :math:`e^{-jwn}` 。 为此,对时限信号在频域内以 :math:`\frac{2\pi}{N}` 为间隔对DFTF的变换结果进行频域取样 把 :math:`2\pi` 分为N − 1 段,即有N个点,第k 个点为 :math:`\omega\rightarrow k\cdot\frac{2\pi}{N}` ,截取一个频域周期 :math:`0 \le k\le N-1` DTFT中x[n]是无限长的,现在把它限制在有限长 :math:`0 \le k\le N-1`,综上,有: .. math:: X[k]=\sum_{n=0}^{N-1} x[n] e^{-j \frac{2 \pi}{N} n k}, \quad 0 \leq k \leq N-1 显然上式在频域内也是离散且有限的,这非常适合于计算机等数字信号处理系统来进行处理。该式实际上给出的是非周期离散序列的离散傅里叶变换 (DFT- Discrete Fourier Transform) **(3) 傅里叶级数(FS)演化出离散傅里叶级数(DFS)** 对周期为T的连续信号 :math:`\tilde{x}(t)` 而言,其傅里叶级数为: .. math:: X(j k \Omega)=\frac{1}{T} \int_{0}^{T} \tilde{x}(t) e^{-j k \Omega t} d t 其中 :math:`\Omega=\frac{2\pi}{T}` ,它也是频域中两条相邻谱线的间隔(也就是说FS是时域连续,频域离散的) 对周期为N 的周期离散序列 :math:`\tilde{x}(n)` .. math:: \tilde{X}(k)=\frac{1}{N} \sum_{n=0}^{N-1} \tilde{x}(n) e^{-j k \frac{2 \pi}{N} n} \quad-\infty