本文讲解matlab小波工具箱实例(三):基于连续小波变换的时频分析。目录如下:

python 连续小波_连续小波变换_连续小波变化和离散小波变化

链接:

该实例说明了如何利用连续小波变换(CWT)对信号进行时域和频域联合分析,讨论了如何利用CWT定位信号发生变化的位置,还说明了如何利用逆连续小波变换合成时频近似信号,并对连续小波变换与短时傅立叶变换进行了比较。

1)调制信号的时频分析

利用短时傅里叶变换得到的二次线性调频信号的频谱如下。该信号的频率在初始时刻大约是500Hz,然后在第2秒时降到100Hz,在第4秒又上升到500Hz。采样率是1000Hz。

连续小波变换对该信号进行时频分析的结果如下。可以看出,短时傅里叶变化和连续小波变换的结果类似。

python 连续小波_连续小波变化和离散小波变化_连续小波变换

2)利用连续小波变换监测信号中发生变化的位置

在时频分析的某些情况下,CWT可以提供比短时傅里叶变换更有信息的时频变换。当信号被某种瞬变破坏时,就会出现这种情况。这些瞬变现象的出现和消失往往具有物理意义。因此,除了表征信号中的振荡分量外,能够对这些瞬变进行定位也是很重要的。

为了模拟这一点,创建一个由频率为150和200Hz的两个正弦波组成的信号,采样率为1000hz。150赫兹的正弦波发生在100到300毫秒之间,200赫兹的正弦波发生时间为700毫秒到1秒。此外,还有两个瞬变时刻分别为222毫秒和800毫秒,并且这个信号含有噪声。

rng default;dt = 0.001;t = 0:dt:1-dt;addNoise = 0.025*randn(size(t));x = cos(2*pi*150*t).*(t>=0.1 & t0.7);x = x+addNoise;x([222 800]) = x([222 800 ])+[-2 2];figure;plot(t.*1000,x);xlabel('Milliseconds'); ylabel('Amplitude');

可以放大观察这两个瞬变时刻的信号。

对该信号进行连续小波变换的结果如下。

相对于bump小波,Morlet小波的时间分辨率较好,因此适合用于瞬变的定位问题。

3)利用逆连续小波变换移除特定时刻的频率分量

创建一个由指数加权的正弦波组成的信号。有两个25赫兹的成分:一个的中心在0.2秒,另一个在0.5秒。有两个70赫兹的成分:一个中心在0.2秒,另一个中心在0.8秒。第一个25Hz和70Hz的成分同时出现。

连续小波变化和离散小波变化_连续小波变换_python 连续小波

对其进行连续小波变换的结果如下。

通过对CWT系数进行归零,将发生在大约0.07到0.3秒之间的25Hz的分量去除。

画出原始信号和重构信号。

连续小波变换_连续小波变化和离散小波变化_python 连续小波

4)利用解析连续小波变换确定精确的频率成分

当你用解析小波得到正弦波的小波变换时连续小波变换,解析的CWT系数实际上编码了频率。

以OAE信号为例,这段数据是由一个开始于25毫秒连续小波变换,结束于175毫秒的刺激引起的。

根据实验参数,这段数据的频率应为1230Hz,绘制CWT。

您可以通过找到频率上最接近1230Hz的CWT系数,并将它们的幅度大小作为时间的函数来研究OAE数据的变化历程。

在刺激开始和OAE之间有一些延迟。一旦刺激被终止,OAE立即开始在幅度上有所衰减。

5)结语

在这个例子中,您学习了如何使用连续小波变换对一维信号进行时频分析。在一些信号示例中,CWT提供了与STFT类似的结果,但在另一个示例中,CWT可以提供比STFT更多的可解释结果。最后,您学习了如何使用icwt重构信号的时间尺度(频率)局部逼近。

———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注