问题标签 [wavelet-transform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8353 浏览

python - 使用 Scipy.signal (Python) 进行连续小波变换:cwt() 函数中的参数“宽度”是什么?(时频)

我搜索以绘制具有离散时间信号的时频信号(采样步长 = 0.001 秒)。我使用 Python 和库 Scipy.signal。我使用函数 cwt(data, wavelet, widths),它返回一个矩阵,用复 morlet 小波(或 gabor 小波)进行连续小波变换。不幸的是,没有很多关于这种用法的文档。我发现的最好的是: -适用于 Matlab(我试图找到相同的尺度时间结果),但我自然无法使用相同的函数, -解释了什么是连续小波变换,没有小波参数的详细信息.

第一步:获取比例转换信号。毫无疑问,我直接将数组“宽度”与可能的不同比例的数组相关联。因为,如果不是比例,我不明白什么是参数宽度。也许,你会告诉我“这是你当前小波的宽度”!但是,即使是现在,我也不确定链接宽度与比例的关系......在 Scipy 的 Morlet 文档中,链接似乎可能是:“s: Scaling factor, windowed from -s*2*pi to +s*2 *pi",所以,我认为宽度 = 4*pi*scale(宽度=窗口的宽度)。但是当我绘制小波时,更多的比例增加,更多的小波的视觉宽度减小......

我的第二个问题是找到并绘制频率等价物。在文献中,我找到了这个公式:Fa = Fc / (s*delta),其中 Fa 是最终频率,Fc 是小波的中心频率,以 Hz 为单位,s 是尺度,delta 是采样周期。因此,对于比例(如果我找到与宽度的链接)和增量(= 0.001 秒)来说没问题,但是小波的中心频率更复杂。在 scipy 文档中,我发现:“这个小波 [morlet 小波] 的基频 (Hz) 由 f = 2*s*w*r / M 给出,其中 r 是采样率 [s 在这里是缩放因子,窗口化从 -s*2*pi 到 +s*2*pi。默认为 1;w 宽度;和 M 小波的长度]。我认为是中心频率,是吗?

谢谢

这是我为 cwt() 重新编写的代码:

0 投票
1 回答
740 浏览

signal-processing - 小波包分解与带通滤波器

如果我是对的,小波包分解 (WPT) 将信号分解为各种滤波器组。使用许多带通滤波器也可以完成同样的事情。

我的目标是在 1-200、200-400、400-600 等各种频带中找到具有大采样率((2000 赫兹)的信号的能量含量。

使用带通滤波器的 WPT 有哪些优点和缺点?

0 投票
1 回答
2192 浏览

python - scipy.signal.cwt 在 correlate() 中出现值错误

尝试使用 scipy.signal.cwt 时出现一个奇怪的错误:

我有一些列表c,我想像这样进行连续小波变换:

我得到一个奇怪的错误:

是什么导致了这个错误?

0 投票
1 回答
9635 浏览

signal-processing - Octave中的小波信号分解

我想在 Octave 中使用小波变换进行信号分解。我不知道,我应该怎么做。

我一直在寻找 Octave 中的任何黑盒功能,但没有发现任何有用的东西。据我所知dwt,信号包中有功能,但我不知道如何使用它。在文档中它说:

来自文档:
x信号向量。
wname小波名称。

但是当我尝试以这种方式使用它时,八度说

我应该去哪里LO_DHI_Dcoeffs?文档说,这些是“低通/高通分解 FIR 滤波器的系数”。

而且,假设我将根据我的数据计算 dwt,接下来我应该做什么来执行分解?

或者,您能否向我提供一些信息,如何对信号进行任何分解?

0 投票
0 回答
332 浏览

java - java 等效于 [cA,cH,cV,cD] = dwt2(X,'wname') 在 matlab

我如何在 java 中做与 matlab 中的 [cA,cH,cV,cD] = dwt2(X,'wname') 相同的事情?

更具体地说,我需要图像或二维数值数组的“Daubechies 2”小波的小波变换系数。这可以很容易地在 matlab 中通过 [cA,cH,cV,cD] = dwt2(X,'db2') 在单行中完成。但我也需要在java中完成。

提前致谢!:)

0 投票
1 回答
702 浏览

arrays - matlab中的Wavedec返回总和大于信号原始长度的长度

我正在通过使用对信号“price1”进行多级小波分解

price1 的大小为:

得到的小波分解的大小即l的长度为:

我是初学者,我认为大小应该是:

我无法理解为什么大小不是信号大小的一半?这是内部发生的某种填充吗?我希望大小是 [30; 30; 60; 120; 240]。我能做些什么来实现它?

谢谢你的帮助 :)

0 投票
1 回答
432 浏览

matlab - 由于 MATLAB 中的重采样函数导致的高错误

我正在使用 MATLAB 中的神经网络训练信号的小波变换的输出。所以我决定使用3db4滤波器进行小波变换。我使用了一个240元素数组,经过小波变换,我得到了一个数组l

现在,由于我必须训练我的神经网络,我必须将长度的小波变换重新采样36, 36, 65, 123为 240 个元素的数组。

所以我所做的是,我对信号进行了小波变换。我将每个小波变换重新采样为240点,然后将小波36, 36, 65, 123分别重新采样为点。我有一个错误20.2668。可以做些什么来减少错误?

我使用以下命令使用 MATLAB 重新采样:

现在,错误 err 报告为

我能做些什么来减少这个错误?请帮忙 :)

重新采样和原始后的小波变换数据图为:显示原始信号和重新采样信号的图像

0 投票
1 回答
1022 浏览

python - Python 的连续 Haar 小波

我正在寻找包含 Haar Wavelet 的 Python 连续小波变换的实现。

我想在此链接上重现 MathWorks 为 Matlab 提供的实验。

我尝试了 Pyscellania,但我得到了完全不同的系数。

除了 Pyscellania 之外,是否有 CWT 的 Python 实现包括 Haar Wavalet?

0 投票
3 回答
1322 浏览

signal-processing - 为什么信号的时间是一个自变量

谁能清楚地解释为什么信号的时间是自变量而幅度是因变量?我参考了谷歌的一些结果,但我无法弄清楚。

0 投票
1 回答
351 浏览

matlab - 为什么我们需要时间采样来绘制平稳信号?

我是 matlab 和信号处理的新手。我写了下面发布的代码。我无法理解的是,time soecification代码开头的部分。我不知道为什么在指定间隔或持续时间时需要采样,我认为指定如下内容就足够了:

为什么我需要像采样这样的东西来绘制静止信号。另一个问题是,这段代码给了我一个错误,告诉我paranthesis imbalance如何解决它。

代码