Impulse response from poles and zeros

21 次查看(过去 30 天)
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

回答(1 个)

Ayush
Ayush 2024-7-2
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:

类别

Help CenterFile Exchange 中查找有关 Digital Filter Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by