Vous êtes sur la page 1sur 5

PROCESAMIENTO DIGITAL DE SEALES

Taller No. 1: Tratamiento de Seales Bsicas


Cada uno de los puntos a desarrollar, fueron tomados de la gua de laboratorio 1 del curso de
Procesamiento de Seales del profesor Humberto Loaiza Correa.
1. Objetivos

Realizar un primer acercamiento a la herramienta de programacin de Matlab con relacin


al Procesamiento Digitales de Seales.
Analizar seales en tiempo discreto comnmente empleadas en Procesamiento Digitales de
Seales.
Implementar en el dominio del tiempo la convolucin.
2. Manipulacin de seales discretas bsicas
a.

Para la visualizacin de seales discretas en Matlab se utiliza la funcin stem(). Las siguientes
instrucciones generan y visualizan 30 muestras de una seal seno.
clc;
clear all;
n=-10:19;
sen = sin (n/2 + 10 );
stem (sen);
xlabel ( 'muestras n' );
ylabel ( ' funcin seno (n) ' );

b.

Determine la funcin de los principales comandos. Utilice el help para obtener mayor
informacin.

c.

Ejecute desde la lnea de comandos de Matlab las instrucciones dadas en 2.a. Analice la
respuesta obtenida. Verifique si la numeracin del eje horizontal, corresponde con los valores
de la seal seno.

d.

Modifique el programa dado en 2.a. para corregir el problema detectado en el numeral anterior.
Consigne los resultados.

3.

Ejecutando un Script

a.

Usando el editor de texto de Matlab cree un script con las siguientes instrucciones que permiten
generar y visualizar una secuencia de datos discretos a partir de una seal senoidal. Consigne
los resultados.
clear all;
m=50;
frec=40;

% Cantidad de muestras
% frecuencia de la seal en Hz

Tsample= 3/frec ;
n= -(m-1)/2: (m-1)/2;
nT= n* Tsample;
y=sin(2*pi*frec*nT);
plot(nT, y)
title('Seal Discreta');
xlabel ( 'nT')
ylabel ( 'Magnitud')

% periodo de muestreo en segundos


% instantes de muestreo

b.

La funcin plot permite visualizar adecuadamente una seal seno discreta? Justifique su
respuesta. Pruebe para Tsample=0.2/frec.

c.

Repita el numeral a y b pero en lugar de plot ( ) invoque la funcion stem( ). Consigne y


compare los resultados. Indique porque se producen los cambios, y si es posible determinar el
periodo de la funcin continua.

d.

Seal sinc. La seal sinc, con frecuencia angular wc est definida como,
wc
n=0

sin c (n ) = w sen(w n )
c
n0
c
(wc n )
donde wc es la frecuencia de corte de un filtro paso bajo asociado (la funcin sinc es la
transformada inversa de Fourier de la respuesta en frecuencia en un filtro paso bajo)
Utilice las instrucciones que se dan a continuacin para generar y visualizar una secuencia de
muestras a partir de una seal sinc. Escriba las instrucciones en un script y ejectelo desde la
lnea de comandos de Matlab. Consigne los resultados.
% Calcula 2m+1 muestras de la funcion sin(2*pi*fl*t)/(pi*t)
% para n=-m : m (es decir, centrado alrededor del origen).
% fc :Frecuencia de corte [Hz] asociada a un filtro paso bajo
%
:normalizada entre 0 y 1 respecto a la frecuencia de muestreo, por lo tanto la
%
:frecuencia maxima permitida es fc=0.5.
% x :salida, muestras de la funcion sinc
clear all;
m=50;
fc=0.25;
wc=fc*2*pi;
n=(-m:m);
%2m+1 instantes de muestreo centrado alrededor de cero
xn=sin(wc * n);
xd=pi*n;
x(1:m)= xn(1:m)./ xd(1:m) ;
x(m+1)=2*fc ;
x(m+2:2*m+1)= xn(m+2:2*m+1)./ xd(m+2:2*m+1) ;
% graficar seal
figure ;
stem(n, x);
title( strcat('Generacion de la Seal Sinc -- fc= ', num2str(fc) ) );

xlabel ('Instantes n');


ylabel ('Seal Sinc'),

Repita el numeral anterior para m= 5 y 150. Se presentan cambios en la seal resultante? Es


irrelevante el valor de m ?
e.

Repita 3.d para fc=0.1 y 0.5 manteniendo m= 50. Se presentan cambios en la seal resultante?
Es irrelevante el valor de fc? Explique qu sucede para fc>0.5.

f.

Seal escaln. Realice un script que genere seales escaln discretas de forma tal que
puedan modificarse fcilmente su amplitud, duracin e instante de inicio (desplazamiento en
el eje de tiempo discreto). El script debe permitir la visualizacin de las seales generadas.
Tenga cuidado de ajustar el eje horizontal para que la seal escaln no se visualice como una
seal rectangular. Consigne el programa.

g.

Pruebe el script realizado en el numeral anterior para valores diferentes de cada opcin
(amplitud, duracin y desplazamiento). Consigne los resultados.

h.

Seal rampa. Realice un script que genere seales rampas discretas de forma de forma tal que
pueda modificarse fcilmente su pendiente, duracin e instante de cruce por cero
(desplazamiento en el eje de tiempo discreto). El script debe permitir la generacin de valores
positivos y/o negativos de amplitud en la rampa (desplazamiento en el eje de amplitud), as
como la visualizacin de las seales generadas. Consigne el programa.

i.

Pruebe el script realizado en el numeral anterior para valores diferentes de cada opcin
(pendiente, duracin y desplazamiento). Consigne los resultados.

j.

Seal exponencial ( an para a real). Realice un script que genere seales exponenciales
discretas de forma de forma tal que puedan modificarse fcilmente su base, duracin e
instante de inicio (desplazamiento en el eje de tiempo discreto). El script debe permitir la
visualizacin de las seales generadas. Consigne el programa.

k.

Pruebe el script realizado en el numeral anterior para valores diferentes de cada opcin (base
positiva y negativa, duracin y desplazamiento). Consigne los resultados.

l.

Seal exponencial [ (a+ j b)n base compleja]. Realice un script que genere seales
exponenciales discretas de forma de forma tal que puedan modificarse fcilmente su base,
duracin e instante de inicio (desplazamiento a la izquierda y derecha del eje de tiempo
discreto). El script debe permitir la visualizacin de las seales generadas tanto la parte real
como la imaginaria como la magnitud y fase. Consigne el programa.

m.

Pruebe el script realizado en el numeral anterior para cada valores diferentes de cada opcin
(base positiva y negativa, duracin y desplazamiento). Consigne los resultados.

4. Convolucin
a.

La convolucin en el dominio discreto est definida por la siguiente expresin:

y ( n) =

x(k ) h(n k ) =

k =

h( k ) x ( n k )

k =

Realice un script en Matlab, denominado que permita calcular la convolucin entre dos
seales en tiempo discreto de acuerdo con alguna de las definiciones dadas arriba. No debe
utilizarse las funciones de Matlab para este fin (conv, convn). El script deber utilizar los
siguientes parmetros:
x, h,
xno,
hno,
y,
yno,

vectores con las muestras de la seales a convolucionar


instante cero en la secuencia x
instante cero en la secuencia h
vector que contiene las muestras de la salida
instante cero en la secuencia y.

El script tambin deber visualizar en una misma ventana las grficas de x(n), h(n), y(n) en
zonas independientes, as como el nombre de cada grfica. Para lograr esto, utilice la funcin
subplot( ) de Matlab. Consigne el programa y explique el funcionamiento del algoritmo.
Cul ser la longitud del vector resultante? Justifique su respuesta.
b.

Si la respuesta impulsional de un sistema LTI es dada por h(n) y la seal de entrada por x(n),
calcule la secuencia de salida y(n)=h(n)*x(n) del sistema mediante la utilizacin del script
hecho en el numeral anterior para las siguientes seales,

{
}
h(n) = {1 , 2, 3, 2,1}

a- h(n) = 1 , 2, 3, 2,1

x(n) = {1, 2, 1, 2}

b-

x(n) = {1, 2, 1, 2}

c- h(n) = {1, 2,1,2}

x(n) = 1 , 2,3,2,1

d- h(n) = 1 , 2, 3, 2,1

x(n) = {1, 2, 2, 2}

e-

x(n) = {1.5, 2, 2, 1}

{
}
h(n) = {1 , 2, 3, 2,1}

c.

Compare las respuestas obtenidas para cada caso en el punto anterior. Observe en qu instante
se presenta el mayor valor de la salida y(n). Explique claramente el resultado obtenido y
confrmelo analticamente.

d.

Obtenga por convolucin la respuesta de los sistemas a- y c- del numeral 4.b, usando el script
del numeral 4.a, y ante la entrada seno calculada en 3.a, con frecuencia frec = 1Kz, 10KHz,
50 KHz, 100KHz. Fije la frecuencia de muestreo a 300 KHz para todos los casos. Ajuste el
nmero de muestras m para que se pueda observar al menos dos periodos de la seal. Para
cada caso grafique las seales de entrada y salida. Qu funcin puede atribuirse al sistema
h(n) en cada caso?
Pruebe la funcin deconv( ) de Matlab con las seales de 4.2 y los resultados de 4.5
Establezca la utilidad prctica de esta funcin. Indique igualmente como se podra establecer
el instante n=0 en la secuencia de salida arrojada por deconv()

e.

5. Informe
a. Presente un informe escrito claro en donde se consigne el procedimiento, los
programas, las seales, las justificaciones de las respuestas y los resultados obtenidos.
Igualmente incluya el anlisis e interpretacin de los resultados. Tambin consigne
las conclusiones, observaciones y la literatura consultada. Utilice en el informe la
misma numeracin de la gua de laboratorio.

Notas:

La omisin de alguno de los tems en el informe representa una disminucin de la nota.


El informe debe hacer referencia ordenada a cada uno de los puntos de la gua.

Para facilitar la sustentacin ante el profesor, realice scripts donde se definan los
datos y se invoquen las funciones desarrolladas.

Vous aimerez peut-être aussi