(Mar-06-2017, 03:38 PM)zivoni Wrote: Neither I am an expert about signal processing, but out of curiosity I tried it and np.convolve convoluted happily.Thank you very much ! I will!
import numpy as np from scipy.signal import gaussian import matplotlib.pyplot as plt def convoluplot(signal, kernel): fig, (ax1, ax2, ax3) = plt.subplots(3, 1, sharex=True) ax1.plot(signal) ax1.set_title('Signal') ax2.plot(kernel) ax2.set_title('Filter') filtered = np.convolve(signal, kernel, "same") / sum(kernel) ax3.plot(filtered) ax3.set_title("Convolution") fig.show() signal = np.zeros(500) signal[100:150] = 1 signal[250:400] = np.linspace(0,1,150) kernel = gaussian(100, 10) convoluplot(signal, kernel)Spoiled image of output:
When kernel was "padded" with zeros, it "zeroed" part of input signal. Perhaps try shorter filtering window or sparkz's advice to use full mode to avoid cutting?
(Mar-06-2017, 02:25 PM)sparkz_alot Wrote: I am in no way an expert about any of this, but what type of output do you get if you use mode "full" instead of "same"?
unfortunately I get the same thing. But thank you very much for your reply !