Impulse response from poles and zeros

20 views (last 30 days)
Shubham Alok
Shubham Alok on 28 Jun 2021
Answered: Ayush on 2 Jul 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

Answers (1)

Ayush
Ayush on 2 Jul 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!