Você está na página 1de 9

UNIVERSIDADNACIONALDECOLOMBIA

TEORADELAINFORMACINYSISTEMASDECOMUNICACIN

Estudiantes:
FranciscoAndrsArangurenTorres Cod.2879451
NestorDanielMoncadaMolina
Cod.2879418

Docente
OswaldoRojas

TareaN4

IngenieradeSistemasyComputacin


Objetivos

El objetivo de esta tarea es entender que es un espectrograma, su funcionamiento, y


utilizarlo para obtener, analizar e interpretar medidas de espectros de diferentes sonidos,
comomedidasdeevolucintiempofrecuencia.

Enunciadodelproblema

Estatareaestcompuestaporcuatroproblemasaresolver:

1. Dado un ciclo y una frecuencia, graficar, muestrear e interpolar la funcin seno y


coseno.
2. Graficar,muestreareinterpolarlasumadefuncionesperidicas.
3. Grabarygraficareneldominiodeltiempoydelafrecuencia.
4. Queesunespectrograma?
5. Quesignificaunespectrograma?
6. Comoseutilizaunespectrograma?

Solucindelproblema

1.
Para efectos prcticos se trabaj con lafuncincoseno,estodebidoaqueelteoremade
la interpolacin presenta problemas con una sucesin de puntos ubicados en y=0. La
frecuenciausadafuedeF=800Hz,porloquelatasadeNyquistdeberaserde:

N yquist = 2 * F = 2 * 800Hz = 1600Hz

Losresultadosdemuestreareinterpolarconunatasamenorfueron:

Grfica1.
Tiempovamplitud
.Coseno,sealconpuntosdemuestreo,
sealinterpoladacon800Hz.


Grfica2.
Frecuenciavpotencia
.Coseno,sealconpuntosdemuestreo,
sealinterpoladacon800Hz.

SisemuestreausandolatasadeNyquisttenemosque:

Grfica3.
Tiempovamplitud
.Coseno,sealconpuntosdemuestreo,
sealinterpoladacon1600Hz.

Grfica4.
Frecuenciavpotencia
.Cosenosealconpuntosdemuestreo,
sealinterpoladacon1600Hz.

Al comprar la
Grfica 1 y la
Grfica 3
es notoria la diferencia con respecto al resultado de
interpolar, siendo estaltimalaquemejoraproximaala original.Referentealasgrficasde
dominio de frecuencia (
Grfica 2
y Grfica 4
) el mejor resultado es dado por la seal
interpoladausandolatasadeNyquist.

2.
Seutilizlafuncindeonda:

2 * sen(80 * 2pi * t) + 3 * cos(20 * 2pi * t)

PorloquesetienequelatasadeNyquistes:

N yquist = 2 * F max = 2 * 80 = 160

AlmuestrearusandounafrecuenciamenoralatasadeNyquist,losresultadosfueron
:

Grfica5.
Tiempovamplitud
.Sealoriginal,sealconpuntosdemuestreo,
sealinterpoladacon80Hz.

Grfica6.
Frecuenciavpotencia
.Sealoriginal,sealconpuntosdemuestreo,
sealinterpoladacon80Hz.

Ahora,sisemuestreausandolafrecuenciadeNyquist,losresultadosson:

Grfica7.
Tiempovamplitud
.Sealoriginal,sealconpuntosdemuestreo,
sealinterpoladacon160Hz.


Grfica8.
Frecuenciavpotencia
.Sealoriginal,sealconpuntosdemuestreo,
sealinterpoladacon160Hz.

Como se puedenotarenla
Grfica7
,con respectoala
Grfica 5
,hayeldobledepuntosde
muestreo, por lo que la funcin interpolada se aproxima mejor a la original. Ahora bien, si
recurrimos a comparar las grficas de frecuencia (
Grfica 6 , Grfica 8
) tenemos que enla
primera solo se presenta la frecuencia de 20hz, mientras que en la segunda, aunque con
pocapotencia,sepresentaademslafrecuenciade80hz.

3.
Segrabaronlaspalabrasleftyrighta8000Hz.Losresultadosfueron:

Grfica9.
Left.
Sealdominiodeltiempo,sealdominodelasfrecuencias.

Grfica10.
Right
.Sealdominiodeltiempo,sealdominodelasfrecuencias.

Como se puede contemplar, cada palabra tieneunospicosdefrecuenciasdiferentes,porlo


quepuedeservircomopuntodecomparacin.

4.
El espectrograma (tambin llamado sonograma)consisteenlarepresentacingrficadel
espectro de frecuencias de la emisin sonora. El espectrograma puede revelar rasgos
como altas frecuencias o modulaciones de amplitud que no pueden apreciarse incluso
aunqueestndentrodeloslmitesdefrecuenciadelodohumano.

5. Es la representacin del tiempo sobre el eje horizontal, la frecuencia sobreelejevertical


y la amplitud de las seales mediante una escala de grises o de colores. Otra
representacin que suele utilizarse es la que sita la frecuencia en el eje horizontal y la
amplitud en el eje vertical. Este modelo no muestra informacin sobre eltiempo,porloque
lainterpretacinsolamenteresultatilparaanlisisdepuntosespecficosdelasecuencia.

6. Para utilizar el espectrograma se aplica una transformada de Fourier inicialmente a la


seal. Dependiendo del tamao de la ventana que utilizamos para el anlisis de Fourier
tendremos diferentes niveles de resolucin del espectrograma. Si se aplica una ventana
muy grande obtendremos un espectrograma muy detallado pero a costa de incrementar el
tiempo de clculo necesario para esta operacin. Para el caso de una ventana demasiado
pequea el efectoeselinverso ynoseremoscapacesdedistinguirlosdiferentesarmnicos
siestnmuyjuntosenelespectrograma.

Aplicndoloenlasgrabacionesdelpunto3,losresultadosson:

Grfica11.
EspectrogramaaudioLeft


Grfica12.
EspectrogramaaudioRigth

Conclusiones

1. Se puede evidenciarlautilidaddelespectrogramaparafacilitarelestudiodeseales
puestoquesepuedenobservarycompararlasfrecuenciasrespectoaltiempo.
2. El espectrograma permite apreciar mejor las relativamente amplias zonas de
frecuencias que tienen mayor energa adems de los armnicos en una seal
peridica.

Codigo:

Frecuency=max(F)
t=0:1/Fo:Ncy/Frecuency
x=A(1)*sin(content(1)*t)+A(2)*sin(content(2)*t)+A(3)*cos(content(3)*t)+A(4)*cos(content(4)*t)

tm=0:1/Fm:Ncy/Frecuency
xm=A(1)*sin(content(1)*tm)+A(2)*sin(content(2)*tm)+A(3)*cos(content(3)*tm)+A(4)*cos(content(4)*tm)

Amax=max(A)

xi=x
dt=tm(2)tm(1)
fori=1:length(t)
xi(i)=sum(xm.*sinc((1/dt)*(t(i)tm)))
end

figure,spectrogram(x,'yaxis')
figure,spectrogram(xm,'yaxis')
figure,spectrogram(xi,'yaxis')

transformada=fft(x)
twoSidedSpectrum=abs(transformada/length(t))
singleSidedSpectrum=twoSidedSpectrum(1:length(t)/2+1)
singleSidedSpectrum(2:end1)=2*singleSidedSpectrum(2:end1)
frequencyDomain=Fo*(0:(length(t)/2))/length(t)

transformadam=fft(xm)
twoSidedSpectrumm=abs(transformadam/length(tm))
singleSidedSpectrumm=twoSidedSpectrumm(1:length(tm)/2+1)
singleSidedSpectrumm(2:end1)=2*singleSidedSpectrumm(2:end1)
frequencyDomainm=Fo*(0:(length(tm)/2))/length(tm)

transformadai=fft(xi)
twoSidedSpectrumi=abs(transformadai/length(t))
singleSidedSpectrumi=twoSidedSpectrumi(1:length(t)/2+1)
singleSidedSpectrumi(2:end1)=2*singleSidedSpectrumi(2:end1)
frequencyDomaini=Fo*(0:(length(t)/2))/length(t)

axes(handles.axes_normal)
plot(t,x,'b')
gridon
axis([0,Ncy/Frecuency,2*Amax,2*Amax])
axes(handles.axes_muestreo)
plot(t,x,'b')
gridon
holdon
stem(tm,xm,'r')
axis([0,Ncy/Frecuency,2*Amax,2*Amax])
holdoff
axes(handles.axes_interpol)
plot(t,x,'b')
gridon
holdon

plot(t,xi,'r')
axis([0,Ncy/Frecuency,2*Amax,2*Amax])
holdoff
axes(handles.axes_t_normal)
plot(frequencyDomain,singleSidedSpectrum,'b')
axis([0,2*Frecuency,0,Amax*1.5])
gridon
axes(handles.axes_t_muestreo)
plot(frequencyDomainm,singleSidedSpectrumm,'b')
axis([0,2*Frecuency,0,Amax*1.5])
gridon
axes(handles.axes_t_interpol)
plot(frequencyDomaini,singleSidedSpectrumi,'b')
axis([0,2*Frecuency,0,Amax*1.5])
gridon

f=str2num(get(handles.edit_Frecuencia,'string'))
time=str2num(get(handles.edit_duracion,'string'))
recObj=audiorecorder(f,8,1)
recordblocking(recObj,time)
x=getaudiodata(recObj)
sound(x)

t=0:3/length(x):33/length(x)
transformada=fft(x)
twoSidedSpectrum=abs(transformada/length(t))
singleSidedSpectrum=twoSidedSpectrum(1:length(t)/2+1)
singleSidedSpectrum(2:end1)=2*singleSidedSpectrum(2:end1)
frequencyDomain=f*(0:(length(t)/2))/length(t)

figure,spectrogram(x,'yaxis')

axes(handles.axes2)
plot(t,x)
axes(handles.axes1)
plot(frequencyDomain,singleSidedSpectrum)

Você também pode gostar