Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorio 1 ASS115
Laboratorio 1 ASS115
Laboratorio No. 1
Anlisis de Seales y Sistemas
Ciclo I/2015
Resumen
MATLAB (o en el caso de software libre OCTAVE) es una herramienta de software ideal para el
estudio de tratamiento digital de la seal (Digital Signal Procesing). Su lenguaje tiene
muchas de las funciones que se necesitan normalmente para crear y procesar seales. La
capacidad de representacin grfica de OCTAVE permite visualizar los resultados del
tratamiento, facilitando la comprensin incluso en operaciones complicadas. En esta
primera gua se presenta algunas de las bases del tratamiento digital de la seal en el
contexto de OCTAVE. Por ello, para familiarizarse con OCTAVE, algunos de los ejercicios son
extremadamente simples. En primer lugar se tratan la generacin y representacin de
seales de funciones fundamentales, como lo es la funcin impulso unitario y ponderado.
Objetivos
Fundamento terico
Las seales bsicas que se usan en tratamiento digital de la seal son el impulso [], las
exponenciales de la forma []. Las ondas sinusoidales y su generalizacin a
exponenciales complejas. Puesto que el nico tipo posible de dato numrico en Matlab u
Octave es la matriz M x N, las seales deben representarse como vectores: ya sea como
Laboratorio 1 - Anlisis de Seales y Sistemas Seales Bsicas - Impulsos
Una segunda cuestin es asociar al vector de seal los ndices del dominio temporal.
Octave asume por defecto como ndices desde 1 a N, siendo N la longitud de dicho vector.
Mientras que el vector seal es normalmente el resultado de muestrear una seal sobre
algn dominio donde los ndices van desde 0 a N-1; quizs, el muestreo comience en algn
ndice arbitrario que sea negativo; por ejemplo, - N. La informacin sobre el dominio de
muestreo no se puede ligar a los valores de la seal contenidos en el vector de seal. Por
ello, se est obligado a conservar separadas ambas informaciones. Normalmente, esto no
ser problema hasta que se represente grficamente la seal, en tal caso habr que numerar
adecuadamente el eje horizontal.
Una ltima cuestin es el uso de la notacin vectorial de Octave para generar seales. Una
potencia significativa del entorno Octave es su notacin de alto nivel para operar con vec-
tores; los lazos for son casi siempre innecesarios.
1, =0
[] =
0, 0
Ubicarse en el tiempo 0 .
Trazar una barra con magnitud unitaria para el tiempo 0 .
La funcin impulso se implementa automticamente puesto que todos los valores de una
computadora ya estn digitalizados, es decir, en tiempo discreto, es por ellos que lo nico
que resta es explicar cmo visualizar de una mejor manera estas grficas, para tal fin se
hace uso de la funcin stem.
Dicha funcin tiene prcticamente las mismas caractersticas que la funcin plot, cuyo
uso es muy conocido, de cualquier manera siempre es recomendable revisar la ayuda que
Octave proporciona, digitando en la interfaz de Octave, help stem.
Para el caso, y todos los usos requeridos en esta prctica, el primer argumento de la funcin
stem es un vector que de representar correctamente al eje n (tiempo discreto), y el segundo
argumento debe contener el vector con los valores de la funcin a graficar, si se requiere, en
un tercer argumento podra ir algn otro formato de la grfica, como es el color, su estilo,
su nombre, etc.
Ejemplo
Representar grficamente:
Cdigo de solucin
1. L = 20;
2. nn = 1:L;
3. imp = zeros (L,1);
4. imp (5) = 0.9;
5. axis([0 21 0 1]);
6. stem(nn, imp, "k");
7. grid
En la primera lnea del cdigo, se define la longitud del vector de tiempo, la cual siempre
ser un simple nmero entero (una matriz de dimensin 1x1), para calcularlo, una vez dado
el intervalo de tiempo para el cual se pide la grfica, se hace:
L = nsuperior ninferior + 1
L = 20 1 + 1
L = 20
En la segunda lnea se define, el vector de tiempo, en donde el primer valor del primer
elemento es el ninferior dado, y como en tiempo discreto los avances son unitarios, solo
resta definir hasta donde se llegara, y esto est dado por la longitud antes calculada.
La tercera lnea se emplea, la funcin zeros con la cual se crea un matriz que tendr L
filas y 1 columna, con todos los valores iniciados en cero (0).
En la cuarta lnea, se asigna el valor ponderado (0.9 para el caso) que tendr la funcin
impulso, es importante notar, que en este caso el ndice del vector coincide con el valor en
el tiempo, y esto es porque los ndices en Octave empiezan en 1 y el lmite inferior de
tiempo tambin es 1. Generalizando, para ubicar correctamente el ndice del vector, con el
tiempo de desplazamiento, es necesario:
La quinta lnea hace uso de la funcin axis, con la cual se especifica los lmites que
aparecern en la ventana al graficar, lo ms comn es usar un vector de cuatro elementos, el
primero y el segundo son los lmites inferior y superior respectivamente del eje x, y el
tercero y cuarto son los limites inferior y superior del eje y.
La sexta lnea, es donde se manda a graficar la funcin cuyos vectores de tiempo y valor, se
han definido anteriormente, el ltimo argumento especifica el color de la grfica, la letra
k, es para le negro. La ltima lnea simplemente dice que se en cuadricular la ventana
del grfico. Es importante recordar que tambin pudo haberse rotulado los ejes y
proporcionar el ttulo, pero esos son formatos de presentacin fciles de implementar que
no es necesario entrar en detalle en este momento. El resultado esperado seria el que se
muestra en la figura 2.
Desarrollo de la prctica
a) Generar y representar grficamente las siguientes secuencias. En cada caso el
eje horizontal (n) debe extenderse solamente sobre el intervalo indicado y
numerarse de manera adecuada. Cada secuencia deber visualizarse, mediante
stem, como una seal de tiempo discreto.
X2[n] = 0.8 [n] -15n15
X3[n] = 1.5 [n-333] 300n350
X4[n] = 4.5 [n+7] -10n0
[] = [ ]
=0
Los pesos son ; si son todos iguales, el tren de impulsos es peridico con perodo P.
Generar y representar grficamente un tren de impulsos peridicos, cuyo perodo sea
P=5 y su longitud 50. La seal debe comenzar en n = 0. Se debe intentar utilizar una o
dos operaciones con vectores, en vez de un lazo for, para situar los impulsos. Cuntos
impulsos contiene esta seal de longitud finita?
Bibliografa
1. Burrus, C.Sidney, James H. McClellan, Alan V. Oppenheim, Ejercicios de
Tratamiento Digital de la Seal, utilizando Matlab v.4, Capitulo 1 / Seales y
Sistemas Bsicos, Paginas 2-4.