Академический Документы
Профессиональный Документы
Культура Документы
FACULTAD DE INGENIERA
PROGRAMA DE INGENIERA ELECTRNICA
CONTENIDO:
1. Introduccin
2. Objetivos
3. Representacin de seales
4. Seales bsicas
5. Seales multicanal (matrices)
6. Combinacin de funciones sinusoidales
7. Energa y potencia de seales
8. Mini tutorial de SIMULINK
DESARROLLO:
1. Introduccin
2. Objetivos
3. Representacin de seales
>>help plot
En la ventana de Matlab Command Window. Puede hacer una bsqueda por
palabras clave de un tpico en ingls usando el siguiente comando:
>>lookfor image
Donde se arroja resultados con un listado de todas las posibles opciones que
pueden ayudar a encontrar una funcin especfica. Pero realmente la mejor
herramienta offline para obtener ayuda corresponde a la ayuda del producto
como tal usando el icono de ayuda o tambin siguiendo el men o presionando
la tecla F1. All se encuentran demos y ejemplos de uso muy completos para
aprender a usar funciones nativas de Matlab as como las funciones de los
toolboxes. La ayuda Online es muy efectiva y permite entrar en contacto con
programadores nuevos y expertos (Comunidad), conseguir programas de uso
gratuito y foros de todo tipo de aplicacin sobre Matlab. La pgina principal que
ofrece ste soporte es www.mathworks.com y se accede en el men ayuda en
el enlace de recursos web (web resources) y el intercambio de archivos (Matlab
file exchange).
a = [1 2 3]
b = a
c = a*b
A menudo, se quiere aplicar una operacin a cada elemento del vector. Por
ejemplo, se puede querer elevar al cuadrado cada elemento de a. En este
caso, se puede usar el comando siguiente:
c = a.*a
El smbolo .* le dice a Matlab que la multiplicacin debe ser aplicada a cada
elemento de a. Entonces la operacin .* no es una operacin matricial. La
convencin trabaja con muchos comandos tales como la divisin y la
potenciacin respectivamente, ./, .^. El resultado entonces es un vector c 1x3
v1=[4 3 7 -9 1 5];
v2=[4,3,7,-9,1,5];
v3=5*(v2);
v4=v3+v2;
v5=v3./v1;
sqrt(-1)
y= 2*(1+4*j);
pr=real(y);
pi=imag(y);
c = abs(y);
ca = angle(y);
x=conj(y);
z=y;
% null matrix
M = [];
M1=zeros(2,3)
M3=eye(3,3)
M3(1,2) = 5
Para la creacin de los vectores de tiempo tanto para emular seales continuas
como seales discretas:
t = 0:.1:10;
n = 0:10;
x = cos(2*t);
x1 = n.*cos(n);
= 3cos 3 + /3
A=3;
Wo=3*pi;
Thita=pi/3;
T=2*pi/Wo;
t = 0:0.01:4*T;
x=A*cos(Wo*t+Thita);
plot(t,x)
Como primera asignacin se pide crear un nuevo script donde se generen tres
seales continuas con frecuencia de 4KHz, y que se visualicen dos periodos.
Las primeras dos seales, x1(t), y x2(t) son descritas por las siguientes
expresiones
= cos 2 4000
= cos 2 4000
A1 = su edad/10
A2 = 1.2 A1
37.2
=
41.3
=
! = +
Grafique las tres seales en una sola figura con la funcin Plot, genere una
grilla y ponga ttulo a cada grfica que la identifique con etiquetas en el eje y y
en el eje x. la primera grfica debe ser roja, la segunda azul y la tercera verde
(es decir el color de las curvas). Nota: ver grficos en dos dimensiones ms
adelante en sta gua.
Realice una segunda figura con las tres grficas en cuadros diferentes pero en
la misma figura usando los comandos subplot.
Realice los clculos de los desfases en radianes de las tres seales, con una
nueva figura reescriba y grafique las seales en funcin del desfase en
radianes.
= "#$ 2 4000 %
a) = 3' ../, 2 5
b) = 2' 1..2, 2 5
c) = 2' )3,43/! '5 65 7'89#:#
d) = 2' )3, 3' ) 3, , 0 5
e) = 6' )!3, , 0 5
f) Con una consulta de los comandos heaviside y gauspuls, grafique una
funcin paso y una impulso continua respectivamente, en el intervalo
5 10.
% Uso de if
a = [1 2 3];
if(a <= 2),
b = 1;
elseif(a >=4)
b = 2;
else
b = 3;
end;
% Uso de if-elesif-else
A=5;
B=3;
if A==B
disp('A=B')
elseif A>B
disp('A mayor que B')
else
disp('A menor que B')
end
% Uso de switch-case
A=-8;
switch A
case 0
disp('A es 0')
case 1
disp('A es 1')
otherwise
disp('A es distinto de 0 y 1')
end
% Uso de while
A=[3 4 5 6 7 8];
b=1;
while(1)
H=A(b)
b=b+1;
if b>length(A)
break
end
end
Comandos estudiados:
plot
xlabel
ylabel
title
grid
axis
subplot
stem
% r Red (rojo)
% b Blue (azul)
% g Green (verde)
% w White (Blanco)
% k Black (negro)
Por ejemplo, plot(t,y,'--') usa una lnea punteada con guiones, plot(t,y,'*')
usa * en todos los puntos definidos en t y y sin conectar los puntos, y
plot(t,y,'g') usa una lnea solida verde. Las opciones pueden ser usadas a la
vez, por ejemplo, plot(t,y,'g:') grafica una lnea verde punteada. Para graficar
dos o ms grficas sobre el mismo conjunto de ejes, use el comando
plot(t1,y1,t2,y2), lo cual grafica y1 versus t1 y y2 versus t2.
Los comandos para etiquetar los ejes y darle ttulo a la grfica son:
xlabel('tiempo (seg)')
ylabel('respuesta a la funcin paso')
title('Mi grfica')
Donde xmin, xmax, ymin, y ymax son nmeros correspondiente a los lmites
deseados de los ejes. Para retornar a la escala automtica, simplemente se
escribe el comando axis. Para seales en tiempo discreto, se usa el comando
stem el cual grafica cada punto con una pequeo crculo y una lnea recta
conocido como lollypop. Para graficar y(n) versus n, se escribe stem(n,y). El
comando puede ser modificado graficando los crculos rellenos.
Especficamente, la tercera lnea en stem
n=1:20;
y=sin(pi/8*n);
h = stem(n,y,'o');
h = stem(x,y,'.');
set(h,'markersize',18);
Para crear crculos cerrados.
=
Realice la siguiente figura: = ' 1< , 3 3
Ahora, realice las siguientes figuras, incluyendo las leyendas, etiquetas, ttulo y tipos
de grficas teniendo en cuenta el color:
Por ltimo grafique las siguientes ecuaciones:
save nombredelArchivo
load nombredelArchivo
Informe de laboratorio:
4. Seales bsicas
EL IMPULSO UNITARIO
N=-10:10;
IMPULSO1=(n==0);
Formas de Graficarlo
plot(IMPULSO,'.');
figure
stem(IMPULSO);
figure
stem(n,IMPULSO1);
EL ESCALON UNITARIO
ESCALON = [zeros(9,1);ones(11,1)];
plot(ESCALON,'.');
stem(ESCALON);
n=-10:10;
ESCALON1= (n>=0);
stem(n, ESCALON1)
LA RAMPA
n=(-9:1:10)';
RAMPA =[zeros(9,1); n(10:20)];
plot(n,RAMPA,'.');
figure
stem(n,RAMPA);
x = linspace(-5,5);
y = sinc(x);
plot(x,y); grid
Fs = 10000;
t = 0:1/Fs:1.5;
x = sawtooth(2*pi*50*t);
plot(t,x), axis([0 0.2 -1 1]); grid
Informe de laboratorio:
EJERCICIO PROPUESTO
Genere una matriz con las funciones: impulso, escaln, rampa y diente de
sierra, como columnas de la matriz y a continuacin grafquelas todas.
Informe de laboratorio:
t=[0:.0001:.02];
%el vector va desde 0 hasta 0.02, con datos tomados cada 0.0001
x=x1+x2+x3;
figure
plot(t,x); grid
NOTA: para el ejemplo anterior observe y determine la frecuencia de la suma.
Calcule el periodo y compare.
Informe de laboratorio:
t=[-pi:pi/100:pi];
x = square(t);
plot(x); grid;
E=cumsum(x.^2);
plot(t,E); grid
Ejercicio:
Genere una seal sinusoidal con una frecuencia cualquiera, calcule la potencia.
Para ello disee una estrategia para lograrlo, adems hgalo por medio de un
archivo .m
t=0:0.1:30;
x = exp(-.1*t).*sin(2/3*t);
plot(t,x)
grid
axis([0 30 -1 1]);
ylabel('x(t)')
xlabel('Tiempo (seg)')
title('Figura 1')
n = -2:6;
x = [0 0 1 2 1 0 -1 0 0];
stem(n,x);grid
xlabel('n')
ylabel('x[n]')
title('Figura 2')
Otra:
n=0:30;
x = exp(-.1*n).*sin(2/3*n);
stem(n,x)
axis([0 30 -1 1]);
ylabel('x[n]')
xlabel('n')
title('Figura 3')
n = -10:30;
OMEGA1 = pi/3;
OMEGA2 = 1;
x1 = cos(OMEGA1*n);
x2 = cos(OMEGA2*n); clf
subplot(2,1,1);stem(n,x1)
xlabel('n')
ylabel('x[n]')
title('Figura 4')
axis([-10,30,-1.5,1.5]);
subplot(2,1,2);stem(n,x2)
xlabel('n')
ylabel('x[n]')
title('Figura 5')
axis([-10,30,-1.5,1.5]);
Informe de laboratorio:
Una vez encontrado el bloque, para anexarlo a su modelo, basta con arrastrarlo
de la librera y soltarlo (Ubicndolo adecuadamente), en el editor en blanco
recin creado (ver figura 4).
Si ustedes notan, todos los bloques segn su funcin tienen una(s) flecha(s)
entrando, y otra(s) flechas(s) saliendo para interconectar el bloque con los
dems bloques en la estructura (ver figura 5). Hay dos formas de interconectar
los bloques, haciendo click en un el puerto de salida que quiero conectar,
sostener el click y soltarlo encima del puerto de entrada del siguiente bloque, o
hacer click en el bloque fuente, presionar la tecla CTRL, mantenerla presionada
y hacer click en el bloque destino. En el caso de querer conectar una lnea con
un bloque, se debe seleccionar la lnea origen, luego hacer click derecho y
sostener con el ratn sobre la lnea y al mismo tiempo presionar y sostener la
tecla CTRL (debe aparecer una lnea punteada) y luego soltar el click sobre el
puerto de entrada del bloque destino. Una vez interconectados los bloques
(deber quedar como la figura 2), se debe guardar el proyecto en la carpeta
activa del directorio actual de Matlab.
Figura 5. Puertos de entrada y salida de un bloque.
Por ltimo, haciendo click en la flecha verde al lado del tiempo de simulacin de
parada se ejecuta el modelo.
Despus de visualizar en tiempo continuo una onda seno y su integracin, se
propone como segundo ejercicio buscar y construir un modelo para visualizar
en tiempo discreto una onda seno discreta de 1 Hz, con amplitud 1, sin
desfase, tiempo de muestreo de 0.1 Segundos, y tambin la misma onda
desplazada una muestra a la derecha, tal como se muestra en la figura 8, con
una configuracin de la onda seno mostrada en la figura 9. Incluya los
resultados en el informe. Se muestra un impulso discreto para que lo visualicen
tambin.
Por ltimo, gracias por el empeo puesto en la solucin de los problemas, por
no copiar los resultados y por dedicar el tiempo necesario para lograr los
procedimientos solicitados. Por favor incluir las observaciones que consideren
clave en la prctica y una frase final que destaque los principales resultados de
la prctica en las conclusiones.
BIBLIOGRAFA
Signals and Systems, an introduction to analog and digital signal
processing, Alan Oppenheim. (1983). Prentice-Hall
Signal and Systems - General. B. Girod R. Rabenstein A. Stenger Jhon
Wiley & Sons. (2001).
Digital Signal Processing. Schaum's Outline. Mcgraw-Hill (1999).
Digital Image Processing Using Matlab. Gonzlez.
Digital Signal processing with applications, VISE, PURDUE University.
Digital Signal Processing using Matlab v4. Ingle and Proakis. ()PWS
publishing Company.
Using Simulink, Version 5. The Math Works. 2002.