Soy muy nuevo en este foro, así que discúlpeme si no escribo las ecuaciones correctamente. Y también soy bastante nuevo en DSP, así que esto puede ser muy básico para la mayoría de ustedes, pero es bastante complicado para mí.
Necesito discretizar un filtro PT1:
\ $ T \ frac {dy (t)} {dt} + y (t) = u (t) \ $
Necesito discriminar esto utilizando la transformación bilineal de ZOH, FOH y Tustins. Necesito aplicar este filtro a mi señal, usando un bucle for (sí, tengo Fc, Wn). Sé que esto se puede hacer fácilmente en Matlab. pero quiero entender cómo se hace a mano. No pude entender nada de google.
Cualquier pista me ayudaría.
Edit1 @JonRB: Matlab Script:
% define a continuous-time first order low-pass filter in state-space
% notation. differential equation of the filter:
% T * y'(t) + y(t) = u(t)
% -> State-space notation:
% x'(t) = -1/T * x + 1/T * u
% -3dB cutoff frequency: 100 Hz => omega_c = 2 * pi * 100 rad/s
% => T = 1 / omega_c
f_c = 10;
T = 1 / 2 / pi / f_c;
filt_cont = ss(-1/T, 1/T, 1, 0);
enter code here
% sampling period
Ts=
% discretization of the filter
filt_discr_zoh = c2d(filt_cont, Ts, 'zoh');
filt_discr_foh = c2d(filt_cont, Ts, 'foh');
filt_discr_tustin = c2d(filt_cont, Ts, 'tustin');