生成一个信号的频谱图

3

我正在尝试为我的应用程序构建一个scalogram视图,以查看是否可以从小波变换中检索出相关信息,而不是使用spectograms通过FFT查看可以检索到什么。

到目前为止,我可以获取波形并对其执行前向小波变换。但是,我在下一步迷失了方向。如何将这些信息转化为功率/能量信息?我有一组不同频率的波形,但我没有频率信息。

是否有人能告诉我将这个转换后的数据转化为scalogram的下一步是什么?

非常感谢任何帮助,因为我的谷歌技能正在失效!

2个回答

4
在合理的假设下,离散小波变换(DWT)将时间序列的功率/能量/方差分解为尺度。它是一种保能量的变换,因为原始时间序列中包含的总方差包含在平方小波系数中(经过适当归一化),就像DFT一样!我认为Percival和Walden的Wavelet Methods for Time Series Analysis是这种类型信息的极好资源。
现在,连续小波变换(CWT)是一种冗余的变换,且不再具有能量保持属性(在DWT中)。但是,仍然可以查看平方小波系数以生成“scalogram”,它类似于短时傅里叶变换(STFT;也称为频谱图)。
Torrence和Compo有一些不错的小波软件来执行此操作,并提供了一篇关于大气时间序列背景下该方法的论文来解释方法。我相信matlab小波工具箱也执行CWT和相关的scalogram。

谢谢。我已经发现了能量保护的事情。所以我通过计算每个频带的功率来显示一些小波数据。虽然不是很好,但肯定可以给我一些信息 :) 但是我仍然不知道如何进行连续小波变换... 已经花了很多时间研究它。我假设它不仅仅是做一个滑动窗口离散小波变换吧? - Goz
CWT与DWT的两个主要区别在于:(1)小波和(2)用于计算小波系数的平移。CWT使用连续函数作为其小波生成函数(Morlet,高斯的一阶导数等),并在所有尺度上的所有平移处计算小波系数。因此,对于1D信号(时间序列),CWT产生一个(高度相关的)小波系数的2D图像。DWT使用离散函数作为小波GF,并产生与原始观测值相同数量的小波系数。请使用Torrence / Compo的软件! - B. Whitcher

2
我从未做过频谱图,因此不会试图去了解任何事情。但是,我已经为你找到了Matlab频谱图函数的代码,并以一种有助于你更好地理解事物的方式进行了注释......希望能帮到你:)。

http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/FrequencyFilt/scalogram.m

我猜想你在使用Matlab进行数字信号处理,并且知道如何解释那个m文件。我猜这对于所有数字信号处理的工作来说是必需的程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接