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

UNIVERSIDAD MAYOR DE SAN ANDRES

FACULTAD DE INGENIERIA

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

SEALES CONINUAS Y DISCRETAS CON MATLAB


COMANDO

stem()

'filled'

ACLARACION
Grafica seales en tiempo discreto. Este no realiza la interpolacin entre
puntos del dominio, sino que solamente marca aquellos que tengan una
relacin directa dominio-rango. Esta funcin tambin puede utilizar como
nico parmetro el rango de una funcin, pero ocurrira lo mismo que con
plot: el grfico se realizara del rango y tomando como dominio las posiciones
de cada valor. Es por eso que es conveniente utilizar tanto el dominio como el
rango de una funcin al hacer una grfica con stem. Si el grfico se realiza
con plot, el resultado es una lnea continua, mientras que si se realiza con
stem, se obtienen los puntos de manera discreta. La funcin stem recibe los
mismos parmetros que plot.
Si se agrega el parmetro despus del rango, los crculos de la grfica
aparecen rellenos

Control de los ejes. Matlab tiene sus opciones por defecto, que en algunas ocasiones puede
interesar cambiar. El comando bsico es el comando axis. Por defecto, Matlab ajusta la escala de
cada uno de los ejes de modo que vare entre el mnimo y el mximo valor de los vectores a
representar. Este es el llamado modo "auto", o modo automtico.
COMANDO
DESCRIPCION
Para definir de modo explcito los valores mximo y mnimo
axis([xmin, xmax, ymin, ymax])
segn cada eje, se utiliza el comando
Devuelve el escalado de los ejes al valor por defecto o
axis(auto)
automtico. Otros posibles usos de este comando son los
siguientes:
v=axis
Devuelve un vector v con los valores [xmin, xmax, ymin, ymax]
Mantiene los ejes en sus actuales valores, de cara a posibles
axis(axis)
nuevas grficas aadidas con hold on
Utiliza ejes de pantalla, con el origen en la esquina superior
axis('ij')
izda. y el eje j en direccin vertical
descendente
Utiliza ejes cartesianos normales, con el origen en la esquina
axis('xy')
inferior izda. y el eje y vertical
axis('equal')
El escalado es igual en ambos ejes
axis('square')
la ventana ser cuadrada
La ventana tendr las proporcione de la imagen que se desea
representar en ella (por ejemplo la de una imagen bitmap que
axis('image')
se desee importar) y el escalado de los ejes ser coherente con
dicha imagen
axis(off)
Elimina las etiquetas, los nmeros y los ejes
axis('on')
Restituye las etiquetas, los nmeros y los ejes
axis(normal)
Elimina las restricciones introducidas por equal y square
cambiar la escala de la grfica e el eje x
set(gca,xtick,[valores en x]);
set(gca,ytick,[valores en y]);

cambiar la escala de la grfica e el eje y

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

Graficas especiales en Matlab


DESCRIPCION

COMANDO
>> y = diric(x,N)

La funcin de Dirichlet se define de la siguiente forma. Los argumentos


de entrada es un vector x en cuyos puntos queremos calcular la
funcin de Dirichlet y el parmetro N, N es el numero de extremos
igualmente espaciados de la funcin en el intervalo 0, 2 .

>> y = sawtooth(x,width)

Genera una seal en diente de sierra con periodo 2 para los


elementos del vector x. El parmetro width es un escalar entre 0 y 1, y
describe la fraccin del periodo 2 en el que ocurre el mximo.

>> y = sinc(x)
>> y = square(x,duty)

La funcin sinc x

sin x
.
x

Genera una onda cuadrada de periodo 2 con un duty cycle dado. El


parmetro duty es el porcentaje del periodo en el cual la seal es
positiva.

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

Ejemplos:

Represente grficamente los siguientes comandos de Matlab


>> x=[-0:0.05:4*pi];
>> y = diric(x,4);
>> subplot(2,1,1)
>> plot(x,y)
>> grid
>> title('FUNCION DE DIRICHLET ')
>> subplot(2,1,2)
>> z = diric(x,12);
>> plot(x,z)
>> grid
>> title('FUNCION DE DIRICHLET ')

>> x=[-20:0.05:20];
>> y = sawtooth(x,0.1);
>> z = sawtooth(x,0.5);
>> w = sawtooth(x,1);
>> subplot(2,2,1)
>> plot(x,y)
>> grid
>> title(' FUNCION DIENTE DE CIERRA Para un valor de width=0.1 ')
>> subplot(2,2,2)
>> plot(x,z)
>> grid
>> title(' FUNCION DIENTE DE CIERRA Para un valor de width=0.5')
>> subplot(2,2,3)
>> plot(x,w)
>> title(' FUNCION DIENTE DE CIERRA Para un valor de width=1')
>> grid
>> subplot(2,2,4)
>> plot(x,5*w)
>> title(' FUNCION DIENTE DE CIERRA con amplitud 5')
>> grid
>> x=[-10:0.05:10];
>> y = sinc(x);
>> plot(x,y)
>> grid
>> title('FUNCION SA ')
>> x=[-6*pi:0.05:6*pi];
>> y = square(x,50);
>> plot(x,y)
>> grid
>> title('ONDA CUADRADA')

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA

Graficar la siguiente seal y sus


correspondientes variantes

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

La recta que va entre t 2

se calcula por
t0
t
geometra analtica y resulta x t 1 , por supuesto x t
2
entre 0 2 es 1 y cero en el resto del intervalo

Dominio dando margen a ambos lados

>>t=-3:0.05:3;
Averigua la longitud
>>L=length(t);
Primero todo cero
>>x=zeros(1,L);
Busca el -2
>>p1=find(t==-2);
Busca el cero
>>p2=find(t==0);
Busca el 2
>>p3=find(t==2) ;
Parte de la recta
>>x(p1:p2)=t(p1:p2)/2+1;
Parte constante
>>x(p2:p3)=1;
Habilita el manejo de los ejes
>>axis on
Se define la rejilla en t y en x
>>axis([-3 3 -0.1 1.1]);
Grafica
>>plot(t,x)
Traslacin: Calcular y representar x1 t x t 3
Primera forma
La seal es la misma pero todos >>t1=t+3 ;
los puntos se trasladaran del >>x1=x ;
tiempo t a t+3. Para esto basta con >>plot(t1,x1)
sumar 3 a la base del tiempo
Segunda forma:
Movemos el vector de valores 3 unidades de tiempo hacia
delante y hacemos crecer la base de tiempo
Tres unidades de tiempo, no inicia
en cero porque se le aade a la >>t_aux=0.05 :0.05 :3 ;
derecha
Averigua cuantos valores son los
>>L3=length(t_aux) ;
tres segundos
Ceros para poner por la izquierda
>>x_aux=zeros(1,L3) ;
Los valores son los mismos con
>>x1=[x_aux x] ;
ceros por delante
Crea la nueva base de tiempo
>>t1=[t max(t)+t_aux] ;
>>plot(t1,x1)
Escalado: Calcular y representar x2 t x 2t

Se sabe que la seal es la misma


>>t2=t/2 ;
pero comprimida a la mitad. Por
>>x2=x ;
tanto el punto situado en t pasara
>>plot(t2,x2)
a t/2, para esto basta con dividir
por dos la base de tiempo.

Ggg
4

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

Reflexin: Calcular y representar x3 t x t


Ahora se trata de que el punto situado en t pase a t. La
primera idea seria cambiar de signo la base de tiempo, eso es
correcto pero no suficiente porque tanto la base de tiempo
como el vector de valores estn en orden inverso al que
deberan. Eso se resuelve invirtiendo ambos vectores.
Invertimos la base de tiempo
>>t3=-t ;
Los valores son los mismos
>>x3=x ;
>>final=length(t3) ;
>>t3=t3(final :-1 :1) ;
Invertir
>>x3=x3(final :-1 :1) ;
>>plot(t3,x3)
Operacin Suma: sumar las seales x t

x1 t

Para sumar dos seales debemos tener la misma base de


tiempo para ambas. Si consideramos las variables x1 y t1
tenemos mucho hecho. Viendo que t1 es la misma base de
tiempo de x pero extendida tres unidades de tiempo no hace
falta ms que extender igualmente la base de tiempo de x (y
aadir el nmero adecuado de ceros a los valores de x).
Diferencia de longitudes temporales >>Lextra=length(t1)- length(t);
en numero de valores

Extiende la base de tiempo de x


Aade ceros a x
Mismo valor
Calcula la seal suma

>>t=t1 ;
>>x=[x zeros(1,Lextra)] ;
>>t4=t ;
>>x4=x+x1 ;
>>plot(t4,x4)


3

t 0.3sen t 0.2 sen t
50
50
10

Graficar las componentes par e impar para x t 0.6 sen


>>N=201;
>>L=(N-1)/2;
>>t=linspace(-L,L,N);
>>ai=pi*0.25;
>>bi=pi;
>>ci=1.5*pi;
>>d=0.6*sin(ai+0.02*pi*t)+0.3*sin(bi+0.06*pi*t)...
+0.2*sin(ci+0.10*pi*t);
>>par=zeros(1,N);
>>impar=zeros(1,N);
>>for i=1:N
>>par(i)=(d(i)+d(N+1-i))/2;
>>impar(i)=(d(i)-d(N+1-i))/2;
>>end
>>subplot(3,1,1);
>>plot(t,d, 'b');
>>title('Onda Original')
>>subplot(3,1,2);
>>plot(t,par, 'g');
>>title('Componente Par')
>>subplot(3,1,3) ;
>>plot(t,impar, 'r')
>>title('Componente Impar')

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA

x1 t u t 1 en
10 t 10 .

x1 t u t 1 en
2 t 4.

x1 t u t

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

>>u = inline('t>=0')
>>t=-10:0.01:10;
>>x1 = u(t);
>>plot(t,x1)
>>axis([-10 10 -0.1 1.1]);
>>title('Seal 1a');
>>grid;
>>xlabel('tiempo (segundos)');
>>ylabel('x1(t)');
>>u = inline('t>=0')
>>t=-2:0.01:4;
>>x1 = u(t-1);
>>plot(t,x1)
>>axis([-10 10 -0.1 1.1]);
>>title('Seal 1a');
>>grid;
>>xlabel('tiempo (segundos)');
>>ylabel('x1(t)');

x2 t u t 1

>>u = inline('t>=0')
>>t=-10:0.01:10;
en 10 t 10 .
>>plot(t,u(t),'r');
>>hold on;
>>plot(t,u(t-1),'k','linewidth',2);
>>axis([-10 10 -0.1 1.1]);
>>grid on;
>>title('Seal 1a');
>>xlabel('tiempo (segundos)');
>>ylabel('u(t), u(t-1)');
>>legend('u(t)', 'u(t-1)')
Sistema suavizador de seales. Estudiar el siguiente programa sobre el diseo de un sistema
suavizador para tratar a una seal aleatoria afectada por ruido con distribucin uniforme. Los
sistemas suavizadores son unos de los sistemas ms sencillos en disear cuando deseamos remover
el componente de ruido que afecta a una seal.
clf;
R = 51;
Genera rudo randomico
d = 0.8*(rand(R,1) - 0.5);
m = 0:R-1;
Genera la seal pura
s = 2*m.*(0.9.^m);
Genera la seal con ruido x = s + d';
subplot(2,1,1);
plot(m,d','r-',m,s,'g--',m,x,'b-.');
xlabel('Tiempo n');ylabel('Amplitud');
legend('d[n] ','s[n] ','x[n] ');
x1 = [0 0 x];x2 = [0 x 0];x3 = [x 0 0];
y = (x1 + x2 + x3)/3;
subplot(2,1,2);
plot(m,y(2:R+1),'r-',m,s,'g--');
legend( 'y[n] ','s[n] ');
xlabel('Tiempo n');ylabel('Amplitud');
Seal 1a

u(t)
u(t-1)

0.8

u(t), u(t-1)

0.6

0.4

0.2

-10

dddddddddddd

-8

-6

-4

-2
0
2
tiempo (segundos)

10

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

Generar la seal senoidal x t 4 sen 6t , tomando 200 muestras


4

Define el Dominio
>>t=[-pi:pi/400:pi];
Define el Amplitud
>>A= 4;
Frecuencia angular
>>omega = 6;
Angulo de defasamiento
>>phi = pi/4;
La ecuacin de la seal
>>y = A*sin(omega*t + phi);
grfica en forma continua
>>plot(t,y)
Pone la malla a la grafica
>>grid
Coloca el titulo a la grafica
>>title('Seal senoidal')
pone la etiqueta al eje X
>>xlabel('tiempo(seg)')
pone etiqueta al eje Y
>>ylabel('amplitud')
pone una leyenda que se
puede colocar con el
mouse
Define tamao de la
ventana

>>gtext('punto mximo')

>>axis([-4 4 -5 5])

Generar la seal: x t sin 2 2000t

Frecuencia 2k hz
Periodo
Frecuencia de muestreo
Tiempo de muestreo
Vector de tiempo
Desface
Frecuencia
La seal
Grafica

Fs 32kHz

>>clear all
>>clc
>>f=2000
>>T=1/f
>>fs=16*f
>>ts=1/fs
>>t=0 :ts :4*T
>>fi=0
>>w=2*pi*f
>>y=sin(w*t+fi)
>>plot(t,y)

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

TRABAJO PRCTICO
SEALES Y SISTEMAS CON MATLAB
Representar grficamente las siguientes seales
1

x t e 0.25t u t


x t e 0.25t sen 6 t u t
5

x t e

2 t

2 t 4

11


x t e 0.25t sen 6 t
5
sen 6t
x t
2 t 4
6t
2 t 0
2t

x t 2 0.5t 0 t 2
0
resto

Para las seales representar grficamente: la seal, su parte real y su parte imaginaria, el
modulo y la fase
1
3

x t e
2

x t

j6 t
5

x t

1
j t
e 5 5

0.2 j 6 t
5
e

2 1 t 3
x t
resto
0

Representar grficamente las siguientes seales


a) x t 0.5t 1 Donde t es un pulso de anchura 1 centrado en el origen.

b) x t 2t 2 (Sobre el intervalo 2, 10 ) donde t es una funcin tringulo que


comienza en (-1,0), llega a (0,1) y termina en (1,0)
c)

x t

2
t
sen (Sobre el intervalo 20, 20 )
t
2

Para las siguientes seales, calcular y representar las seales pedidas:

a) xt

b) x t 3
c)

x 2 t

d) x 2t 1

e) x 3

t
2

a) xt

b) x t 2
c)

x 4 t

a) xt

b) x t
c)

x 1 t

d) x1 t x t 4 t

d) x1 t x t x 1 t

e) x 4 t

e) x t 2

Para las siguientes seales, calcular y representar las seales pedidas:

UNIVERSIDAD MAYOR DE SAN ANDRES


FACULTAD DE INGENIERIA

x t 4e

2t

x t 10e

t
3

cos t

u t

a) xt ,

GUIA DE PRACTICAS DE LABORATORIO


MG. SC. ING. RAFAEL VALENCIA GOYZUETA

b) x t 1 ,

e) y t x t x t u t ,
a) xt ,

b) x t 5 ,

c) x t ,

t
2
f) y t x t t 1 t 1

c) x 2 t ,

d) x ,

t
3

d) x 5 t , e) x 3t 4 , f) x 6

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