Ejercicio: 1Eva2009TII_T1 LTI CT diagrama canónico y respuesta a impulso
a. A partir del diagrama canónico se puede reordenar, identificando las partes del numerador P(s) y denominador Q(s) para escribir la función de transferencia;
reordenando diagrama:
escribiendo la ecuación como:
H(s) = \Big[ \frac{1}{s^2+3s+2}\Big]\Big[ 3s+2\Big] e^{-3s} H(s) = \Big[ \frac{3s+2}{s^2+3s+2}\Big] e^{-3s}Se usan los polos de la expresión para el denominador Q, para realizar las fracciones parciales:
{polos,veces}: {-1: 1, -2: 1}H(s) = \Big[ \frac{3s+2}{(s+2)(s+1)} \Big] e^{-3s}
Al enfocarse en H(s) sin usar el retraso e-3s se tiene H1(s)
H_1(s) = \frac{3s+2}{(s+2)(s+1)}y se usa el método de «cubrir» de Heaviside para encontrar las constantes,
k_1 = \frac{3s+2}{\cancel{(s+2)}(s+1)} \Big|_{s=-2} = \frac{3(-2)+2}{(-2+1)}=4 k_2 = \frac{3s+2}{(s+2)\cancel{(s+1)}} \Big|_{s=-1} = \frac{3(-1)+2}{(-1+2)} = -1reemplazando las constantes en H1(s) o mejor en H(s) se obtiene expresiones mas simples en fracciones parciales.
H(s) = \Big[ \frac{4}{s+2}- \frac{1}{s+1}\Big] e^{-3s} H(s) = e^{-3s} \frac{4}{s+2} - e^{-3s}\frac{1}{s+1}b. Usar la tabla de transformadas de Laplace, y la propiedad de desplazamiento en t
h(t) = 4e^{-2(t-3)}\mu(t-3)- e^{-(t-3)}\mu(t-3)Tarea: usar la forma analítica para encontrar la respuesta.
la gráfica de respuesta del sistema ht(t) y la salida y(t) del sistema ante una entrada impulso, serán iguales:
c. ¿Qué puede decir acerca de la estabilidad interna y externa?
Los polos se encuentran en el lado izquierdo del plano, sus componentes son exponenciales decrecientes. Por lo que se considera asintóticamente estable, tambien es acotado o BIBO estable.
Estabilidad de H(s): n_polos_real : 2 n_polos_imag : 0 enRHP : 0 unicos : 0 repetidos : 0 asintota : estable
revisando el resultado de los polos en conjunto con H(s)
Resultados con el algoritmo:
H(s) = P(s)/Q(s): / 4 1 \ -3*s |----- - -----|*e \s + 2 s + 1/ H(s) en factores: -3*s (3*s + 2)*e --------------- (s + 1)*(s + 2) h(t) : / 3 -t 6 -2*t\ \- e *e + 4*e *e /*Heaviside(t - 3) polosceros: exp(-3*s) : {'Q_polos': {-1: 1, -2: 1}, 'P_ceros': {-2/3: 1}} Q_polos : {-1: 1, -2: 1} P_ceros : {-2/3: 1} Estabilidad de H(s): n_polos_real : 2 n_polos_imag : 0 enRHP : 0 unicos : 0 repetidos : 0 asintota : estable X(s): 1 Respuesta entrada cero ZIR H(s) y condiciones iniciales term_cero : 0 ZIR : 0 yt_ZIR : 0 ZSR respuesta estado cero: ZSR : / 4 1 \ -3*s |----- - -----|*e \s + 2 s + 1/ yt_ZSR : / 3 -t 6 -2*t\ \- e *e + 4*e *e /*Heaviside(t - 3) Y(s)_total = ZIR + ZSR: / 4 1 \ -3*s |----- - -----|*e \s + 2 s + 1/ y(t)_total = ZIR + ZSR: / 3 -t 6 -2*t\ \- e *e + 4*e *e /*Heaviside(t - 3)
Instrucciones en Python
Para resolver el ejercicio, se define la funcion H(s) por los polinomios P y Q, la entrada se define como un impulso δ(t).
Usando los bloques desarrollados en la telg1001.py que pueden ser usados en cada pregunta.
y las funciones resumidas como# Y(s) Respuesta total con entada cero y estado cero # Qs Y(s) = Ps X(s) ; H(s)=Ps/Qs # http://blog.espol.edu.ec/telg1001/ import sympy as sym import matplotlib.pyplot as plt import telg1001 as fcnm # INGRESO s = sym.Symbol('s') t = sym.Symbol('t', real=True) d = sym.DiracDelta(t) u = sym.Heaviside(t) # H(s) y estabilidad Hs = (3*s+2)/(s**2+3*s+2) * sym.exp(-3*s) #Hs = 2*(s+5)/((s+4)*(s+3)) * sym.exp(-3*s) # X(s) Señal de entrada xt = d #+ d.subs(t,t-2) # condiciones iniciales, [y'(0),y(0)] orden descendente t0 = 0 cond_inicio = [0, 0] # estado cero no se usan # Grafica, intervalo tiempo [t_a,t_b] t_a = 0 ; t_b = 10 muestras = 101 # 51 resolucion grafica # PROCEDIMIENTO Hs = fcnm.apart_s(Hs) # fracciones parciales Hs_fc = fcnm.factor_exp(Hs) # en factores Hs_Qs2 = fcnm.Q_cuad_s_parametros(Hs_fc) polosceros = fcnm.busca_polosceros(Hs) Q_polos = polosceros['Q_polos'] P_ceros = polosceros['P_ceros'] estable = fcnm.estabilidad_asintotica_s(Q_polos) # H(t) respuesta al impulso ht = 0*s term_suma = sym.Add.make_args(Hs) for term_k in term_suma: ht_k = sym.inverse_laplace_transform(term_k,s,t) # simplifica log(exp()) ej: e**(-2s)/(s**2) if ht_k.has(sym.log): ht_k = sym.simplify(ht_k,inverse=True) ht = ht + ht_k lista_escalon = ht.atoms(sym.Heaviside) ht = sym.expand(ht,t) # terminos suma ht = sym.collect(ht,lista_escalon) # PROCEDIMIENTO Respuesta ZIR, ZSR Xs = fcnm.laplace_transform_suma(xt) # ZIR_s respuesta entrada cero de s sol_ZIR = fcnm.respuesta_ZIR_s(Hs,cond_inicio) ZIR = sol_ZIR['ZIR'] yt_ZIR = sol_ZIR['yt_ZIR'] # ZSR respuesta estado cero, Y(s) a entrada X(s) sol_ZSR = fcnm.respuesta_ZSR_s(Hs,Xs) ZSR = sol_ZSR['ZSR'] yt_ZSR = sol_ZSR['yt_ZSR'] # Respuesta total Y(s) y y(t) Ys = ZIR + ZSR Ys = fcnm.apart_s(Ys) yt = yt_ZIR + yt_ZSR lista_escalon = yt.atoms(sym.Heaviside) yt = sym.collect(yt,lista_escalon) # SALIDA print(' H(s) = P(s)/Q(s):') sym.pprint(Hs) print(' H(s) en factores:') sym.pprint(Hs_fc) if len(Hs_Qs2)>0: print('\nH(s) parámetros cuadraticos:') fcnm.print_resultado_dict(Hs_Qs2) print('\n h(t) :') sym.pprint(ht) print('\npolosceros:') fcnm.print_resultado_dict(polosceros) print('\nEstabilidad de H(s):') for k in estable: print('',k,':',estable[k]) print('\n X(s): ') sym.pprint(Xs) print('\nRespuesta entrada cero ZIR H(s) y condiciones iniciales') if not(sol_ZIR == sym.nan): # existe resultado fcnm.print_resultado_dict(sol_ZIR) else: print(' insuficientes condiciones iniciales') print(' revisar los valores de cond_inicio[]') print('\n ZSR respuesta estado cero:') fcnm.print_resultado_dict(sol_ZSR) print('\n Y(s)_total = ZIR + ZSR:') sym.pprint(Ys) print('\n y(t)_total = ZIR + ZSR:') sym.pprint(yt) # Graficas polos, H(s), con polos h(t) -------- muestras_H = 101 figura_s = fcnm.graficar_Fs(Hs_fc,Q_polos,P_ceros,f_nombre='H',solopolos=True) figura_Hs = fcnm.graficar_Fs(Hs_fc,Q_polos,P_ceros,muestras=muestras_H,f_nombre='H') figura_ht = fcnm.graficar_ft(ht,t_a,t_b,muestras,f_nombre='h') # GRAFICAS y(t),x(t),h(t) --------------------- figura_ft = fcnm.graficar_xh_y(xt,ht,yt,t_a,t_b,muestras) plt.show()
Referencia: LTI CT Laplace – H(s) Estabilidad del sistema con Python
Ejemplo 3, LTI CT Laplace – H(s) Diagramas de bloques y ecuaciones diferenciales