问题标签 [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.

0 投票
1 回答
852 浏览

matlab - 如何在 Matlab 中实现带通巴特沃斯滤波器?

这是我的预期输出。

在此处输入图像描述

但是,我得到以下输出。

在此处输入图像描述

我的源代码有什么问题?


源代码

主文件

butter_bandpass.m

0 投票
2 回答
1805 浏览

matlab - 如何在 Matlab 中实现低通巴特沃斯滤波器?

这个答案,我知道如何创建一个高通巴特沃斯滤波器。

这个视频中,我知道,lowpasskernel = 1 - highpasskernel

因此,我创建了以下低通巴特沃斯滤波器,

输出

在此处输入图像描述

这不是低通滤波器输出。

那么,我的代码有什么问题?

0 投票
1 回答
54 浏览

python - 将二阶巴特沃斯转换为一阶

我正在尝试将我的工作二阶巴特沃斯低通滤波器转换为 python 中的一阶,但它给了我非常大的数字。这是我的二阶巴特沃思:

这是我的非工作一阶巴特沃思:

...我删除了所有 [i-2],它们是前馈和反馈。我以为它会起作用,但它没有。你能告诉我如何解决这个问题吗?谢谢你。

0 投票
1 回答
1442 浏览

matlab - 如何在 Matlab 中实现高通巴特沃斯滤波器?

根据此链接的第 14 页,高通巴特沃斯滤波器的方程式是,

在此处输入图像描述

而且,根据第 17 页,输出应该类似于以下内容,

在此处输入图像描述

现在,我在 SO 中查看了这个答案,并使用链接的 pdf 文档中给出的公式编写了以下 Matlab 代码。

输出看起来与上面给出的不同。

在此处输入图像描述

我的源代码中可能出现的问题是什么?


源代码

主文件

butterworth_hp.m

0 投票
1 回答
87 浏览

python - 将二阶巴特沃斯转换为一阶 - 第二部分 -

我正在尝试将我的工作二阶巴特沃斯低通滤波器转换为 python 中的一阶,但它给了我非常大的数字,比如 flt_y_1st[299]: 26198491071387576370322954146679741443295686950912.0。这是我的二阶和一阶巴特沃斯:

...我删除了所有 [i-2],它们是前馈和反馈。

b1 = -(-2*a0+k3)

然而,这似乎还不够。我想我需要更改 a0、b1 等中的一些方程。例如,当我从 b1 中删除 '+k3' 时,我会得到这样的图(看起来更好,不是吗?):

b1 = -(-2*a0)

我不是专门研究过滤器的,但至少我知道这个一阶不同于 scipy.butter 的一阶。所以,请帮我找到正确的系数。先感谢您。

这是我的参考:filtering_considerations.pdf

0 投票
0 回答
1645 浏览

c - C中的巴特沃斯滤波器

我不知道我是否正确实施。我正在以每秒 512 个样本的速率从 ADC“MCP3008”获取数据。然后我将数据传递给巴特沃斯函数过滤器。低通滤波器 0,05-150HZ。但是打印的数据增加和发散..我使用从这个 页面生成的代码 有问题,请帮忙。

0 投票
0 回答
54 浏览

python - 为什么巴特沃斯带通滤波器的边际值如此不切实际地大?

我使用巴特沃斯带通:

我一般来说它似乎运作良好,但在边缘我总是得到一些不切实际的值。似乎过滤后的边际值下降到零......有没有办法防止这种情况发生?十分感谢!

绿色:未过滤,蓝色:过滤 绿色:未过滤,蓝色:过滤

0 投票
0 回答
459 浏览

r - 高通和低通滤波器使用 R 中的黄油提供相同的结果

我有一个 GSR 信号,它具有 2Hz 和更低频率附近的相关数据以及一些高于频谱图中可以看到的噪声。但是,当我尝试 R 中信号库中的黄油滤波器选项时,我从高通和低通标签中得到相同的结果。无论哪种方式,它似乎都像高通一样。谁能看到我可能做错了什么?

0 投票
1 回答
542 浏览

r - 为 R 中的 signal::filter 函数提供初始值

考虑以下内容(来自signal::filter帮助页面):

示例过滤器

可以看出,红色和蓝色(即filter和filtfilt)都起源于(0,0)。但是,我希望它们从给定的初始值开始,例如init = mean(x[1:10]). 无论我如何在 中提供所述约束filter(bf, x),无论是整数还是向量,我要么没有结果,要么length of 'init' must equal length of 'filter'. 作为所需输出的比较,提供了一个简单的移动平均线(绿色)。谢谢你。

0 投票
1 回答
2225 浏览

image-processing - C++ 掩码巴特沃斯高通滤波器

我正在寻找掩码巴特沃斯高通滤波器的 C++ 实现。

我有一张被蒙版的图像,我想在图像被蒙版的地方应用巴特沃斯高通滤波器,而不会产生边缘效应。

现在我正在使用 vtk 过滤我的图像。

欢迎任何建议:)