问题标签 [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.
bezier - 轨迹的巴特沃斯滤波和贝塞尔平滑
所以我有一个表示线性运动的 xyz 坐标的数据集。数据集嘈杂,我试图使用贝塞尔曲线提取尽可能接近真实轨迹的平滑轨迹,并将每个点拟合为曲线的控制点。结果令人满意,所以我想知道使用低通巴特沃斯的预滤波是否会显示出更好的结果。
一般来说,将贝塞尔曲线或三次平滑样条曲线等平滑技术与低通滤波相结合是否有用?
python - 巴特沃斯过滤器python
我想wav
用巴特沃斯带通过滤一个文件。我尝试将wav
文件转换为fft
then 以应用带通滤波器,然后再将ifft
. 从图形上看,它似乎被过滤了一点,但是当我减少输入和输出wav
时,音频没有区别,就像过滤器不起作用一样。有错误吗?
filter - 在 Scilab 中使用 flts 函数
我正在 Scilab 中进行信号处理。选择低通巴特沃斯滤波器应用于实验数据。首先,我创建了一个测试信号,并且butterworth
滤波器工作正常。但是,当我尝试对实验数据执行相同的步骤时,发生了错误。
该功能flts
显示一条消息,内容为"flts: Arguments #1 and #2: Incompatible sizes."
。我该如何调试呢?
系统功能我已经试过了,还是不行。z 变量接收实验数据。有一些葡萄牙语评论(对不起)。
以下是 Scilab 代码:
signal-processing - 如何找到巴特沃斯滤波器的位移参数?
经过实验,看起来巴特沃斯滤波器意味着一定数量的点的移动。我想知道是否有一个公式可以连接我的过滤器的顺序?
我是过滤器理论的新手,出于商品原因,我不想使用双过滤器。
谢谢,
python - 使用高通滤波器过滤低频似乎不起作用
我正在尝试从一篇研究论文中实现一种算法,我们使用加速度计来检测活动模式。作者在论文中提到,使用截止频率为 1Hz 的高通滤波器来消除低频重力分量的影响,我在数据集上应用了这样的 x、y、z 加速度计值
其中段是一个 numpy 数组,具有 50 个值的切片(4 秒 x、y、z 值以 12.5Hz 采样)。然后我制作新的段,其中不同轴上的每个值都被分段在一起,例如 x 有 50 个值,y 有 50 个值等等。然后我继续对这些滤波值应用快速傅立叶变换,但无论我选择哪个段,最高幅度始终为 0 Hz,这让我相信高通滤波器没有正确实现。
这是一个示例:
这features_segments[0][0]
意味着第一段和 x 轴值仅给出了结果
这只是我尝试获得 0Hz 幅度的每个 fft 的一个示例,它总是比其他幅度高 50-100 倍。
python - 音频文件在通过低通滤波器后听起来很糟糕/嘈杂
我正在尝试通过低通滤波器传递我的音频,以滤除其中的噪音。但是,wav 的输出非常嘈杂,我无法理解为什么。找到原始和过滤的 wav 及其对应的。链接下方的频谱图。 在此处输入链接描述
我使用的代码是:
1)这是实现过滤器的正确方法吗?还是我做错了什么?因为生成的音频太失真了。
2)什么是正确的方法,这样我才能得到无噪音的音频文件
提前致谢。
python - 在树莓派上使用 scipy 实现巴特沃斯带滤波器
我有使用 scipy.signal.butter 的代码。它在我的 Windows 计算机上运行良好,但是当我在树莓派 4 上运行它时出现此错误
我不确定为什么这适用于 Windows 但不适用于 linux。我的计算机和树莓派上都安装了最新的库。
任何想法将不胜感激
python - 带阻巴特沃斯滤波器
我正在尝试使用 python 中的 scipy 库创建一个带阻巴特沃斯滤波器,你能告诉我我做错了什么吗?fc1
是1750
,fc2
是4100
,fs
是30000
,ft
是150
。我已经定义了它们(fc
是截止频率区间之外的所有内容的并集,并且fc1
是时间频率,并且是通带和阻带波纹,是幅度,和是归一化频率)。fc2
ft
rp
rs
a
wp(passband)
ws(stopband)
wn
我的错误:
这就是我到目前为止所拥有的代码: fs = 33000 r = 55 ft = 150 rp = 0.3 rs = 55 order = 3 a=1 fc1 = 1750 fc2 = 4100 fc=np.union1d(np.array([1, 1750]),([4100,10000])) wp = (fc1-ft/2) *2/fs
matlab - 使用过滤的加速度计数据的位移
我有来自几个加速度计传感器的加速度数据。我对位移很感兴趣,所以我对它进行了双重积分(matlab中的cumtrapz)。加速度数据非常嘈杂,所以我使用巴特沃斯滤波器滤除低频噪声。第一次积分后,我得到速度,然后过滤这个速度,进一步积分得到位移。一切正常。我唯一的问题是,过滤后我失去了加速度的实际值,因此我得到的位移值没有任何意义。
有什么建议么?