How to plot the magnitude and phase of a given transfer function(z-domain)?

470 visualizaciones (últimos 30 días)
I tried approacting this by doing the LTI function:
>> z=tf('z'); >> H=0.203*[(1-z^-1)*(1-0.2743*z^-1+z^-2)]/[(1+0.2695*z^-1)*(1+0.4109*z^-1+0.6758*z^-2)]
H =
0.203 z^8 - 0.2587 z^7 + 0.2587 z^6 - 0.203 z^5
-----------------------------------------------
z^8 + 0.6804 z^7 + 0.7865 z^6 + 0.1821 z^5
I don't even know if I'm approacting this right, please I need help in doing this.
  1 comentario
Daniel Ramirez
Daniel Ramirez el 28 de Nov. de 2015
Editada: Daniel Ramirez el 28 de Nov. de 2015
I think I did it?
L=1000;
dw=2*pi/L;
w = -pi:dw:pi-dw;
aa=[1,0.6804,0.953486,0.182128];
bb=[0.2031,-0.2588,0.2588,-0.2031];
HH=freqz(bb,aa,w);
mag=abs(HH);title('Magnitude response')
figure
phase=angle(HH);title('Phase response')
plot(w,mag)
plot(w,phase)
The next step that they want me to do is plot the impulse response. So anyone know how to go from the freq domain to the time domain(n)? This is what I'm struggling the most, any help would be appreciated.

Iniciar sesión para comentar.

Respuestas (2)

Aik-Siong Koh
Aik-Siong Koh el 8 de Jul. de 2021
Editada: Arkadiy Turevskiy el 18 de Jun. de 2024
The following links show how to get frequency domain plots from a transfer function.
The following links show how to get impulse response from transfer function.
The following links show how to get time domain from frequency domain.
Additional comments from Siddharth Jawahar at MathWorks on 6/18/2024
You will need to define your transfer function using the ‘tf’ function which is also suitable for discrete-time systems by setting the ‘z’ variable and specifying the sample time. Then for the magnitude and the phase plots you can use the ‘bode’ plot command.
See the MATLAB code example below:
% Numerator and Denominator coefficients
b = 0.2031 * conv([1, -1], [1, -0.2743, 1]); % Convolution of numerator parts
a = conv([1, 0.2695], [1, 0.4109, 0.6758]); % Convolution of denominator parts
% Sample time - Adjust based on your specific requirements
Ts = 1;
% Create a discrete-time transfer function model
H = tf(b, a, Ts, 'Variable', 'z^-1');
% Plot the Bode plot
figure;
bode(H);
title('Bode Plot of H(z)');
grid on;

ANNALURU R R SREENIVASA MURTHY
ANNALURU R R SREENIVASA MURTHY el 15 de Nov. de 2021
Editada: ANNALURU R R SREENIVASA MURTHY el 15 de Nov. de 2021
You can use 'imp' function to plot impulse response.

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by