数字信号处理系列文章,理论+实践,持续更新,欢迎关注@平凡的兵 一起共成长。
单位冲击响应、系统频率响应、系统传递函数都是从不同角度来分析系统,时域角度、频域角度、基于z变换的频域角度。
b = [1]; a = [1, -1, 0.9];
n = [-20:120];
h = impz(b,a,n);
stem(n,h);
title('Impulse Response');
xlabel('n'); ylabel('h(n)')
import numpy as np
import scipy.signal as sig
import matplotlib.pyplot as plt
def impseq(n0,n1,n2):
''' Generates x(n) = delta(n-n0); n1 <= n <= n2
----------------------------------------------
(x,n) = impseq(n0,n1,n2)
'''
n = np.linspace(n1, n2, n2-n1+1)
x = [(n-n0) == 0]
return x,n
b = [1]
a = [1, -1, 0.9]
(x,n) = impseq(0, -20,100)
h = sig.lfilter(b,a, x[0])
plt.stem(n,h)
plt.title('Impulse Response')
plt.xlabel('n')
plt.ylabel('h(n)')
plt.savefig("impulse.jpg")