【发布时间】:2020-11-16 11:55:32
【问题描述】:
我在使用 scipy.signal 库进行信号反卷积时遇到了一些问题。我正在尝试做的事情如下:
我有一个数组(4096 个点),包含一个用样本测量的信号和一个没有样本测量的信号(测量系统响应具有相同的长度)。为了获得纯样本信号,我需要对它们进行去卷积。这是我的代码:
folder = os.path.dirname(os.path.abspath('__file__'))
y_measurement = np.zeros(4096)
y_systemres = np.zeros(4096)
x = ((1.0*np.arange(0,4096,1))*5e3/4096)
file = file_name + ('0%i'%i)[-2:] + '.dat'
file2 = file_name2 + ('0%i'%i)[-2:] + '.dat'
data = np.genfromtxt(os.path.join(folder,file),skip_header = 10).T
data2 = np.genfromtxt(os.path.join(folder,file2),skip_header = 10).T
y_measurement = y_measurement + data
y_systemres = y_systemres + data2
rec, rem = deconvolve(y_measurement,y_systemres)
deconv, _ = deconvolve( y_measurement, y_systemres)
n = len(y_measurement)-len(y_systemres)+1
s = (len(y_measuremenet)-n)/2
deconv_res = np.zeros(len(y_measuremenet))
deconv_res[s:len(y_measuremenet)-s-1] = deconv
deconv = deconv_res
mpl.plot(deconv)
运行此代码时出现错误“BUG:过滤系数 a[0] == 0 尚不支持”。谁能帮我解决这个问题?我已经有点失落了。欢迎提出所有建议。
【问题讨论】:
标签: python scipy deconvolution