Laboratorio 1_2014-1_07M1

download Laboratorio 1_2014-1_07M1

of 9

description

Procesamiento de señales

Transcript of Laboratorio 1_2014-1_07M1

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    LABORATORIO DE PROCESAMIENTO DE SEALES

    E IMGENES DIGITALES- IEE239

    Laboratorio: 1 Semestre: 2014 I

    TEMA: Convolucin y Transformada Z

    Partes DESCRIPCIN DURACIN PUNTAJE

    1 Prueba de Entrada 30 min 6 ptos

    2 Ejercicios de Laboratorio 2 h 20 min 8 ptos

    3 Problema Prctico 1 h 6 ptos

    Prueba de Entrada (6 pts.)

    La prueba terica se realizar en el laboratorio mediante preguntas. Durante esta prueba terica

    se prohbe el uso del correo, internet y celulares.

    Ejercicios de Laboratorio (8 pts.) Desarrollar las experiencias de laboratorio propuestas en sta gua. Al final del laboratorio cada

    alumno debe subir a intranet un archivo de texto L1_codigo.m. En la carpeta correspondiente. Antes de las 10:00pm. Cualquier archivo subido despus de la hora indicada no ser

    considerado.

    Problema Prctico (6 pts.)

    Desarrollar la aplicacin propuesta. Al final del laboratorio cada alumno debe subir a intranet un

    archivo de texto P1_codigo.m. En la carpeta correspondiente. Antes de las 10:00pm. Cualquier archivo subido despus de la hora indicada no ser considerado.

    Advertencia

    El desarrollo de las actividades contenidas en esta gua es de carcter estrictamente personal.

    Cualquier falta de probidad (plagio) que a criterio del Jefe de Prctica sea cometida, ser

    sancionada con la nota CERO no anulable para todos los involucrados, y una sancin

    disciplinaria.

    Importante

    Guarde todos sus programas en su memoria USB, a fin de evitar perdidas de informacin, en

    caso se reinicie la computadora.

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    1. Entorno MATLAB

    Command Window. Lnea de comandos.

    Editor. Editor de programas.

    Wokspace. Espacio de trabajo donde se almacenan las variables y

    estructuras.

    Current Directory. Explorador del directorio actual de trabajo.

    Command History. Historial de comandos ejecutados en la lnea de comandos.

    2. Comando help

    Es el comando ms importante para aprender Matlab por su propia cuenta.

    Para obtener la informacin de una funcin se digita help y el nombre de la funcin, por

    ejemplo ver la sintaxis de la funcin sin (seno)

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    3. Escribir un programa (scripts)

    Scripts:

    - Conjunto de comandos que se ejecutan en secuencia

    - En Matlab se guardan con extensin .m

    Para crear un archivo .m hay dos opciones:

    - Crear desde el command window

    - File-> New -> Script

    Todos los programas deben empezar con las siguientes instrucciones

    4. Funciones Bsicas

    Impulso Unitario

    % crear una secuencia con 101 valores

    n = -100:100;

    % la muestra n = 0 corresponde a la posicin 101

    h2 = zeros(length(n),1);

    h2(101) = 1; % h3(n==0) = 1;

    figure('Name', 'Impulso Unitario')

    stem(n,h2);

    xlabel('muestras')

    title('impulso unitario')

    clear all % Limpia todas las variable

    close all % Cierra todas las ventanas

    clc % Limpia la ventana de comandos

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    Escaln unitario

    Secuencia Sinusoidal

    5. Sistemas de tiempo discreto

    Ejemplo:

    Retardo ideal, de escaln unitario

    Sea

    % crear una secuencia con 101 valores

    n = -100:100;

    nd = 10;

    h3 = zeros(length(n),1);

    h3(n>=nd) = 1;

    figure('Name','Retardo Ideal')

    stem(n,h3);

    xlabel('muestras')

    title('Escalon Unitario')

    % crear una secuencia con 101 valores

    n1 = -50:50;

    A = 1;

    w = pi/8;

    x = cos(w*n1);

    figure('Name','Secuencia Sinusoidal' )

    stem(n1,x);

    grid on

    xlabel('muestras')

    ylabel('Amplitud')

    title('Secuencia Sinusoidal')

    % la muestra n = 0 corresponde a la posicin 101

    h2 = zeros(length(n),1);

    h2(101:201) = 1; % h3(n>=0) = 1;

    figure('Name', 'Escalon Unitario')

    stem(n,h2);

    xlabel('muestras')

    title('Escalon Unitario')

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    5.1 Estabilidad

    Ejemplo: determinar la estabilidad de

    5.2 Ecuacin de diferencia

    Ejemplo: Hallar la respuesta al impulso del siguiente sistema causal,

    Sea

    6. Transformada Z

    Ejemplo 1: Hallar la respuesta al impulso del siguiente sistema causal,

    N = 30; % Cantidad de muestras a analizar

    n = 0:N-1;

    % otra forma de crear un escaln dado que es causal

    x = ones(N,1);

    y = zeros(N,1);

    % De la ecuacin de diferencia se tiene que y[0] = x[0]

    % y(n==0) = x(n==0);

    y(1) = x(1);

    for i = 1:N-1

    y(i+1) = x(i+1) + 0.5*y(i);

    end

    % graficar todas las seales en una misma ventana

    figure(1)

    subplot(2,1,1)

    stem(n,x)

    title('Entrada')

    subplot(2,1,2)

    stem(n,y)

    title('Respuesta al Impulso')

    N = 10; % Cantidad de muestras a analizar

    n = 0:N-1;

    a = 5;

    x = a.^n;

    figure('Name','Estabilidad')

    stem(n,x)

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    Sea

    Utilizando el commando help, busque la utilidad del comando filter e identifique cuales

    sus parmetros de entrada.

    Ejemplo 2: Hallar la respuesta en frecuencia de la funcin de transferencia

    Solucin:

    Reemplazamos

    7. Convolucin discreta

    La respuesta de un sistema discreto dado una secuencia de datos est dada por la convolucin

    discreta.

    h h

    Dado que la entrada y el sistema estn representadas como unas secuencias finitas de nmeros y

    adems son causales se tiene:

    h

    Donde:

    h

    N = 30; % Cantidad de muestras a analizar

    n = 0:N-1;

    x = ones(N,1);

    y = filter(1,[1 -0.5],x); % poner help filter

    figure(1)

    subplot(2,1,1); stem(n,x); title('Entrada')

    subplot(2,1,2); stem(n,y); title('Respuesta al Impulso')

    % Rango de frecuencias a analizar [0 , 2*pi] w = 0:pi/1e3:2*pi-pi/1e3; z = exp(1j*w);

    % Funcion de transferecia H = 1./(1-0.5*z.^-1); figure('Name','Respuesta en Frecuencia'); plot(w,(abs(H)))

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    Dado que:

    h h

    Ejemplo: Hallar la convolucin de las siguientes secuencias,

    h

    Solucin:

    Sea

    h

    La convolucin es:

    0 0 0 1 0 0 0 0

    8 2 3 2 1

    Para poder realizar la multiplicacin sin problemas se agregan ceros al inicio y final del vector

    (zero padding)

    Zero padding

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    8 2 3 2 1

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    8 2 3 2 1

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    8 2 3 2 1

    0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

    8 2 3 2 1

    El resultado sera:

    0 0 0 1 2 3 2 8 0 0 0 0

    8. DTFT

    La relacin que existe entre y es mediante la transformada de Fourier de tiempo discreto (DTFT, por sus siglas en ingles)

    DTFT

    IDTFT

    x = [0 0 0 1 0 0 0 0]; h = [1 2 3 2 8];

    y = conv(h,x); figure('Name','Convolucion') stem(y)

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    Entonces para nuestro filtro pasa bajos tenemos:

    Recordar que:

    Entonces tenemos:

  • Pontifica Universidad Catlica del Per

    Ingeniera Mecatrnica 2014-1

    Pregunta 1:

    Se tiene una seal de 211 muestras con distribucin normal: gausiana de medio 0 y deviacin estndar 1.

    Donde:

    : media

    : desviacin estndar

    La seal ingresa al sistema que se muestra a continuacin,

    Donde:

    Grafique la seal Y[n] y su respuesta en frecuencia, comente sus resultados. Utilice el comando freqz.

    (0.5p)

    Grafique la seal W[n] y su respuesta en frecuencia. Comente sus resultados. (1.0p)

    Grafique la seal S[n] y su respuesta en frecuencia. Explique cul es el efecto del trmino sinusoidal (cos(n)). Justifique

    (2.0 p)

    Pregunta 2:

    Se tiene una seal V[n] de 500 muestras y de duracin 3 segundos, formada por la suma de 4

    tonos en , .

    Se desea crear un filtro pasabanda que elimine los tonos y . El filtro pasabanda est definido por:

    Obtenga la seal V[n] y grafique su respuesta en frecuencia. Comente su resultado. (1.0p)

    Obtenga y grafique la secuencia para 101 muestras (orden del filtro). Escoja las frecuencias de corte y . Grafique tambin su respuesta en frecuencia. Comente y justifique su resultado.

    (2.0p)

    Obtenga y grafique la seal V[n] filtrada. Grafique su respuesta en frecuencia. Comente y justifique sus resultados.

    (1.5p)