Você está na página 1de 10

Informe de Laboratorio N 1

Seales Continuas y Seales Discretas


Morn Alex, Noboa Sebastin, Suquillo Alex
Departamento de Elctrica y Electrnica, Universidad de las Fuerzas Armadas ESPE
Sangolqu - Ecuador
aamoran2@espe.edu.ec, esnoboa@espe.edu.ec, awsuquillo@espe.edu.ec
Abstract In this document we illustrate methods to represent
and plot various continuous signals as discreet signals using
Matlab, as well as some of the most used functions in signal and
system analysis such as the unit impulse and unit step.
Resumen En este documento ilustramos los mtodos para
representar y graficar varias seales continuas como seales
discretas utilizando Matlab, as como algunas de las seales ms
utilizadas en el anlisis de seales y sistemas tales como el
impulso unitario y el escaln unitario.

I.

INTRODUCCIN

El procesamiento de seales analgicas tradicionalmente se ha


realizado mediante el uso de diferentes dispositivos elctricos y
electrnicos, tales como filtros, amplificadores operacionales y
dems. Hoy en da esta prctica se ha facilitado enormemente gracias
a las seales digitales.
Mediante la digitalizacin de seales se puede realizar diversas
operaciones sobre estas con un mnimo esfuerzo, todo mediante el
uso de computadoras, microcontroladores y otros dispositivos
digitales. Para poder hacer estas operaciones, el computador debe
interpretar todas estas seales como discretas. Es ah donde radica la
importancia de poder tratar estas seales discretas.
Objetivos:

Utilizar adecuadamente los comandos internos de Matlab


para poder crear, representar y graficar seales continuas y
discretas.
Crear funciones nuevas de Matlab que faciliten el manejo y
graficacin de seales.
Relacionar las frecuencias de muestreo y simulacin de
seales discretas y continuas respectivamente, y
comprender como estas influyen en las grficas.

II.
A.

MARCO TERICO

Seales

Las seales pueden ser consideradas como smbolos o valores que


aparecen en cierto orden, y se encuentran presentes tanto en la
ciencia, tecnologa, sociedad y la vida.
En la naturaleza, todo proceso ya sea dependiente o independiente
de la actividad humana, genera seales analgicas. El modelo
matemtico de dichas seales es el de una funcin definida sobre los

nmeros reales. El tratamiento de estas seales se haca mediante


circuitos electrnicos para sintonizar, amplificar, filtrar y transmitir
estas seales. En estos casos rara vez se necesitaba procesamiento
digital. Hoy en da el procesamiento digital es necesario en casi todos
los casos.
a.

Seales Analgicas

A la escala de los objetos ms evidentes para el ser humano y a la


escala macroscpica de la ciencia y tecnologa, los fenmenos que
pueden ser medidos tienden a ser continuos por naturaleza. Es debido
a esto que las seales obtenidas de la naturaleza, tales como
temperaturas, presiones, voltajes, flujos, velocidades y dems, son
usualmente medidos con instrumentos analgicos. Para estudiar estas
seales se las debe modelar con funciones matemticas de una
variable real, y es esto lo que permite realizar sobre estas operaciones
que conciernen a la adquisicin, transmisin, interpretacin y
utilizacin de estos arreglos de nmeros naturales.
Definicin: Una seal analgica es una funcin

x: RR

donde R es el conjunto de los nmeros reales y x(t) es el valor de la


seal en un tiempo t.
Entonces, identificamos las seales analgicas como funciones de
una variable real, y muchas de las seales observadas en la naturaleza
son de este tipo. En otros casos, por ejemplo cuando se debe
relacionar el tiempo o frecuencia de seales diferentes, se utiliza
funciones complejas para representar estas seales.
b.

Seales Discretas

Si bien las seales analgicas sirven como modelos de las seales


reales encontradas en la naturaleza, consideremos ahora que se tiene
un modo de poder muestrear estas seales analgicas. Este muestreo
puede ser sencillo o complicado dependiendo de la seal en cuestin.
Por ejemplo, para medir la temperatura del aire cada hora, basta con
ver un termmetro y anotar su valor a mano, ya que el aire tiende a
cambiar muy lento de temperatura. Por otro lado, las seales
analgicas que cambian rpidamente de valor son mucho ms
difciles de muestrear, y por ejemplo tomar ms de un milln de
muestras de dicha seal por segundo es una tarea mucho ms
complicada y muchas veces requiere de equipo electrnico
sofisticado.
Dentro del procesamiento de seales, tanto las seales analgicas
como las digitales juegan un rol crtico. Cuando se procesa una seal,

un transductor adquiere esta seal analgica, la cual es almacenada


momentneamente mientras se realiza el proceso de conversin
analgica-digital, el cual convierte esta seal en algo que puede ser
entendido por un computador. Debido a la naturaleza de esta seal
digital, una persona no lidiar directamente con ella, sino con una
seal discreta, la cual es una abstraccin de esta seal digital y sus
propiedades, utilizada por si menor grado de complejidad.
A diferencia de una seal analgica definida sobre el conjunto R
de los reales, una seal discreta trabaja en el conjunto Z de los
enteros. Cada entero n en el dominio de x representa un instante de
tiempo para el cual la seal toma el valor x[n]. Expresiones tales
como x[2/3] no tienen sentido ya que la seal no est definida para
ese valor.
Definicin: Una seal discreta es una funcin de valor real

x: Z R.

1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1

seal digital es una funcin evaluada en nmeros enteros

x : Z [N , N ]
B.

, con dominio Z,

NZ

, y N>0.

Matlab

Para realizar la prctica de laboratorio, nos valdremos de Matlab,


un entorno de programacin de alto nivel el cual incluye un enorme
nmero de herramientas para todo tipo de aplicacin matemtica,
entre ellas algunas muy esenciales para esta prctica tales como
vectores, grficas continuas, grficas discretas, entre otras.
a.

x[n] es el valor de la seal en el instante [n]. Una

Grficas simples en 2D

La manera ms simple para realizar grficas en dos dimensiones


es a travs del comando plot(x,y), donde x e y son dos vectores de
igual dimensin que representan las coordenadas de los respectivos
ejes, es decir, cada par de elementos de x e y representa un punto en
el plano. Representando la funcin seno mediante el siguiente
cdigo:

Figura 1
En el cdigo, se utiliza la funcin linspace para crear un vector x
con primer valor 0, ltimo valor 2 y tamao de 1000 elementos
espaciados igualmente. sin(x) crea un vector y en el cual cada
elemento de y es el seno del elemento correspondiente en x.
Finalmente plot grafica cada par de coordenadas en el plano, dando
como resultado la grfica de la funcin y=sin(x).
Se puede dar atributos a este tipo de grficas tales como color,
nombres en los ejes, gradillas, etc., los cuales facilitan el poder
visualizar de mejor manera la grfica de acuerdo al uso que se le d.
b.

Grficas avanzadas

Si bien funciones como plot son adecuadas para representar una


simple funcin, muchas veces es necesario representar funciones ms
complejas, o las mismas funciones simples de una manera ms
eficiente, para lo cual existen diversos tipos de herramientas en
Matlab.
Una de estas herramientas es subplot:

>> x=linspace(0,2*pi,1000);

>> x=linspace(0,2*pi,1000);

>> y=sin(x);

>> y1=sin(x);

>> plot(x,y)

>> y2=cos(x);
>> y3=exp(x);
>> y4=log(x);
>> subplot(2,2,1);
>> plot(x,y1);
>> subplot(2,2,2);
>> plot(x,y2);
>> subplot(2,2,3);
>> plot(x,y3);
>> subplot(2,2,4);

>> plot(x,y4);
1

0.5

0.5

-0.5

-0.5

-1

-1

600

discretas generalmente se almacenan en forma de vector, por lo que


es esencial poder crear, modificar y operar vectores con facilidad.
Para esto existen ciertas funciones simples:

zeros(m,n): Crea una matriz de m filas por n columnas


cuyos valores son 0 para todo elemento. Si se hace que
m=1, el resutlado es un vector de n elementos.

find(x): Devuelve todos los ndices correspondientes a los


elementos no nulos o que cumplan una condicin
especificada en el vector x.

stem(n,x): Grafica una funcin de manera similar a plot,


pero en secuencia discreta.

2
0

400

-2
200
0

-4
0

-6

III.

A.

Figura 2
Esta herramienta permite dibujar varias grficas en la misma
ventana, lo cual es muy til para motivos de comparacin.

DESARROLLO DE LA PRCTICA

Seales Continuas
a.

Escaln unitario

>> t=-5:0.01:5;
>> k=find(t>=0);

Por otro lado, tenemos las grficas en 3D con plot3.


>> t=0:0.01:10;

>> ut=zeros(1,length(t));

>> x=sin(t);

>> ut(k)=1;

>> y=cos(t);

>> plot(t,ut);

>> plot3(t,x,y);

1
0.9
0.8
0.7

0.6
0.5

0.5

0.4
0.3

-0.5

0.2
-1
1

0.1
0.5
0
-0.5
-1

10

Figura 3
La cual nos permite graficar funciones en tres dimensiones, muy
til para funciones de ms de dos variables o para poder visualizar
mejor las funciones complejas.
c.

Manejo de vectores

Otro tema importante que concierne al tratamiento de seales en


Matlab es el del manejo de vectores, debido a que las seales

0
-5

-4

-3

-2

-1

Figura 4
Este cdigo grafica de manera continua a la funcin u(t), creando
un vector t y un vector de ceros del mismo tamao, los cuales sern
reemplazados por unos para todo t mayor o igual que 0.
b.

Impulso unitario

>> t=-2:0.01:2;
>> k=find(t==0);

>> dt=zeros(1,length(t));
5

>> dt(k)=1;

4.5

>> plot(t,dt);

4
3.5

0.9

2.5

0.8

0.7

1.5

0.6

0.5

0.5

0.4

0
-5

0.3

-4

-3

-2

0.2

-1

Figura 6

0.1
0
-2

-1.5

-1

-0.5

0.5

1.5

Figura 5
La funcin continua graficada por este cdigo es el impulso
unitario o delta de Dirac, para lo cual se busca la nica posicin en t
que sea igual a 0 y se reemplaza el elemento correspondiente por 1,
dando como resultado el impulso unitario. Es importante notar que la
funcin ser ms precisa cuando el nmero de elementos de t sea
mayor.
c.

Rampa unitaria

Para poder representar la rampa unitaria, nos debemos valer del


escaln unitario previamente construido, por lo que lo definimos
como una funcin:
function y=ut(t)

Podemos observar como la funcin toma el valor de t nicamente


para t mayor o igual que 0, lo cual concuerda con la definicin de
rampa unitaria y es la razn por la cual el cdigo se vale de la
funcin escaln unitario.
d.

>> t=-5:0.01:5;
>> rect=ut(t+0.5)-ut(t-0.5);
>> plot(t,rect)
1
0.9
0.8
0.7
0.6

k=find(t>=0);

0.5

y=zeros(1,length(t));

0.4

y(k)=1;
end
Ahora, valindonos de esta funcin:

Rectngulo unitario

0.3
0.2
0.1
0
-5

-4

-3

>> t=-5:0.01:5;
>> u=ut(t);
>> rt=t*u;
>> rt=t.*u;
>> plot(t,rt)

-2

-1

Figura 7
Una vez ms, se puede apreciar que la precisin de la figura
depende del nmero de elementos de los vectores con los que se
trabaja.
e.

Signo

>> t=-5:0.01:5;
>> sigt=ut(t)-ut(-t);

>> plot(t,sigt)

>> u2=ut(t);
>> u3=ut(t-1);

>> tr=(t+1).*u1-(2*t).*u2-(-t+1).*u3;

0.8

>> plot(t,tr)

0.6
0.4

1.2

0.2
0

-0.2

0.8

-0.4

0.6

-0.6
-0.8

0.4

-1
-5

-4

-3

-2

-1

0.2

Figura 8

Al igual que en otros casos, el cdigo es relativamente simple


debido a que muchas funciones unitarias se basan en el escaln
unitario.

-0.2
-5

f.

-4

-3

-2

-1

Figura 10

sinc

En el cdigo se puede apreciar que pese a la complejidad de esta


funcin, es posible expresarla nicamente mediante escalones
unitarios.

>> t=-2*pi:pi/100:2*pi;
>> sc=sinc(t);
>> plot(t,sc)

h.

Funcin exponencial real

>> t=-5:0.01:5;
1

>> a=1;

0.8

>> et=exp(a*t).*ut(t);

0.6

>> plot(t,et)

0.4
150
0.2
0
100

-0.2
-0.4
-8

-6

-4

-2

8
50

Figura 9
En este caso, nos valemos nicamente de la funcin interna de
Matlab sinc(t), facilitando el procedimiento de graficar esta funcin.
g.

Tringulo unitario

>> t=-5:0.01:5;
>> u1=ut(t+1);

0
-5

-4

-3

-2

-1

Figura 11

Observamos que la grfica exponencial corresponde al uso del


escaln unitario ya que su valor es 0 para todo t menor que 0.
Podemos observar adems que si vara el valor de a:
1

Se puede observar la grfica en tres dimensiones, en la cual uno


de los ejes corresponde a la parte real de la funcin, mientras que el
otro corresponde a la parte imaginaria. Si modificamos los valores de
omega, de igual manera se modificar el periodo de la funcin.
B.

Seales Discretas

0.9
0.8

a.

0.7

Escaln unitario

0.6

>> n=-5:5;

0.5

>> un=zeros(1,length(n));

0.4

>> k=find(n>=0);

0.3

>> un(k)=1;

0.2

>> stem(n,un)

0.1
0
-5

-4

-3

-2

-1

1
0.9

Figura 12

0.8

La grfica vara acordemente, no solo modificando la razn de


cambio con la que sube sino adems invirtiendo la grfica en caso de
un a negativo.
i.

Funcin exponencial compleja

0.7
0.6
0.5
0.4

>> t=-5:0.01:5;

0.3

>> sigma=0;

0.2
0.1

>> re=exp(sigma.*t);

0
-5

>> omega=2*pi;

-4

-3

>> ig=exp(j*omega*t);

-2

-1

Figura 14

>> xt=re.*ig;

Como se puede observar, el procedimiento para la seal discreta


es muy similar al realizado para obtener la seal continua, siendo la
diferencia que los vectores en este caso tienen un espaciado de una
unidad, debido a que una seal discreta est definida nicamente para
los enteros, adems se utiliza stem en lugar de plot para reflejar este
cambio.

>> plot3(t,real(xt),imag(xt))

b.

0.5

Impulso unitario

>> n=-5:5;

>> dn=zeros(1,length(n));
>> k=find(n==0);

-0.5

>> dn(k)=1;

-1
1
0.5

5
0

-0.5
-1

-5

Figura 13

>> stem(n,dn)

0.9

0.9

0.8

0.8

0.7

0.7

0.6

0.6

0.5

0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

0
-5

-4

-3

-2

-1

0
-5

-4

-3

-2

Figura 15
Se puede observar que la funcin efectivamente corresponde al
impulso unitario discreto, adems la representacin grfica es mucho
ms fiel que en el caso de su representacin como seal continua.
Adems tambin es posible representar el impulso unitario
mediante la igualdad:

[ n ]=x [ n1 ]x [n]

Figura 16
Se puede observar que la grfica es la misma por ambos mtodos.
c.

Rampa unitaria

>> n=-5:5;
>> rn=n;
>> stem(n,rn)

Usando el siguiente cdigo:

>> n=-5:5;

>> un=zeros(1,length(n));

-1

3
2

>> k=find(n>=0);
>> un(k)=1;
>> un1=zeros(1,length(n));
>> k1=find(n>=1);
>> un1(k1)=1;
>> delta=un-un1;

1
0
-1
-2
-3
-4
-5
-5

-4

-3

-2

-1

>> stem(n,delta)
Figura 17
Se puede apreciar que el cdigo es extremadamente simple. No se
debe utilizar find ni ninguna otra funcin debido a que ambos
vectores sern los mismos.
d.

Seal sinusoidal

>> T=2;
>> h=900;
>> t=0:1/h:T;
>> xt=2*sin(4*pi*t);

>> plot(t,xt)

>> omega=2*pi;
>> ig=exp(j*omega*t);

>> xt=re.*ig;

1.5

>> plot3(t,real(xt),imag(xt))

1
0.5
0

-0.5
0.5
-1
0

-1.5
-2

-0.5
0

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

2
-1
1
0.5

Figura 18

0
-0.5

Se puede observar fcilmente que trabajando de esta manera, el


periodo de la funcin es un nmero entero, en este caso 1.
e.

-1

Funcin exponencial real

>> xt=exp(a*t).*ut(t);

g.

>> plot(t,xt);

Seal sinusoidal discreta

>> T=5;
>> fsim=900;

x 10

>> t=0:1/fsim:T;
>> xt=4*sin(2*pi*2*t);

>> fs=40;
1.5

>> n=0:T*fs;
>> xn=4*sin(pi*n/10);

>> plot(t,xt);
>> hold on

0.5

>> stem(n/fs,xn,'r+')
-4

-3

-2

-1

Figura 19
Se puede apreciar que la grfica crece de acuerdo al valor de a.
f.

De igual manera que en el caso continuo, la forma y frecuencia de


la funcin variar de acuerdo a los valores de omega y sigma.

>> a=2;

0
-5

Figura 20

>> t=-5:0.1:5;

2.5

Funcin exponencial compleja

>> t=0:0.01:5;
>> sigma=0;
>> re=exp(sigma*t);

3
2

1
0

relativa facilidad, as como operar entre ellas y poderlas


exportar para aplicaciones tiles.
Es posible crear funciones propias, tales como el escaln
unitario, el cual facilita enormemente la creacin de otras
funciones unitarias.
Es importante notar que a fin de cuentas, una funcin
continua representada en Matlab no es nada ms que una
funcin discreta con una muy alta frecuencia de muestreo,
llamada frecuencia de simulacin.

-1
-2

V.

REFERENCIAS

-3
-4

0.5

1.5

2.5

3.5

4.5

Figura 21
Podemos apreciar que si ajustamos la frecuencia de muestreo para la
grfica discreta utilizando la frmula de manera adecuada, podemos
hacer que las dos grficas coincidan, y pudiendo apreciar la
diferencia entre la frecuencia de muestreo de la seal discreta y la
frecuencia de simulacin de la seal analgica.

IV.

CONCLUSIONES

Las funciones internas de Matlab permiten representar


seales discretas y simulaciones de seales continuas con

John G. Proakis, D. G. (2006). Digita Signal Processing: Principles,


Algorithms, and Applications. Prentice Hall.
Ronald L. Allen, D. W. (2004). Signal Analysis: Time, Frequency,
Scale, and Structure. Hoboken, NJ: IEEE Press.
The MathWorks. (2005, December). Learning MATLAB. Retrieved
from Mathworks: Accelerating the pace of engineering and
science:
http://nl.mathworks.com/academia/student_version/learnm
atlab_sp3.pdf

Você também pode gostar