Está en la página 1de 20

Instituto Tecnolgico de Mexicali

Ingeniera Electrnica

Procesamiento Digital de Seales (PDS)


Dr. Mayorga Ortiz Pedro

Alumnos:
Cataln Montoya Max Quincy
14490011
Garca Hernndez Alina Mara
11491128
Silva Morales Martin Jr.
11490578

Reporte #4:
Anlisis de Grabaciones simultaneas

Mexicali, B.C, a lunes 13 de Abril del 2015.


1

Anlisis de Grabaciones simultneas


Garca Hernndez Alina Mara
11491128

Silva Morales Martin


11490578

Max Quincy Cataln Montoya


14490011

Resumen

La grabacin simultnea es un mtodo de grabacin de sonido que permite registrar


mltiples fuentes sonoras por separado para luego unirlas y formar un todo. Es la forma ms
comn de grabar msica en la actualidad, haciendo uso de la computadora.

En este trabajo lo que se busca es poder hacer una grabacin del corazn y la
respiracin de un paciente de forma que podamos tener una referencia para el anlisis
espectral que se har ms adelante en el curso.
Como en la prctica pasada, se har una grabacin y se analizara con las diferentes
funciones que nos ofrece MATLAB para el anlisis espectral.

Anlisis de Grabaciones Simultneas


Garca Hernndez Alina Mara
11491128

Silva Morales Martin


11490578

Max Quincy Cataln Montoya


14490011

Tabla de Contenidos

1.

Introduccin ........................................................................................................................ 4
1.1.
1.2.
1.3.

2.

Problema .......................................................................................................................... 4
Justificacin ..................................................................................................................... 4
Objetivo ............................................................................................................................ 4
Marco Terico ..................................................................................................................... 5

2.1.
2.2.
2.3.
2.4.

La Transformada Rpida de Fourier (FFT) ................................................................ 5


Densidad espectral de potencia (PSD) ........................................................................... 6
Transformada discreta de fourier (DFT) ...................................................................... 7
Transformada de fourier en tiempo corto (STFT) ....................................................... 8

2.4.1
2.4.2
3.
4.

Metodologa ....................................................................................................................... 10
Resultados .......................................................................................................................... 14
4.1.
4.2
4.3

5.
6.

STFT de tiempo continuo .................................................................................... 8


STFT en tiempo discreto ..................................................................................... 9

Codigo de MATLAB del programa 1 .......................................................................... 14


Codigo de MATLAB del programa 2 .......................................................................... 16
Codigo de MATLAB del programa 3 .......................................................................... 18
Conclusiones ...................................................................................................................... 19
Referencias......................................................................................................................... 20

1. Introduccin
Actualmente como herramienta para el procesamiento digital de seales utilizamos
software que discretizan los datos adquiridos, no obstante existen formas matemticas para el
anlisis. De esta manera utilizamos el programa de MATLAB para poder analizar el espectro de
la frecuencia de la respiracin en los seres humanos, existen 4 diferentes formas para que as nos
podamos percatar de los distintos aspectos en la seal, en ste caso hacemos uso de :

La transformada rpida de Fourier (FFT).


Densidad espectral de potencia (PSD).
Transformada discreta de Fourier (DFT).
Transformada de Fourier en tiempo corto (STFT).

En la siguiente prctica podemos analizar el espectro de las frecuencias desarrollados con


diferentes mtodos que nos proporciona MATLAB.

1.1.

Problema

Adquisicin de dos grabaciones simultneas, una situada en el pecho para el latido del
corazn y la segunda en la trquea, que es para la respiracin, al obtener las grabaciones se har el
anlisis espectral con las funciones que nos proporciona MATLAB.

1.2.

Justificacin

La identificacin y clasificacin de seales trazadas con MATLAB es importante en el


estudio del procesamiento digital de seales ya que precisamente estamos adquiriendo datos y
comparando sus trazos, debido a que con estas graficas se pueden analizar de diferentes maneras
la seal adquirida.

1.3.

Objetivo

Ingresar un archivo de una grabacin simultanea de sonido, de una respiracin y el latido


del corazon tomando una muestra de los alumnos, y utilizando las diferentes funciones para el
procesamiento digital de las seales espectrales de las grabaciones adquiridas y mostrar sus
graficas.

2. Marco Terico
2.1.

La Transformada Rpida de Fourier (FFT)

Es una herramienta fundamental en el procesado digital de seales. Su origen es


relativamente reciente puesto que fueron J.W.Cooley y J.W Tukey, quienes hacia 1965 abordaron
por primera vez el problema de la programacin de un algoritmo para el clculo de series
complejas.
Ante todo debe quedar claro que la FFT no es una nueva transformada sino que se trata de
un algoritmo para el clculo de la Transformada Discreta de Fourier (DFT) [1] . Su importancia
radica en el hecho que elimina una gran parte de los clculos repetitivos a que est sometida la
DFT, por lo tanto se logra un clculo ms rpido. Adems, la FFT generalmente permite una mayor
precisin en el clculo de la DFT disminuyendo los errores de redondeo.
La implementacin del algoritmo de la FFT puede realizarse de dos formas distintas:
1. Mediante un programa que pueda ejecutarse tanto en un PC como en una tarjeta que posea
un microprocesador especfico para este tipo de operaciones (DSP).
2. Mediante el desarrollo de una tarjeta (HARDWARE) en la cual se emplean circuitos
integrados especficos. Tal es el caso de los modernos analizadores de espectro.
Por lo tanto el objetivo de este apartado es mostrar la redundancia implcita en el clculo
de la DFT, para luego comprobar cmo un determinado algoritmo de la FFT elimina esta
redundancia. La DFT de una serie de muestras x[n] para 0 n N se define:

; 0 k

Dnde:

(1)

Antes de entrar en detalles sobre la FFT comprobemos la naturaleza peridica del trmino
, de hecho la periodicidad y simetra de
2

contribuyen a la redundancia de la DFT.

= =

2
2

(2)

En la siguiente tabla se evala

Tabla 1 Evaluacion para FFT:

2.2.

Densidad espectral de potencia (PSD)

Sea una seal digital (o cdigo de lnea) dada por

s(t) =
n= a n f(t nTs )

(3)

donde f(t) es la forma de onda del pulso del smbolo, y Ts es la duracin del smbolo. La densidad
espectral de potencia de una seal digital es:

Ps (f) =

|F(f)|2
Ts

j2kfTs

n= R(k)e

(4)

donde F(f) es la transformada de Fourier de la forma del pulso, f(t), y R(k) es la autocorrelacin
de los datos:

R(k) =
n=(a n a n+k )i Pi
6

(5)

donde an y an+k son los niveles de voltaje de los pulsos de los datos en las posiciones del smbolo
n-simo y (n+k)-simo, respectivamente, y Pi es la probabilidad de tener el producto i-simo
anan+k.
Una forma alternativa consiste en promediar las PSD intermedias obtenidas mediante
clculos de la DFT de distintos tramos consecutivos de la seal aleatoria. Supongamos que
disponemos de M muestras de la seal aleatoria cuya PSD deseamos determinar. Si subdividimos
la secuencia de M muestras en K segmentos de N muestras cada uno (cuya duracin temporal es
T segundos), para cada segmento podemos estimar su PSD como:
1

(i)

(I)

Pw (f) T |WT (f)|

f=n/T

| T |tXi (n)|2

(6)

Dado que, por definicion:


1

Pw (f) = limT T |WT (f)|2

(7)

El superndice i en la PSD dada por (12) se utiliza para indicar que se trata del clculo obtenido a
partir del segmento i-simo, para 0 i K 1. As, promediando entre las K PSD obtenidas, se
llega a una estimacin de la PSD:
1

(i)

K1
2
Pw (f) K K1
i=0 Pw (f) K i=0 |tX i (n)| =

t2
KT

2
K1
i=0 |X i (n)|

(8)

Donde:
(i+1)N1

Xi (n) = k=iN

2.3.

x(k)ej( N )nk

(9)

Transformada discreta de fourier (DFT)

Teniendo en cuenta las posibilidades ofrecidas por las computadoras personales actuales o
la disponibilidad de circuitos integrados para el procesamiento digital de seales, el espectro de
una seal puede aproximarse fcilmente mediante la denominada transformada discreta de Fourier
(DFT):
2

j( )nk
N
X(n) = N1
k=0 x(k)e

(10)

donde n = 0, 1, , N 1. De igual forma, se define la transformada discreta de Fourier inversa


(IDFT) como:
1

j( )nk
N
X(n) = N N1
n=0 X(n)e

(11)

donde k = 0, 1, , N 1. Obsrvese que ni el tiempo ni la frecuencia aparecen explcitamente en


las expresiones anteriores y ambas se limitan a una serie de operaciones ejecutables por una
7

computadora. El programa MALTAB tiene implementadas dos funciones que permiten determinar
tanto la DFT como la IDFT mediante el uso de algoritmos FFT (transformada rpida de Fourier).
Las funciones en MATLAB encargadas de ello, respectivamente, son las siguientes: X =
fft(x) y x = ifft(X)

Figura 1 Transformada discreta de fourier.


En las funciones anteriores x y X son vectores de N elementos cada uno, el primero con las
muestras temporales y el segundo con los resultados de la DFT. La DFT puede utilizarse para
aproximar el espectro de una forma de onda w(t), teniendo en cuenta que:
WT (f)|f=n/T tX(n)

(12)

donde WT(t) es el espectro de la versin aventanada entre 0 y T segundos de w(t).

2.4.

Transformada de fourier en tiempo corto (STFT)

La Transformada de Fourier de Tiempo Corto (Short-time Fourier transform, STFT)


o Transformada de Fourier de Trmino Reducido (short-term Fourier transform) est relacionada
con la transformada de Fourier usada para determinar el contenido en frecuencia sinusoidal y de
fase en secciones locales de una seal as como sus cambios con respecto al tiempo.[2]

2.4.1

STFT de tiempo continuo

Simplemente, en el caso del tiempo continuo, la funcin a ser transformada se multiplica por
una funcin ventana que solo es diferente de cero por un pequeo perodo. La trasformada de
Fourier (una funcin de una sola dimensin) de la seal resultante es tomada como la ventana que
8

se desliza a lo largo del eje del tiempo, resultando una representacin en dos dimensiones de la
seal. Matemticamente, se escribe como:

(13)
donde w(t) es la funcin ventana, comnmente una ventana de Hann o ventana
campana Gaussiana centrada en cero, y x(t) es la seal a ser transformada, x(t, w) es esencialmente
la Transformada de Fourier dex(t)x(t - ), una funcin compleja que representa la fase y magnitud
de la seal sobre tiempo y frecuencia. A menudo se emplea la fase instantnea junto con el eje del
tiempo y el eje de la frecuencia w para suprimir cualquier discontinuidad por salto en la fase
resultante en la STFT. El ndice de tiempo normalmente se considera un tiempo "lento" y
usualmente no se expresa con tan alta resolucin como con el tiempo t.

2.4.2

STFT en tiempo discreto

En el caso del tiempo discreto, la informacin a ser transformada podra ser dividida en
pedazos o tramas (que usualmente se traslapan unos con otro, para reducir irregularidades en la
frontera). Cada pedazo una transformacin de Fourier, y el resultado complejo se agrega a una
matriz, que almacena magnitud y fase para cada punto en tiempo y frecuencia. Esto se puede
expresar as:

(14)
Donde, x[n] es la seal y w[n] es la ventana. En este caso m es discreta y es continua,
pero en la mayora de aplicaciones tpicas la STFT se hace en un computador usando la
Transformada Rpida de Fourier, as ambas variables son discretas y cuantizadas. De nuevo, el
ndice de tiempo discreto m es normalmente considerado como un tiempo "lento" y usualmente no
se expresa con tan alta resolucin como con el tiempo n.
La magnitud cuadrada de la STFT origina el espectrograma de la funcin:
(15)
.

3. Metodologa
Para esta practica se realizo la grabacion simultanea del sonido del pulmon, que fue tomado
colocando un microfono en la traquea y otro sonido del corazon, colocando otro microfono en
el lado izquierdo del pecho.
Para esto se utilizo un equipo que se utiliza principalmente para grabaciones de musica,
pero se hizo el experimento y poder ver de que forma se podia utilizar para poder desarrollar
la practica, se utilizo el siguiente material:

MOTU Ultralite MK3:

Figura 2: MOTU Ultralite MK3

Motu UltraLite-mk3 Hybrid es una interfaz de audio compacta y verstil que ofrece
conexin hibrida FireWire/USB2, efectos de mezcla y una calidad de sonido y fiabilidad soberbias.
UltraLite-mk3 Hybrid dispone del sistema de monitorizacin CueMix con latencia cero
que gracias a su DSP no utiliza recursos de la CPU de su ordenador y posibilita el uso de su
mezclador con sus efectos internos en modo Stand-alone.

Interfaz de audio porttil


Conexin FireWire/USB2
CueMix FX
Mezclador de 10 entradas y 14 buses
Classic Reverb
2 tipos de compresin: estndar y LA-2A
Ecualizacin analgica modelada
2 entradas combo jack lnea/mic
Alimentacin Phantom
Un total de 10 entradas y 14 salidas
E/S S/PDIF estreo a 24-bit 96kHz
10

Incluye CueMix FX cross-platform mixing software


Funciona en modo Stand-alone
Alimentada por bus FireWire

Microfonos de condensador Behringer MXL 992/993

Figura 3 Microfonos Behringer MXL 992/993

El MXL 992 micrfono ofrece el rango dinmico requerido para las aplicaciones de
grabacin ms exigentes. Tiene un lugar aireado, sonido abierto con bajo ruido esencial para la
grabacin digital precisa. 20Hz-20kHz rango de frecuencia. 10 dB de atenuacin conmutable.
Seleccionable de -10dB baja frecuencia roll-off. Caja grande en latn. Cableada personalizada
internamente con cable Mogami prima. MXL incluye un lujoso estuche de transporte y
amortiguadores de diseo personalizado con el micrfono.
El micrfono MXL 993 est diseado con un circuito FET sin transformador y una cpsula
de diafragma de oro para entregar el rango dinmico requerido en las aplicaciones de micrfono
instrumento ms exigentes. El MXL 993 micrfono tiene un sonido sedoso, abierto con un rango
de 20Hz-20kHz de frecuencia, 10 dB de atenuacin conmutable, seleccionable de -10dB baja
frecuencia roll-off, y gran recinto latn. Es perfecto para guitarra y microfona de batera por
encima. MXL te da un lujoso estuche y pinza de montaje con su micrfono.
Requiere alimentacin fantasma.

11

Caractersticas
MXL 992:
Cpsula de oro grande
Amplio rango de frecuencia de 20Hz-20kHz
10 dB de atenuacin conmutable
10dB de corte de baja frecuencia
Con cable de encargo con el cable Mogami
Incluye amortiguadores y estuche
2 libras.
Con conexin de cable con cable Mogami
MXL 993:
Circuitos FET
Oro diseo de cpsula de diafragma,
Reproduccin instrumento sedoso, abierta
Rango de frecuencia de 20Hz-20kHz
10 dB de atenuacin conmutable
Seleccionable de -10dB baja frecuencia roll-off
Caja grande en latn
Al hacer las conexiones correspondientes de los microfonos a la entrada de la tarjeta de sonido,
y esta misma al firewire de la computadora, para asi poder hacer la grabacion y pasar lo capturado
a la computadora, se utilizo el programa Sony vegas, para la captura y edicion del sonido.
Sony vegas Pro 13

Figura 4 Sony Vegas Pro 13


12

Descripcin
Vegas Pro proporciona un entorno de creacin de contenido eficiente, intuitivo e integrado
para profesionales de vdeo y televisin. Ahora con rendimiento acelerado de GPU con
dispositivos compatibles con OpenCL, Vegas Pro impulsa las tareas de procesamiento de vdeo y
renderizado con facilidad.
Con innovadoras herramientas 3D estereoscpicas, compatibilidad con formato amplio,
control de audio sin precedentes y efectos de transformacin y procesamiento impulsados por la
GPU, la coleccin de Vegas Pro optimiza el flujo de trabajo como nunca antes.
Con su enfoque nico, visual para la produccin de audio y vdeo digital, Vegas ofrece un poder
tremendo, una velocidad increble y una productividad mxima en una plataforma eficiente y sin
complicaciones.
Al hacer las conexiones correspondientes, el grabado de los sonidos que esperabamos fue
relativamente, sencillo, ya que solo era necesario tener un poco del conomiento del programa que
se estaba utilizando, para poder tener un mejor rendimiento de lo que tratabamos de obtener.

Figura 5 Equipo utilizado para la grabacion simultanea.

13

4. Resultados
4.1.

Codigo de MATLAB del programa 1

clear
close all
clc
[x,fs]=wavread('simultanea.wav');
N=length(x);
N=2^nextpow2(N);
% N=256; % Total Number of Samples
% fs=8000; % Sampling frequency set at 1000Hz
% f=1000;
n=0:N-1;
% Now generate the sinusoidal signal
% x=sin(2*pi*(f/fs)*n);
% Estimate its spectrum using fft command
X=fft(x);
magX=abs(X);
% Build up an appropriate frequency axis
fx=0:(N/2)-1; % first make a vector for
f=0,1,2,...(N/2)-1
fx=(fx*fs)/N; % Now scale it so that it represents frequencies in Hz
figure(1);
subplot(1,1,1);
plot(fx,20*log10(magX(1:N/2)));
grid;
title('Spectrum of LS');
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');

figure(2)
d100=fs/100;
nfft=2^nextpow2(d100)
spectrogram(x,nfft,128,nfft,fs,'yaxis');
title('Spectrum of LS');
xlabel('Time (s)');
ylabel('Frecuency (Hz)');

14

Figura 6. Espectro de la seal

Figura 7. Espectrograma
15

4.2

Codigo de MATLAB del programa 2

% Program Name: Tut16.m


[x,fs]=wavread('simultanea.wav');
N=length(x);
N=2^nextpow2(N);
% N=1024; % Total Number of Samples
% fs=1000; % Sampling frequency set at 1000Hz
% f1=120;
% f2=60;
n=0:N-1;
% x=sin(2*pi*(f1/fs)*n)+sin(2*pi*(f2/fs)*n);
[pxx,fx]= psd(x,2*N,fs);
plot(fx,20*log10(pxx));
title ('Magnitudgrid Spectrum of x(n)');
xlabel('Frequency, Hz');
ylabel('Magnitude, dB');
%sin(2*pi*(f2/fs)*n);
b=[1 -1.8596 1];
a=[1 -1.8537 0.9937];
k=0.9969;
b=k*b;
figure(1);
subplot(1,1,1);
subplot(1,3,1);
[pxx,fx]= psd(x,2*N,fs);
plot(fx,20*log10(pxx));
grid;
title('Magnitude Spectrum of x(n)');
xlabel('Frequency, Hz');
ylabel('Magnitude, dB');
[h,f]=freqz(b,a,1024,fs); % Determines the frequency response of the filter
with coefficients 'b' and 'a',using 1024 points around the unit circle with a
sampling frequency of fs. The function returns the values of the transfer
function h, for each frequency in f in Hz.
magH=abs(h); % Calculates the magnitude of the filter
phaseH=angle(h); % Calculates the phase angle of the filter
subplot(1,3,2); % Divides the figure into two rows and one column and makes
the first row the active one
plot( f, 20*log10(magH)); % plots the magnitude in dB against frequency
grid; % Add a grid
title('Magnitude Response of the Notch Filter');
xlabel('Frequency');
ylabel('Magnitude, dB');
y=filter(b,a,x);
[pyy,fy]= psd(y,2*N,fs); % determine the Spectrum using 'psd'
subplot(1,3,3); % Select the third column in the
figure(1);
plot(fy,20*log10(pyy)); % Plot the output spectrum in dB
grid; % Add a grid
title('Magnitude Spectrum of y(n)');
xlabel('Frequency, Hz');
ylabel('Magnitude, dB');

16

(a)

(b)

(c)

Figura 8 (a) Magnitud del espectro en x(n);(b) Magnitud de respuesta del filtro Notch; (c)
Magnitud del espectro y(n)

17

4.3

Codigo de MATLAB del programa 3

% Program Name: Tut17.m


close all
clear;
clc
[x,fs]=wavread('simultanea.wav');
N=length(x);
N=2^nextpow2(N);
% N=1024; % Total Number of Samples
% fs=8000;% Sampling frequency set at 1000Hz
% f1=500;
% f2=1000;
% f3=1500;
n=0:N-1;
% Generate the signal
% x=sin(2*pi*(f1/fs)*n)+sin(2*pi*(f2/fs)*n)+sin(2*pi*(f3/fs)*n);
pxx=spectrum(x,N); % Estimate the Spectrum
specplot(pxx,fs); % Plot the spectrum
grid;
title('Power Spectrum of x(n)');
xlabel('Frequency, Hz');
ylabel('Magnitude, dB');

Figura 9 Espectro de potencia


18

5. Conclusiones
En esta practica se pudo utilizar una grabacion simultanea donde se obtienen dos sonidos
provenientes del cuerpo, en este caso seria la respiracion y el latido del corazon, para el analisis
espectral de estos sonidos producidos por el cuerpo.
Como parte de la investigacion se puede ver en como se puede diferenciar del registro normal,
los registros patolgicos presentan seales temporales mucho ms ruidosas y una morfologa muy
desordenada.
De la representacin tiempo-frecuencia (espectrograma) podemos observar que el registro
normal presenta solo componentes de baja frecuencia. En los registros patolgicos, sin embargo,
y a diferencia de aquel, se puede ver la presencia de picos de alta frecuencia y mayor amplitud en
las bajas frecuencias.
MATLAB nos proporciona ciertas funciones que se pueden utilizar para el analisis de estas
frecuencias, forma de la que se han hecho estudios, y podido obtener aunque no 100 por ciento
efectivos, un rango de frecuencias de una persona sana, lo que nos puede ayudar a hacer el
diagnostico de un paciente, gracias al analisis de las frecuencias obtenidas de los sonidos del
cuerpo.

19

6. Referencias
[1]
[2]

G. F. Franklin, J. D. Powell, and M. L. Workman, Digital control of dynamic systems, 3rd ed. Menlo Park, Calif.:
Addison-Wesley, 1998.
W. Tomasi, Electronic communications systems : fundamentals through advanced, 5th ed. Upper Saddle River, N.J.:
Pearson/Prentice Hall, 2004.

20