在python中如何强制lfilterscipy信号计算整数

2024-05-16 05:28:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些VHDL代码要模拟。它使用整数FIR系数并执行整数加法。我使用的系数是根据西皮.信号.菲文. 在我的实际硬件中,我看到了一些来自过滤器的干扰,我想用python来模拟。在

但是Python使用lfilter浮点运算,这并不是我所需要的。我需要整数运算,使用取整来获得最接近的整数,并通过滤波器传播信号。在

有这样的功能还是我自己做?在

谢谢

.d


Tags: 代码功能过滤器硬件信号整数vhdl系数
1条回答
网友
1楼 · 发布于 2024-05-16 05:28:46

numpy.convolve怎么样?在

下面是一个使用过滤器添加前两个示例的简单示例。在

signal, coeffs = np.array([1,2,3,4,5]), np.array([1, 1])
output = np.convolve(signal, coeffs, mode='valid')

结果:

^{pr2}$

注意,输出比输入稍短,因为mode=valid开关避免在数据不足的情况下计算样本。可以尝试使用不同的开关来获得边缘效果所需的行为。在

此函数可能在内部计算浮点,然后舍入为整数。如你所知,这对最终答案没有影响。但是,如果您的目标是节省计算时间,那么您应该检查整数输入的速度是否比浮点输入快。我打赌是的。在

相关问题 更多 >