Вы находитесь на странице: 1из 5

UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA

ESCUELA PROFERSIONAL DE INGENIERIA ELECTRONICA


PROCESAMIENTO DIGITAL DE SEALES

Laboratorio 1

Seales continuas y discretas en matlab


Indicaciones generales
Se desarrolla en grupo de 3 alumnos
El informe final, se presenta en papel bon A4, con cartula y al inicio del siguiente laboratorio debern mostrar su
funcionamiento. Presente las grficas obtenidas en matlab con sus respectivos nombres y ttulos
Se les recomienda traer su laptop, para la presentacin y sustentacin de su trabajo.
Evaluacin: Informe previo: 5 ptos. Informe final: 8 puntos. Sustentacin: 7 puntos

Introduccin terica
Se muestra a continuacin el empleo de Matlab para la generacin de seales elementales:
cuadrada, triangular, entre otras.
El ToolBox de procesamiento de seales de Matlab posee una gran variedad de funciones para
la generacin de seales, estas seales requieren de una representacin vectorial de la
variable tiempo, de manera continua o discreta. Para realizar una simulacin de un intervalo
continuo, se usa un vector de valores discretos con un intervalo de muestreo muy pequeo.
El siguiente comando genera un vector llamado t de valores que representan la variable
tiempo, con un intervalo de muestreo de 1 ms entre 0 y 1 segundo.
t = 0:0.001:1;
Despus de creado el vector que representa la variable tiempo, es posible iniciar el desarrollo
de alguna seal de inters.
En Matlab una seal discreta en el tiempo se representa exactamente, porque los valores de la
seal son representados como los elementos de un vector. Sin embargo las seales de tiempo
continuo en Matlab son tan solo aproximaciones. La aproximacin consiste de un vector cuyos
elementos son muestras de la verdadera seal de tiempo continuo. Cuando se usa esta tcnica
para la representacin de seales continuas es importante escoger el intervalo de muestreo lo
suficientemente pequeo para asegurar que las muestras capturan todos los detalles de la
seal.
INFORME PREVIO:
Utilizando matlab, grafique las siguientes seales en matlab:
La generacin de seales peridicas tales como ondas cuadradas y triangulares es una
actividad muy fcil de realizar en MATLAB.
1) SEAL CUADRADA
Consideremos primero la generacin de una onda cuadrada de amplitud A, frecuencia
fundamental w (medida en radianes por segundo) y ciclo til rho. Recordemos que el ciclo til
es la fraccin de cada periodo en donde la seal es positiva.

PDS Laboratorio 1

2015-2

Prof. Ing. Zenn Cucho

UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA


ESCUELA PROFERSIONAL DE INGENIERIA ELECTRONICA
PROCESAMIENTO DIGITAL DE SEALES

Para generar dicha seal se pueden escribir lo siguiente en la linea de comandos:

A = 1;
w = 10 * pi;
rho = 0.5;
t = 0:0.001:1;
sq = A*square(w*t+rho);
plot(t,sq);
En la segunda lnea de este ejemplo, pi es una funcin interna de Matlab que calcula el nmero
ms cercano a la constante PI en formato de coma flotante. El ltimo comando es usado para
vizualizar la seal generada. El comando plot dibuja lneas conectando los valores sucesivos
de la seal y as da la apariencia de una seal en tiempo continuo.
2) SEAL TRIANGULAR

Consideremos ahora la generacin de una onda triangular de amplitud A, frecuencia


fundamental w y ancho Wdt . El periodo de la onda triangular ser T con el mximo valor de la
seal ocurriendo en t = WT . El comando bsico para generar esta seal es:
A * sawtooth(w * t + Wdt)

3) SEAL ESCALN
En Matlab, el comando ones(M, N) genera una matriz de unos de tamao MxN, y el comando
zeros(M, N) es una matriz de ceros del mismo tamao. Se puede hacer uso de estas dos
matrices para generar dos seales comnmente usadas: la seal escaln y la seal impulso.
Una seal paso de amplitud uno, puede ser generada con el siguiente comando.

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

PDS Laboratorio 1

2015-2

Prof. Ing. Zenn Cucho

UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA


ESCUELA PROFERSIONAL DE INGENIERIA ELECTRONICA
PROCESAMIENTO DIGITAL DE SEALES

Para la versin continua creamos un vector que represente el tiempo el cual tenga muestras de
un intervalo separados por valores muy pequeos. Los comandos y los resultados se muestran
a continuacin:
>> u=[zeros(1,10),ones(1,11);
>> t=-1:0.1:1;
>> plot(t,u)

Como se mencion anteriormente, una seal generada en Matlab es inherentemente de


naturaleza discreta. Para visualizar una seal en tiempo discreto se puede hacer uso del
comando stem. Especficamente stem(n, x), bosqueja los datos contenidos en el vector x como
una seal de tiempo discreto con los valores de tiempo definidos por el vector n. Los vectores n
y x deben tener dimensiones compatibles, es decir deben tener el mismo nmero de
elementos. As, para este caso para obtener la representacin de esta seal en tiempo discreto
creamos un vector-tiempo el cual debe tener valores separados por una unidad.

u=[zeros(1,10), ones(1,11)];
n=-10:10;
stem(n,u)
Recuerde que para poder usar las funciones plot y stem, es requisito que los vectores (t y u)
(n y u) tengan iguales dimensiones. Por esta razn el vector u se forma como una composicin
de diez ceros y 11 unos, debido a que los arreglos t y n, tienen dimensin 21 dado que incluyen
un elemento central el cual es el nmero cero. Para probar este hecho, se puede hacer uso de
la funcin Matlab llamada size que devuelve como resultado un vector con las dimensiones de
la matriz que se le pasa como parmetro.
4) SEAL IMPULSO:

La versin discreta de la seal impulso se puede tambin generar con ayuda de las funciones
zeros y ones, realizando una composicin como sigue:
delta = [ zeros( 1 ,10 ), 1 , zeros( 1 ,10 ) ];
n = -10:10;
stem(n,delta);

PDS Laboratorio 1

2015-2

Prof. Ing. Zenn Cucho

UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA


ESCUELA PROFERSIONAL DE INGENIERIA ELECTRONICA
PROCESAMIENTO DIGITAL DE SEALES

5) SEAL RAMPA
Para generar la seal rampa, tan solo es necesario recordar que esta funcin puede ser
creada, como la composicin de una recta Y(x) = x a partir de cero y de la recta Y(x) = 0 para
valores de x menores de cero, as la versin discreta se muestra a continuacin:

t1=0:0.1:10;
rampa1=t1;
rampa=[zeros(1,101),rampa1];
t2=-10:0.1:0;
t=[t2,t1];
plot(t,rampa)

Bibliografa
http://5minutosdematlab.blogspot.pe/2011/09/

Informe final de laboratorio:

Parte I:
1) Desarrollar un conjunto de comandos Matlab para aproximar las siguientes seales
peridicas en tiempo continuo, dibujando 5 ciclos de cada una:
a) Onda Cuadrada, de amplitud 5 Volts, frecuencia fundamental 20 Hz y ciclo til (duty cycle)
del 60%.
b) Seal diente de sierra, amplitud 5 Volts y frecuencia fundamental 20Hz

2. Genere y grafique la siguiente seal impulso.


La funcin a implementar es la siguiente: x(n) =0.9(n 5) ,

1 n 20

La solucin al problema anterior es:


L = 20;
imp = zeros(L,l);
imp(5)=0.9;
stem(imp)

Genere y grafique otras 3 seales impulso.

PDS Laboratorio 1

2015-2

Prof. Ing. Zenn Cucho

UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA


ESCUELA PROFERSIONAL DE INGENIERIA ELECTRONICA
PROCESAMIENTO DIGITAL DE SEALES

3. Estudie como se genera en matlab una seal exponencial en tiempo discreto


Luego obtenga:
X[n]=(0.8)n ; en el intervalo n = 0, 1, 2, 3, ..., 20.

CONCLUSIONES
BIBLIOGRAFIA

PDS Laboratorio 1

2015-2

Prof. Ing. Zenn Cucho

Вам также может понравиться