Effacer les filtres
Effacer les filtres

Impulse response from poles and zeros

9 vues (au cours des 30 derniers jours)
Shubham Alok
Shubham Alok le 28 Juin 2021
Réponse apportée : Ayush le 2 Juil 2024
find out impulse response h(n) from pole zero location of system function.
Location of zeros= -0.2, -0.3, -0.4,-0.8
Location of poles= 0.4+0.4j, 0.4-0.4j, 0.5, 0.7

Réponses (1)

Ayush
Ayush le 2 Juil 2024
Hi,
To find the impulse response "h(n)" from the given pole-zero locations, create the system function "H(z)" and then compute the inverse Z-transform to get the impulse response. The function "zp2tf" can convert the zero-pole representation to the transfer function form, returning the numerator "b" and denominator "a" coefficients of "H(z)". To compute the impulse response with the help of numerator and denominator coefficients, you can use the "impz" function. Finally, plot the discrete impulse response using the "stem" function. Refer to an example code below:
% Define zeros and poles
zeros = [-0.2, -0.3, -0.4, -0.8];
poles = [0.4+0.4j, 0.4-0.4j, 0.5, 0.7];
% Get the coefficients of the numerator and denominator of H(z)
[b, a] = zp2tf(zeros', poles', 1);
% Define the number of samples for the impulse response
num_samples = 50;
% Compute the impulse response
impulse_response = impz(b, a, num_samples);
% Display the impulse response
stem(impulse_response);
title('Impulse Response h(n)');
xlabel('n');
ylabel('h(n)');
grid on;
For more information on the "zp2tf", "impz", and "stem" functions, refer to the below documentation:

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by