问题标签 [butterworth]
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.
python - Python中的奈奎斯特规范化
我被要求在 python 中创建一个带通零移滤波器。我是信号处理的新手,在探索互联网上的例子时,我不得不学习拉普拉斯和 z 变换。
我用来生成滤波器系数的函数是signal.butter()
. 在示例中,我看到输出信号中非零频率的范围限制除以采样频率的一半 - 为什么?
它与奈奎斯特定理有关吗?不幸的是,没有从butter()
文档中得到它。感谢帮助 :)
python - Butterworth 的 scipy.signal 问题,价值拆包怪异
- 这突出了黄油,并说有太多的价值要打开。当我运行代码时,它可以工作并且不返回任何错误。
- 这没有突出显示,但是当我运行代码时它会中断,因为它期望黄油有 3 个输出,但只有 2 个。
我觉得这很奇怪,因为在第一种情况下我不应该得到任何错误,但它仍然在对我大喊关于太多的值......所以我给它更多的值来输出,它破坏了我的代码。有什么见解吗?
scipy - Scipy 巴特沃斯带通滤波器
我是巴特沃斯过滤器的新手,想具体了解我的结果。
数据具有日期和相对速度变化列。(行数为764)
我想指定 x 轴是频域还是时域。
如果是频域,有什么办法可以将其转换为时域(fft?)因为我必须控制周期才能看到周期内的变化
我用于获取数据的采样率为 200Hz,但我认为这段代码中的采样率与它不同。那么 fq(采样率)的变化是什么?
低切,高切的正常变化是什么?我使用 0.7-1.0Hz 从原始数据中导出数据。但我认为我必须使用不同的频率变化。
filter - 没有为 scipy.signal.butter 定义名称为“b”的错误。怎么了?
它昨天工作,但现在它拒绝工作。没有对代码进行任何更改。怎么了?
NameError: name 'b' is not defined
python - 设置巴特沃斯滤波器的参数
我正在处理脑电波数据,并且第一次尝试使用巴特沃斯滤波器。
这里有很多关于堆栈交换的有用资源(i)python 中的 Butterworth 滤波器和这里(ii)如何使用 Scipy.signal.butter 实现带通 Butterworth 滤波器
利用这些资源,我实现了以下代码:
我正在使用的数据在左侧图表上,我过滤它的尝试在右侧:
我相信我遇到的问题是参数。
阶数:设置为 5。阶数 5 的频率响应看起来不错
低切:0.5
高帮:60
FS/Sample Rate/Waves:我们能够每秒收集 500 个数据点,所以我将其设置为 500
N:350。我们正在处理 700 毫秒周期内的数据,但每隔一毫秒采样一次
查看我的数据,似乎我们在 700 ms 周期内大约有 2 个正弦波和 11 个更高频率的波......我应该能够看到这个并将低切设置为 2,将高切设置为更大的某个值吗?超过 11?我已经尝试在这一点上迭代几十个值......
感谢任何试图提供帮助的人。在过去的两天里,我一直在试图解决这个问题并且遇到了困难。
更新谢谢鲍勃和蒂姆!这绝对是问题所在——信号必须以零为中心。对我来说很严重。以下是更新的图表:
我不会说这些是我见过的最漂亮的正弦曲线,但它是实时数据,所以我的期望已经降低了。
scipy - 去除噪音,平滑心电信号
我正在处理长期心房颤动数据集 - https://physionet.org/content/ltafdb/1.0.0/
当我测试 30 秒的数据条时,我的模型没有纠正预测信号。所以我试图处理这个数据集中的噪音。这里看起来如何
这是要绘制的代码 -
我正在使用黄油带通滤波器来过滤噪声。我还检查了 filtfilt 和 lfilt 但这也没有给出好的结果。
任何建议,如何去除噪声以使信号准确度良好,然后可用于模型预测
r - 是否有使用巴特沃斯滤波器和 R 中的滚动平均值来过滤速度时间数据的功能?
基本上我有一个时间列和一个速度列,需要过滤从雷达枪导出的数据。这应该很简单,但似乎找不到功能