Top Banner

of 169

BB Mod Filtr

Oct 13, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • MANUAL DE PRCTICAS

    DEL LABORATORIO DE

    SEALES Y COMUNICACIONES

    TERCER CURSO PLAN 94

    2008-2009

  • LABORATORIO DE SEALES Y COMUNICACIONES

    2

    Trabajo de Laboratorio Evaluacin

    Los alumnos al final de la ejecucin de cada prctica, debern contestar un cuestionario individual, que ser calificado. Al final de curso se realizar un examen escrito acerca del contenido de las prcticas realizadas. La calificacin definitiva tendr en cuenta, en proporcin del 50%, los resultados de las evaluaciones anteriores.

    Manual de Laboratorio

    Es muy recomendable que todos los resultados se vuelquen a este Manual de Laboratorio. Al final de cada prctica servir como ayuda para responder al cuestionario que es el que ser calificado. Para cada ejercicio se proporcionan tablas o grficos en los que introducir los resultados y observaciones. Todos los datos deben ponerse de forma clara ya que influye en la utilidad posterior de los resultados de cara al cuestionario.

    Se le puede pedir tambin que realice un Informe sobre alguno de los experimentos. Este servir como ayuda al alumno para las conclusiones que obtenga del experimento.

    Trabajo Posterior

    Para determinados experimentos podrn ponerse ejercicios especiales. No sern evaluados pero servirn para que el alumno profundice en el conocimiento de la prctica.

    Estos ejercicios especiales se enuncian al final de los experimentos de manera que el alumno tenga la oportunidad de asegurarse de que ha tomado los datos suficientes para responder al mismo. Es recomendable dedicar algo de tiempo a pensar en como resolver estos ejercicios para poder consultar al instructor en caso necesario antes de abandonar el laboratorio

    General

    A no ser que se justifique adecuadamente los alumnos debern asistir puntualmente a las sesiones correspondientes de Laboratorio.

    No se aceptarn entregas fuera de plazo de los cuestionarios del final de cada prctica.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    3

    Cmo usar el Manual de Prcticas La primera parte del Manual describe las lneas generales a seguir. Los

    cuadernillos de Prcticas incluyen los procedimientos a seguir para el desarrollo de cada una de ellas, as como las preguntas de trabajo previo y posterior a realizar. Finalmente hay un Apndice de lectura recomendada para los alumnos que quieran tener una mejor comprensin del entorno de simulacin ya que proporciona una revisin de las hiptesis adoptadas.

    Las prcticas que se describen no requieren un conocimiento previo de MATLAB. Todos los procedimientos a seguir son autocontenidos y pueden realizarse siguiendo las instrucciones. El manejo de MATLAB realizado en las primeras prcticas resultar suficiente para realizar los ejercicios que se proponen en las prcticas sucesivas. La ayuda del MATLAB ser suficiente para la realizacin de los ejercicios que se propongan.

    Las prcticas se estructuran con los siguientes contenidos:

    (a) Objetivos de la prctica: Listado breve de los objetivos a cubrir.

    (b) Desarrollo terico: Que incluir: los conceptos necesarios para el seguimiento de la prctica; un resumen de la explicacin terica; los objetivos desarrollados didcticamente y referencias bibliogrficas

    (c) Manual de la prctica. En principio guiado. Ms guiado en las primeras prcticas, y menos en las prcticas posteriores.

    El propsito del trabajo previo es preparar al alumno para los conceptos que se van a usar con detalle en cada prctica. Por ello es importante realizar los ejercicios propuestos antes del Laboratorio.

    En el Manual de prcticas se usan los siguientes acuerdos tipogrficos:

    Se utiliza la fuente en negrita para hacer referencia a funciones de MATLAB en el texto.

    El smbolo >> indica el smbolo que pone MATLAB en la pantalla cuando espera una lnea de comandos.

    La fuente en itlica corresponde al texto de los ejercicios que se proponen a realizar en las prcticas.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    4

    Entorno de Simulacin. Cuando se intenta modelar una seal analgica en un ordenador digital,

    el entorno de simulacin impone ciertas limitaciones al grado de precisin con el que se puede conseguir la representacin de dicha seal. Este apndice indica las caractersticas de las seales analgicas simuladas en los ordenadores digitales y presenta su significado desde el punto de vista del usuario.

    En MATLAB una funcin f(t) se define como un array de datos discretos que representan los valores que toma la funcin en ciertos puntos de muestreo. Por ejemplo el array [f(t1), f(t2), , f(tn)] representa la funcin f(t) en los instantes t1, t2, , tn. Independientemente del nmero de puntos de muestreo incluidos en el array el resultado se corresponde a una versin muestreada de la funcin. Es decir que una funcin en MATLAB siempre queda definida por DOS conjuntos de valores (dos vectores o tambin llamados matrices unidimensionales o arrays):

    El conjunto de las abcisas (hablando de una seal en el tiempo sera el array de instantes de tiempo, o tambin llamado "vector de refencia temporal").

    El conjunto de las ordenadas (hablando de una seal temporal, sera el array del valor de amplitud de la funcin en cada instante de tiempo, tambin llamado "vector de valores").

    Como ejemplo supngase que se ejecuta el siguiente comando MATLAB

    >> x=sin(t)

    MATLAB no es pues un entorno de clculo simblico como pueda serlo por ejemplo MAPLE. Por tanto el comando anterior generar un mensaje de error ya que el argumento t de la funcin no se ha definido previamente. Cuando se intenta definir el argumento ello solo se puede hacer especificando t en unos instantes de muestreo. As por ejemplo el siguiente conjunto de comandos

    >> fs=0.2

    >> t=[ [1:100]*(1/fs)]

    >>x=sin(2*pi*1000*t)

  • LABORATORIO DE SEALES Y COMUNICACIONES

    5

    funcionar correctamente, pues lo que se habr creado ser un vector "t" de 100 muestras correspondientes a instantes de tiempo separados 1/fs segundos; y un conjunto "x", tambin de 100 muestras, correspondiente a los valores de una sinusoide de frecuencia 1000 Hz muestreada a una frecuencia fs. Es decir los valores de estos vectores seran:

    t = [ 0 , 0.2 , 0.4 , ... ] x = [ sin(0), sin(2*pi*1000*0,2), sin(2*pi*1000*0.4), ... ]

    Si se modifica el valor de fs solo se cambia la frecuencia de muestreo (es decir los puntos por segundo que existen en el vector de referencia temporal) pero el hecho de que se est muestreando permanece implcito en la estructura del array de datos resultante.

    Se puede usar el comando plot para representar grficamente una funcin. Este comando necesita como parmetros el vector de refencia temporal y el vector de valores:

    >> plot( t, x)

    Por tanto como se genera una seal analgica?. La respuesta es que en MATLAB no se genera una verdadera seal analgica. En consecuencia solo se puede hablar de seales seudo - analgicas que se han muestreado a una frecuencia suficientemente alta como para que la la seal muestreada resultante represente con suficiente precisin a la seal analgica. La frecuencia de muestreo se elige como fs = Kfm , siendo fm la frecuencia mxima de la seal analgica, de manera que el valor de K (siempre >2) es un compromiso entre el tamao del array y la precisin deseada: cuanto mayor sea K, ms se parecer el array de valores a una seal continua.

    Una implicacin adicional de tener que manejar seales seudo - analgicas es la dificultad de representar componentes espectrales sobre intervalos de frecuencia que se extiendan ms all de fs/2, donde fs es la frecuencia de muestreo. Como ejemplo considrese una seal analgica que sea una sinusoide a 1 kHz. Supngase que la representacin espectral se limita solo al eje de frecuencias positivo. El espectro de la sinusoide deber ser una delta a la frecuencia de 1 kHz. Sin embargo, como resultado del teorema de muestreo el espectro de la seal analgica se repetir a mltiplos enteros de fs y en consecuencia el espectro de la seal seudo - analgica de 1 kHz muestreada a 10 kHz representar funciones delta a las frecuencias de f=10(n1) con n=0,1,2. En el entorno de simulacin de MATLAB la funcin psd restringe el intervalo de frecuencia a (0, fs/2)

    Debido a que la seal analgica tiene un margen continuo de amplitudes los pulsos que representan la seal muestreada tendrn un nmero infinito de

  • LABORATORIO DE SEALES Y COMUNICACIONES

    6

    niveles de amplitud. Sin embargo cualquier nmero representado en un ordenador digital tiene una precisin finita. Pero todos los nmeros en MATLAB se representan en formato de punto flotante con doble precisin por lo que la limitacin anterior es de escasa importancia en el entorno de simulacin. La variable MATLAB eps mide la precisin relativa. Con un valor de eps=2.204x10-6 representa la distancia entre 1.0 y el valor del siguiente nmero en punto flotante. Ello corresponde adems a tener 253 niveles de cuantificacin, que es ms que adecuado para los experimentos.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    7

    1 INTRODUCCION A MATLAB.

    NOMBRE:

    APELLIDOS:

    GRUPO:

    1.1 INTRODUCCION.

    MATLAB es un entorno de programacin orientado a clculo numrico, con un lenguaje propio de alto nivel e interpretado, no compilado.

    A continuacin se proponen una serie de ejercicios con los que se pretende que el alumno aprenda el funcionamiento del programa, as como su utilizacin en el mbito del procesado de seal.

    Al principio, los ejercicios sern guiados, y el alumno tan slo deber introducir los comandos escritos en el guin de la prctica. Durante la prctica, irn desapareciendo las guas y ser el propio alumno el que deba confeccionar las instrucciones necesarias para llegar a los objetivos propuestos.

    La ayuda on-line mediante la instruccin help de MATLAB, permite obtener informacin sobre el empleo de cualquier funcin.

    El objetivo de esta prctica no es otro que introducir al alumno en el manejo del MATLAB, aportndole los conocimientos necesarios para una mayor profundizacin.

    1.2 ESTRUCTURAS DE DATOS EN MATLAB.

    La estructura de datos fundamental en MATLAB es la matriz, bien sea de elementos reales o complejos. Los escalares son matrices de tamao 1x1 y los vectores son matrices de una sola fila o columna.

    Las matrices son creadas dinmicamente de alguna de las siguientes formas :

    a) Directamente, mediante el listado de los elementos que la componen.

    b) Mediante funciones ya incluidas en el entorno.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    8

    c) Mediante funciones escritas a tal efecto (ficheros .m)

    d) Cargndolas de ficheros de datos (ficheros .mat)

    En MATLAB se pueden visualizar en todo momento las variables almacenadas en memoria mediante las instrucciones who y whos, as como los ficheros con la extensin .m y .mat en el directorio de trabajo con la instruccin what. Recordar que un fichero .m puede ser bien un fichero script (secuencia de comandos MATLAB) bien un fichero funcin (comienza con la palabra function , los parmetros son transferidos, y las variables definidas en l son locales a la funcin no operando en el espacio de trabajo global) ; mientras que un fichero .mat contiene las variables especificadas como argumentos del comando save.

    1.2.1 Ejercicio 1.1.

    Cree una matriz de nmeros reales y tamao 2x4:

    >> m=[0 2 4 6 ;0 3 5 7];

    Gurdela en un fichero:

    >> save matrizm

    Limpie el espacio de trabajo:

    >> clear

    Cargue del disco la matriz y compruebe las variables en memoria:

    >> load matrizm >> whos

    Los elementos de una matriz pueden referenciarse unitariamente o por grupos, sin ms que hacer referencia a su posicin dentro de estas.

    1.2.2 Ejercicio 1.2.

    Seleccione de la matriz anterior el elemento que se encuentra en la primera fila, tercera columna. Seleccione la segunda fila. Seleccione la cuarta columna. Seleccione la submatriz 2x2 que contiene elementos de las dos primeras filas y las dos primeras columnas.

    >> clear >> load matrizm

  • LABORATORIO DE SEALES Y COMUNICACIONES

    9

    >> m(1,3) % Elemento 1 fila 3 columna >> m(2,:) % 2 fila >> m(:,4) % 4 columna >> m(1:2,1:2) % Matriz 2x2

    1.2.3 Ejercicio 1.3.

    Repita el ejercicio anterior con la siguiente matriz de nmeros complejos :

    +

    +jjj

    jjj39324

    51

    Para introduccir en MATLAB un nmero complejo se pueden utilizar las letras i y j, p.ej. 1+i, 2-3j.

    Todas estas operaciones, pueden hacerse obviamente con vectores fila y columna. Por otro lado, existen funciones de MATLAB que generan matrices especiales como la matriz identidad (funcin eye), o una matriz con todos los elementos cero (zeros), o una matriz con elementos aleatorios (rand), etc.

    Con la ayuda on-line de MATLAB se puede obtener ms informacin sobre estas funciones.

    1.3 REFERENCIA TEMPORAL.

    Es fundamental, a la hora de trabajar en MATLAB con funciones contar con una referencia temporal, ya que a partir de ella se obtendrn las seales que se desea generar. La funcin linspace permite crear vectores que pueden ser utilizados como referencia temporal.

    Es posible tambin definir vectores de referencia mediante la sentencia valorinicial:paso:valorfinal, la cual genera un vector fila con valores que van desde valorinicial hasta valorfinal, avanzando paso de elemento a elemento.

    1.3.1 Ejercicio 1.4.

    a) Obtenga utilizando la funcin linspace, un vector de 20 elementos que recorra el intervalo [0,2].

    b) Genere utilizando la sentencia valorinicial:paso:valorfinal, un vector de referencia de 1000 puntos que recorra el intervalo [0,10].

  • LABORATORIO DE SEALES Y COMUNICACIONES

    10

    1.4 GENERACION DE FICHEROS MATLAB.

    Todos los datos (variables) que se definen en MATLAB admiten de forma natural las operaciones de suma, resta, multiplicacin, elevacin a una potencia, etc.

    El entorno proporciona las operaciones matemticas ms usuales para el tratamiento de matrices, vectores y escalares, que adems pueden componerse. Esto permite generar seales a partir de vectores o matrices de referencia.

    1.4.1 Ejercicio 1.5.

    Con el vector del Ejercicio 1.4 a), realice las siguientes operaciones :

    Multiplquelo por 2 y calcule su coseno (funcin cos). Calcule el valor absoluto (abs) del vector resultante.

    1.4.2 Ejercicio 1.6.

    Con el vector de referencia del Ejercicio 1.4 a), obtenga una exponencial compleja realizando las siguientes operaciones :

    Multiplquelo por j/4 y calcule su exponencial (funcin exp). Calcule el valor absoluto del vector resultante. Calcule la parte real (real) y parte imaginaria (imag) del vector

    resultante.

    Como se vio en la introduccin terica, es posible mediante MATLAB crear libreras de funciones definidas por el usuario en forma de ficheros de tipo ASCII (ficheros .m), que contienen una serie de sentencias que se ejecutan secuencialmente al llamar al fichero.

    Estos ficheros se crean mediante la opcin New M-file en el men File de MATLAB. Automticamente se pasa al Bloc de Notas de Windows en el que se puede ya escribir las sentencias.

    Por ejemplo, la funcin BOXCAR de Matlab est definida de la siguiente forma en el fichero boxcar.m:

    function w = boxcar(n)

    %BOXCAR BOXCAR(N) returns the N-point rectangular window.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    11

    w = ones(n,1);

    1.4.3 Ejercicio 1.7.

    Escriba en MATLAB un fichero .m de funcin llamado cosinusoi, que genere seales sinusoidales (utilizar la funcin cos de MATLAB), a partir de los siguientes parmetros : instante inicial (n0), longitud temporal de la secuencia (N), periodo de muestreo (paso), frecuencia angular (0), y fase (0). La funcin devolver tanto la secuencia generada (x) como el vector de referencia temporal (ref).

    Escriba aqu la funcin.

    1.5 REPRESENTACION GRAFICA.

    Como herramientas de representacin grfica en dos dimensiones, se tienen las funciones plot, stem, loglog, semilogy y semilogx. Adems de estas funciones principales, existen una serie de funciones complementarias : clg, subplot, hold, figure, grid, ginput, zoom, etc, que son de gran utilidad en la representacin de seales.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    12

    1.5.1 Ejercicio 1.8.

    Represente los vectores obtenidos en los Ejercicios 1.5 y 1.6. Utilice en la representacin el vector de referencia generado en el Ejercicio 1.4 a). Una vez obtenida la grfica, compruebe como funcionan los comandos grid, ginput, y zoom.

    Es bien conocida la importancia de las seales paso-banda por su aparicin frecuente en los sistemas de comunicaciones. Son seales que tienen su energa (o potencia) concentrada en una zona concreta del espectro, en torno a fo. Estas seales, si son de banda muy estrecha tienen un aspecto muy parecido al de una sinusoide de frecuencia fo. En el dominio del tiempo tambin se parecen, de modo que una seal paso-banda puede escribirse de la forma:

    x t r t w t to( ) ( ) cos[ ( )]= + siendo fo=wo/2 la frecuencia central, denominada, en muchas ocasiones, la portadora.

    1.5.2 Ejercicio 1.9.

    Escriba una funcin que genere una seal paso-banda siendo r(t) una sinusoide de frecuencia fr y (t) otra sinusoide de frecuencia fp. La funcin tendr la forma siguiente:

    [ref, x] = pasoband(fo, fr, fp, inf, sup, paso)

    donde fo : es la frecuencia central o portadora

    fr : es la frecuencia de la seal r(t)

    fp : es la frecuencia de la seal (t) inf : es el lmite inferior del vector de referencia temporal

    sup : es el lmite superior del vector de referencia temporal

    paso : es el paso del vector de referencia temporal

    x : es la seal paso-banda

    ref : es el vector de referencia temporal para x

    La funcin terminar dibujando la seal generada, fijando el eje x en el intervalo [-1, 1], el eje y en el [-2, 2] y poniendo ttulo a la grfica (utilizar los comandos axis y title de MATLAB).

  • LABORATORIO DE SEALES Y COMUNICACIONES

    13

    Emplear pasoband para generar una seal con: fo=25 Hz; fr=3/2 Hz; fp=15 Hz; inf=-0.5; sup=0.5; paso=(1/fo)/50. Vare los parmetros fr y fp e interprete los resultados.

    Escriba aqu la funcin

    Al igual que en las sinusoides, se puede emplear un fasor para describir una seal paso-banda. Es decir, dada la seal paso-banda

    x t r t w t to( ) ( ) cos[ ( )]= + se define la envolvente compleja de x(t) como el fasor

    x t r t e j t( ) ( ) ( )= Esta seal se caracteriza por ser compleja, paso-bajo, por contener la

    informacin (en r(t) y (t)) y no as la portadora (sinusoide de pulsacin wo, que no interesa arrastrar en los clculos ni el sistema) y por permitir recuperar la seal real mediante:

    x t x t e jw to( ) [ ( ) ]= Real

  • LABORATORIO DE SEALES Y COMUNICACIONES

    14

    1.5.3 Ejercicio 1.10. (Envolvente compleja de una seal paso-banda)

    Con ayuda de la funcin exp, aada en la funcin pasoband del ejercicio 1.9 las lneas de cdigo MATLAB necesarias para generar y representar (parte real (real) y parte imaginaria (imag)) la envolvente compleja de la seal paso-banda. La representacin se realizar en una ventana grfica diferente a la empleada hasta el momento en pasoband; para ello emplear los comandos figure y subplot de MATLAB.

    Escriba aqu el nuevo cdigo de la funcin pasoband.

    1.6 SEALES Y TRANSFORMACIONES ELEMENTALES.

    Las facilidades que ofrece MATLAB para la generacin de vectores resultan de gran utilidad para construir un eje de tiempos. Esto puede llevarse a cabo como se ha visto con las sentencias linspace y valorinicial:paso:valorfinal.

    A continuacin se proponen una serie de ejercicios en los que aplican las tcnicas anteriores para la generacin de seales elementales, as como para la realizacin de transformaciones con estas seales.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    15

    1.6.1 Ejercicio 1.11. (Deltas)

    Escriba una funcin que genere la secuencia [n-n0] (con n y n0 enteros), recibiendo como parmetros el nmero de muestras de la secuencia (L) y el retardo (n0). Adems de la secuencia generada (x), la funcin deber devolver como parmetro de salida, el vector de referencia temporal (ref); este ser tal que la secuencia [n-n0] generada est centrada en el origen (para L par el vector de referencia temporal ir desde -L/2 hasta L/2-1; para L impar desde (L-1)/2 hasta (L-1)/2). La funcin mostrar por pantalla un mensaje de error en caso de que n0 rebase los lmites del vector temporal.

    Escriba aqu la funcin.

    1.6.2 Ejercicio 1.12. (Cambio del origen de tiempos)

    a) Escriba una funcin que realice un desplazamiento n de muestras del origen de tiempos de una secuencia dada. La secuencia desplazada tendr la longitud de la original ms n. Considere como parmetros de entrada la secuencia dada (x), su vector de referencia temporal (refx) y el desplazamiento (n); y como parmetros de salida la secuencia desplazada (y) y su nuevo vector de referencia temporal (refy).

    b) Escriba un fichero .m de instrucciones que llame a la funcin cosinusoi del ejercicio 1.7 para generar una sinusoide de pulsacin wo=/100, fase o=0 y definida en el intervalo ref=[-500:1:500]. El fichero llamar despus a la funcin desplaza para producir un desplazamiento no sobre la sinusoide generada equivalente a un desfase de -/5.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    16

    Escriba aqu la funcin del apartado a).

    Escriba aqu la respuestas del apartado b).

  • LABORATORIO DE SEALES Y COMUNICACIONES

    17

    Ejercicio 1.13.

    Dibuje aproximadamente la funcin ( )22tsen calculada en el intervalo entre 0 y 4 con un espaciado entre muestras de 0.1.

    Repita el ejercicio anterior para la funcin ( ) tetsen 22 para los mismos valores.

    Calcule y represente (de forma aproximada) la convolucin de ambas funciones.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    18

  • LABORATORIO DE SEALES Y COMUNICACIONES

    19

    2 SEALES CONTINUAS, DISCRETAS Y MUESTREO

    2.1 INTRODUCCION.

    2.1.1 Objetivos de la prctica

    Revisar la representacin de seales en el dominio del tiempo y de la frecuencia.

    Revisar el efecto sobre las seales (en el tiempo y en la frecuencia) de diversas operaciones simples: desplazamientos, efectos de ganancia, efecto de la longitud finita del intervalo de observacin (enventanado), modulacin. etc.

    Realizar un estudio de los efectos del muestreo de seales continuas, haciendo hincapi en los efectos de solapamiento, de muestreo no ideal y de la reconstruccin no ideal.

    2.1.2 Referencias

    Las nociones bsicas necesarias para afrontar esta prctica han sido impartidas en la asignatura Sistemas Lineales. En concreto, en los captulos dedicados al Anlisis de Fourier en tiempo continuo, en tiempo discreto y al muestreo de seales continuas.

    Signals and Systems , Alan V. Oppenheim, Alan S. Willsky, con S. Hamid Nawab, Prentice Hall, 1997.

    2.1.3 Desarrollo terico

    (a) Conceptos necesarios

    Los conceptos que el alumno deber repasar para el seguimiento correcto de la prctica son:

    Seales continuas y discretas, representacin y propiedades. Desarrollo en serie de Fourier de seales continuas peridicas.

    Transformada de Fourier de seales continuas. Propiedades.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    20

    Transformada de Fourier de secuencias discretas. Transformada discreta de Fourier de secuencias discretas. Propiedades.

    Conceptos de muestreo. El teorema de muestreo. Espectro de la seal muestreada. Muestreo no ideal. Filtros de reconstruccin.

    (b) Repaso de la teora bsica

    INDICE

    Operaciones sobre el eje temporal de la seal Exponenciales complejas Desarrollos de Fourier de seales continuas peridicas Transformadas de Fourier de seales continuas Muestreo de seales continuas Desarrollos en serie de Fourier de secuencias peridicas Transformada de Fourier de secuencias Transformada discreta de Fourier (DFT) Intervalo de observacin finito y resolucin espectral Reconstruccin de seales continuas a partir de su secuencia

    asociada

    Comentarios finales

  • LABORATORIO DE SEALES Y COMUNICACIONES

    21

    2.2 OPERACIONES SOBRE EL EJE TEMPORAL DE LA SEAL

    La mayora de las operaciones implicadas en el anlisis de sistemas pasan por realizar transformaciones sobre el eje de tiempos de las seales (ej: convolucin, correlacin, ...). Debe recordarse que las operaciones sobre el eje de tiempos de una seal no pueden ser realizadas en orden cualquiera. Ilustraremos el hecho mediante un ejemplo sobre una secuencia (para una seal continua es equivalente). Supongamos que se conoce x[n] y se desea obtener y[n] = x[N(n-n0)].

    En primer lugar, se debe tener en cuenta que se conoce x[n] y que no hay ninguna alteracin sobre la seal, sino sobre su eje de tiempos. Por lo tanto, la operacin de cambio de eje de tiempos es equivalente al cambio de variable:

    x[N (n n0 )] = x[n' ] N (n n0 ) = n' n = n'N + n0

    Como la seal se conoce en funcin de n' (atencin a la nomenclatura), es necesario expresarla como una funcin de n mediante el cambio de variable en el centro de la expresin anterior. El orden de las operaciones realizadas sobre la seal x[n'] para obtener la deseada se deduce de despejar el cambio de variable (expresin en la izquierda). En nuestro caso debemos diezmar primero x[n] (a ritmo N) y desplazar el resultado n0 unidades a la derecha.

    Como regla nemotcnica: Se realizan primero las operaciones ms exteriores a la variable n (en el caso de x[N(n-n0)] el diezmado por N), terminando con las ms interiores (desplazamiento a la derecha de n0 unidades).

    2.3 EXPONENCIALES COMPLEJAS

    En este apartado repasaremos algunas definiciones y conceptos de las exponenciales complejas. Se trata de seales fundamentales en el estudio de los sistemas lineales debido a sus caractersticas de autofuncin: "La respuesta de un sistema lineal a una determinada exponencial compleja es esa misma exponencial multiplicada por una constante (en general compleja)".

    La propiedad anterior puede ser muy til si se utiliza adecuadamente. Si se descompusiese cualquier seal como combinacin lineal de exponenciales complejas, la respuesta de un sistema lineal a dicha entrada sera una combinacin lineal de las mismas exponenciales complejas, pero con distintos coeficientes. Por ello, para caracterizar un sistema lineal bastar con caracterizar su respuesta a las exponenciales complejas. Si se restringe el anlisis al caso de sinusoides complejas, la caracterizacin de la respuesta de

  • LABORATORIO DE SEALES Y COMUNICACIONES

    22

    los sistemas a sinusoides complejas constituye el objetivo del anlisis de Fourier (transformadas y series de Fourier) o anlisis en frecuencia. Gran parte de esta prctica va destinada a fijar conceptos del anlisis de seales en el dominio de la frecuencia.

    * Exponenciales complejas continuas: son seales del tipo x(t)=Ceat donde C y a son, en general, nmeros complejos. Dependiendo de cmo sean los valores de a y C tenemos los siguientes tipos de seales:

    1) C y a reales: exponenciales reales (funcin atenuada)

    2) a imaginario puro: sinusoide compleja. Si a=j0, estas seales son peridicas de periodo T0=(2)/0.

    Se llaman sinusoides armnicamente relacionadas de periodo fundamental T0 a la familia de sinusoides relacionada por la expresin:

    k (t) = ejk 0t ; k = 0, 1, 2, ... Como se ver en el siguiente apartado, dichas funciones se emplean

    como base para desarrollar en serie seales continuas peridicas (series de Fourier).

    3) C y a complejos: exponencial compleja, que se compone de una sinusoide compleja multiplicada por una exponencial real:

    x(t) = et ej ( 0t + ) * Exponenciales complejas discretas: son secuencias del tipo x[t]=Cen

    donde C y son, en general, nmeros complejos. Dependiendo de cmo sean los valores de y C tenemos los siguientes tipos de secuencias:

    1) C y reales: exponenciales reales (funcin atenuada) 2) imaginario puro: sinusoide compleja. Estas seales tienen dos

    particularidades que debemos recordar (=j0): * La sinusoide es peridica en 0, de periodo 2 (basta con analizar 0

    en el intervalo [0,2)). La principal consecuencia de esta propiedad es que una sinusoide continua muestreada no puede ser recuperada a partir de sus muestras si la frecuencia de muestreo es inferior al doble de su frecuencia. Este fenmeno debe tenerse perfectamente claro, por lo que debe reflexionarse sobre esta propiedad. Algunos ejercicios de la prctica ayudarn a relacionar esta propiedad con el teorema de muestreo.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    23

    * Las secuencias sinusoidales slamente son peridicas cuando se cumple 0/(2)=m/N, donde N es el periodo y m un nmero entero (frecuencia racional). En el resto de los casos no existe periodicidad, como ocurra en el caso continuo.

    Se llaman sinusoides armnicamente relacionadas de periodo fundamental N a la familia de sinusoides relacionada por la expresin:

    [ ] k jk n Nn e= 2 / ; k = 0, 1, ..., N -1 Estas secuencias constituyen una base en la que es posible desarrollar

    en serie secuencias peridicas: series de Fourier de secuencias.

    3) C y complejos: exponencial compleja, que se compone de una sinusoide compleja multiplicada por una exponencial real:

    x[n] = en ej(0 n+ ) Durante el desarrollo de la prctica tendr oportunidad de visualizar

    diversas seales de este tipo, tanto continuas como discretas, as como composiciones de las mismas.

    2.4 DESARROLLOS DE FOURIER DE SEALES CONTINUAS PERIDICAS

    De la teora de sistemas lineales conocemos que, bajo ciertas condiciones, una seal peridica puede expresarse mediante un desarrollo en serie de Fourier. Las expresiones que definen dicho desarrollo son:

    x(t) = ak e jk 0t

    k=

    ak = 1T0 x(t) e

    jk 0t

    T0 dt

    la primera de ellas se denomina ecuacin de sntesis (compone la seal) y la segunda de anlisis (extrae la amplitud de cada sinusoide componente de la seal).

    Como en realidad nunca se pueden manejar un nmero infinito de trminos, es necesario estudiar si la serie converge y de qu forma lo hace. Se sabe que si la integral del mdulo al cuadrado de una seal en un periodo es finita, la energa del error (diferencia entre la aproximacin y la seal real) tiende a ser nula cuando el nmero de trminos tiende a infinito. Esto no implica que el error instantneo sea nulo. En esta prctica tendr que

  • LABORATORIO DE SEALES Y COMUNICACIONES

    24

    comprobar la convergencia de una serie a la seal, debiendo observar la falta de convergencia suave de este tipo de desarrollos y buscar relaciones de este fenmeno con equipos reales que usted conoce (recuerde que truncar la serie a 2N+1 trminos centrales equivale a eliminar del desarrollo las sinusoides con frecuencias fuera del margen a [-N0,N0] , o lo que es equivalente, reducir la banda de la seal a N0).

    2.5 TRANSFORMADAS DE FOURIER DE SEALES CONTINUAS

    Sabemos, de la teora de sistemas lineales, que es posible descomponer una seal no peridica de una forma parecida a una serie de Fourier, lo que conocemos como transformada de Fourier. La expresin de dicha transformada viene dada por dos ecuaciones, transformada directa e inversa, que aparecen a continuacin por este orden:

    X() = x(t) e jt dt

    x t X e dj t( ) ( )= 12

    Para que exista la transformada de Fourier deben cumplirse condiciones muy parecidas a las de las series de Fourier, es decir que la seal sea de energa finita (la integral a lo largo del eje de tiempos del mdulo al cuadrado de la seal debe ser finita). El problema de truncamiento de las series de Fourier se traduce aqu en la realizacin de la transformada inversa integrando en un intervalo de frecuencias finito (simtrico en torno al origen): equivalente a la limitacin en banda.

    Se debe recordar que, con la inclusin de funciones generalizadas (funciones impulso), se puede expresar la transformada de Fourier de seales peridicas mediante la siguiente expresin:

    XT

    X k kpk

    ( ) ( ) ( ) = =

    20

    0 0

    X p () = x(t) e jtT0 / 2

    T 0 / 2 dt Esto permite tratar las series y las transformadas de Fourier bajo el

    mismo conjunto de mtodos: transformadas de Fourier generalizadas.

    El anlisis de Fourier de seales continuas esta enfocado al estudio terico de seales que puedan ser descritas por una ecuacin matemtica. En el caso de trabajar con seales reales, de las cuales no conocemos su modelo

  • LABORATORIO DE SEALES Y COMUNICACIONES

    25

    matemtico, debemos trabajar con la seal propiamente dicha. El anlisis de dicha seal debe ser llevado a cabo mediante computadores. Una seal continua no puede almacenarse en un computador. Por ello, se almacenan muestras de una seal continua durante un periodo finito de tiempo. En consecuencia, la transformada de Fourier solamente se puede obtener a partir de la transformada de las muestras de la seal, no de la seal propiamente dicha. Por ello, como veremos ms adelante, es tan importante el anlisis de Fourier de tiempo discreto.

    El primer paso para analizar una seal continua en un computador es obtener muestras representativas. La teora bsica de muestreo se repasa en el siguiente apartado.

    2.6 MUESTREO DE SEALES CONTINUAS

    En la figura aparece el esquema de un conversor continuo-discreto ideal. En ella, el bloque rectangular indica una normalizacin de la distancia entre muestras obtenidas a travs de la multiplicacin con el tren de impulsos.

    x(t) x T=1 x[n]

    p(t) = (t lT)

    l=

    xp (t)

    Aplicando la propiedad de multiplicacin en el tiempo de la transformada de Fourier y considerando la transformada del tren de impulsos podemos obtener la expresin del espectro de xp(t), y a partir de l, por normalizacin del eje de tiempos, el de x[n].

    X p () = 12 X()P(){ }=

    1T

    X( ks )k=

    donde X() representa el espectro de la seal x(t). Como se observa, el espectro se vuelve peridico de tal manera que solamente es posible recuperar x(t) si existe una rplica de su espectro en Xp() que no se solape con sus laterales. O sea, que la seal sea de banda limitada y que max, definida en la figura, cumpla max

  • LABORATORIO DE SEALES Y COMUNICACIONES

    26

    X()/T

    maxs/2 s/2 ssmax

    X()

    max max

    Para obtener el espectro de x[n], la secuencia asociada a x(t), debemos utilizar mtodos de anlisis de Fourier de secuencias. Dichos mtodos se repasan en los tres apartados siguientes.

    2.7 DESARROLLOS EN SERIE DE FOURIER DE SECUENCIAS PERIDICAS

    Las secuencias peridicas tambin pueden desarrollarse en serie de Fourier en una base de sinusoides armnicamente relacionadas. Al igual que en las series de Fourier de seales continuas, se componen de dos ecuaciones: la de sntesis y la de anlisis, que aparecen a continuacin en ese orden:

    x[n] = a k e jk(2 / N)n

    k =< N >

    [ ]aN

    x n ekjk N n

    n N

    = =< >1 2( / )

    donde N es el periodo de la seal x[n].

    Las principales diferencias con las series de seales continuas son dos: i) los coeficientes ak son peridicos de periodo N (el periodo de la seal) y ii) no existen problemas de convergencia (mientras la seal sea finita) ya que se suma un nmero finito de trminos igual al periodo de la secuencia.

    Debemos observar que tanto la ecuacin de sntesis como la de anlisis solamente toman valores en un nmero finito de puntos (N puntos, el nmero

  • LABORATORIO DE SEALES Y COMUNICACIONES

    27

    de muestras del periodo). Esto hace que dichas expresiones sean muy apropiadas para trabajar con muestras de seal en un ordenador. De hecho, mediante un artificio realizado sobre la seal de entrada, las series de Fourier discretas sirven para definir un espectro discreto til para el trabajo en computador. Este tipo de tcnicas se repasan en los dos apartados siguientes.

    2.8 TRANSFORMADA DE FOURIER DE SECUENCIAS

    La herramienta para trabajar con secuencias en el dominio de la frecuencia es la transformada de Fourier de secuencias o de tiempo discreto, a la que se puede llegar a partir de las series de Fourier de seales peridicas, haciendo tender el periodo hacia infinito. Las expresiones directa e inversa de las transformadas son las siguientes:

    X() = x[n]

    n=

    e jn

    x[n] = 1

    2 X() ejn d

    La principal caracterstica del espectro de una secuencia es el ser peridico de periodo 2. Se debe observar tambin que es una funcin continua, y por ello no apta para trabajar con ella en el ordenador.

    La Transformada de Fourier de tiempo discreto se basa en un sumatorio de infinitos trminos, y por ello presenta el problema de convergencia. Se puede demostrar que la transformada converge si el mdulo o mdulo al cuadrado de la seal son absolutamente sumables. En el caso de trabajar con seales reales muestreadas, el hecho es anecdtico puesto que nunca se suman infinitos trminos ya que la duracin de la seal almacenada es forzosamente finita.

    Las series de Fourier de secuencias pueden ser integradas en la Transformada de Fourier sin ms que incluir funciones impulso en el espectro. Se trata de un artificio terico, ya que no se pueden representar impulsos en un ordenador.

    X() = 2

    NXp

    k 2N

    k =

    2 kN X p () = x[n] e jn

    Como ya se ha comentado, la transformada inversa de Fourier de secuencias consiste en una integral, operacin poco adecuada para ser utilizada en un ordenador. A continuacin describiremos la Transformada

  • LABORATORIO DE SEALES Y COMUNICACIONES

    28

    Discreta de Fourier (DFT: "Discrete Fourier Transform"), que es el algoritmo utilizado generalmente para trabajar en el computador con seales reales. Dicha transformada nos permitir utilizar el dominio de la frecuencia en operaciones con seales reales.

    2.9 TRANSFORMADA DISCRETA DE FOURIER (DFT)

    Se puede concebir una transformada de Fourier de secuencias discretas, la cual sea tambin discreta en el dominio de la frecuencia. Esto es posible si la secuencia est limitada en el tiempo. Como ya hemos comentado, las seales reales con las que tratamos en un ordenador son de duracin limitada. Para dichas seales, mediante el artificio de construir una seal peridica de periodo su duracin y desarrollarla mediante una serie de Fourier discreta, se llega a la definicin de transformada discreta de Fourier (transformada directa e inversa a continuacin):

    X [k] = x[n]

    n =0

    N 1 e jk 2 / N( )n ; k = 0, 1, .. .. ., N - 1

    [ ] [ ]x nN

    X k e jk N nk

    N

    = =

    1 20

    1 ~ ( / ) ; n = 0, 1, ..., N -1

    donde N es la duracin de la seal y X(k) representa muestras del espectro de la seal x[n] en N puntos equiespaciados en el intervalo [0-2). Esta transformada es la herramienta fundamental en el anlisis de seales mediante ordenador. Existen algoritmos rpidos de clculo para dicha transformada ("Fast Fourier Transform", FFT) que permiten realizarla muy eficientemente y a gran velocidad.

    El estudio en profundidad de la DFT queda fuera del alcance de este curso. Simplemente debe quedar claro que la DFT est constituida por muestras tomadas de la transformada de Fourier de secuencias. En el caso de que la secuencia sea de duracin limitada, es posible recuperarla ntegramente a partir de dichas muestras (DFT inversa). En este nivel, podemos ver la DFT como una forma de calcular numricamente la transformada de Fourier de secuencias de duracin finita.

    Como puede observarse, la DFT es un algoritmo consistente en sumas de un nmero finito de trminos y, por lo tanto, apto para ser realizado por un ordenador. Debemos recalcar la idea de que la DFT surge de repetir peridicamente la secuencia finita. Por ello, la DFT solamente opera con un periodo (la duracin de la seal: N puntos) de la seal ficticia. Fuera de ese periodo debe suponerse que la secuencia real se anula. Durante la prctica, cuando se hallen espectros de una secuencia a travs de la DFT, se

  • LABORATORIO DE SEALES Y COMUNICACIONES

    29

    representarn en la pantalla los N puntos correspondientes a la duracin de la seal (el periodo de la secuencia ficticia).

    2.10 INTERVALO DE OBSERVACIN FINITO Y RESOLUCIN ESPECTRAL

    Las limitaciones impuestas a la simulacin por ordenador son: la discretizacin (tanto en el tiempo como en la frecuencia) y el intervalo temporal finito (tanto para tiempo continuo como discreto). Esto puede entenderse estudiando las muestras que componen la DFT de la seal.

    Por ejemplo, supongamos que la entrada es cosenoidal, esto es, x(n) = cos(0n), -

  • LABORATORIO DE SEALES Y COMUNICACIONES

    30

    Si N (digamos N=1024), entonces w() () y el espectro X () representado en la Fig.3.7. se transforma en dos deltas de Dirac sobre 0 que es el espectro de cos(0n), - 4 /1-2 (se supone que N>4/1 y N>4/2). Por ejemplo, si 1= 0.2 y 2=0.3, entonces N>40.

    2.11 RECONSTRUCCIN DE SEALES CONTINUAS PARTIENDO DE SU SECUENCIA ASOCIADA

    En el punto 5 hablamos de secuencia asociada a una seal. Se puede demostrar que el espectro de la secuencia asociada est relacionado con el de xp(t) (la seal multiplicada por el tren de impulsos) por el siguiente cambio de variable (donde representa pulsacin correspondiente a seales discretas y a continuas):

    X p (

    T

    ) = X() ; T =

    En la figura se muestra el espectro del apartado 5, pero habindole aplicado el cambio de variable anterior (llevado al eje de pulsacin ).

    X(/)/T

    22

    maxT maxT La forma de operar en MATLAB ser a travs de la secuencia asociada

    a una seal de tiempo continuo y su anlisis espectral estar basado en la DFT. La DFT toma N muestras uniformemente espaciadas (entre 0 y 2

  • LABORATORIO DE SEALES Y COMUNICACIONES

    31

    generalmente) en un intervalo 2 del espectro de la secuencia (figura anterior). En algunos casos, como en el de las series de Fourier de seales continuas, las demostraciones que se ven en la prctica consisten en clculos realizados sobre las expresiones tericas. Pero el modo normal de operacin consiste en utilizar la secuencia asociada muestreada a una frecuencia muy superior al criterio de Nyquist (hacer que las rplicas en la figura estn muy separadas). De esa forma, como veremos a continuacin al hablar de la reconstruccin de seal, con una simple unin por lneas de las muestras se obtiene una representacin casi exacta de la seal original. Esta representacin es la que el alumno podr observar en la pantalla simulando una seal continua.

    Sabemos que a partir de la secuencia asociada a una seal continua, si sta ha sido obtenida cumpliendo la condicin de Nyquist, se puede recuperar de forma exacta la seal original. El esquema ideal de reconstruccin aparece en la figura siguiente:

    x(t)xT=1x[n]

    p(t) = (t lT)

    l=

    x p (t)

    T

    s / 2 s / 2

    Filtro paso bajo ideal

    En primer lugar, el esquema hace que, de nuevo, la separacin entre muestras (almacenadas en la memoria del ordenador) sea T (bloque rectangular). A continuacin, se multiplica cada muestra por una funcin impulso en la posicin adecuada (tiene una doble funcin: situar las muestras en la posicin temporal adecuada y dotar de energa a la seal continua). De esta manera, hemos vuelto al espectro de la seal muestreada (continua) del apartado 5, xp(t). Para recuperar la seal original basta recuperar la replica central del espectro (entre -s/2 y s/2) mediante un filtro paso bajo ideal de las caractersticas de la figura. La expresin de la seal recuperada de forma ideal aparece a continuacin y se denomina interpolacin de banda limitada.

    x t x nT sinc t nTTn

    ( ) ( ) ( )= =

    El esquema de conversin ideal de seales a secuencias y de

    recuperacin de seales a partir de la secuencia asociada tiene varias

  • LABORATORIO DE SEALES Y COMUNICACIONES

    32

    limitaciones que hacen imposible su realizacin en la prctica. Los tres aspectos prcticos que impiden su realizacin prctica y que deben ser aclarados por el alumno en esta prctica son:

    Ya que siempre observamos un intervalo de tiempo finito, las seales reales no son nunca de banda limitada, con lo cual no cumplen estrictamente la condicin de Nyquist. Aunque, s la cumplen de forma aproximada a partir de determinada frecuencia de muestreo.

    No existen funciones ideales (tales como el impulso) que nos permitan realizar el muestreo o la reconstruccin de seales. Lo cual obliga a usar aproximaciones, cuya influencia sobre la seal muestreada y la secuencia asociada veremos a continuacin.

    El filtro de reconstruccin ideal es un filtro no realizable fsicamente (su respuesta al impulso, funcin sinc(.), se extiende en todo el eje de tiempos).

    Durante el desarrollo de la prctica el alumno encontrar ejercicios destinados a ilustrar los efectos anteriores. A continuacin, revisaremos el anlisis terico de alguno de dichos efectos. En concreto, la no existencia de funciones impulso. Comentaremos dos tipos de muestreo, uno con ms influencia en la reconstruccin de la seal y el otro en el muestreo propiamente dicho.

    * Muestreo Natural: El tren de funciones impulso del apartado 5 es sustituido por otro de pulsos con forma cualquiera. Cada pulso, en toda su duracin, multiplica a la seal. El espectro de la seal muestreada se obtiene haciendo la convolucin de los espectros del tren de pulsos y de la seal. Su expresin es la siguiente:

    X N() = 1T P(ks ) X( ks )k=

    donde el subndice N indica "muestreo natural", T es el periodo de muestreo, P() es el espectro del pulso y X() el de la seal continua. La figura representa el espectro XN():

    maxs/2 s/2 ssmax 3s/23s/2

    P(0)X()/TP(-s)X(+s)/T P(s)X(s)/T

  • LABORATORIO DE SEALES Y COMUNICACIONES

    33

    Podemos observar que el espectro es el mismo que el del apartado 5, sin ms que multiplicar cada rplica por una constante diferente. Ello permite, salvo por una prdida de amplitud, recuperar la seal utilizando el filtro reconstructor ideal (definido en este apartado). El muestreo natural se da en los sistemas pulso-eco (radares, sonares, equipos de ensayos no destructivos, ...) y en algunos tipos de modulaciones de transmisin.

    * Muestreo Instantneo (muestreo y retencin): Consiste en aadir un filtro (cuya respuesta al impulso sea un pulso rectangular) en la salida del conversor continuo-discreto ideal (apartado 5). El aspecto de la seal muestreada es el de un tren de pulsos rectangulares cuya amplitud se corresponde con la amplitud de la muestra tomada idealmente. En el lmite, cuando el ancho del pulso rectangular coincide con el periodo de muestreo, tenemos una aproximacin por rectngulos a la seal original.

    t

    x(t)xp(t)

    iT (i+1)T (i+2)T ...................

    x(iT)

    En el caso de conversiones continuo-discreto el efecto sobre la toma de la secuencia no es relevante. Durante el periodo en que la seal muestreada permanece constante se codifica la amplitud de la seal. Como sta es la misma que en el punto en que tericamente se tom la muestra, el efecto sobre la secuencia asociada es nulo. Normalmente, en los conversores A/D las muestras se toman por este mtodo.

    No ocurre lo mismo cuando se utiliza el muestreo instantneo para realizar una conversin discreto-continuo. En este caso, la utilizacin de pulsos deforma el espectro de la seal muestreada (tren de pulsos) con respecto al de su secuencia asociada. La seal que tenemos previamente al filtro de reconstruccin es la siguiente:

    x i(t) = x(nT) p(t nT)

    n =

    Se puede demostrar, sin ms que poner la expresin anterior en forma de convolucin y aplicar propiedades de la transformada de Fourier, que el espectro de la seal con muestreo instantneo es:

    X i() = P() X ()

  • LABORATORIO DE SEALES Y COMUNICACIONES

    34

    donde P() representa el espectro del pulso rectangular utilizado en el muestreo y X() representa el espectro de la seal muestreada idealmente.

    maxs/2 s/2 ssmax 3s/23s/2

    P()X(+s)/T P()X(s)/T)/TP()X(

    Se puede observar como, a diferencia del muestreo natural, el espectro completo de la seal muestreada idealmente est multiplicado por el del pulso de muestreo. Como consecuencia, la rplica central del espectro se deforma (no solamente por una constante de amplitud) al ser multiplicada por el espectro del pulso. Existe an una forma de recuperar la seal que consiste en utilizar un filtro reconstructor cuya caracterstica de frecuencia dentro de la banda de la rplica central sea la inversa al espectro del pulso de muestreo. Suele ocurrir que, al igual que en el caso del filtro reconstructor ideal, dicho filtro no suele ser realizable en la prctica (su respuesta al impulso tiene duracin infinita). A travs de la expresin del espectro del muestreo instantneo y la figura anterior puede intuirse que el efecto sobre la seal ser menor a medida que se estreche la duracin del pulso de muestreo.

    Al final de la prctica se realizan experimentos con filtros de reconstruccin no ideales, que permiten reconstruir las seales de forma aproximada, pero con resultados aceptables.

    2.12 COMENTARIOS FINALES

    El desarrollo terico tiene como principal objetivo el aclarar al alumno cmo se procesan en un ordenador seales continuas reales (bien en el dominio temporal o en el de la frecuencia). El proceso pasa por una conversin continuo-discreto, conservando en lo posible la informacin de la seal (salvo distorsiones inevitables) y por un anlisis basado en operaciones con muestras. Para realizar el anlisis espectral con el computador necesitamos un espectro discreto. El operador que, partiendo de una secuencia finita, obtiene un espectro discreto se denomina transformada discreta de Fourier (DFT). Dicho algoritmo es el alma del procesado de seales mediante ordenador. Una vez procesada la secuencia, debemos recuperar la seal continua. En los ltimos apartados hemos repasado algunos conceptos de conversin continuo-discreto.

    Esta forma de trabajar con seales (a travs de una conversin continuo-discreto) sirve para cualquier seal con las caractersticas adecuadas,

  • LABORATORIO DE SEALES Y COMUNICACIONES

    35

    venga descrita por un modelo matemtico o no. En el caso de que la seal venga definida por un modelo matemtico, es posible trabajar con dicho modelo realizando operaciones funcionales sobre l (de forma parecida a como usted trabajara sobre el papel). Por ejemplo, cuando usted disee filtros en las siguientes prcticas y vea el espectro de la funcin de transferencia, no ver la DFT de la respuesta al impulso, sino una representacin de la transformada Z o de Laplace particularizada en el eje de frecuencias (existen en MATLAB una serie de funciones para calcularla).

    En resumen, en el programa MATLAB usted dispone de herramientas para trabajar con seales reales (a travs de los mtodos de esta prctica), as como de otros para calcular las expresiones tericas del procesado de determinadas seales conocidas.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    36

    Trabajo previo (opcional no se entrega!)

    Antes de iniciar el trabajo correspondiente a la prctica en el laboratorio, el alumno deber entregar, personalmente, una hoja con las respuestas a las siguientes cuestiones, relacionadas con el desarrollo de la prctica.

    Cuestin 1

    Explique por qu las sinusoides discretas no son peridicas, aunque procedan del muestreo de una sinusoide continua, que es peridica, a no ser que se de la relacin entre el periodo de muestreo y el periodo de la sinusoide continua que se ha comentado en el desarrollo terico.

    Cuestin 2

    Deduzca los valores de los coeficientes del desarrollo en serie de Fourier de una seal cuadrada peridica.

    Cuestin 3

    En la realidad no existen seales de longitud temporal infinita. Es necesario por tanto estudiar el efecto de la duracin finita del intervalo de observacin. Suponga que se observa una seal sinusoidal pura continua durante un intervalo de observacin finito Sabra deducir tericamente la forma del espectro observado, y la variacin de su anchura (medida, por ejemplo, a 3 dB del mximo) al modificar el intervalo de observacin? NOTA: Interprete la seal que est analizando como el producto de una seal infinita por la ventana de observacin.

    Cuestin 4

    Deduzca la expresin que aparece en el apartado 11 del desarrollo terico:

    X N() = 1T P(ks ) X( ks )k=

  • LABORATORIO DE SEALES Y COMUNICACIONES

    37

    PRACTICA 2. Manual de la prctica NOMBRE:

    APELLIDOS:

    GRUPO:

    Ejercicio 2.1: En este ejercicio se realizarn algunas operaciones sobre una seal real, muestreada previamente y grabada en el archivo 'aaa.mat'. Se trata de una seal de voz que contiene las muestras de la vocal a pronunciada de forma continuada. La frecuencia de muestreo es 8192 Hz. En este ejercicio procederemos de la siguiente manera:

    1. Cargue la seal en su entorno MATLAB utilizando la sentencia load aaa . En el espacio de trabajo tendr dos vectores de diez mil muestras: y contiene la seal y t es el vector con los tiempos en los que ha sido tomada cada muestra.

    2. Usando la sentencia plot(t,y) y la herramienta de zoom visualice la seal. Observe sobre todo su comportamiento cuasi-peridico. Cunto vale el periodo aproximado de la seal?

    Periodo=

    3. Con el ordenador que tenemos delante podemos adquirir seales a travs del micrfono y reproducirlas utilizando del altavoz. La seal muestreada se le hemos da en un archivo. Usted puede escucharla para comprobar como le afectan los distintos tipos de procesado. Utilice la sentencia sound para escuchar cualquier seal. Se debe especificar la seal y la frecuencia de muestreo. Para nuestra seal la sentencia queda sound(y,8192).

    4. A continuacin realizar una serie de operaciones sobre el eje de tiempos de la seal dada.

    4.1 Invierta temporalmente la seal "y" con la sentencia y_inv= flipud(y). Visualcela la nueva seal y_inv con plot y escchela con sound. Oye alguna diferencia apreciable? Que conclusiones sacara?

  • LABORATORIO DE SEALES Y COMUNICACIONES

    38

    4.2. Vamos a realizar ahora una compresin temporal del 20% sobre la seal y. Para ello bastar con aumentar la frecuencia de reproduccin de la seal. Use sound(y, 8192*1.2) para escucharla y plot(t/1.2, y) para visualizarla. Suena ms aguda o ms grave?. Razone, utilizando las propiedades de las transformadas de Fourier que usted conoce, la diferencia con la seal y original:

    4.3. Probemos con una expansin temporal del 20% de la seal y. En este caso reduciremos la frecuencia de reproduccin. Use sound(y, 8192*0.8) para escucharla y plot(t/0.8, y) para visualizarla. Igual que en el punto anterior, razone los cambios de tonalidad en la seal.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    39

    Ejercicio 2.2: Los dos ejercicios siguientes ilustran algunos fenmenos que debemos tener en cuenta cuando calculamos el espectro de una seal con ayuda de un ordenador: los efectos del intervalo finito de observacin y la resolucin espectral. En este primero presentaremos el intervalo finito de muestreo. Proceda de la siguiente manera:

    1. Genere un vector x que contenga 8192 muestras de una seal sinusoidal con frecuencia 10Hz y usando una frecuencia de muestreo (fs) de 30 Hz (la fase no es importante).

    2. Visualizaremos el espectro de la seal x, calculado mediante algoritmos de DFT. Para ello debe utilizar la rutina espectro(x,fs). Esta rutina representa el modulo del espectro calculado mediante una DFT de 8192 puntos (la rutina representa las frecuencias en el intervalo [0, fs) ). Para facilitar la lectura del eje de frecuencias ha sido expresado en frecuencia.

    Cul es la separacin en frecuencia que puede medir en pantalla entre dos muestras consecutivas del espectro representado?

    Cul es la expresin de la separacin en frecuencia de dos muestras consecutivas del espectro calculado con una DFT cualquiera?

    Separacin=

    3. Ahora vamos a visualizar el espectro de segmentos iniciales de la sinusoide x con distinta cantidad de muestras (equivalentemente, traducido a

  • LABORATORIO DE SEALES Y COMUNICACIONES

    40

    una seal continua, de distinto intervalo temporal de observacin). Para conseguir un segmento con las "n" primeras muestras de la sinusoide "x" use la sentencia segmento=x(1:n).

    Utilice la sentencia espectro para obtener el mdulo del espectro de cada segmento de seal x. Mediante la sentencia ginput mida el ancho a 3 dB de los lbulos del espectro de la seal x para los siguientes nmeros de puntos:

    Puntos Duracin (Sg) Ancho lbulo (Hz)

    25

    100

    400

    800

    4. Realice este apartado en su casa.

    4.1. Podra ajustar una expresin sencilla que relacione el intervalo de observacin con el ancho del lbulo del espectro a 3 dB?. Para ello puede intentar ajustar una recta entre Ln(Duracin) y Ln(ancho del lbulo).

    4.2. Si siempre se realizase una DFT del mismo nmero muestras que hay en el intervalo de observacin: Qu ancho, en nmero de muestras, tendran los lbulos principales del espectro de la sinusoide?. Conteste de forma razonada.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    41

    Ejercicio 2.3: Aqu ilustraremos el concepto de resolucin espectral. Podemos entender por resolucin espectral de cualquier algoritmo para el clculo del espectro como la mnima separacin en frecuencia que deben tener dos sinusoides puras para que puedan ser distinguidas como diferentes en el espectro. Uno de los factores que influyen en la resolucin es el intervalo de observacin (o equivalentemente, el nmero de muestras de seal que se toman para hallar el espectro).

    En este ejercicio el alumno debe aprender cual es el intervalo de observacin necesario para distinguir dos sinusoides. Proceda de la siguiente forma:

    1. Obtenga las seales z1 y z2 sumando a la sinusoide x del ejercicio anterior otras dos sinusoides de frecuencia 11 Hz, la misma amplitud, frecuencia de muestreo, y duracin, pero con fase 0 para la primera y fase para la segunda.

    2. Aplicando la rutina espectro(.) a segmentos de diferente longitud de las seales z1 y z2, determine cul es la longitud mnima del intervalo de observacin que permite distinguir a travs del espectro que existen dos sinusoides. Se considera que las dos sinusoides se separan en el espectro cuando existe un nulo claro entre los lbulos principales de los sinc de cada sinusoide. Pruebe con intervalos de un nmero de muestras entre [15,70].

    z1 Nmero de muestras= Duracin del intervalo= Sg

    z2 Nmero de muestras= Duracin del intervalo= Sg

    Explique la diferencia de resolucin en funcin de la fase de la segunda sinusoide:

  • LABORATORIO DE SEALES Y COMUNICACIONES

    42

    3. Para contestar en casa: Conociendo las frecuencias de las dos sinusoides y el intervalo de observacin necesario para distinguirlas, Podra obtener, para las dos fases estudiadas, la relacin matemtica que liga estas tres cantidades?. En general, y utilizando un criterio de caso peor, Qu expresin utilizara usted en un caso real?.

    Ejercicio 2.4: Aplicaremos ahora los conceptos de los ejercicios 2.2 y 2.3 a la seal de voz del ejercicio 2.1. Cargue nuevamente la seal y contenida en el archivo 'aaa.mat'. Halle el espectro de los primeros 8192 puntos con la rutina espectro(y(1:8192),8192), esto es equivalente a estar usando una ventana de observacin de 8192 puntos y hallar el espectro resultante. Observe que aparece un espectro dominado por lneas espectrales verticales.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    43

    1. Mida la separacin entre los picos del espectro (considere como picos representativos aquellos que tienen una amplitud mayor que 10). A partir de la frecuencia del primer pico espectral y las separaciones entre los sucesivos, relacione las propiedades espectrales de la seal con la estructura temporal medida en el ejercicio 1.

    2. Vaya reduciendo el nmero de puntos del intervalo de observacin de y hasta hallar el mnimo del que puede hallar el espectro y seguir distinguiendo los picos con claridad. En su casa, razone como se obtendra dicho valor utilizando el criterio terico del punto 3 del ejercicio 2.3.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    44

    Ejercicio 2.5: Ilustraremos el fenmeno de solapamiento espectral muestreando sinusoides de distintas frecuencias

    Utilizando la funcin solapam(frecuencia(Hz)), mida la frecuencia de la seal sinusoidal muestreada que se le presenta en pantalla para los valores de frecuencia de la tabla y antelo. El resto de los parmetros utilizados en la funcin son: Amplitud de la sinusoide: 1v; Fase: 0 rads; Intervalo de observacin: 10 ms; Frecuencia de muestreo 8 Khz.

    Frecuencia (Hz) Freq. Observada

    100

    350

    Al observar las dos grficas anteriores, ver que la frecuencia aparente de la sinusoide crece, como podra esperarse.

    Utilizando de nuevo la funcin solapam, mida de nuevo la frecuencia de la seal simusoidal muestreada para este nuevo conjunto de valores y antela en la tabla:

    Frecuencia (Hz) Freq. Observada

    7650

    7900

    Observe que ahora la frecuencia aparente de las seales muestreadas parece decrecer. Explique porqu, teniendo en cuenta las implicaciones del teorema de muestreo. (NOTA: Recuerde lo explicado en los apartados 2 y 5 del desarrollo terico).

  • LABORATORIO DE SEALES Y COMUNICACIONES

    45

    Ejercicio 2.6: En este ejercicio y el siguiente se visualizarn los efectos del muestreo instantneo sobre la reconstruccin de una seal (conviene recalcar que el efecto del muestreo instantneo solamente es apreciable en la conversin discreto-continuo). Aqu veremos el efecto del muestreo instantneo sobre la reconstruccin de una sinusoide.

    Utilizando la funcin anchmues(z) (z representa el ancho relativo del pulso de reconstruccin con respecto al intervalo de muestreo: se denomina ciclo de trabajo y viene expresado en %), visualice los efectos del muestreo instantneo de una seal sinusoidal. El programa visualiza en primer lugar la seal original. Despus aparece la seal muestreada de forma instantnea. Pulsando la tecla de retorno aparece el mdulo del espectro de la seal original. Pulsando otra vez la tecla de retorno aparecen el modulo del espectro de la seal muestreada.

    Observe el espectro para dos valores del ciclo de trabajo: 20 y 70%. La funcin muestrea una sinusoide de amplitud 1 V, frecuencia 1 Hz y fase 0 Rad con una frecuencia de muestreo de 4 Hz durante un intervalo de observacin de 5 sg. Compare los dos espectros a la luz de la expresin terica del espectro de seales muestreadas de forma instantnea. El comprender el fenmeno le ayudar a contestar el apartado siguiente.

    Ejercicio 2.7: Ahora aplicaremos el muestreo instantneo a la reconstruccin de la seal contenida en el archivo aaa.mat y escucharemos los resultados, en los que se podr observar cmo la distorsin sobre la seal puede ser apreciable. Utilizaremos una retencin de orden cero (el muestreo instantneo con un pulso con ciclo de trabajo del 100 %). Procederemos de la siguiente manera:

    1. Para que los efectos sean ms audibles con el equipo de que disponemos, en primer lugar vamos a diezmar la seal tomando una muestra de cada tres (obteniendo la seal w). Esto equivale a haber muestreado la seal con una frecuencia de (8192/3) Hz. Si escucha la seal con sound(w,8192/3) no debe apreciar una diferencia mayor respecto a la seal original y. El que no exista distorsin con esta frecuencia de muestreo puede

  • LABORATORIO DE SEALES Y COMUNICACIONES

    46

    tambin deducirse observando el espectro de y (obtenido en 2.4). En dicho espectro no se encuentran componentes espectrales apreciables por encima de los 1200 Hz.

    2. Simularemos la retencin a travs de una seal sobremuestreada. Aumentaremos la frecuencia de muestreo por cinco introduciendo cuatro ceros entre cada dos muestras de w. Seguidamente convolucionaremos la seal resultante con un pulso cuadrado de amplitud uno y ancho 5 muestras. El resultado ser que cada muestra de w se ha repetido 5 veces y la frecuencia de muestreo equivalente ser 8192*5/3. Denominaremos k a la nueva seal. Este proceso se realiza a travs de la funcin k=retencion(w).

    3. Mediante la rutina espectro determine el espectro de k y de w. Comprelos y explique sus diferencias a la luz de la frmula del espectro de seales muestreadas de forma instantnea. Si le ayuda, puede realizar un dibujo aproximado de los espectros.

    4. Reproduzca la seal k con la sentencia sound. Observa diferencias apreciables con respecto a la seal w?. Si es as, podra explicar a que son debidas?.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    47

  • LABORATORIO DE SEALES Y COMUNICACIONES

    48

    3 FILTRADO DE SEALES.

    3.1 INTRODUCCION

    (a) Objetivos de la Prctica.

    3.1 Revisar las diferentes formas de representacin de sistemas (circuitos) lineales en el dominio del tiempo y en dominio de la frecuencia.

    3.2 Revisar la operacin de convolucin y su aplicacin a sistemas lineales discretos para la obtencin de su respuesta temporal.

    3.3 Observar los efectos de filtrado sobre la seal de salida en los dominios del tiempo y de la frecuencia.

    3.4 Destacar las analogas y diferencias entre sistemas lineales en tiempo continuo y en tiempo discreto.

    (b) Desarrollo terico.

    Conceptos necesarios: Respuesta al impulso de sistemas lineales discretos/continuos; operacin de convolucin; funcin del sistema (funcin de transferencia): H(s) H(z); respuesta frecuencial: respuestas en amplitud y en fase; efectos de las distorsiones de amplitud y fase; diseo de filtros en el dominio de la frecuencia.

    INDICE DE LA TEORA:

    3.3 Sistemas discretos caracterizacin de entrada a salida (e/s)

    3.3.1 Convolucin discreta

    3.3.2 Respuesta frecuencial de filtros discretos

    3.3.3 Respuesta temporal y filtrado de seales discretas: simulacin en ordenador

    3.4 Filtros analgicos: diseo y anlisis mediante ordenador.

    3.4.1 Convolucin en tiempo continuo

    3.4.2 Respuesta frecuencial de filtros analgicos

    3.5 INTRODUCCIN A FDATOOL

  • LABORATORIO DE SEALES Y COMUNICACIONES

    49

    3.5.1 EJEMPLO DE PROCESO DE DISEO

    3.2 OBJETIVO

    El propsito de esta introduccin terica a la prctica 3 consiste en el repaso de aquellos conceptos relacionados con la representacin de los sistemas lineales en el sentido de entrada a salida (E/S). Asimismo, se hace nfasis en las operaciones de filtrado y en la respuesta frecuencial de los sistemas en tiempo discreto o en tiempo continuo (digital frente a analgico).

    3.3 SISTEMAS DISCRETOS CARACTERIZACIN DE ENTRADA A SALIDA (E/S)

    Un sistema discreto lineal e invariante en el tiempo se puede caracterizar E/S mediante su respuesta al impulso h(n) o su funcin de sistema (o de transferencia) H(z), donde H(z) es la transformada Z de h(n), es decir,

    zh(n) = H(z) n--=n

    Si x(n) es la secuencia de entrada al sistema e y(n) es la secuencia de salida, entonces se verifica

    x(k)k)-h(n = x(n)h(n) = y(n)-=k

    (3.1a)

    donde "*" significa operacin de convolucin entre dos secuencias y se define en (3.1a) de donde se demuestra que goza de la propiedad conmutativa, esto es, h(n)*x(n) = x(n)*h(n).

    Aplicando transformada Z a la relacin (3.1a) se obtiene

    X(z)H(z) = Y(z) (3.1b) donde Y(z), H(z) y X(z) son las transformadas Z de las secuencias y(n), h(n) y x(n), respectivamente.

    En la Fig. 3.1 se representan simblicamente las relaciones (3.1a) y (3.1b)

  • LABORATORIO DE SEALES Y COMUNICACIONES

    50

    Fig. 3.1

    El dominio de la frecuencia se obtiene tomando z = ej (circunferencia unidad) y de la relacin (3.1b) se deduce

    )eX( )eH( = )eY( jjj (3.1c) donde (3.1c) representa la relacin entre las transformadas de Fourier de las respectivas secuencias.

    Como ya se sabe, H(ej) representa la respuesta frecuencial del sistema (filtro) que es peridica en y de periodo 2, pudiendo escribirse as

    eh(n) = H(z)eH nj-=-k

    ezj

    j

    =

    = )( (3.1d) La respuesta en amplitud del filtro es el mdulo de su respuesta

    frecuencial, es decir, |H(ej)|. La respuesta en fase es el argumento de su respuesta en frecuencia, es decir, arg{H(ej)}. El retardo de grupo, se define por k() = - d(arg{H(ej)})/d y representa el nmero de muestras de retardo de cada frecuencia al atravesar el filtro.

    3.3.1 CONVOLUCIN DISCRETA

    La realizacin computacional de (3.1a) puede resultar complicada, sobre todo en secuencias de longitud elevada. Si una secuencia tiene longitud N, y la otra longitud M, la secuencia resultante de la convolucin tendr longitud N+M-1.

    Por ejemplo, supongamos h(n) = x(n) = 1, para 0n3; y ambas cero en el resto (esto es, N=M=4). En la figura 3.2a se representa h(n) x(n) y en la figura 3.2b se representa el resultado de la convolucin cuya longitud es 4+4-1=7.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    51

    Fig. 3.2a Fig. 3.2b

    Si esta convolucin se hubiera realizado por medio de MATLAB, se definiran "h" y "x" como vectores de cuatro componentes y el resultado y(n) = h(n)*x(n) se almacenara en un vector "y" de siete componentes.

    En general, si la secuencia h(n) es distinta de cero solamente en N1nN2 (longitud N2-N1+1) y la secuencia x(n) es distinta de cero solamente en M1nM2 (longitud M2-M1+1), entonces y(n) = h(n)*x(n) puede tomar valores distintos de cero solamente en N1+M1nN2+M2 (longitud N2+M2-N1-M1+1).

    Observamos que la operacin de convolucin tiene dos efectos importantes sobre las seales. Por un lado, tiende a desparramar la seal resultante (aumenta la longitud con respecto a las seales de partida). El resultado de convoluciones reiteradas es una seal gaussiana, esto es x1(x)*x2(x)*...*xn(x) es aproximadamente gaussiana. Razonar por qu.

    Un procedimiento alternativo para obtener la secuencia y(n) referida en (3.1a) ser a partir de (3.1b) y, despus, aplicar la transformada inversa a Y(z) para calcular y(n). Sin embargo, la realizacin de este procedimiento mediante ordenador es muy complejo y requerira el uso de tcnicas de anlisis simblico. En el caso de que h(n) y x(n) sean de longitud finita, entonces y(n) se puede obtener recurriendo a la FFT ("Fast Fourier Transform") que es un procedimiento gil para clculo (mediante ordenador) de la DFT ("Discrete Fourier Transform") y que explicaremos brevemente a continuacin.

    Recordamos que si h(n) es distinta de cero solamente en 0nN-1 (longitud N), se define la transformada discreta de Fourier (DFT) a partir de N muestras de H(z) sobre la circunferencia unidad, esto es, sobre z=ej, tomadas uniformemente en 02). Es decir

    (k)H~ =N

    kjez

    H(z) 2=

    (3.2a)

  • LABORATORIO DE SEALES Y COMUNICACIONES

    52

    Por consiguiente, de (3.1d) se obtiene

    1-N0,1,...,=k ; eh(n) = (k)H Nkn2

    j-1-N

    0=n

    ~ (3.2b) y su inversa

    1-N0,1,...,=n ; e(k)H N1 = h(n) N

    kn2j

    1-N

    0=k

    ~ (3.2c) Observamos que (k)H~ es tambin una secuencia compleja (parte real y

    parte imaginaria) de longitud N y se puede computar por ordenador a partir de (3.2b). El algoritmo FFT no hace ms que computar (3.2b) de manera eficiente.

    De manera simblica escribiramos (3.2b) as

    1-N0,1,...,=k ;] h(n) FFT[ = (k)H~ (3.3a)

    Tambin (3.2c) se computa mediante un algoritmo similar que llamamos FFT inversa (FFT-1), esto es,

    1-N0,1,...,=n ;] (k)H [FFT = h(n) -1~ (3.3b)

    De manera similar a (3.1b) (3.1c), se verifica que

    1-N0,1,...,=k ; (k)X (k)H = (k)Y ~~~ (3.4a) donde las tres secuencias son de longitud N.

    Finalmente, la secuencia y(n), para n=0, 1, ..., N-1 se obtendra as

    1-N0,1,...,=n ;] (k)Y [FFT = y(n) -1~ (3.4b)

    En resumen, expresin equivalente para (3.1a) sera

    1-N0,1,...,=n ];FFT[x(n)] FFT[h(n)] [FFT =y(n) -1 (3.5) que puede computarse mediante ordenador siempre que N sea mayor o igual que la longitud de la secuencia resultante de (3.1a). Para ello, al vector de h(n) y al vector de x(n) hay que insertarles ceros (aadir componentes que son cero) hasta completar la longitud N. Por ejemplo, considerando las secuencias de la Figura 3.2, vemos que N7 (Fig 3.2b), entonces h=x=(1,1,1,1,0,0,0) y el vector y=(1,2,3,4,3,2,1). Si N fuera menor que 7, el resultado obtenido en (3.5) no sera correcto y la razn es que (3.5) realiza "convolucin circular", mientras

  • LABORATORIO DE SEALES Y COMUNICACIONES

    53

    que (3.1a) realiza "convolucin lineal" y slo son coincidentes si en la convolucin circular no se producen solapamientos (esto es, N longitud[h(n)] + longitud[x(n)]).

    3.3.2 RESPUESTA FRECUENCIAL DE FILTROS DISCRETOS

    Ya hemos comentado que H(ej) es la respuesta frecuencial del filtro discreto (vase (3.1d)). Hablar de respuesta frecuencial tiene sentido si el filtro es estable; para ello se requiere que los polos de H(z) estn dentro del crculo unidad del plano Z, esto es,

    filtro estable polos de H(z) en |z| < 1 que en el dominio del tiempo discreto significa que la respuesta al impulso sea absolutamente sumable, es decir,

    < |h(n)| estable filtro0=n

    donde se ha supuesto que el filtro es causal, es decir h(n)=0 para n

  • LABORATORIO DE SEALES Y COMUNICACIONES

    54

    Observemos que para definir la mscara se necesitan las frecuencias de corte de las distintas bandas y los lmites superior e inferior de |H(ej)| dentro de cada banda. Todo filtro posee tres tipos de bandas: bandas de paso, bandas atenuadas y bandas de transicin. Las bandas de paso se alternan con las atenuadas y entre ambas siempre existe una de transicin. Por ejemplo, en la caracterstica paso bajo de la Fig. 3.3 la banda de paso es [0, c], la banda de transin es [c, a] y la banda atenuada [a, ]; es decir, en un filtro paso bajo las bandas quedan definidas por la frecuencia de corte de la banda de paso c y la frecuencia de corte de la banda atenuada a, cumplindose que 0 < c < a < .

    En definitiva, un filtro paso bajo (Fig. 3.3) se define as

    1-1 |H(ej)| 1, para 0 c (banda de paso) 0 |H(ej)| 2, para a (banda atenuada)

    adems, se sobreentiende que

    2 |H(ej)| 1-1, para c a (banda de transicin) y que 0 < 2

  • LABORATORIO DE SEALES Y COMUNICACIONES

    55

    Fig. 3.4

    Es habitual definir la respuesta de amplitud de un filtro en unidades logartmicas (dB), esto es,

    |)eH(| 20 = |)eH(| jdBj log (3.6)

    Por consiguiente, la Fig. 3.4. con eje de ordenadas en unidades logartmicas (dB) se presenta en la Fig. 3.5.

    Fig. 3.5

    Dado que 0|H(ej)|1, (3.6) es siempre negativa, se considera la funcin atenuacin (inversa de la ganancia) definida por

    c a

    |H(e j)|

    |H(e j)|dB c a

  • LABORATORIO DE SEALES Y COMUNICACIONES

    56

    |)eH(| 20- = |)eH(|1 20 = )( jj

    loglog (3.7)

    Observemos que (3.7) se obtiene de (3.6) cambiando el signo. Para el caso del filtro elptico de 4 orden representado en la Fig. 3.4, la funcin de atenuacin (3.7) se puede obtener de la Fig. 3.5 cambiando el signo del eje de ordenadas, tal como representamos en la Fig. 3.6

    Fig. 3.6

    Verificndose ahora

    0 () c, para 0 c (banda de paso) a () , para a (banda atenuada) La atenuacin mxima en la banda de paso (valor tpico c= 0.5 dB)

    recibe tambin el nombre de rizado en la banda de paso (por ejemplo, se habla de 0.5 dB de rizado).

    Por otra parte, a es la atenuacin mnima en la banda atenuada (valor tpico: a = 60 dB).

    En definitiva, c con c y a con a son los cuatro parmetros fundamentales que definen la mscara de transferencia de un filtro paso bajo. Existen programas de ordenador que con estos cuatro datos y el tipo de caracterstica (Butterworth, Chebychef o elptico) determinan H(z). Estos programas ofrecen las facilidades de representacin de diagramas polo-cero,

    c a

    ()dB

  • LABORATORIO DE SEALES Y COMUNICACIONES

    57

    respuesta en amplitud (Fig. 3.5 Fig. 3.6), respuesta en fase ()=arg{H(ej)}, retardo de grupo k()= -d(())/d, etc.

    El MATLAB necesita para la determinacin de H(z) el orden del filtro (n), atenuaciones c y a, y frecuencia de corte c; por tanto, a ser resultado y no dato. Del mismo modo que en otros programas a es dato y n es resultado (existen cuatro parmetros independientes, aparte del tipo de filtro; los dems parmetros son dependientes de los primeros).

    3.3.3 RESPUESTA TEMPORAL Y FILTRADO DE SEALES DISCRETAS: SIMULACIN EN ORDENADOR

    Habitualmente, en las Aplicaciones de filtrado se plantea una de las siguientes situaciones:

    (a) Considerando la entrada y el filtro como datos, determinar la salida (bien en el dominio del tiempo de la frecuencia). Este tipo de problemas pertenece al anlisis de sistemas.

    (b) Considerando la entrada y salida como datos, determinar el filtro. Este problema pertenece a la sntesis (o diseo) de sistemas.

    A la situacin (a) nos hemos referido anteriormente, tanto en el dominio del tiempo como en el dominio de la frecuencia. A la situacin (b) nos hemos referido solamente en el dominio de la frecuencia definiendo lo que hemos llamado la "mscara de transferencia" del filtro.

    En el dominio del tiempo, la longitud N de la secuencia de entrada debe ser bastante mayor que la duracin de la respuesta transitoria del filtro que coincide con la duracin de la secuencia h(n) (respuesta al impulso del filtro). En definitiva, la ventana de observacin o la longitud N de la secuencia de entrada del filtro debe verificar

    h(n) de longitud + |-|

    4 > N21

    (3.9)

    donde 1- 2 es la mnima separacin entre espectros de seales que se desean filtrar, y h(n) es la respuesta al impulso. Finalmente, de la secuencia de salida y(n) = h(n)*x(n) debemos descartar el rgimen transitorio debido al filtro, esto es, descartar las primeras muestras de y(n), quedando para la secuencia de salida una longitud de N - Longitud{h(n)}. Commo h(n) suele ser de longitud infinita, se entiende por longitud de h(n) el nmero de las muestras ms significativas.

    A partir de las secuencias enventanadas de la entrada y de la salida se pueden determinar sus espectros (utilizando MATLAB) para un nmero

  • LABORATORIO DE SEALES Y COMUNICACIONES

    58

    determinado de frecuencias k, k = 1, 2, ... (digamos 256 puntos) y hacer una representacin de los espectros de las seales de entrada y de salida.

    Tambin es til observar la respuesta al impulso o, ms prctico, la respuesta al escaln (u(n)=1, n0; u(n)=0, n

  • LABORATORIO DE SEALES Y COMUNICACIONES

    59

    (3.10) para algunos casos particulares de h(t) y de x(t). En este contexto x(t) es la funcin de entrada, h(t) es la repuesta al impulso, e y(t) es la funcin temporal de salida. En sistemas causales h(t)=0, para t

  • LABORATORIO DE SEALES Y COMUNICACIONES

    60

    Otra consideracin a tener en cuenta es que un filtro discreto estable tiene sus polos dentro del crculo unidad del plano Z, esto es, polos de Hd(z) en z

  • LABORATORIO DE SEALES Y COMUNICACIONES

    61

    Fig. 3.7

    Con los datos definidos en (3.13) y el tipo de caractersticas de filtro (Butterworth, Chebychef o elptico) se obtiene el orden n del filtro y finalmente H(s) (sus ceros, sus polos y la constante multiplicativa). Pero como ya hemos indicado si se utiliza el programa MATLAB, los datos de entrada son: el orden n, la pulsacin (frecuencia) de corte de la banda de paso c y las atenuaciones c y a de las bandas (de paso y atenuada). Finalmente, para definir la mscara de transferencia de un filtro de mltiples bandas de paso y atenuadas se deber indicar las frecuencias de corte de cada banda (extremos de cada intervalo frecuencial) y las atenuaciones mxima (bandas de paso) o mnima (bandas atenuadas).

    Una vez determinada H(s) mediante un programa de ordenador (MATLAB, por ejemplo), se puede hacer (tambin por ordenador) una representacin del diagrama polo-cero de H(s). Observemos que los polos de la atenuacin () son ceros de H(s) y estn en s = j (Fig. 3.7.). Asimismo, se pueden representar la amplitud H(j) de forma similar a la Fig. 3.4 Fig. 3.5. o en trminos de atenuacin Fig. 3.7. Tambin se puede representar la funcin de fase () = arg H(j) o el retardo de grupo ()= -d()/d (segundos). Tambin hay opciones para obtener y representar respuestas temporales (regmenes transitorios) y a partir del diagrama polo-cero podemos extrapolar el comportamiento transitorio del filtro por la proximidad de los polos al eje j (duracin del transitorio, rapidez de oscilacin, etc.).

    Finalmente, una vez diseado el filtro (determinada H(s)) el siguiente paso es la implementacin mediante alguna tecnologa (LC, RC-activa, elementos mecnicos, etc.), asunto que no se tratar en esta prctica y que se ha considerado de modo introductorio en la asignatura de Anlisis y Diseo de

  • LABORATORIO DE SEALES Y COMUNICACIONES

    62

    Circuitos de 2 curso. Otro tanto, se podra decir en cuanto a la implementacin de filtros discretos a partir de H(z) mediante tecnologa digital (procesadores digitales de seal), tecnologa de capacidades conmutadas, etc, que el alumno tendr ocasin de estudiar a lo largo de la carrera.

    3.5 INTRODUCCIN A FDATOOL

    FDATool es una interfaz grfica que ayuda a disear filtros digitales. Por debajo de ella corren los programas de diseo de filtros de Matlab que se encuentran en la librera de proceso de seal.

    3.5.1 EJEMPLO DE PROCESO DE DISEO

    A continuacin presentamos el proceso de diseo de un filtro digital de Butterworth, de orden 4, con una frecuencia de corte a 3dB. de 2400 Hz.

    SELECCIN DEL TIPO DE FILTRO

    Como es un filtro digital se debe introducir como dato de entrada la frecuencia de muestreo fs (p.e.: 48000 Hz). Todas las grficas de respuesta en frecuencia sern representadas por la herramienta en un ancho de banda de 0 a fs/2, que es la parte en la que queda caracterizado el comportamiento de un filtro digital.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    63

    Figura 3.8 Filtro de respuesta impulsional infinita y seleccin del tipo de filtro.

    SELECCIN DEL ORDEN DEL FILTRO

    Cuando se opta por escoger el orden del filtro (en tipo Butterworth), desaparece la opcin de escoger la atenuacin de la banda eliminada.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    64

    Figura 3.9 Seleccin del orden del filtro

    Oprimiendo el botn de Design Filter Matlab calcula el filtro y se puede pasar a visualizar sus caractersticas.

    VISUALIZACIN DE LA FUNCIN DE TRANSFERENCIA

    Figura 3.10 Mdulo y Fase del Filtro calculado

  • LABORATORIO DE SEALES Y COMUNICACIONES

    65

    RESPUESTA AL IMPULSO Y AL ESCALN UNIDAD

    Figura 3.11 Respuesta al Escaln Unidad

    DIAGRAMA POLO CERO DEL FILTRO

  • LABORATORIO DE SEALES Y COMUNICACIONES

    66

    Figura 3.12 Diagrama Polo - Cero del Filtro

    COEFICIENTES DE LA FUNCIN DE TRANSFERENCIA

    Existen varias estructuras digitales para simular un filtro analgico, se debe escoger la estructura de una sola seccin.

    Figura 3.13 Estructura del filtro

    Una vez convertido a esta estructura se puede pasar a visualizar sus coeficientes. Los coeficientes aparecen agrupados en dos grupos: los del numerador y los del denominador. Dichos coeficientes son los que multiplican a cada una de las potencias de "z" en el numerador y denominador de la expresin de la H(z) que define el filtro.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    67

    Figura 3.14 Coeficientes de la Funcin de tranferencia

    3.6 OBJETIVOS A DESARROLLAR EN LA REALIZACIN DE LA PRACTICA.

    Los apartados de la prctica son los siguientes:

    3.1 CONVOLUCION DISCRETA: y(n)=h(n)*x(n)

    (a) Considerar h(n) rectangular con x(n): rectangular, triangular, exponencial decreciente, senoidal amortiguada y pulso rectangular.

    Determinar y(n) con MATLAB para todos esos casos.

    (b) Realizar (a) a travs del dominio de la frecuencia.

    3.2 FILTRO DISCRETO: RESPUESTA EN FRECUENCIA.

    (a) Definir H(ej) con MATLAB (filtro paso bajo).

    (b) Diagrama de polos y ceros en el plano Z.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    68

    (c) Respuesta en fase.

    (d) Respuesta en amplitud.

    (e) Retardo de grupo.

    (f) Respuesta al escaln (en filtros elpticos).

    (g) Respuesta al impulso (en filtros elpticos).

    3.3 RESPUESTA DE UN FILTRO PASO BAJO A DIFERENTES ENTRADAS.

    (a) Considerar x(n): sinusoide.

    (b) Considerar x(n): suma de dos sinusoides.

    (c) Considerar x(n): suma de sinusoide ms ruido blanco.

    3.4 FILTRO ANALGICO: RESPUESTA EN FRECUENCIA.

    (a) Definir H(j) con MATLAB (filtro paso bajo). (b) Diagrama de polos y ceros en el plano S.

    (c) Respuesta en amplitud.

    (d) Respuesta en fase.

    3.7 REFERENCIAS BIBLIOGRFICAS

    A.V. Oppenheim, A.S. Wilsky and I.T. Young, "Signal and Systems", Prentice Hall, 1983.

    J.L. Sanz y D. Andina, "Anlisis y Diseo de Circuitos", ETSIT-UPM, Madrid, 1997.

    A.V. Oppenheim and R.W. Schafer, "Discrete-Time Signal Processing", Prentice Hall, 1989.

    L.B. Jackson, "Digital Filters and Signal Processing", Kluwer Academic Plublishers, 1990.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    69

    PRACTICA 3. Manual de la prctica NOMBRE:

    APELLIDOS:

    GRUPO:

    Ejercicio 3.1:

    EJERCICIO 3.1a: Ejecute el programa p31a.m y observe las Figuras 1, 2 y 3 (si desea cambiar el color de fondo de la figura, ejecute el comando whitebg). La Figura 1 corresponde a las seales de partida; la Figura 2 corresponde a las convoluciones de cada una con la seal rectangular; la Figura 3 corresponde a diversas combinaciones de las seales mediante convoluciones sucesivas.

    Siguiendo el modelo de la Figura 1; identifique en la Figura 2 cada una de las curvas que se han convolucionado, con su letra correspondiente: A, B, C D (en la Tabla 2 se ha usado la nomenclatura de las curvas de la Tabla 1 como referencia).

    Figura 1

    Curva Descripcin de la seal1 Exponencial decreciente2 Triangular (rampa positiva)3 Rectangular4 Senoidal amortiguada5 Pulso rectangular

    Tabla 1. Vectores de entrada

  • LABORATORIO DE SEALES Y COMUNICACIONES

    70

    Figura 2

    Curva Descripcin

    B

    C

    D

    3*23*3

    3*4

    3*1

    A

    Tabla 2. Convoluciones del vector rectangular con el resto de vectores de entrada.

    b) Cul es la "duracin", medida en nmero de muestras, de las seales obtenidas tras las convoluciones? Por qu?.

    Identifique sobre las curvas de la Figura 3, la letra que corresponde a cada una (A/B/C/D E), segn la descripcin de la Tabla 3. Ntese que la amplitud se ha normalizado a 1.

    Figura 3

    Curva Descripcin

    B

    C

    D

    E

    3*53*5*5

    3*5*3*5 3*5*3*5*5 3*5*3*5*5*3*5*3*5*5

    A

    Tabla 3. Convoluciones reiteradas del vector rectangular con el pulso rectangular.

  • LABORATORIO DE SEALES Y COMUNICACIONES

    71

    EJERCICIO 3.1b: Ejecute el programa p31b.m para obtener y(n) a travs del dominio de la frecuencia (el programa utiliza internamente para ello la FFT directa e inversa). Como puede observar, las figuras 1 y 2 que representa MATLAB coinciden con las del ejercicio p31a, pero no ocurre lo mismo con la ltima figura.

    Identifique ahora sobre las curvas de