RESOLUCION Capitulo4 soria porras

12
UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPEL” DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA CARRERA DE ING. EN ELECTRÓNICA E INSTRUMENTACIÓN ASIGNATURA: PROCESAMIENTO DIGITAL DE SEÑALES DOCENTE: Ing. Armando Álvarez NOMBRE: ALEX PAUL PORRAS ROBALINO Fecha: 24/ 02/2016 PRÁCTICAS EN MATLAB CAPITULO 4 4.56 Programe la realización del sistema digital cuya ecuación en diferencias es: y ( n) =x ( n) 2 r ( n1)+x ( n2)+ y ( n1)−1 / 4 y ( n2)−1 / 4 y ( n3)+ 1/ 8 y ( n4) Según las estructuras directa II y cascada. Observe y comente las diferencias. Resolución De la ecuación en diferencias del sistema podemos obtener que la función de transferencia a realizar es: H ( z ) = 12 z 1 + z 2 1z 1 + 1 4 z 2 + 1 4 z 3 1 8 z 4 = 1 11 / 4 z 2 12 z 1 + z 2 1z 1 +1 / 2 z 2 La estructura de la Figura 4.52(a) es una implementación en forma directa II y la estructura Figura 4.52 (b) es una implementación en cascada. De la Expresión (4.28) se desprende que los coeficientes son a 1 =−1 ,a 2 = 1 4 ,a 3 = 1 4 ,a 4 = 1 8 ,b 0 =1 ,b 1 =− 2 ,b 2 =1 para la estructura IIR directa II y d 1 =−1 ,d 2 = 1 2 ,e 0 =1 ,e 1 =− 2 ,e 2 =1 ,c 2 = 1 4 para la estructura en cascada. PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Transcript of RESOLUCION Capitulo4 soria porras

Page 1: RESOLUCION Capitulo4 soria porras

UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPEL”DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

CARRERA DE ING. EN ELECTRÓNICA E INSTRUMENTACIÓN

ASIGNATURA: PROCESAMIENTO DIGITAL DE SEÑALESDOCENTE: Ing. Armando ÁlvarezNOMBRE: ALEX PAUL PORRAS ROBALINOFecha: 24/ 02/2016

PRÁCTICAS EN MATLAB CAPITULO 4 4.56 Programe la realización del sistema digital cuya ecuación en diferencias es:

y (n )=x (n )−√2 r (n−1)+x (n−2)+ y (n−1)−1/4 y (n−2)−1/4 y (n−3)+1/8 y (n−4 )

Según las estructuras directa II y cascada. Observe y comente las diferencias.

Resolución

De la ecuación en diferencias del sistema podemos obtener que la función de transferencia a realizar es:

H ( z )= 1−√2 z−1+z−2

1−z−1+ 14 z−2

+ 14 z−3

− 18 z−4

=

11−1/4 z−2

∗1−√2 z−1+z−2

1−z−1+1/2 z−2

La estructura de la Figura 4.52(a) es una implementación en forma directa II y la estructura Figura 4.52 (b) es una implementación en cascada. De la Expresión (4.28) se desprende que los coeficientes son a1=−1 , a2=

14, a3=

14, a4=

−18,b0=1 , b1=−√2 , b2=1 para la estructura IIR directa II y

d1=−1 , d2=12, e0=1 , e1=−√2, e2=1 , c2=

−14 para la estructura en cascada.

Ambos diagramas de bloques consideran una realización o estructura para la realización del sistema. Cada realización o estructura define un procedimiento computacional o algoritmo para implementar el sistema. Si el sistema va a ser implementado en software, la conversión en un programa que funcione en un ordenador. La realización en MATLAB de la forma directa de la Figura 4.52(a) sería:

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 2: RESOLUCION Capitulo4 soria porras

Figura 4.52 (a) Realización en forma directa y (b) realización en cascada.

tmp1= -a1*u1(n)-a2*u2(n)-a3*u3(n)-a4*u4(n); tmp2= b1*u1(n)+b2*u2(n); y(n)= ( tmp1+x(n) )*b0 + tmp2;

Donde u1(n) a u4(n) describen las salidas de los bloques de retardo. Para mayor claridad se han usado dos variables temporales, tmp1 es el resultado de la suma de los productos a1*u1(n) a a4*u4(n), mientras que tmp2 es el resultado de la suma de los productos b1*u1(n) y b2*u2(n).

Por otro lado, la realización de la Figura 4.52(b) sería:

y1(n)=-c2*y1(n-2)+x(n); tmp1=-d1*w1(n)-d2*w2(n); tmp2= e1*w1(n)+e2*w2(n); y(n)=(y1(n)+tmp1)* e0 + tmp2;

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 3: RESOLUCION Capitulo4 soria porras

Donde, como podemos observar, se ha calculado previamente y1(n), salida de la primera etapa de la cascada, para ser tomada como entrada de la segunda etapa.

Ambas realizaciones o estructuras equivalen a la misma ecuación en diferencias y, si los cálculos se realizaran con elementos aritméticos ideales, ambas estructuras darían lugar al mismo resultado.

Dado que se está realizando el mismo sistema de formas diferentes, surgen diferentes preguntas como ¿Por qué se considera esta diferenciación? ¿Porque no implementar de forma directa?, o ¿Cuáles son los beneficios de poder utilizar diferentes realizaciones? Algunos de los factores importantes que influyen es la complejidad computacional y los requisitos de memoria. Como podemos observar, la forma en cascada necesita una suma menos y un producto menos que la estructura directa tipo II, y por lo tanto su realización finalizará antes. Otras realizaciones presentan menores requisitos de memoria, ya que cada retardo está implementado por una posición de memoria.

Los factores más importantes que influyen en la elección de una realización específica son los efectos en los cálculos por la utilización de palabra de longitud finita, como se verá en el Capítulo 5, ya que la realización de los cálculos por procesadores de punto fijo implica la aparición de errores aritméticos que se acarrean a la salida, siendo considerables cuando estos resultados se realimentan y pudiendo incluso llegar a transformar un sistema estable en inestable.

Existen otras razones para seleccionar estructuras específicas, como la sensibilidad de los coeficientes, obtener rápidamente una implementación a partir de un determinado conjunto inicial de datos, etc.

Si bien, los segmentos de código ofrecidos anteriormente sirven para calcular la salida a partir de la entrada en el momento n(x(n)), los coeficientes y los valores retardados, es necesario, tras el cálculo la salida, calcular el valor retardado que será usado para el cálculo de la siguiente salida, es decir, las variables u1(n+1) en la Figura 4.52(a) y w1(n+1) en la Figura 4.52 (b). Para la implementación en software de la realización de la Figura 4.52(a) seria:

u1(n+1)=tmp1+x(n); u2(n+1)=u1(n); u3(n+1)=u2(n); u4(n+1)=u3(n);

y para la implementación en software de la realización la Figura 4.52(b) sería:

u1(n+1)= tmp1+y1(n);

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 4: RESOLUCION Capitulo4 soria porras

u2(n+1)=w1(n);

Vamos a suponer que se pretende obtener la salida del sistema ante la entrada rampa

x (n )={1,2,3,4,5,6,7,8 }

El sistema se realizaría mediante un bucle. Para cada iteración del bucle se calcula la salida y los nuevos valores que contendrán los bloques de retardo en la siguiente iteración, que es el estado del sistema, y serán utilizados para el cálculo de la siguiente salida. Para un sistema L.I.T. causal se supone y (n)=0 para n<0, por lo que para el cálculo de y (0) todos los bloques de retardo poseen valor a cero.

Antes de pasar al código en MATLAB, cabe remarcar que existe una objeción en la programación de esto en MATLAB; este entorno no permite utilizar el índice 0 (al contrario que C), por lo que se asumirá que y (n)=0, x (n)=0 para n≤0. Así, la realización de la forma directa II queda:

x=[1 2 3 4 5 6 7 8];u1(1)=0;u2(1)=0;u3(1)=0;u4(1) =0;

for n=1:10tmp1=-a1*u1(n)-a2*u2(n)-a3*u3(n)-a4*u4(n); tmp2= b1*u1(n)+b2*u2(n);y(n)=(tmp1+x(n))*b0 + tmp2;

u1(n+1)=tmp1+x(n); u2(n+1)=u1(n); u3(n+1)=u2(n); u4(n+1)=u3(n);

end

plot(y)

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 5: RESOLUCION Capitulo4 soria porras

Vemos que las partes en que podemos dividir la realización son:

A. Inicialmente se define la entrada, vector x como rampa en este caso.B. Se inicializan las variables que representan los bloques de retardo de u1

a u4.C. El bucle itera 10 veces, una para cada uno de los elementos de la

entrada, calculando la salida del sistema para cada iteración.D. Finalmente se realiza la visualización de los datos de salida.

El código completo para la realización de Figura 4.52(b) se obtiene mediante un procedimiento análogo.4.57. Programe la realización del sistema que se muestra en la Figura 4.53 a partir de su ecuación en diferencias

Figura 4.53 Diagrama de bloques del sistema propuesto.

Resolución

Para obtener la ecuación en diferencias del sistema, partimos del siguiente sistema de ecuaciones en diferencias:

v (n+1 )=x (n )+ 12v (n )

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 6: RESOLUCION Capitulo4 soria porras

y (n )=2 x (n )+3(x (n )+12v (n ))+4 v (n)

Pasando ambas al dominio Z, podemos obtener la función de transferencia

H ( z )=Y (z )X (z)

= 5+3 z−1

1−12z−1

por lo que la ecuación en diferencias del sistema es:

y (n )=5 x (n )+3 x (n−1 )+12y (n−1 )

Ésta se puede usar para realizar el sistema sin utilizar variables internas, únicamente mediante entradas y salidas presentes y anteriores. En este caso, la programación de la realización es parecida a la del código del Ejercicio 4.56. Consideraremos la entrada x (n)=2∗n. Cabe recordar la limitación de MATLAB de no poder utilizar índices nulos en los vectores.

x=[2 4 6 8 10 12 14 16 18 20]; y(1)=5*x(1);

for n=2:10y(n)=5*x(n)-2*x(n-1)+0.5*y(n-1);

end

plot(y)

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 7: RESOLUCION Capitulo4 soria porras

Como vemos, el código resulta sencillo. Sin embargo, existen sensibles diferencias con respecto al ejercicio anterior ya que no se utilizan los valores de los bloques de retardo, es decir, el estado del sistema. La estructura de la programación es:

1. Definición del vector que contiene la entrada.2. Inicialización.3. Iteración para obtener salidas mediante un bucle.4. Visualización de la salida.

Comentaremos a continuación ciertas peculiaridades de interés:

En la inicialización se define y (1)=5∗x (1), es decir, la salida para n=1. El bucle se utiliza para calcular las salidas y (2) a y (10). Esto se hace así para evitar errores en MATLAB. Si eliminamos la línea de inicialización y forzamos el cálculo de y(1) en el bucle, en la primera iteración tendríamos y(1)=5*x(1)-2*x(0)+0.5*y(0). Nótese que la definición de x(0) e y(0) no está permitida en MATLAB (índice nulo), por lo que se produciría un error. Por ello, como conocemos las condiciones iniciales de entrada y salida, forzamos a x(0)=y(0)=0 y calculamos y(1) antes del bucle como y(1)=5*x(1).

Nótese que la primera iteración del bucle calcula y(2) mediante y(2)=5*x(2)-2*x (1)+0.5*y(1). En general, para orden N, tendríamos que calcular inicialmente antes del bucle las salidas desde y(1) hasta y(N) para evitar errores con los índices.

Cabe destacar que realizar directamente el sistema a partir de la ecuación en diferencias equivale a una realización en forma directa. Este tipo de realización es permisible en un entorno como MATLAB. con gran cantidad de memoria disponible y aritmética de gran precisión. Sin embargo, debe evitarse, en general, en realizaciones reales mediante procesadores con aritmética en punto fija.

4.58 Dado el sistema IIR representado por la función de transferencia:

H ( z )=2+12 z−1+24 z−2+34 z−3+31 z−4+14 z−5+4 z−6

16+20 z−1+24 z−2+24 z−3+14 z−4+5 z−5+z−6

Obtenga, mediante el entorno MATLAB:

a) Los coeficientes para la realización en cascada de H(z).

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 8: RESOLUCION Capitulo4 soria porras

b) Los coeficientes de la realización paralela de H(z).c) Los coeficientes de reflexión [Ki] y de escalera (vi) de la realización en

celosía escalonada.Resolución

La función de transferencia dada proporciona los coeficientes para la realización en forma directa. Mediante MATLAB podemos obtener fácilmente los coeficientes para otras realizaciones.

a) Para realizar el sistema en cascada se ha de representar la función de transferencia H(z) factorizada, formada generalmente por etapas de segundo orden. Para ello utilizamos el siguiente código:

num=[2 12 24 34 31 14 4]; den=[16 20 24 24 14 5 1]; [z,p,k]=tf2zp(num,den); [sos,G]=zp2sos(z,p,k);

La función zp2sos agrupa los polos y los ceros complejos conjugados para crear las secciones de segundo orden. Cada fila de la matriz sos resultante representa una etapa de la cascada. Por defecto, la función zp2sos ordena las secciones por orden ascendente de la distancia de los polos al cero. Es decir, la primera fila corresponde a aquella etapa que contiene los polos más cercanos al origen. Así,

sos=[0.13 4.87 4.201.00 0.57 0.281.00 0.57 1.68

1.00 0.39 0.201.00 1.12 0.341.00 −0.26 0.92]

donde los elementos se han redondeado a dos cifras decimales. Además, mediante el uso del resto de parámetros disponibles, zpsos permite ordenar las secciones para minimizar la posibilidad de overflow en la realización, minimizar el ruido de redondeo a la salida, etc.

Los coeficientes de la realización son los de la siguiente representación factorizada de H (z ):

H ( z )=

0.13+4.87 z−1+4.20 z−2

1+0.39 z−1+0.20 z−2∗1+0.57 z−1+0.28 z−2

1+1.12 z−1+0.34 z−2∗1+0.57 z−1+1.68 z−2

1−0.26 z−1+0.92 z−2

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 9: RESOLUCION Capitulo4 soria porras

b) Para obtener los coeficientes de la realización en paralelo, utilizamos la función residuez, que proporciona los residuos, polos y términos directos de la expansión en fracciones parciales. El código que se debe utilizar es sencillamente:

[r,p,k]-residuez(num,den);

Esta sentencia asigna al vector r los residuos, al vector p los polos y ni k los términos directos.La función de transferencia H(z), desarrollada en fracciones parciales, queda:

r (1 )=−0.3712+0.1173 j p (1 )=0.1321+0.9526 jr (2 )=−0.9902+2.2059 j p (2 )=−0.5623+0.2393 jr (3 )=−0.5761+0.1071 j p (3 )=−0.1948+0.4043 j

H ( z )=4+ r (1 )1−p (1 ) z−1

+r (1 )¿

1−r (1 )¿ z−1+

r (2 )1−p (2 ) z−1

+r (2 )¿

1−r (2 )¿ z−1+

r (3 )1−p (3 ) z−1

+r (3 )¿

1−r (3 )¿ z−1

Podemos, por otro lado, utilizar la función residuez en la forma inversa, [num,den]=residuez ¿), para convertir de nuevo la expansión en fracciones parciales a la forma num/den.

Para eliminar los coeficientes complejos agruparemos en etapas de segundo orden las fracciones de polos complejos conjugados. Para realizar las sumas de dichas fracciones, podemos hacerlo, como hemos descrito, mediante la función residuez.[n1,d1]=residuez(r(1:2),p(1:2),0);[n2,d2]=residuez(r(3:4),p(3:4),0);[n3,d3]=residuez(r(5:6),p(5:6),0);

Así, obtenemos finalmente los coeficientes de la realización en paralelo con:

H ( z )=4+ −0.74−0.13 z−1

1−0.26 z−1+0.92 z−2+ −1.98−1.45 z−1

1−1.12 z−1+0.34 z−2+ −1.15−0.13 z−1

1+0.39 z−1+0.20 z−2

Donde los coeficientes han sido redondeados a dos cifras decimales.

c) Finalmente, los coeficientes para la realización en celosía escalonada se obtienen directamente mediante la función tf2latc de la siguiente manera:

[k , v ]=tf 21atc(num ,den);

Ésta proporciona los coeficientes de reflexión:K 1=0,1901 , K2=0,5537 ,

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN

Page 10: RESOLUCION Capitulo4 soria porras

K 3=0,7591 , K 4=0,5226 ,

K 5=0,2353 , K 6=0,0625

y los coeficientes de escalera:

V 0=−0,4518 ,V 1=−4,6006 ,V 2=−4,1447 ,V 3=−0,2503 ,V 4=6.9412 ,V 5=4,5 ,V 6=2.

PROCESAMIENTO DIGITAL DE SEÑALES CARRERA DE ING EN ELECTRÓNICA E INSTRUMENTACIÓN