Está en la página 1de 10

Seales y Sistemas Discretos en Matlab

Joselyn Estefana Gallegos Valenzuela Departamento de Electrnica Escuela Politcnica del Ejrcito Quito, Ecuador

INTRODUCCIN En el presente documento se desarrolla una serie de ejercicios de seales continuas mediante la utilizacin del programa Matlab. MATLAB es un software matemtico que ofrece un entorno de desarrollo con un lenguaje de programacin propio, el objeto bsico usado en MATLAB es una matriz numrica con la posibilidad de almacenar nmeros complejos y graficar los resultados lo cual facilita el entendimiento de los procesos matemticos como convolucin, respuesta al impulso, entre otros utilizados en procesamiento digital de seales. 1. Realizar los experimentos 1.1, 1.2 y 1.3 de la seccin Do-it-yourself Experimento 1.1 Hemos sido capaces de determinar una expresin de forma cerrada para la respuesta de impulso asociado con la ecuacin de diferencia. Una solucin numrica de este problema puede determinar, para = 1,15 y 0 n 30, usando los siguientes comandos de MATLAB: Cuando la seal de entrada se proporciona en el vector x y el vector Z_i contiene su inicial condiciones. Anlisis.- Definimos los valores de alfa y N, estos los usaremos para en los parmetros de la funcin filter. Utilizaremos esto para crear una funcin que define a una ecuacin diferencial.

Experimento 1.2 El proceso de muestreo puede ser visto como una asignacin de una funcin de tiempo continuo en un conjunto de muestras de tiempo discreto. En general, sin embargo, hay infinitas funciones que pueden generar los mismos conjuntos de muestras. Para ilustrar esta idea, considerar una funcin general f1 (t). el uso de una frecuencia de muestreo de las muestras de FS por segundo, el proceso de muestreo se obtiene el tiempo discreto funcin f1 (NTS), con Ts = 1/fs y n entero. Muestreo de cualquier funcin de la forma f2 (t) = f1 (t), con cualquier positivo, utilizando un

En general, el comando Matlab

Determina la solucin de la ecuacin de diferencia general:

muestreo

de

frecuencia

que se corresponde con el mismo conjunto de muestras como antes. Por lo tanto, en general, un conjunto dado de muestras no especifica la original funcin de tiempo continuo de una manera nica. Para reducir esta incertidumbre, debemos especificar el muestreo de frecuencia empleada para generar las muestras dadas. Al hacerlo, el razonamiento algebraico anteriormente se rompe y se eliminan (casi) todas las funciones candidatas de tiempo continuo para una muestra dada conjunto. Hay, sin embargo, un candidato ltimo que debe ser eliminado para evitar ambigedad. Vamos a ilustrar este caso, mediante la emulacin de un procedimiento de muestreo utilizando Matlab. Considere la posibilidad de la 3-Hz coseno funcin f1 (t) = cos (23t) muestreada en Fs = 10 muestras por segundo lugar, para un intervalo de tiempo de 1 s, utilizando el comando Matlab:

Grfica de la funcin coseno con f=3Hz

Grfica de la funcin coseno con f=7Hz

En esta secuencia, el control sobre comandos permiten trazar ms de una funcin en la misma figura y la variable time_aux se utiliza para emular un contador de tiempo continuo en la trama manda a llamar a las funciones de fondo. Para eliminar la ambigedad, hay que hacer referencia a la toma de muestras. Ese resultado indica que una funcin de 7-Hz coseno no se muestrearn con Fs = 10 Hz, ya que la frecuencia mnima de muestreo en este caso debe estar por encima de Fs = 14 Hz.

Experimento 1.3 Supongamos que la seal x (t) = 5 cos (25t) + 2 cos (250t), muestreados con fs = 1000 muestras por segundo, como se muestra en la figura, es corrompido por una pequea cantidad de ruido, que forma la seal se muestra en la Figura 1.25B generados por los comandos siguientes:

Como se mencion anteriormente, se puede realizar dicho procesamiento especificando el valor de N y el uso de los comandos de Matlab

que el rendimiento de las parcelas se muestra en la Figura para N = 3, N = 6, N = 10 y N = 20. Esta grfica nos indica que la tcnica de promedio es bastante eficaz para reducir la cantidad de ruido de la seal daado. En este caso, cuanto mayor sea el valor de N, mayor ser la capacidad de eliminar el componente de ruido. Sin embargo, si N es muy grande, como se observa en la siguiente grfica a continuacin, el procedimiento de promedio casi elimina la componente sinusoidal de alta frecuencia.

En particular, el comando randn genera el nmero especificado de muestras de una seal pseudoaleatoria con distribucin gaussiana con media cero y varianza unitaria. Podemos minimizar el efecto ruidoso por un promedio de N muestras sucesivas de x (n) = x_noisy, la aplicacin de la siguiente ecuacin en diferencias:

Entonces, uno puede discutir si es posible reducir el componente de ruido sin afectar a la seal original significativamente. Tal vez un procesamiento ms elaborado puede preservar los componentes sinusoidales mejor. La teora y el diseo de herramientas para responder a este tipo de pregunta es el tema principal de este proyecto.

Creamos una variable noise que generara valores al azar y definir el nmero mximo de elementos con los valores de time. Tambin creamos una variable x_clean y despus generamos otra variable llamada x_noisy. Para concluir generamos las grficas que sern las de la funcin sin ruido y la funcin limpia.

2. Verificar los resultados de los ejercicios 1.4 y 1.5 utilizando Matlab Ejercicio 1.4 Calcular la suma de convolucin de los siguientes pares de secuencias:

Generamos dos vectores con once valores, utilizamos el comando conv(vector1, vector2) y realizamos la convolucin. Al muestrear los 11 valores de la funcin, en la grfica podemos observar que a partir del nmero 14, la funcin vale 0. Esto se debe a que solamente estaban definidos nueve valores en la primera funcin y cuatro en la segunda funcin. Entonces al realizar la convolucin, la respuesta ser cero.

Ejercicio 1.5 Para la secuencia:

Calcule . Compruebe su resultado en Matlab usando la funcin conv.

Anlisis.- Este ejercicio pudimos resolverlo analticamente en el deber anterior, y ahora al utilizar la herramienta de Matlab pudimos comprobar resultados. Generamos una variable z que corresponde a la funcin de convolucin de x(n)*x(n). Podemos notar que la grfica nunca toma el valor de cero, debido a que solo pusimos dos valores en el vector y nunca pusimos un cero en dicho vector.

3. Resolver los ejercicios 1.12, 1.15, 1.19, 1.23 y 1.26 Ejercicio 1.12 Escribir un programa en MATLAB para trazar las muestras de las soluciones de las ecuaciones en diferencias en el ejercicio 1.9 desde n = 0 a n = 20.

Anlisis.- Primero tenemos una ecuacin diferencial con condiciones iniciales, luego generamos nuestro vector x. En la funcin filter debemos ingresar tres parmetros, aqu irn los valores de los coeficientes de nuestra ecuacin diferencial y las condiciones.

Ejercicio 1.15 Escribir un programa Matlab para calcular las respuestas de impulso de los sistemas descritos por ecuaciones en diferencias siguientes:

Anlisis.- En la grfica de respuesta al impulso podemos ver que nuestra funcin solo toma valores mayores a cero. Esta grafica tiene sus valores mayores en 1 y sus menores en -1. Al analizarla, vemos que tiene tendencia al valor de uno, despus al menos uno y finalmente a cero.

Anlisis.- Esta grfica, igual a la anterior podemos ver que nuestra funcin solo toma valores mayores a cero. Sin embargo ciertos valores en el eje de las x, en un mismo punto, toman dos valores al mismo tiempo.

Ejercicio 1.19 Escriba un programa Matlab para trazar la solucin a las tres ecuaciones en diferencias en el Ejercicio 1.18 para = / 3 y = .

=/3

=/3

= .

= .

Ejercicio 1.23 Escribir un programa Matlab para realizar una simulacin de la solucin de Ejercicio 1,22. Consejos: El proceso de muestreo para generar la seal de tiempo discreto es entonces equivalente a mantener 1 de 100 muestras de la secuencia original, formando la seal f (n) = fs (100n) = fa (nT).

por considerar que son cero fuera del intervalo de tiempo nT - 10T t nT + 10T. =/3 Tenga en cuenta que, dado que estamos truncando las funciones de interpolacin, la suma en la ecuacin (1.188), debe ser llevado a cabo slo por unos pocos trminos.

= .

Simular las seales de tiempo continuo xa (t) en Matlab utilizando secuencias obtenidas mediante el muestreo de ellos a 100 veces la frecuencia de muestreo, es decir, como fs (m) = fa (m (T/100)). La interpolacin de la ecuacin se puede aproximar mediante el truncamiento de cada funcin Ejercicio 1.26 Dada una sinusoide y (t) = A cos (? Ct), utilizando la ecuacin (1.170), muestran que si y (t) es muestreada con una frecuencia de muestreo ligeramente por encima de la frecuencia de Nyquist (es decir, s = 2? C +? , donde??? c), entonces la envolvente de la seal muestreada variar lentamente, con una frecuencia de ? / (2? c +?) rad / muestra. Esto se refiere a menudo como el efecto Moir. Escriba un programa Matlab para trazar 100 muestras de y (n) para igual a anterior. y confirmar el resultado Se pudo comprobar las soluciones de ejercicios antes resueltos con la ayuda de MATLAB. El programa MATLAB es programa de fcil manejo y mucha ayuda en la solucin de ecuaciones.

Pudimos comprobar en este ejercicio el efecto Moir. Nuestro y (t) es muestreada con una frecuencia de muestreo ligeramente por encima de la frecuencia de Nyquist, entonces la seal muestreada variar lentamente.

CONCLUSIONES

También podría gustarte