Procesamiento Digital de Señales Sistemas Discretos, Transformada Z y Aplicaciones en Sistemas LTI

28
Procesamiento Digital de Se˜ nales Laboratorio 3 Sistemas Discretos, Transformada Z y Aplicaciones en Sistemas LTI Jos´ e Quintanilla, Sebasti´ an Tobar, Pedro Torres [email protected], [email protected], [email protected] Resumen El prop´ osito de este laboratorio es aplicar conceptos b´ asicos de sistemas en tiempo discreto, incluyendo aspectos asociados a sistemas lineales invariantes en el tiempo (LTI), y su divisi´ on en sistemas FIR (Finite-Duration Impulse Response) e IIR (Infinite-Duration Impulse Response), la transformada Z y sus aplicaciones al an´ alisis de sistemas LTI. 1. I NTRODUCCI ´ ON Para este laboratorio ya se han visto los temas sistemas lineales invariantes en el tiempo (LTI), y su divisi´ on en sistemas FIR (Finite-Duration Impulse Response) e IIR (Infinite-Duration Impulse Response), la transformada Z y sus aplicaciones al an´ alisis de sistemas LTI. Cada uno de estos t´ opicos se centran en gran medida en el ´ area de se˜ nales de car´ acter discreta, en este laboratorio se abordar´ an reconocimiento de propiedades de los sistemas discretos, utilizaci´ on de la transformada Z y tambi´ en la creaci´ on de sistemas con los cuales se pueden manipular se˜ nales tan complejas como un sonido. 2. DESARROLLO 2-A. EVALUACI ´ ON DE PROPIEDADES DE SISTEMAS A los dispositivos que operan sobre se˜ nales de variable discreta (o tiempo discreto) se les denomina sistemas discretos. En general, reciben una se˜ nal de entrada x(n) para producir una se˜ nal de salida y(n). Se dice que el sistema transforma x(n) en y(n), lo que se expresa como: y(n)= τ [x(n)] donde τ [x(n)] representa al operador de transformaci´ on o procesamiento realizado por el sistema sobre x(n) para producir y(n). Una descripci´ on de entrada-salida define la relaci´ on entre x(n) y y(n). La estructura interna del sistema es desconocida o ignorada, es decir, el sistema se considera como una caja negra cuyo funcionamiento interno no interesa, sino el comportamiento espec´ ıfico ante cierta entrada, tal como se ver´ a a continuaci´ on. 1. Se han entregado tres archivos de MATLAB pre-compilados , los cuales representan tres sistemas desconocidos. Los archivos funcionan como funciones de MATLAB de modo que y = bboxN (x), donde x e y son las entradas y salidas de cada sistema con N = 1, 2, 3. se sabe que solo uno de estos sistemas es no-lineal y solo uno es variante en el tiempo. El trabajo es evaluar las propiedades de los tres sistemas e identificar los sistemas no-lineal y variante en el tiempo.

description

sistemas lineales invariantes en el tiempo (LTI), y su division ensistemas FIR (Finite-Duration Impulse Response) e IIR (Infinite-Duration Impulse Response), la transformada Z y susaplicaciones al an ´ alisis de sistemas LTI. Cada uno de estos topicos se centran en gran medida en el area de señales decaracter discreta, en este laboratorio se abordaran reconocimiento de propiedades de los sistemas discretos, utilizacionde la transformada Z y tambien la creacion de sistemas

Transcript of Procesamiento Digital de Señales Sistemas Discretos, Transformada Z y Aplicaciones en Sistemas LTI

  • Procesamiento Digital de Senales

    Laboratorio 3 Sistemas Discretos, Transformada

    Z y Aplicaciones en Sistemas LTI

    Jose Quintanilla, Sebastian Tobar, Pedro Torres

    [email protected], [email protected], [email protected]

    Resumen

    El proposito de este laboratorio es aplicar conceptos basicos de sistemas en tiempo discreto, incluyendo aspectos

    asociados a sistemas lineales invariantes en el tiempo (LTI), y su division en sistemas FIR (Finite-Duration Impulse

    Response) e IIR (Infinite-Duration Impulse Response), la transformada Z y sus aplicaciones al analisis de sistemas LTI.

    1. INTRODUCCION

    Para este laboratorio ya se han visto los temas sistemas lineales invariantes en el tiempo (LTI), y su division en

    sistemas FIR (Finite-Duration Impulse Response) e IIR (Infinite-Duration Impulse Response), la transformada Z y sus

    aplicaciones al analisis de sistemas LTI. Cada uno de estos topicos se centran en gran medida en el area de senales de

    caracter discreta, en este laboratorio se abordaran reconocimiento de propiedades de los sistemas discretos, utilizacion

    de la transformada Z y tambien la creacion de sistemas con los cuales se pueden manipular senales tan complejas

    como un sonido.

    2. DESARROLLO

    2-A. EVALUACION DE PROPIEDADES DE SISTEMAS

    A los dispositivos que operan sobre senales de variable discreta (o tiempo discreto) se les denomina sistemas discretos.

    En general, reciben una senal de entrada x(n) para producir una senal de salida y(n). Se dice que el sistema transforma

    x(n) en y(n), lo que se expresa como:

    y(n) = [x(n)]

    donde [x(n)] representa al operador de transformacion o procesamiento realizado por el sistema sobre x(n) para

    producir y(n). Una descripcion de entrada-salida define la relacion entre x(n) y y(n). La estructura interna del sistema

    es desconocida o ignorada, es decir, el sistema se considera como una caja negra cuyo funcionamiento interno no

    interesa, sino el comportamiento especfico ante cierta entrada, tal como se vera a continuacion.

    1. Se han entregado tres archivos de MATLAB pre-compilados , los cuales representan tres sistemas desconocidos.

    Los archivos funcionan como funciones de MATLAB de modo que y = bboxN (x), donde x e y son las entradas

    y salidas de cada sistema con N = 1, 2, 3. se sabe que solo uno de estos sistemas es no-lineal y solo uno es

    variante en el tiempo. El trabajo es evaluar las propiedades de los tres sistemas e identificar los sistemas no-lineal

    y variante en el tiempo.

  • a) Linealidad:

    Un sistema es lineal si satisface el teorema de superposicion, es decir, para cualesquiera dos constantes a1, a2 y

    para toda senal x1(n) y x2(n) se cumple:

    [a1x1(n) + a2x2(n)] = a1 [x1(n)] + a2 [x2(n)]

    Un esquema de verificacion de linealidad se muestra a continuacion, donde el sistema es lineal si y solo si para

    todo par de entradas x1(n) y x2(n) y para cualesquiera dos constantes a1, a2 siempre la salida d(n) es cero.

    Figura 1. Verificacion de linealidad.

    Este mismo procedimiento se hara para cada uno de los 3 sistemas, pero no con 2 senales, sino con 5 y todas

    de distinto tipo, para forzar aun mas el descubrimiento de las propiedades de los sistemas, en este caso la

    propiedad de linealidad, las senales seran del tipo sinusoidal, constante y de ruido, las cuales seran ponderadas

    con distintas constantes para comprobar su propiedad multiplicativa, tambien seran todas estas senales sumadas

    para as comprobar tambien la propiedad de suma. El procedimiento se llevara a cabo en MATLAB y de manera

    grafica, basandose en que si se grafican las distintas respuestas que se generan en el metodo de verificacion

    mostrado de cada sistema, una encima de la otra, estas deberan aparecer montadas por lo cual se vera una sola

    grafica comun, lo que no ocurrira con un sistema no lineal.

    A continuacion se muestra el codigo generado para descubrir el sistema buscado y para luego mostrar los graficos.

    1 clear all;

    2 clc;

    3 ts=1/1000; %tiempo muestreo

    4 fs=1000;

    5 t=[ts:ts:2];

    6 min=0; %amplitud min senal 4

    7 max=1; %amplitud max senal 4

    8 x1=sin(2*pi*5*t); %senal 1

    9 x2=0*t+5; %senal 2

    10 x3=sin(2*pi*3*t); %senal 3

    11 x4=min+(max-min).*rand(1,2000);%senal 4

    12 x5=square(2*pi*50*t);%senal 5

    13

    14 a1=0.5;

  • 15 a2=2;

    16 a3=1;

    17 a4=13;

    18 a5=1;

    19 suma=a1*x1+a2*x2+a3*x3+a4*x4+a5*x5; %suma completa

    20

    21 %% linealidad sistema 1

    22 Ssuma1=bbox1(suma);

    23 Sx11=a1*bbox1(x1);

    24 Sx21=a2*bbox1(x2);

    25 Sx31=a3*bbox1(x3);

    26 Sx41=a4*bbox1(x4);

    27 Sx51=a5*bbox1(x5);

    28 descomp1=Sx11+Sx21+Sx31+Sx41+Sx51;

    29 subplot 311

    30 plot(t,Ssuma1,'r','linewidth',3);

    31 xlabel('Tiempo [s]');

    32 ylabel('amplitud');

    33 title('Linealidad sistema bbox1');

    34 hold on

    35 subplot 311

    36 plot(t,descomp1,'linewidth',3);

    37

    38 %% linealidad sistema 2

    39 Ssuma2=bbox2(suma);

    40 subplot 312

    41 plot(t,Ssuma2,'r','linewidth',3);

    42 xlabel('Tiempo [s]');

    43 ylabel('amplitud');

    44 title('Linealidad sistema bbox2');

    45 hold on

    46 Sx12=a1*bbox2(x1);

    47 Sx22=a2*bbox2(x2);

    48 Sx32=a3*bbox2(x3);

    49 Sx42=a4*bbox2(x4);

    50 Sx52=a5*bbox2(x5);

    51 descomp2=Sx12+Sx22+Sx32+Sx42+Sx52;

    52 plot(t,descomp2,'linewidth',3);

    53

    54 %% linealidad sistema 3 (no lineal, ver pintas rojas)

    55 Ssuma3=bbox3(suma);

    56 subplot 313

    57 plot(t,Ssuma3,'b','linewidth',3);

    58 xlabel('Tiempo [s]');

    59 ylabel('amplitud');

    60 title('Linealidad sistema bbox3 (no lineal)');

    61 hold on

    62 Sx13=a1*bbox3(x1);

    63 Sx23=a2*bbox3(x2);

    64 Sx33=a3*bbox3(x3);

    65 Sx43=a4*bbox3(x4);

    66 Sx53=a5*bbox3(x5);

  • 67 descomp3=Sx13+Sx23+Sx33+Sx43+Sx53;

    68 plot(t,descomp3,'r','linewidth',3);

    En donde a simple vista en la figura 2 (siguiente pagina), no se pueden apreciar grandes diferencias, pero si se

    mira con mas atencion, los sistemas bbox1 y bbox2 tienen una misma grafica en comun por lo que se puede

    afirmar que son lineales, ya que que solo el sistema bbox3 se comporta como no lineal, y el grafico presentado es

    el contra ejemplo buscado para afirmarlo, ya que en la tercera casilla de la figura se deben apreciar los pequenos

    resaltos de una senal por sobre la que se encuentra encima, lo cual no sucede con los primeros dos sistemas

    sometidos a la prueba, por lo cual se puede decir que el sistema no lineal buscado, el es sistema bbox3.

  • 00.

    20.

    40.

    60.

    81

    1.2

    1.4

    1.6

    1.8

    2050100

    150

    Tiem

    po [s

    ]

    amplitud

    Line

    alid

    ad s

    istem

    a bb

    ox1

    00.

    20.

    40.

    60.

    81

    1.2

    1.4

    1.6

    1.8

    2

    2024x

    104

    Tiem

    po [s

    ]

    amplitud

    Line

    alid

    ad s

    istem

    a bb

    ox2

    00.

    20.

    40.

    60.

    81

    1.2

    1.4

    1.6

    1.8

    20102030

    Tiem

    po [s

    ]

    amplitud

    Line

    alid

    ad s

    istem

    a bb

    ox3

    (no lin

    eal)

    Figu

    ra2.

    Com

    prob

    acio

    nlin

    ealid

    adde

    sist

    emas

    .

  • b) Sistemas variantes e invariantes en el tiempo

    Un sistema en reposo es invariante en el tiempo o invariante al desplazamiento si y solo si:

    x(n) y(n) x(n k) y(n k)

    En el diagrama de bloques de la figura 3, el sistema es invariante en el tiempo si y solo si la salida d(n) es

    cero para todas las entradas x(n) y para todos los valores de retardo k.

    Figura 3. Comprobacion de invariabilidad en el tiempo.

    Al igual que en la propiedad anterior esta se comprobara graficamente con el mismo principio de comparacion,

    esta vez se debe incluir retardos en el tiempo por lo cual habra que modificar los vectores de tiempo en conjunto

    con los de valores de senales, para que, por medio de ceros en los vectores, hacer un efecto de retraso en la

    senal. Esta vez se utilizo una sola senal para buscar el unico sistema variante en el tiempo, esta senal es un

    impulso definido con amplitud 1 en el instante 0 seguido de muchos ceros a medida que el tiempo avanza. El

    codigo fue hecho en base al diagrama de bloques anteriormente mostrado pero asumiendo que la ultima resta es

    la comparacion visual de cada grafico y sus dos senales, en donde a la primera respuesta se le agrega un efecto de

    retardo para as poder comparar de manera equitativa las dos senales, que de ser invariantes en el tiempo debieran

    coincidir. Codigo y graficos que se muestran a continuacion:

    1 %% senal impulso

    2 prueba=[ts:ts:3];

    3 tx=[ts:ts:2.3];

    4 delta =[ones(1,1),zeros(1,2299)];

    5 deltadesp =[zeros(1,700),ones(1,1),zeros(1,2299)];

    6 resp1=bbox1(delta);

    7 resp2=bbox2(delta);

    8 resp3=bbox3(delta);

    9

    10 figure();

    11 subplot 311

    12 plot(tx,resp1,'linewidth',3);

    13 subplot 312

    14 plot(tx,resp2,'linewidth',3);

    15 subplot 313

    16 plot(tx,resp3,'linewidth',3);

  • 17

    18 resp12=bbox1(deltadesp);

    19 resp22=bbox2(deltadesp);

    20 resp32=bbox3(deltadesp);

    21

    22 normaldesplazada1=[zeros(1,700),resp1];

    23 normaldesplazada2=[zeros(1,700),resp2];

    24 normaldesplazada3=[zeros(1,700),resp3];

    25

    26 figure();

    27 subplot 311

    28 plot(prueba,resp12,'r','linewidth',3);

    29 hold on

    30 subplot 311

    31 plot(prueba,normaldesplazada1,'b','linewidth',2);

    32

    33 subplot 312

    34 plot(prueba,resp22,'r','linewidth',0.1);

    35 axis([0,3,-1,1.5]);

    36 hold on

    37 subplot 312

    38 plot(prueba,normaldesplazada2,'linewidth',2);

    39

    40 subplot 313

    41 plot(prueba,resp32,'rx','linewidth',2);

    42 hold on

    43 subplot 313

    44 plot(prueba,normaldesplazada3);

    Como se puede a preciar en la figura 4 en el sistema bbox1 se produce una respuesta en el tiempo 0 muy parecida

    a la misma entrada impulso, en el sistema bbox2 se produce una salida tipo escalon de amplitud 1, mientras

    que en el sistema bbox3 la respuesta es igual a 0. Lo que se comprobara ahora es que estas mismas entradas,

    pero desplazadas en el tiempo, deberan dar la misma respuesta, pero desplazadas tambien en el tiempo, lo cual

    se puede ver en la figura 5.

  • 0 0.5 1 1.5 20

    1

    2

    Tiempo [s]

    am

    plitu

    d

    respuesta impulso sistema bbox1

    0 0.5 1 1.5 20

    1

    2

    Tiempo [s]

    am

    plitu

    d

    respuesta impulso sistema bbox2

    0 0.5 1 1.5 21

    0

    1

    Tiempo [s]

    am

    plitu

    d

    respuesta impulso sistema bbox3

    Figura 4. Respuestas a impulso sin retardo.

    0 0.5 1 1.5 2 2.5 30

    1

    2

    Tiempo [s]

    am

    plitu

    d

    variabilidad sistema bbox1

    0 0.5 1 1.5 2 2.5 31

    0

    1

    Tiempo [s]

    am

    plitu

    d

    variabilidad sistema bbox2

    0 0.5 1 1.5 2 2.5 31

    0

    1

    Tiempo [s]

    am

    plitu

    d

    variabilidad sistema bbox3

    Figura 5. Comprobacion de invariabilidad en el tiempo.

    Se puede apreciar a simple vista que la respuesta del sistema bbox2 no se corresponde con el de la respuesta

    desplazada que esta en la misma casilla, por lo cual este es es sistema variante en el tiempo buscado, por

    ende de todos los demas, se podra decir, que son invariantes en el tiempo. En el primer y tercer sistema, el

  • impulso normal y el desplazado tuvieron la misma respuesta en amplitud y sacando los efectos del retraso las dos

    respuestas se igualaban, cosa que no sucedio en el sistema bbox2 ya que el impulso sin retardo genero una salida

    correspondiente a una senal oscilatoria, mientras que la senal desplazada, produjo una senal escalon retrasada,

    por lo cual en este sistema si afectan los efectos de retardo y por ende con este contra ejemplo es suficiente para

    determinar que el sistema bbox2 en variante en el tiempo.

    b) Estabilidad y causalidad de los sistemas

    Un sistema es estable en el sentido BIBO (bounded input, bounded output), siempre que se cumpla:

    n=

    |h(n)|

  • 9 delta(i)= 1;

    10 end

    11 end

    12 stem(tiempo,delta); %creacion de impulso discreto

    13

    14

    15 x1=bbox1(delta);

    16 x2=bbox2(delta);

    17 x3=bbox3(delta);

    18

    19 subplot 311

    20 plot(tiempo,x1,'linewidth',2);

    21 xlim([-na nb]);

    22 grid on

    23 xlabel('Tiempo [s]');

    24 ylabel('amplitud');

    25 title('causalidad sistema bbox1');

    26

    27 subplot 312

    28 plot(tiempo,x2,'linewidth',2);

    29 xlim([-na nb]);

    30 grid on

    31 xlabel('Tiempo [s]');

    32 ylabel('amplitud');

    33 title('causalidad sistema bbox2');

    34

    35 subplot 313

    36 plot(tiempo,x3,'linewidth',2);

    37 xlim([-na nb]);

    38 grid on

    39 xlabel('Tiempo [s]');

    40 ylabel('amplitud');

    41 title('causalidad sistema bbox3');

  • 20 15 10 5 0 5 10 15 200

    1

    2

    muestras [n]

    am

    plitu

    d

    causalidad sistema bbox1

    20 15 10 5 0 5 10 15 201

    0

    1

    muestras [n]

    am

    plitu

    d

    causalidad sistema bbox2

    20 15 10 5 0 5 10 15 201

    0

    1

    muestras [n]

    am

    plitu

    d

    causalidad sistema bbox3

    Figura 6. Comprobacion de causalidad.

    Como se observa en los graficos los sistemas bbox1 y bbox2 no se cumple con la condicion de causalidad

    mencionada anteriormente, ya que la salida no es 0 o nula antes del instante 0, por lo tanto estos sistemas son

    no causales, mientras que el sistema bbox3 si cumple con la propiedad, ya que antes del instante 0 su salida es

    nula.

    En un analisis mas extenso se puede decir que un sistema causal solo depende de las entradas presentes y pasadas

    como tambien de salidas pasadas, cosa que no se cumple al ver el comportamiento del sistema bbox2, ya que

    como se observa en la figura 5, la naturaleza de su respuesta cambia dependiendo del lugar en el tiempo en donde

    se representa el impulso, ya que por una parte se obtiene una respuesta tipo escalon y por otra, una senal mas

    cercana a una senal sinusoidal o de ruido, distinto es en el caso de bbox1 ya que para descubrir su no causalidad,

    hubo que definir un tiempo negativo cosa que no se observo en los analisis anteriores.

    2-B. INVERSION DE SISTEMAS

    Considere el sistema y = SA(x) dado por y[n] = 12y[n 1] x[n].1) Obtenga una expresion para el sistema inverso y = SB(x) de modo que = SB(SA()), donde representa

    una funcion impulso en tiempo discreto. Ya que los sistemas son lineales, para cualquier entrada x[n] se obtiene

    x = SB(SA(x)). Estos sistemas se llaman inversos ya que cancelan sus efectos mutuamente.

    Para encontrar la expresion y = SB(x) se hara uso de una propiedad que relaciona los sistemas inversos y la

    convolucion, esta dice que:

    h(n) hi(n) = (n)

  • donde h(n) corresponde a la respuesta impulso del sistema y = SA(x) y hi(n) es la respuesta impulso del sistema

    y = SB(x).

    Esta propiedad permite encontrar hi(n) para una respuesta h(n) determinada. Pero en el dominio del tiempo

    se hace bastante complicado, por tanto se hace uso de la transformada Z para encontrar mas facilmente esta

    expresion, quedando la propiedad de la forma:

    h(z)hi(z) = 1

    Donde se despeja hi(z)

    hi(z) =1

    h(z)

    Dicho lo anterior, a la expresion y = SA(x), se le aplicara la transformada Z, para obtener su respuesta impulso

    de manera mas rapida.

    y(z) =1

    2y(z)z1 x(z)

    y(z)(1 12z1) = x(z)

    h(z) =y(z)

    x(z)=

    112z1 1

    Tomando en cuenta las expresiones anteriores:

    hi(z) =1

    2z1 1

    Donde la respuesta impulso del sistema inverso en el tiempo sera:

    hi(n) =1

    2(n 1) (n)

    De la expresion anterior es posible saber cual es la funcion que representa al sistema y = SB(x), este vendra a

    ser el siguiente:

    y = SB(x) =1

    2x(n 1) x(n)

    2) Escriba una funcion en Matlab que implemente el sistema y = SB(x) y obtenga la respuesta de impulso de

    SB y SB(SA).

    1 t =0:10; %definicion de un vector tiempo.

    2

    3 figure

    4 imp = zeros(1,11);%definicion de un vector para representar un impulso.

    5 imp(1)=1; %se define el primer valor del vector impulso como 1.

    6 stem(t,imp); %grafica del impulso.

    7 title('Funcion Impulso','FontWeight','Bold','Fontsize',10,'Color','k') % Titulo

    8 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k') % Etiqueta el eje x

    9 ylabel('Y = Impulso','FontWeight','Bold','Fontsize',8,'Color','k') % Etiqueta el eje y

    10

    11

    12 x=imp; %se define la entrada 'x' como un impulso.

  • 13

    14 figure

    15 y = [1,11]; %se define la funcion 'y' como un vector

    16 y(1) = 0.5*(0)-x(1); %funcion que define a 'y'; en este caso el primer valor.

    17 n=1; %definicion de 'n' como 1; deberia ser 0

    18 for i=1:10 %inicio de un ciclo for para generar la funcion 'y'.

    19 n=n+1; %se va aumentando el valor de 'n'.

    20 y(n)=0.5*(y(n-1))-x(n); %la funcion 'y'; este caso los valores siguientes.

    21 end

    22 stem(t,y); %grafica de la funcion 'y'; especificamente su respuesta impulso de y=SA(x).

    23 title('Funcion Y=SA(Impulso)','FontWeight','Bold','Fontsize',10,'Color','k') % Titulo

    24 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k') % Etiqueta el eje x

    25 ylabel('Y=SA(Impulso)','FontWeight','Bold','Fontsize',8,'Color','k') % Etiqueta el eje y

    26

    27 figure

    28 h_2 = [1,11]; %se define la funcion 'h_2' como un vector

    29 h_2(1) = -(x(1)-0.5*0); %funcion que define a 'h_2'; en este caso el primer valor.

    30 n=1; %definicion de 'n' como 1; deberia ser 0

    31 for i=1:10 %inicio de un ciclo for para generar la funcion 'h_2'.

    32 n=n+1 %se va aumentando el valor de 'n'.

    33 h_2(n) = -(x(n)-0.5*x(n-1)); %la funcion 'h_2'; este caso los valores siguientes.

    34 end

    35 stem(t,h_2); %grafica de la funcion 'h_2'; que es la respuesta impulso de y = SB(x).

    36 title('Funcion Y=SB(Impulso)','FontWeight','Bold','Fontsize',10,'Color','k') % Titulo

    37 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k') % Etiqueta el eje x

    38 ylabel('Y=SB(Impulso)','FontWeight','Bold','Fontsize',8,'Color','k') % Etiqueta el eje y

    39

    40 figure

    41 y_2 = [1,11]; %se define la funcion 'y_2' como un vector

    42 y_2(1) = -(y(1)-0.5*(0)); %funcion que define a 'y_2'; en este caso el primer valor.

    43 n=1; %definicion de 'n' como 1; deberia ser 0

    44 for i=1:10 %inicio de un ciclo for para generar la funcion 'y_2'.

    45 n=n+1 %se va aumentando el valor de 'n'.

    46 y_2(n) = -(y(n)-0.5*y(n-1)); %la funcion 'y_2'; este caso los valores siguientes.

    47 end

    48 stem(t,y_2); %grafica de la funcion 'y_2'; que es la respuesta impulso de y_2 = SB(SA(x)).

    49 title('Funcion Y=SB(SA(Impulso))','FontWeight','Bold','Fontsize',10,'Color','k') % Titulo

    50 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k') % Etiqueta el eje x

    51 ylabel('Y=SB(SA(Impulso))','FontWeight','Bold','Fontsize',8,'Color','k') % Etiqueta el eje y

  • 0 2 4 6 8 100

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Funcin Impulso

    n

    Y =

    Impu

    lso

    Figura 7. Funcion impulso.

    0 2 4 6 8 101

    0.9

    0.8

    0.7

    0.6

    0.5

    0.4

    0.3

    0.2

    0.1

    0Funcin Y=SA(Impulso)

    n

    Y=SA

    (Impu

    lso)

    Figura 8. Respuesta a impulso SA.

  • 0 2 4 6 8 101

    0.5

    0

    0.5Funcin Y=SB(Impulso)

    n

    Y=SB

    (Impu

    lso)

    Figura 9. Respuesta a impulso SB .

    0 2 4 6 8 100

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Funcin Y=SB(SA(Impulso))

    n

    Y=SB

    (SA(

    Impu

    lso))

    Figura 10. Respuesta SB(SA(Impulso)).

    3) Exprese el sistema y = SB(x) utilizando una ecuacion de diferencias no recurrente (la salida depende solo

    de las componentes de la entrada) y una ecuacion de diferencias recurrente (la salida depende tanto de las

    componentes de la entrada como de la componentes previas de la salida). Dibuje los diagramas en bloque de estas

  • dos implementaciones Es la respuesta a impulso igual en estos casos? Justifique.

    Para la ecuacion de diferencias de tipo no recurrente basta con usar la definida en el punto 1. Esta es:

    y = SB(x) =1

    2x(n 1) x(n)

    El diagrama de bloques de esta expresion sera:

    Figura 11. Diagrama de bloques no recurrente.

    Ahora para la ecuacion de caracter recurrente, es necesario implementar de alguna forma los valores de la salida

    previos. Para ello se hace uso de una propiedad matematica, basada en encontrar la media acumulada de la funcionx en el intervalo 0 k n, y tambien en el intervalo 0 k n 1.

    y(n) =1

    n+ 1(

    nn=0

    x(k) +

    n1n=0

    1

    2x(k))

    y(n) =1

    n+ 1(

    n1n=0

    x(k) x(k) + 12x(n 1))

    y(n) =1

    n+ 1(ny(n 1) x(n) + 1

    2(n 1)y(n 2) + 1

    2x(n 1))

    y(n) = nn+ 1

    y(n 1) 1n+ 1

    x(n) +(n 12(n+ 1)

    )y(n 2) + 12(n+ 1)

    x(n 1)

    El diagrama de bloques de esta expresion sera:

    Figura 12. Diagrama de bloques recurrente.

    Para el caso de aplicar una entrada impulso a cada expresion las respuestas no son iguales, esto debido al hecho

    de que la segunda ecuacion es recursiva. Para la primera funcion su salida depende netamente del impulso como

  • entrada, esto quiere decir que la funcion y(n) no recursiva solo tendra un valor distinto de 0 cuando el argumento

    de la entrada sea 0. En cambio, en la funcion recursiva el valor de y(n) como toma en cuenta las salidas previas,

    su respuesta variara dependiendo de los valores que vaya emitiendo la senal. Cabe mencionar el hecho de cuando

    n = 0 la respuesta de la senal recursiva como la de la senal no recursiva son iguales, y cuando n < 0, las senales

    ya no emiten los mismos valores, esto ya que las salidas previas de y(n) son 0 porque la senal impulso de entrada

    en esos puntos es nula.

    2-C. INTEGRALES Y DERIVADAS EN TIEMPO DISCRETO

    Considere los siguientes sistemas en tiempo continuo:

    La derivada esta dada por el sistema y = S1(x) donde y(t) = ddtx(t).

    La integral esta dada por el sistema y = S2(x) donde y(t) = tx() d.

    1) Formule sistemas en tiempo discreto que aproximen los sistemas continuos S1 y S2, Son estas aproximaciones

    unicas?.

    Luego de discretizar la funcion, es decir representar la senal en un plano discreto, o sea, proceso por el cual

    las respuestas al sistema seran solo un muestreo de la respuesta del mismo sistema. Para el sistema S1(x), su

    respuesta discretizada sera la derivada de la senal de entrada x(t), sabiendo que la derivacion numerica se da

    como:d y(t)

    dx=y(x+ h) y(x)

    h

    Figura 13. Derivacion numerica.

    En la figura 13, h sera el espacio entre cada muestra, es decir el tiempo de muestreo ts. Aplicando la notacion

    acorde a los contenidos, la aproximacion al sistema S1(x) es la siguiente:

    d x(t)

    dx=x(n+ ts) x(n)

    ts

    Para el sistema integrador se utilizo el metodo del trapecio de integracion numerica, en el cual: ba

    f(x)dx = (b a2

    ) (f(a) + f(b))

    En donde a equivale en este caso a un tiempo de muestro, y b al siguiente tiempo de muestreo, la idea es calcular

  • el area entre tiempos de muestreo y graficar ese valor para un tiempo de muestreo, la sumatoria total de esas

    areas es 0 pero no se graficara la sumatoria. A continuacion el codigo propuesto:

    1 clc

    2 clear

    3 fs=50*100; %frecuencia de muestreo

    4 ts=1/fs; %tiempo de muestreo

    5 t=ts:ts:0.05; %corrimientos

    6 x = sin(2*pi*100*t); %senal de entrada

    7 y1=((sin(2*pi*100*(t+ts)))-(sin(2*pi*100*t)))/ts; %funcion derivada

    8 y2=(ts/2)*(sin(2*pi*100*t) + sin(2*pi*100*(t+ts)));

    9 suma=sum(y2);

    10

    11

    12 subplot 411

    13 grid on

    14 stem(t,x)

    15 grid on

    16 title('Senal Original')

    17 xlabel('Tiempo[S]')

    18 ylabel('Amplitud')

    19

    20 subplot 412

    21 grid on

    22 stem(t,y1)

    23 grid on

    24 title('Senal Derivada')

    25 xlabel('Tiempo[S]')

    26 ylabel('Amplitud')

    27

    28 subplot 413

    29 grid on

    30 plot(t,y2)

    31 grid on

    32 title('Senal integrada')

    33 xlabel('Tiempo [S]')

    34 ylabel('Amplitud')

    35

    36 subplot 414

    37 grid on

    38 plot(t,suma,'r')

    39 grid on

    40 title('Sumatoria integral')

    41 xlabel('Tiempo [S]')

    42 ylabel('Amplitud')

    Como se puede apreciar, la derivada cambia de amplitud respecto a la senal original, esto dado que la funcion

    cambia de valor para cada punto derivado, y es logico ya que matematicamente la derivada de sen(t) es cos(wt).

    Para el caso de la integral, se ve que la amplitud en cada punto corresponde al area entre tiempos de muestreo,

  • 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.051

    0

    1Seal Original

    Tiempo[S]

    Ampl

    itud

    0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.051000

    0

    1000Seal Derivada

    Tiempo[S]

    Ampl

    itud

    0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.052

    0

    2x 104 Seal integrada

    Tiempo [S]

    Ampl

    itud

    0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.051

    0

    1Sumatoria integral

    Tiempo [S]

    Ampl

    itud

    Figura 14. Derivada e Integral de la funcion.

    y si calculamos la sumatoria de estas areas, su resultado es 0.

    Si se resuelve analticamente se puede ver que el resultado efectivamente es 0: 0,050

    sen(2pi100t)dx = 0

    Se puede acotar que para calcular las integrales o derivadas existen muchos otros metodos numericos disponibles,

    para la derivada por ejemplo existe el metodo de Euler, para la integral existe el metodo del punto medio y la

    regla de simpson.

    2) Escriba las ecuaciones de diferencias que describan a los sistemas representados en el punto anterior. Las

    ecuaciones de diferencias deben ser compactas, es decir sin sumatorias.

    Para el sistema S1(x):

    1

    tsx(x0 + ts) 1

    tsx(x0)

    Y para el Sistema S2(x) :ts

    2x(x0) +

    ts

    2x(x0 + ts)

    3) Dibuje el diagrama en bloque de ambos sistemas anteriores.

    A partir de las ecuaciones en diferencias para cada sistema, se obtiene el diagrama de bloques para cada uno,

    teniendo en cuenta que n = tfs, entonces x0 corresponde a n, Es importante tambien destacar que X[n] es la

    entrada discretizada.

    Para el sistema S1(x) :

    Para el sistema S2(x) :

  • Figura 15. diagrama de bloques S1.

    Figura 16. diagrama de bloques S2.

    5) Considere la senal de entrada a los sistemas S1 y S2 dada por x[n] = [n] [n 5] entre las muestras10 n 20. Grafique la senal original, su derivada e integral para el mismo intervalo de tiempo en cuadrosdistintos utilizando subplot.

    1 clear all

    2 close all

    3 clc

    4 na=10;

    5 nb=20;

    6 n=-na:nb;

    7 n1=-10:20

    8 n2=-10:20

    9 delta_1=[zeros(1,10),ones(1,1),zeros(1,4),(-1),zeros(1,15)];

    10

    11

    12 figure

    13 subplot 311

    14 stem(n1,delta_1,'b','fill','linewidth',2);

    15 grid on

    16 title('Funcion Impulso Compuesta: x[n]=d[n]-d[n-5]')

    17 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    18 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    19 set(gca,'FontWeight','Bold','Fontsize',8);

    20 %%derivada

    21 for i=2:31

    22 der(i)=(delta_1(i)-delta_1(i-1));;

    23 end

    24 subplot 312

    25 stem(n2,der);

  • 26 grid on

    27 title('Derivada Funcion Impulso Compuesta: x[n]=d[n]-d[n-5]')

    28 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    29 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    30 set(gca,'FontWeight','Bold','Fontsize',8);

    31

    32 %%integral

    33 for i=2:31

    34 int(i)=delta_1(i-1)+((delta_1(i)));

    35 end

    36 subplot 313

    37 stem(n2,int);

    38 title('Integral Funcion Impulso Compuesta: x[n]=d[n]-d[n-5]')

    39 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    40 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    41 set(gca,'FontWeight','Bold','Fontsize',8);

    10 5 0 5 10 15 201

    0

    1Funcion Impulso Compuesta: x[n]=d[n]d[n5]

    n

    y

    10 5 0 5 10 15 201

    0

    1Derivada Funcion Impulso Compuesta: x[n]=d[n]d[n5]

    n

    y

    10 5 0 5 10 15 201

    0

    1Integral Funcion Impulso Compuesta: x[n]=d[n]d[n5]

    n

    y

    Figura 17. Derivada e Integral de senal impulso compuesta.

    Cabe mencionar que una senal discreta es una senal de muestras, es decir se compone de sumatoria de datos. Es

    por ello que al derivar o integrar una senal de este de tipo de la misma forma que las de tipos continua, no es

    un metodo correcto. Es por lo anterior que en el ambito discreto la derivada de una senal se transforma en una

    diferencia, y la integral en una sumatoria. En ambos casos lo que se hace es agregar un adelanto o un retraso; en

    el caso de esta resolucion se uso un retraso. Al agregar un retraso a la funcion original, genera un desplazo en la

    senal que se aprecia en la grafica; tanto para el caso de la derivada como de la integral. 6) Considere la senal de

    entrada a los sistemas anteriores x[n] = u[n] u[n (N +1)], con N = 10 y entre las muestras 10 n 20.Grafique la senal original, su derivada e integral para el mismo intervalo de tiempo en cuadros distintos utilizando

    subplot

  • 1 clear all

    2 close all

    3 clc

    4

    5 n=-10:20;

    6 x=[zeros(1,10),ones(1,10),zeros(1,11)];

    7

    8 figure

    9 subplot 311

    10 stem(n,x,'b','fill','linewidth',2);

    11 grid on

    12 title('Funcion Compuesta: y[n]=u[n]-u[n-11]')

    13 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    14 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    15 set(gca,'FontWeight','Bold','Fontsize',8);

    16

    17 %%

    18 for i=2:31

    19 der(i)=(x(i)-x(i-1));

    20 end

    21 subplot 312

    22 stem(n,der);

    23 grid on

    24 title('Derivada Funcion Compuesta: y[n]=u[n]-u[n-11]')

    25 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    26 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    27 set(gca,'FontWeight','Bold','Fontsize',8);

    28

    29 %%

    30 for i=2:31

    31 int(i)=x(i-1)+x(i);

    32 end

    33 subplot 313

    34 stem(n,int);

    35 title('Integral Funcion Compuesta: y[n]=u[n]-u[n-11]')

    36 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    37 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    38 set(gca,'FontWeight','Bold','Fontsize',8);

  • 10 5 0 5 10 15 200

    0.5

    1Funcion Compuesta: y[n]=u[n]u[n11]

    n

    y

    10 5 0 5 10 15 201

    0

    1Derivada Funcion Compuesta: y[n]=u[n]u[n11]

    n

    y

    10 5 0 5 10 15 200

    1

    2Integral Funcion Compuesta: y[n]=u[n]u[n11]

    n

    y

    Figura 18. Derivada e Integral de senal escalon compuesta.

    Para este caso de senal discreta, si existe una derivada y una integral. En el caso de la senal escalon, su derivada

    corresponde a un impulso y su integral a una rampa. Para su implementacion, es recomendable usar el mismo

    metodo que en el punto anterior; donde se ve la derivada como una diferencia y la integral como una sumatoria.

    Se ve en la grafica de la derivada un comportamiento tipo impulso, y en la de la integral un comportamiento tipo

    rampa.

    7) Descargue los archivos de audio music.wav y speech.wav de la pagina web del laboratorio (archivo

    adjunto en el e-mail). Utilice estas senales como entrada a los sistemas anteriores y comente como los sistemas

    alteran la calidad del sonido. Grafique la senal original, su derivada e integral en cuadros distintos utilizando

    subplot.

    1 clear all

    2 close all

    3 clc

    4 fs=8000;

    5

    6 tono='music.wav';%%cambia el nombre de archivo

    7 siz=wavread(tono,'size');

    8 [x,fs]=wavread(tono);

    9

    10

    11 figure

    12 subplot 311

    13 sound(x,fs);

    14 plot(x);

    15 grid on

    16 title('Funcion Compuesta: y[n]=u[n]-u[n-11]')

    17 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

  • 18 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    19 set(gca,'FontWeight','Bold','Fontsize',8);

    20

    21 %%

    22 for i=2:65001

    23 der(i)=(x(i)-x(i-1));

    24 end

    25 subplot 312

    26 sound(der,fs);

    27 stem(der);

    28 grid on

    29 title('Derivada music.wav')

    30 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    31 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    32 set(gca,'FontWeight','Bold','Fontsize',8);

    33

    34 %%

    35 for i=2:65001

    36 int(i)=x(i-1)+x(i);

    37 end

    38 subplot 313

    39 sound(int,fs);

    40 stem(int);

    41 title('Integral music.wav ')

    42 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    43 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    44 set(gca,'FontWeight','Bold','Fontsize',8);

    0 1 2 3 4 5 6 7

    x 104

    1

    0

    1Funcion sonido music.wav

    n

    y

    0 1 2 3 4 5 6 7

    x 104

    0.5

    0

    0.5Derivada sonido music.wav

    n

    y

    0 1 2 3 4 5 6 7

    x 104

    2

    0

    2Integral sonido music.wav

    n

    y

    Figura 19. Derivada e Integral de music wav.

  • 0 2 4 6 8 10 12 14

    x 104

    1

    0

    1Funcion sonido speech.wav

    n

    y

    0 2 4 6 8 10 12 14

    x 104

    0.5

    0

    0.5Derivada sonido speech.wav

    n

    y

    0 2 4 6 8 10 12 14

    x 104

    2

    0

    2Integral sonido speech.wav

    n

    y

    Figura 20. Derivada e Integral de speech wav.

    Para este caso tambien se aplica el cambio de caso continuo a discreto. Es decir, la derivada es una diferencia y

    la integral una sumatoria. En el uso de sonido este proceso si bien se ve cierta diferencia en las amplitudes de

    las graficas, es mas perceptible el cambio al escucharlos. En el sonido de la derivada, se siente una baja en el

    volumen. Y para la integral, el volumen crece.

    8) En funcion de las aproximaciones previas de los sistemas S1 y S2, escriba las ecuaciones de diferencias para

    una doble derivada y = S1(S1(x)), doble integral y = S2(S2(x)), y la integral de la derivada y = S2(S : 1(x)),

    y la derivada de la integral y = S1(S2(x)).

    1 clear all

    2 close all

    3 clc

    4 na=10;

    5 nb=20;

    6 n=-na:nb;

    7 n1=-10:20

    8 n2=-10:20

    9 delta_1=[zeros(1,10),ones(1,1),zeros(1,4),(-1),zeros(1,15)];

    10

    11

    12 %%

    13 for i=2:31

    14 der(i)=(delta_1(i)-delta_1(i-1));

    15 end

    16 for i=2:31

    17 der_2(i)=(der(i)-der(i-1));

    18 end

  • 19 subplot 411

    20 stem(n2,der_2);

    21 grid on

    22 title('Derivada Segunda Funcion Impulso Compuesta: x[n]=d[n]-d[n-5]')

    23 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    24 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    25 set(gca,'FontWeight','Bold','Fontsize',8);

    26

    27 %%

    28 for i=2:31

    29 int(i)=delta_1(i-1)+((delta_1(i)));

    30 end

    31 for i=2:31

    32 int_2(i)=int(i-1)+((int(i)));

    33 end

    34 subplot 412

    35 stem(n2,int_2);

    36 title('Integral Segunda Funcion Impulso Compuesta: x[n]=d[n]-d[n-5]')

    37 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    38 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    39 set(gca,'FontWeight','Bold','Fontsize',8);

    40 %%

    41 for i=2:31

    42 der(i)=(delta_1(i)-delta_1(i-1));

    43 end

    44 for i=2:31

    45 int_3(i)=(der(i)+der(i-1));

    46 end

    47 subplot 413

    48 stem(n2,int_3);

    49 grid on

    50 title('Int. de Der. Funcion Impulso Compuesta: x[n]=d[n]-d[n-5]')

    51 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    52 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    53 set(gca,'FontWeight','Bold','Fontsize',8);

    54

    55 %%

    56 for i=2:31

    57 int(i)=delta_1(i-1)+((delta_1(i)));

    58 end

    59 for i=2:31

    60 der_3(i)=int(i-1)-((int(i)));

    61 end

    62 subplot 414

    63 stem(n2,der_3);

    64 title('Der. de Int. Funcion Impulso Compuesta: x[n]=d[n]-d[n-5]')

    65 xlabel('n','FontWeight','Bold','Fontsize',8,'Color','k')

    66 ylabel('y','FontWeight','Bold','Fontsize',8,'Color','k')

    67 set(gca,'FontWeight','Bold','Fontsize',8);

    En el punto 5, se definio la derivada e integral en el plano discreto, y para este caso es el mismo metodo. Hay

  • 10 5 0 5 10 15 202

    0

    2Derivada Segunda Funcion Impulso Compuesta: x[n]=d[n]d[n5]

    n

    y

    10 5 0 5 10 15 202

    0

    2Integral Segunda Funcion Impulso Compuesta: x[n]=d[n]d[n5]

    n

    y

    10 5 0 5 10 15 201

    0

    1Int. de Der. Funcion Impulso Compuesta: x[n]=d[n]d[n5]

    n

    y

    10 5 0 5 10 15 201

    0

    1Der. de Int. Funcion Impulso Compuesta: x[n]=d[n]d[n5]

    n

    y

    Figura 21. graficos enunciado 8.

    que decir que para el caso de la integral de la derivada y la derivada de la integral el valor original del muestreo

    en relacion a la senal original crece; de 1 a 2, y ademas se genera un nuevo retraso en el muestreo. Para el caso

    de la derivada e integral de segundo orden, se vuelve a repetir el caso de las de primer orden, es decir se enfatiza

    aun mas su aplicacion.

  • 9) Dibuje el diagrama en bloque de los sistemas del punto anterior.

    Figura 22. Diagrama de bloques derivada de derivada.

    Figura 23. Diagrama de bloques integral de integral.

    Figura 24. Diagrama de bloques integral de derivada.

    Figura 25. Diagrama de bloques derivada de integral.

    CONCLUSIONES

    Queda de manifiesto que las senales de tipo discreto son de principal uso para su procesamiento. Se vio que si bien,

    su uso es mas complejo que las de tipo continua, su aplicacion parece ser mas amplia, como es el caso de los sonidos.

    Recalcar la importancia de las senales de prueba como el impulso, escalon y rampa, donde con su uso se puede

    determinar propiedades de los sistemas de manera sencilla.

    Mencionar tambien que la transformada Z viene a ser una herramienta de gran utilidad para el procesamiento de

    senales, esto porque su importancia radica en que permite reducir Ecuaciones en Diferencias o ecuaciones recursivas

    con coeficientes constantes a Ecuaciones Algebraicas lineales dando as una facilidad a la hora de realizar un analisis.