Está en la página 1de 8

UNIVERSIDAD DON BOSCO

FACULTAD DE INGENIERA
ESCUELA DE INGENIERA ELECTRONICA

Desarrollo de la gua n4
Operaciones Discretas Usando
Matlab
Seales y Sistemas Discretos

Catedrtico:
Samuel Murcia
Grupo de Laboratorio:
GT01, GL02

Alumnos:
Aguilar Marroqun, Jos Alberto
Landaverde Castillo Jorge Luis

Soyapango, 07 de Septiembre del 2015.

DESARROLLO DE LA PRCTICA.
1. Adquiera dos seales de voz diferentes. Puede usar el archivo de guin de la
prctica anterior.

>>ai=analoginput('winsound')
addchannel(ai,1);
ai.SampleRate=8000;
ai.SamplesPerTrigger=40000;
ai.TriggerType='Immediate';
start(ai)
[s1,t]=getdata(ai);
disp('Hable al micrfono por 5 s.')
pause(5);
figure
plot(t,s1);
start(ai)
[s2,t]=getdata(ai);
disp('Hable al microfono por 5 s.')
pause(5);
figure
plot(t,s2);
Display Summary of Analog Input (AI) Object Using 'Microphone (Conexant CX20671
Sm'.
Acquisition Parameters: 8000 samples per second on each channel.
8000 samples per trigger on each channel.
1 sec. of data to be logged upon START.
Log data to 'Memory' on trigger.
Trigger Parameters: 1 'Immediate' trigger(s) on START.
Engine status: Waiting for START.
0 samples acquired since starting.
0 samples available for GETDATA.
AI object contains no channels.
Hable al micrfono por 5 s.

Seal 1 (S1)

Seal 2 (S2)

Parte II. Operaciones con seales digitalizadas con la tarjeta de sonido.


2. Capture dos seales desde la tarjeta de sonido, una llmela s1 y la otra s2.
3. Realice la suma y la resta de ambas seales y guarde los resultados en las
variables suma yresta respectivamente.
>>suma=s1+s2;
>>plot(suma)

>>resta=s1-s2;
>>plot(resta)

4. Realice una funcin que encuentre la energa de una seal de entrada y


aplquela a las sealess1 y s2.

function [e]= energia (x)


abs1= abs(x)
a=abs1.^2
e=sum(a)
Para S1
>>energia (s1)
ans =
7.8083
Para S2
>>energia (s2)
ans =
110.1712

5. Haga el clculo de potencia primero con una ventana rectangular y despus con
una de hanning para la seal s1 y que tenga un segundo de seal (cree una
funcin en Matlab para calcular la potencia).

function [ p ] = potencia(x,N1,N2 )
abs1= abs(x);
a=abs1.^2;
E=sum(a);
f=(1/(N2-N1+1))*E;
p=limit(f,N,40000);

Para s1 se tiene:
>>potencia(s1)
ans =
1.9520e-04
Luego, para S2
>>potencia(s2)
ans =
0.0028

6. Utilice la funcin de autocorrelacin integrada en MATLAB para encontrar la


autocorrelacin delas seales s1 y de la seal s2.
>>Acorr = xcorr(s1)
>>Acorr = xcorr(s2)

7. Haga una funcin en MATLAB que calcule la convolucin, y prubelo haciendo la


convolucinde la seal s1 con la seal s2.

Funcin:
function[y,X] = convolution(x,h)
x = x';
% Aplicando transposicin para convertirlo en vector de
columnas
h = h';
% Aplicando transposicin para convertirlo en vector de
columnas
nx = length(x); % Lectura del tamao del vector
nh = length(h); % Lectura del tamao del vector
ny = nx+nh-1;
% asignando el tamao del vector de salida
X = zeros(ny,nh);% Se crea una matriz de Convolucion de ceros
for n = 1:nh
% Para cada elemento del vector de salida
X((1:nx)+(n-1),n)=x;
% nh matrices triangulares de tamao (ny,nh)
end
y = (X*h)'; % Multiplicacin de la ltima matriz con la matriz h, y luego
se le aplica transposicin
Pruebas con la funcin creada:
>> convolution([1,2,3,4,5],[0,0,0,1,0])
ans =
0

Pruebas con la funcin de Matlab:


>>conv([1,2,3,4,5],[0,0,0,1,0])
ans =
0

Conclusiones:
-

Las herramientas matemticas como matlab nos permite modelar las


seales para operarlas y poder estimar el comportamiento de
combinarlas entre si mediante operaciones matemticas.

El uso de funciones optimiza el trabajo para la manipulacin de mas de


una seal haciendo mas inmediato la resolucin de operaciones como la
convolucion de seales usad para el tratamiento de seales.

Las operaciones matemticas nos permiten obtener aproximaciones de


otros parmetros elementales para las seales elctricas como potencia,
energa, etc.

También podría gustarte