scipyで正弦波信号と矩形パルスの畳み込み演算を行いたいと思います。余弦信号で正弦信号を畳み込み、それをグラフにプロットしましたが、この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) を作成しようとし、0.0 から 15-25 の位置からゼロを手動で変更しました。0.9に変更すると、長方形のように見えますが、正弦波配列の畳み込みとこの「長方形」配列は奇妙です。交差がない場合はゼロになるはずですが、正弦波信号が返されます。コードは次のとおりです。
from scipy import *
from pylab import *
x = r_[0:50]
y1 = sin(2*pi*x/49)
#y2 = cos(2*pi*x/49)
y2 = np.zeros(50)
for i in range(15,25):
y2[i] = 0.9
#print len(y1),len(y2)
y3 = convolve(y2,y1,mode="same")
subplot(2,2,1)
plot(x,y1)
hold(True)
plot(x,y2)
hold(True)
subplot(2,2,2)
print len(x),len(y3)
plot(x,y3)
hold(True)
show()
事前にお詫び申し上げます。これが最も簡単なことだと思いますが、矩形パルスの作成方法に関する参考文献が見つかりませんでした。