Tín hiệu xung đơn vị (hàm delta rời rạc) hoặc vectơ cơ sở đơn vị.
Tham sốShapeInt hoặc tuple của intshapeint or tuple of intSố lượng mẫu trong đầu ra (1-D) hoặc một bộ thuật đại diện cho hình dạng của đầu ra (N-D).
idxnone hoặc int hoặc tuple của int hoặc ‘mid, tùy chọnNone or int or tuple of int or ‘mid’, optionalChỉ mục tại đó giá trị là 1. Nếu không có, mặc định là phần tử 0. Nếu idx='mid', xung lực sẽ được tập trung ở shape // 2 trong tất cả các chiều. Nếu một INT, sự thúc đẩy sẽ ở IDX trong tất cả các chiều.
kiểu Dtypedata, tùy chọndata-type, optionalLoại dữ liệu mong muốn cho mảng, ví dụ: numpy.int8. Mặc định là numpy.float64.
ReturnsyndarrayyndarrayMảng đầu ra chứa tín hiệu xung.
Ghi chú
Trường hợp 1D còn được gọi là Delta Kronecker.
Mới trong phiên bản 0.19.0.
Ví dụ
Một xung ở phần tử 0 (\ (\ delta [n] \)):\(\delta[n]\)):
>>> from scipy import signal >>> signal.unit_impulse(8) array([ 1., 0., 0., 0., 0., 0., 0., 0.])
Impulse offset bởi 2 mẫu (\ (\ delta [n-2] \)):\(\delta[n-2]\)):
>>> signal.unit_impulse(7, 2) array([ 0., 0., 1., 0., 0., 0., 0.])
Impulse 2 chiều, tập trung:
>>> signal.unit_impulse((3, 3), 'mid') array([[ 0., 0., 0.], [ 0., 1., 0.], [ 0., 0., 0.]])
Impulse at (2, 2), sử dụng phát sóng:
>>> signal.unit_impulse((4, 4), 2) array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 1., 0.], [ 0., 0., 0., 0.]])
Vẽ phản ứng xung của bộ lọc thông thấp Butterworth bậc 4:
>>> imp = signal.unit_impulse(100, 'mid') >>> b, a = signal.butter(4, 0.2) >>> response = signal.lfilter(b, a, imp)
>>> import matplotlib.pyplot as plt >>> plt.plot(np.arange(-50, 50), imp) >>> plt.plot(np.arange(-50, 50), response) >>> plt.margins(0.1, 0.1) >>> plt.xlabel('Time [samples]') >>> plt.ylabel('Amplitude') >>> plt.grid(True) >>> plt.show()