Sie sind auf Seite 1von 10

1

Arvalo Arias Nelson,


1401015@unimilitar.edu.co
Universidad Militar Nueva Granada

Laboratorio de Procesamiento Digital de Seales No. 1


INTRODUCCIN AL PROCESAMIENTO DE SEALES CON MATLAB
Abstract - Management tools such as Matlab for the
engineer is indisputably necessary in view of the many
applications we have with this tool. For digital signal
processing using Matlab become even more essential,
because their multiple tools such as Simulink and
facilities that are in programming allow a
comprehensive management and signal processing

Cdigo:
Grfica

x=linspace(-2*pi,2*pi,50); y=sin(x);
z=sin(x-(pi/2))
plot(x,y)
hold
plot(x,z,'red')
title('Grafica de la funcion seno');
grid

Resumen El manejo de herramientas como Matlab


para el ingeniero es indiscutiblemente necesario
teniendo en cuenta las mltiples aplicaciones que se
tienen con esta herramienta. Para el procesamiento
digital de seales el uso de Matlab se vuelven an ms
imprescindible, debido a que sus mltiples herramientas
como simulink y las facilidades que se tienen en la
programacin permiten un amplio manejo y tratamiento
de seales.
I. INTRODUCCIN
Es necesario adquirir el conocimiento de herramientas
de software y las habilidades de manejo de los diferentes
comandos, para as poder generar seales de diferentes
tipos en el dominio del tiempo y para diferentes valores
de sus parmetros. El ingeniero de telecomunicaciones
debe manejar diferentes tipos de seales y sus
parmetros en las diversas aplicaciones que dentro de su
carrera se presentan
II. OBJETIVOS
a) Generar seales continuas y discretas, utilizando
herramientas computacionales como Matlab.
b) Reconocer los diferentes comandos y utilidades
del software matlab.
c) Analizar el comportamiento de las seales
III. PROCEDIMIENTO
Utilizar los siguientes programas en Matlab para generar
seales fundamentales y realizar los ejercicios
propuestos al final.
SEAL SENO

Figura 1: Grfica Seal Senoidal


Anlisis:
Para la generacin de la grafica senoidal, sencillamente
se debe tener en cuenta la amplitud de la seal, el
perodo con el cual se desea graficar y finalmente el
desplazamiento de la misma en el tiempo.

SEAL CUADRADA
Anlisis:
Cdigo:
%Generacin de ondas cuadradas
A= 1; %Amplitud de la seal, entre 1 y
5
f= 2000;
B=20;
C=1;
wo=B*pi;%Frecuencia de la seal en
rad/s.
B=2*f %donde f es la %frecuencia en
cps.
rho=0.5; %(<1)Ciclo til del __% -valor
entre 0.1 y <1
t=0:0.001:C;%Rango de tiempo a trabajar
segn el nmero de ciclos a %observar.
cuadrada=A*square(wo*t+rho);
%Utilizacin del comando square,

Para la generacin de la grafica de una seal cuadrada,


se usa el comando Square, donde especificamos la
amplitud de la seal con A y la Frecuencia de la
misma con Wo multiplicado por el vector tiempo y
sumando el ciclo til rho.
SEAL TRIANGULAR
Cdigo:
%Generacin de seal triangular
A=1 ; % Amplitud de la seal, entre 1 y
5
B=20 ;
wo=B*pi;% Frecuencia de la seal en
rad/s.
B=2*f %donde f es la frecuencia en cps.
D=1;
theta= 0.5; %Fase,
t=0:0.001:D;%Rango de tiempo a trabajar
segn el nmero de ciclos a
%observar.
trian=A*sawtooth(wo*t+theta);
%Utilizacin de comando sawtooth,
plot(t,trian)
grid
title('Onda triangular ')
ylabel('Amplitud en Voltios');% Usted
define unidades
xlabel('Tiempo en s');

plot(t,cuadrada); %Dibujo de seal


cuadrada,
grid;%Se coloca retcula a la grfica.
axis([0,1,-3,3]);
title('Onda cuadrada de',f,'cps y ciclo
til de 0.5')
ylabel('Amplitud en v');
xlabel('Tiempo en s');

Grfica

Grfica

Figura 3: Grfica Seal Triangular


Figura 2: Grfica Seal Cuadrada

Anlisis:
Para la generacin de la grafica de una seal triangular,
se usa el comando Sawtooth, donde especificamos la
amplitud de la seal con A y la Frecuencia de la
misma con Wo multiplicado por el vector tiempo y
sumando la fase correspondiente a theta.

SEAL CUADRADA DISCRETA


Cdigo:

Para la generacin de la grafica de una seal cuadrada,


se usa el comando square, donde especificamos la
amplitud de la seal con A y la Frecuencia de la
misma con Omega multiplicado por el vector tiempo y
sumando el ciclo til rho. Para graficar en tiempo
discreto en vez de usar el comando plot se usa stem.

ONDA EXPONENCIAL CONTINUA


Cdigo:
Grfica
%Generacin de onda cuadrada discreta
A=1; % Amplitud de la
seal,
entre 1 ycontinua
%Onda
exponencial
5
A=1 ; %Amplitud de la seal, entre 1 y
omega=pi/B;% Frecuencia
de la seal en
5
rad/s.
B= 2;%Coeficiente de amortiguamiento,
B=2*f ; %f es la frecuencia
entre 1 yen10cps.
rho= 0.5; %Ciclo til
del 50%,
C=1;
D=10;
t=0:0.001:C; %Rango de tiempo a
n=-D:1:D;%Rango de muestras
observar
trabajar asegn
el nmero de ciclos
x=A*square(omega*n+rho);%Vector
%a observar donde
se guardan muestras y=A*exp(-B*t);%uso de comando exp,
stem(n,x);%Comando para
desplegar
plot(t,y)
seales discretas grid
grid
title('Onda exponencial continua')
axis([-10,10,-2,2]);ylabel('Amplitud en Voltios');
title('Onda cuadradaxlabel('Tiempo
discreta ') en Segundos');
ylabel('Amplitud en V');
xlabel('Tiempo en s');

Grfica

Figura 4: Grfica Seal Cuadrada Discreta

Anlisis:

Figura 5: Grfica onda exponencial continua.


Anlisis:

Para la generacin de la grafica de una onda


exponencial, se usa el comando exp para expresar euler,
multiplicamos por la amplitud A y dentro de
parntesis se especifica el coeficiente de
amortiguamiento e incluimos el vector tiempo al cual se
va a elevar la funcin.

Anlisis:

ONDA EXPONENCIAL DISCRETA

Para la generacin de la grfica de una onda exponencial


discreta se multiplican sucesivamente elemento por
elemento un valor A por una variable B, elevada a la n,
correspondiente a un vector igual al nmero de muestras
a graficar.

Cdigo:

ONDA SENO MUESTREADA

Grfica

Cdigo:
%Onda seno muestreada
A=1% Amplitud de la seal, entre 1 y 5
f=10;
C=100;
B=2*f% donde f es la frecuencia en cps.
omega=2*pi/B;% Frecuencia de la seal
en rad/s.
phi=C ;%Fase (inicial de cero)
n=-D:D;%Por omisin la muestra se toma
cada unidad
y=A*cos(omega*n+phi)
stem(n,y)
grid
title('Onda seno muestreada')
ylabel('Amplitud en Voltaje');
xlabel('Tiempo en S');

%Onda exponencial discreta


A= 1; % Amplitud de la seal, entre 1 y
5
B= 0.5;%Variable (<1),
n=-10:1:10;% Rango de nmero de
muestras a observar
x=A*B.^n;%El punto (.) se usa para el
clculo de elemento por
%elemento,
stem(n,x)
grid
title('Onda exponencial discreta')
ylabel('Amplitud en Voltios');
xlabel('Tiempo en s');

Grfica

Figura 6: Grfica onda exponencial discreta.

Figura 7: Grfica onda seno muestreda.


Anlisis:

Para la generacin de la grfica de una onda senoidal


discreta se usa una funcin cosinoidal, multiplicada por
la amplitud, dentro de la funcin se multiplica la
frecuencia omega por el vector y se suma la fase.

Para la generacin de la grfica de una onda senoidal


exponencialmente se opera una onda senoidal con una
seal exponencial con el fin de que paulatinamente la
seal senoidal se desvanezca de manera exponencial

OPERACIN CON SEALES


Cdigo:

ESCALON DISCRETO

Grfica

Cdigo:
%Operacin con seales. Onda seno
exponencialmente decreciente
A=1 ;% Amplitud de la seal, entre 1 y
5
f=100;
%Escaln discreto
E=1;
u=[zeros(1,A),ones(1,A)]; %Se definen
wo=B*pi;% Frecuenciavectores
de la seal
en
de tamao
A(>10)
rad/s.
n=0:2*A-1;
B=2*f %donde f es lafrecuencia
en cps.
stem(n,u)
phi=D;
grid
C=6;
axis([0,2,0,2]);
t=0:0.001:E; %Rango title('Escaln
de tiempo a
discreto')
trabajar segn el nmero
de ciclos a en Voltios');
ylabel('Amplitud
%observar.
xlabel('Tiempo en segundos');
senexp=A*sin(wo*t+phi).*exp(-C*t)
plot(t,senexp)
grid
title('Onda seno exponencialmente
decreciente')
ylabel('Amplitud en voltios');
xlabel('Tiempo en segundos')

Grfica

Figura
7:
decreciente.
Anlisis:

Grfica

onda

exponencialmente

Figura 8: Grfica escaln discreto.

Anlisis:
Para generar la grfica del escaln discreto, es necesario
declarar vectores zeros y ones, luego se grafican desde 0
hasta A-1 para poder visualizar el escalon unitario

%Operacin con seales. Onda seno


exponencialmente decreciente
A=1 ;% Amplitud de la seal, entre 1 y
%
5 Impulso discreto
delta=[zeros(1,B),1,zeros(1,B)];
%Se
f=100;
definen
vectores de tamao
E=1;
%B(>10)
wo=B*pi;% Frecuencia de la seal en
n=0:2*(B+1)-2;
rad/s.
stem(n,delta)
B=2*f %donde f es lafrecuencia en cps.
grid
phi=D;
axis([150,250,-1,1.5]);
C=6;
title('Impulso
discreto')
t=0:0.001:E; %Rango
de tiempo a
ylabel('Amplitud
Voltios');
trabajar segn elen
nmero
de ciclos a
xlabel('Tiempo
en s');
%observar.
senexp=A*sin(wo*t+phi).*exp(-C*t)
plot(t,senexp)
grid
title('Onda seno exponencialmente
decreciente')
ylabel('Amplitud en voltios');
xlabel('Tiempo en segundos')

IMPULSO DISCRETO
Cdigo:
Grfica

Figura 9: Grfica impulso discreto.

Anlisis:
Para generar la grfica del impulso discreto, es necesario
declarar vectores zeros y ones, luego se grafican desde 0
hasta A-1.
PULSO CENTRADO EN EL ORIGEN

Cdigo:

Para la generacin de un pulso centrado, en el origen, se


usan dos vectores que se restan para permitir la
formacin del pulso en un t.

Grfica

Graficar:
a)

AetBe0.5 t para 0< t<5

Cdigo:
A=6;%valor de A
B=3;%valor de B
a=1;%valor multiplicativo de la exponencial
b=0.5;%valor multiplicativo de la exponencial
t=0:0.01:5;%intervalo de tiempo
A1=A*exp(-a*t);%exponencial de A
B2=B*exp
de B
% Pulso centrado
en (-b*t);%exponencial
el orgen
xt=A1-B2;%funcion
x(t)
t=-1:1/500:1; %Rango de tiempo a
plot(t,xt);
trabajar segn
lo que se desea
observar.
u1=[zeros(1,250),ones(1,751)];
u2=[zeros(1,751),ones(1,250)];
u=u1-u2;
plot(t,u)
grid
axis([-1,1,0,1.5]);
title('Pulso centrado en el origen')
ylabel('Amplitud en v');
xlabel('Tiempo en s');

Figura 10: Pulso centrado en el origen.


Anlisis:

Figura 11:
a)

AetBe0.5 t para 0< t<5


t

Ae +Ce

0.5t

para 0<t <5

x ( t )=Cseno 2 1000t

b)

eat
D

Cdigo:
C= 30;
w0 = 2 * pi;% Frecuencia de la seal
t=-2:0.01:2; % rango de tiempo
D=7;
phi = 1000*t-pi/D;
a = 5; % Amplitud
expsen = C * cos( w0 * t + phi) .* exp
( -a * t); % funcion
plot(t,expsen);

Figura 13:

con a=5

eat
D

eat
D

con a=4

Graficas

Figura 12:

x ( t )=Cseno 2 1000t

x ( t )=Cseno 2 1000t

eat
D

Figura 14:
con a=2

x ( t )=Cseno 2 1000t

Figura 15:

x ( t )=Cseno 2 1000t

eat
D

con a=1

Figura 15: Grafica de funcin impulso generada por


Matlab

Para el siguiente programa;


a. Trazar diagrama de flujo (Observe que es una funcin)
b. Una vez probada guardarla en al directorio de matlab
con la extensin .m
c. De acuerdo con la funcin, emplearla en un nuevo
programa para generar la seal correspondiente .

Diagrama

Codigo implementado para la funcin:


(los valores para a,b,delta y x se asignaron mediante linea de
comandos).

function
Punto11(x,a,b,delta)
% a=-1;
% b=1;
% delta=500;
% x=10;
g=zeros(size(x));
set1=find(abs(x)<=0.5)
g(set1)=ones(size(set1))
x=a:1/delta:b;
plot(x,g, 'r');
grid
title('Onda ')
ylabel('Amplitud en V');
xlabel('Tiempo en s');
end

I.

CONCLUSIONES

10

Esta actividad permite identificar diversas maneras de


procesar las seales digitales mediante el programa
Matlab, adems como herramienta de anlisis simplifica
la solucin de problemas y permite identificar los
cambios en diferentes tipos de sistemas si se modifican
variables o componentes.

Das könnte Ihnen auch gefallen