How to convert filter object to state space?

2 visualizaciones (últimos 30 días)
tfg250
tfg250 el 29 de Ag. de 2022
Editada: tfg250 el 29 de Ag. de 2022
I'm creating a filter object using
%B1(f) is my target transfer function
d_1a = fdesign.arbmagnphase('n,f,h',8,(0:0.1:30),double(B1(0:0.1:30)),60);
filtObj = design(d_1a,'iirls','SystemObject',true)
Then, I can use
freqz(filtObj)
to confirm it matches the target function. However, when I convert it to state space using
[A,B,C,D] = ss(filtObj);
sys_ss1 = ss(A,B,C,D);
Then I try to confirm the behavior of this system using
[H,wout] = freqresp(sys_ss1);
this output does not match my target transfer function. What am I missing here?

Respuesta aceptada

Robert U
Robert U el 29 de Ag. de 2022
Hi tfg250,
You missed to supply the sample frequency for your state space model. Converting the filter object for a time discrete system to state space requires to use a time-discrete state space model as well.
[A,B,C,D] = ss(filtObj);
sys_ss1 = ss(A,B,C,D,1/60);
Kind regards,
Robert
  1 comentario
tfg250
tfg250 el 29 de Ag. de 2022
Editada: tfg250 el 29 de Ag. de 2022
that's is, thank you so much!

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by