Scipy LPF ValueError:无法将 b、a 和 x 转换为通用类型

问题描述

我正在尝试从信号中去除噪声 - 由我自己的网络解码。 我在 python 中训练了网络和处理信号,所以我尝试了 scipy.signal 模块来自定义低通滤波器。 关于模块的例子很少,代码非常简单。但是当我把我的信号放到这个过滤器时,它给出了值错误

代码

def lowPass_Filter(signal,cutoff,fs,order):

    sig = signal
    norm_cutoff = cutoff / (0.5 * fs)
    b,a = butter(order,norm_cutoff,btype='low',analog=False)
    sig = lfilter(b,a,sig)
    signal = sig

return signal

signal = lowPass_Filter(input_signal,0.3,float(s_hz),77)

错误

  File "D:\Anaconda\envs\torch\lib\site-packages\scipy\signal\signaltools.py",line 2030,in lfilter
return sigtools._linear_filter(b,x,axis)
ValueError: Could not convert b,and x to a common type

搜索了补救措施,但找不到带有“常见类型”消息的正确案例。有人说信号的零维可能导致错误,但我使用的信号显示了预期的形状。

我尝试了不同的截止时间和顺序以使其工作。我不知道再尝试了。

任何意见一定对我很有帮助。如果你能看到任何问题,请给我建议。提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)