-
sdr.plot.impulse_response(b: ArrayLike, a: ArrayLike =
1
, N: int | None =None
, **kwargs) Plots the impulse response \(h[n]\) of a filter.
The impulse response \(h[n]\) is the filter output when the input is an impulse \(\delta[n]\).
- Parameters:¶
- b: ArrayLike¶
The feedforward coefficients \(b_i\).
- a: ArrayLike =
1
¶ The feedback coefficients \(a_j\). For FIR filters, this is set to 1.
- N: int | None =
None
¶ The number of samples \(N\) to plot. If
None
, the length ofb
is used for FIR filters and 100 for IIR filters.- **kwargs
Additional keyword arguments to pass to
matplotlib.pyplot.plot()
.
Examples¶
See the FIR filters example.
In [1]: h_srrc = sdr.root_raised_cosine(0.5, 10, 10) In [2]: plt.figure(figsize=(8, 4)); \ ...: sdr.plot.impulse_response(h_srrc) ...:
See the IIR filters example.
In [3]: zero = 0.6; \ ...: pole = 0.8 * np.exp(1j * np.pi / 8); \ ...: iir = sdr.IIR.ZerosPoles([zero], [pole, pole.conj()]) ...: In [4]: plt.figure(figsize=(8, 4)); \ ...: sdr.plot.impulse_response(iir.b_taps, iir.a_taps, N=30) ...: