信号的时移增加了我的脉搏不移

  • 本文关键字:脉搏 增加 信号 python
  • 更新时间 :
  • 英文 :


我有一个脉冲信号,它为0到5之间的n值提供1。我想将信号偏移20个样本,但我所做的只是增加脉冲宽度。我到底做错了什么?

import numpy as np
import matplotlib.pyplot as plt
def pulse_s(t):
return 1 * (t <= 5) 
def shift(t,a):
return pulse_s(t-a)
t1 = np.linspace(0,200)
plt.stem(t1,shift(t1,20))
plt.xlabel('n')
plt.ylabel('Amplitude')
plt.title('Pulse Signal p[n] with L = 5 and $n_0$ = 20')
plt.grid(True)

结果。

pulse_s不会为n从0到5的所有值返回为1的信号,但为n<或等于5的所有数值返回为1。>

这仅等效于输入序列0、1、2。。。

如果你";移位";输入序列减去20,它变成序列−20,−19,−18。。。,并且在该序列中有26个值小于或等于5。

为了正确地做到这一点,您必须在pulse_s函数中显式地包含下界(请记住,比较链接在NumPy中不能像往常一样工作(:

def pulse_s(t):
return 1 * ((0 <= t) & (t <= 5))

您需要定义两端。

def pulse_s(t):
return 1 * (0 <= t <= 5)

最新更新