问题标签 [time-frequency]

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 回答
93 浏览

python - Pandas:查找高于定义阈值的结束频谱

长期阅读,第一次发帖。

我正在处理 Pandas DataFrames 中频率响应图的 x,y 数据。这是数据和图表的示例(请参阅帖子末尾的完整 .csv 文件):

其中 x = 频率和 y = 幅度数据。这些中的每一个的结果图如下所示:

请参阅此链接中的 x,y 图像图 - 还没有足够的点嵌入

我可以为 Dataframe 中 x,y 数据的每一行创建一个图。

我需要在 Pandas (Python) 中做的是在频率响应下降到本底噪声之前识别数据中的最高频率(永久)。如您所见,在某些地方 y 数据可能会达到非常低的值(例如 <-5​​0),但随后返回 >- 40。

如何在 Pandas / python 中检测(由于数据量非常大,理想情况下无需迭代)以找到最高频率(> -40),以便我知道频率不会再次返回 < -40,然后再跳回?基本上,我试图找到频段的末端。我尝试过使用一些 Pandas 统计数据(如果有这些数据也不错),但未能获得有用的数据。

提前感谢您提供的任何指示和方向。

这是一个可以使用 csv.reader 导入的 .csv 文件:https ://www.dropbox.com/s/ia7icov5fwh3h6j/sample_data.csv?dl=0

0 投票
1 回答
80 浏览

fft - 如何对值进行非规范化以进行谐波乘积频谱

我正在尝试执行 HPS 算法,结果不正确。(48000Hz,16 位)我已经将记录频率应用于缓冲区,然后是几个分割,然后是汉宁窗,最后是 FFT。

我在每个 FFT 中都获得了一个峰值,它与我使用的频率或它的一个倍频程相对应。但是当我做 HPS 时,基频的结果是 0,因为我求和(乘)的数组的数量太小了,超过了我在原始 FFT 中的峰值。这是 HPS 的代码:

原始 HPS 代码在这里

我不知道为什么总和的值很小,什么时候应该大于前一个,以及总和的峰值。我已经应用了RealFordward FFT,也许 -1 到 1 的范围存在问题,这使得当我乘以它时我的总和会减少。

知道如何解决它,做 HPS 吗?我怎么能做逆归一化?

0 投票
0 回答
578 浏览

time-series - 如何使用python将时域数据转换为频域数据

我有一个名为 dataTime 的数据框,它有 4335 行,每两行之间有 20 秒。

在此处输入图像描述

我想将我的数据绘制到频域中

在此处输入图像描述

我不确定这是否应该是结果以及如何解释频域中的图

0 投票
1 回答
355 浏览

python - 噪声信号的 1/3 倍频程分析

我想对噪声信号进行 1/3 倍频程分析。我有一个代表声压(Pa)的时间信号。我有中心频率和上下截止频率的数组。最终目的是得到一个表示声级与 1/3 倍频程频带的条形图。

根据我遵循的理论,建议首先对信号进行 FFT。然后重建 1/3 倍频程的信号。在每个结构中,计算压力的 RMS 值。而已。将这些 RMS 值转换为声级 (dB) 并针对中心频率进行绘图。

我面临的问题是如何使用 IFFT 函数重建信号,因为新信号的幅度点数量较少。因此,由于时间和幅度之间的尺寸不一致,重建基本上是不可能的。我被困在这一点上。

我在DSP方面的经验很少。因此,即使方法与我上面尝试解释的方法不同,任何帮助都将不胜感激。提前致谢。

0 投票
0 回答
69 浏览

audio - 音频比特率变化对频谱图的影响

我正在努力将一些 MP3 文件的比特率从 160kbps 更改为 80kbps,以了解它如何影响音频质量和频率。所以我绘制了两个波的频谱图,它看起来像这样(当然,上一个是 80Kbps)。

在此处输入图像描述

我很想知道频谱图是否与音频比特率有任何关系,但经过简单搜索后发现它们不是。如果有人说没有关系,如果有人能向我解释频谱图中频率差异背后的原因,那就太好了。另外,如果我必须分析两个音频波之间的差异,那么如果人们说不应该使用频谱图,那么最好的方法是什么?

对不起,如果我在这里遗漏了一些东西,因为我不是来自信号处理领域,但我热衷于学习。任何可以帮助我的方向或链接都会很棒。提前致谢!

0 投票
1 回答
25 浏览

python - 用于时间序列中的情节频率检测和预测的现有库/算法?

我正在使用 Python 中的播客 RSS 提要。是否有任何现有的库或算法来检测和预测定期发布时间表,给定一系列时间?

例如,如果RSS 提要中的五个项目具有以下时间戳:

是否有确定“每周星期五”的算法?或者如果他们是:

确定“每周两次,下一集 27 日星期五”?我相信Pocket Casts有这样的功能,但它仍然是专有的。

0 投票
1 回答
231 浏览

frequency - 频率计数法

我是数据结构的新手,这个问题出现在模型试卷中。

计算语句 x = x+1 的频率计数;在以下代码段中

我的问题是(*)会影响频率计数吗?没有括号。

0 投票
1 回答
299 浏览

spectrogram - 使用 MNE 绘制夜间睡眠脑电图谱图

是否可以在 mne 中绘制夜间睡眠脑电图数据的频谱图?我不想创建纪元,但是要有连续 8-9 小时的频谱图。我在例如 EEGlab (Matlab) 中看到的示例具有完美的颜色区分,这使得结果非常可读。如果您能帮助我制作类似但在 mne 中的东西,我将不胜感激。

0 投票
0 回答
122 浏览

python - 跨国公司-Python;tfr_morlet 时频分析;可能不当使用论据;如何使 tfr_morlet 图正常工作?

我为这个主题的模糊性道歉。这反映了我对 tfr_morlet 图形输出的行为缺乏了解。

要指定。我正在处理 64 通道 EEG 数据。我有一个刺激事件,它是我时代的开始标记。我将我的 epoch 分成 4 个较小的 epoch,每个 1 秒,其中“Epoch1”的 1 秒持续时间内包含刺激事件和非刺激 EEG 数据。

我的工作流程如下:

  • 加载 .vhdr 文件
  • 应用过滤器
  • 应用脑电图帽蒙太奇
  • 创建事件从刺激标记开始的纪元(Epoch0)
  • 制作另一个从 Epoch0 裁剪的 epoch (Epoch1) (tmin=0, tmax=1, include_tmax=True)。这给出了我有兴趣用于 tfr_morlet 函数的纪元。
  • Epoch1 上的 ICA
  • Epoch1 上的 tfr_morlet(后 ICA)

我一直在阅读 tfr_morlet 函数并修改参数以查看它如何影响结果图。我的工作流程的每个其他步骤似乎都在正常工作,包括,最重要的是,通过 ICA 成功删除了刺激事件。

以下是我调用 tfr_morlet 函数时的代码片段:(您会注意到我在片段中对基线参数的一些修补工作)

以下是我修改参数的图形输出之一: 在此处输入图像描述

根据实际数据,在 epoch 的开始和结束时没有大的信号。这仅出现在 tfr_morlet 图中。我调整了 tfr_morlet 基线参数值,它似乎影响了这些奇怪的信号,但它也完全修改了所有其他信号。此外,应该有更多的信号出现在较低的频率范围内,但它们基本上不存在。有可能是数据的原因,但开头和结尾的大信号肯定不是数据的反映。

简而言之,我有点卡住了,在网上找不到太多帮助。如果有人对您的 tf 图中出现的此类问题有类似的经历,请让我知道您对如何解决此问题的想法。

如果可以在不共享我的其余代码的情况下解决此问题会更好。我相当有信心问题出在我上面提供的片段上。

感谢大家为此付出的时间和专业知识。我非常期待您的评论。当然,如果我同时解决这个问题,我也会发布我的解决方案。

0 投票
0 回答
16 浏览

signal-processing - 将收敛标准转换为 L1 范数

我有这个公共的二维变分模式分解代码: https ://www.mathworks.com/matlabcentral/fileexchange/45918-two-dimensional-variational-mode-decomposition

此代码使用 L2 范数进行最小化。我喜欢在目标函数中添加 L1 范数,使其凸出,引入稀疏性。

我认为在评论融合方面需要做一些事情。但我不知道什么

我感谢帮助谢谢萨尔