i canot do it...please help me
Я хотел бы выполнить операцию свертки синусового сигнала и прямоугольного импульса в scipy. Я свернут сигнал пазухи с сигналом COSINUS и график, что на графике, но я хотел бы знать, как создать массив с прямоугольным импульсом, что-то подобное этому MatLab выражениесвертка синусового сигнала с прямоугольным импульсом с использованием питона
y = rectpulse(x,nsamp)
так что я могу скручивать их. Я использую это, чтобы создать свой синус и Косинус сигнал
x=r_[0:50] (my array)
y01=sin(2*pi*x/49)
y02=cos(2*pi*x/49)
Так я пытался создать nu.zeros (50), и вручную изменять нули из позиции 15-25 из 0.0. до 0.9, поэтому он выглядит как прямоугольник, но свертка на синусовом массиве, и этот массив «прямоугольников» является странным. Он должен быть равен нулю, когда нет пересечения, но я получаю сигнал синуса взамен, вот код:
from numarray import*
from numarray.fft import*
from pylab import*
x=r_[0:50]
y1=sin(2*pi*x/49)
#y2=cos(2*pi*x/49)
y2=np.zeros((y1.shap))
for i in range(15,25):
y2[i]=0.9
#print len(y1),len(y2)
#y3=convolve(y2,y1,mode="same")
y3=convolve(y2,y1)
subplot(2,2,1)
plot(x,y1)
hold(True)
plot(x,y2)
hold(True)
subplot(2,2,2)
print len(x),len(y3)
xx=r_[0:len(y3)]
print len(xx),len(y3)
plot(xx,y3)
hold(True)
show()