ER1.10. Solución de una ecuación en diferencias utilizando transformada z

Introducción (planteamiento)

Dada la siguiente ecuación en diferencias hacia atrás con Ts=0.2seg, resolverla aplicando la transformada z:

y(k)0.1y(k1)0.2y(k2)=u(k1)u(k2),u(k)=δ(k)

Método (plan de solución)

La ecuación en diferencias anterior no requiere de condiciones iniciales, dado que se asume que y(k<0)=0. Esta es una de las ventajas de dicho tipo de ecuaciones (aunque se pueden dar condiciones iniciales adicionales para k). Además, se resuelve asumiendo que T_s=1.

Para resolver la ecuación se seguirás estos pasos: (i) cálculo de la transformada z de cada término, (ii) despeje de Y(z), (iii) cálculo de la transformada z inversa utilizando fracciones parciales y las transformadas básicas y propiedades operacionales, (iv) verificar la transformada inversa usando la división larga y comparando con la solución recursiva, (v) analizar los resultados.

Resultados (solución)

La transformada z de cada término es:

\mathcal{Z} \left\{ y(k) \right\} -0.1 \mathcal{Z} \left\{ y(k-1) \right\} -0.2\mathcal{Z} \left\{ y(k-2) \right\} =\mathcal{Z} \left\{ \delta (k-1) \right\} -\mathcal{Z} \left\{ \delta (k-2) \right\}

Y(z) - 0.1z^{-1}Y(z) - 0.2z^{-2}Y(z) = z^{-1} - z^{-2}

Despejando Y(z):

Y(z) = \frac{z-1}{(z+0.4)(z-0.5)}

Se pueden calcular las fracciones parciales y obtener soluciones con retardo (dado que no hay z en el numerador de la fracción) o se puede hacer lo siguiente:

\frac{Y(z)}{z} = \frac{z-1}{z(z+0.4)(z-0.5)} = \frac{A}{z} + \frac{B}{z+0.4} + \frac{C}{z-0.5}

Donde, A=5, B=-35/9, C=-10/9.

Y(z) = 5 - \frac{35}{9}\frac{z}{z+0.4} - \frac{10}{9}\frac{z}{z-0.5}

La solución es:

y(k) = 5\delta (k) - \frac{35}{9}(-0.4)^k - \frac{10}{9}(0.5)^k

Los primeros valores son: \{ 0,1,-0.9,\cdots \} . El gráfico de la solución se muestra a continuación (se asume que T_s=1, pero como el período de muestreo es T_s=0.2, entonces simplemente se escala el eje temporal): 

Respuesta temporal


El código de MATLAB para el gráfico de la solución es:

k = 0:10; 
y = 5*kroneckerDelta(sym(k)) - 35/9*(-0.4).^k -10/9*(0.5).^k; 
plot(k, y, 'bo', k, y)
xlabel('t (x 0.2 seg)'), ylim([-1 1.1])

La solución se puede obtener utilizando el siguiente código de MATLAB:

syms z k
Y = (z-1)/((z+0.4)*(z-0.5)); 
y = iztrans(Y,k)

Cuyo resultado es: 

Resultado de MATLAB 

Discusión y verificación

El gráfico corresponde a un comportamiento estable, lo cual concuerda con el hecho que el modelo tiene dos raíces características dentro del círculo unitario (-0.4 y 0.5). El primer valor de la función temporal es 0, lo que es correcto, dado que la diferencia entre el grado del denominador y el grado del numerador de Y(z) es igual a 1.

De la ecuación en diferencias se pueden obtener de manera recursiva los primeros valores, los cuales concuerdan con los valores obtenidos a partir de la solución analítica, verificando así la solución:

y(k)=0.1y(k-1)+0.2y(k-2)+\delta (k-1)-\delta (k-2)

y(0)=0.1y(-1)+0.2y(-2)+\delta (-1)-\delta (-2)=0

y(1)=0.1y(0)+0.2y(-1)+\delta (0)-\delta (-1)=1

y(2)=0.1y(1)+0.2y(0)+\delta (1)-\delta (0)=-0.9

También se puede obtener la solución aplicando la transformada z inversa. Por todo lo anterior se puede afirmar que la solución analítica es correcta.

Comentarios