Impulse response from poles and zeros
20 views (last 30 days)
Show older comments
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
0 Comments
Answers (1)
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:
0 Comments
See Also
Categories
Find more on Digital Filter Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!