UNIVERSIDAD DE LOS LLANOS INFORME
Facultad de Ciencias básicas e ingenierías DE LABORATORIO
Departamento de Matemáticas y Física ANALISIS DE SEÑALES
TRANFORMADA DE FOURIER Y EL SONIDO
Juan Pablo Arboleda 1, Karen Rodriguez2, Diego Guarin3
1. Código: 161004202 Ingeniería Electrónica
2. Código: 161004235 Ingeniería Electrónica
3. Código: 161004252 Ingeniería Electrónica
Facultad de Ciencias Básicas e Ingenierías.
Programa de ingeniería electrónica.
Resumen
El objetivo de este informe, es explicar cómo la transformada de Fourier es tan aplicable en temas como
lo son el sonido. Se analiza su representación matemática la cual se divide en tiempo continuo y
discreto. Además se comprendieron sus componentes y su digitalización encontrando con ello, la
transformada de Fourier en audios, los cuales comprendieron un tiempo estimado de 3 segundos y que
fueron analizados punto a punto. Este proceso se realizó 10 veces y así mismo una división de
frecuencias, las cuales comprenden en la cantidad de múltiplos de potencias de 2. Concluyendo y
demostrando la transformada, la energía y demás características, que esta transformada pueda tener.
Conceptos clave: Transformada de Fourier, digitalización, ondas, frecuencias, señales, espectro.
1. Introducción Una onda es un fenómeno ondulatorio y físico,
mediante el cual se produce una propagación de
El sonido, es todo aquel fenómeno que
energía sin materia desde un punto a otro del
involucra la propagación de ondas elásticas,
espacio a través de un medio, ya sea sólido,
generalmente a través de un fluido u otro medio
líquido o gaseoso. Para que esta se produzca, es
elástico que está generando el movimiento
vital que ocurra una perturbación del sistema, es
vibratorio de un cuerpo. El sonido consiste en
decir, una variación en alguna propiedad física
ondas sonoras producidas cuando las
como la temperatura, densidad o la presión.
variaciones en la presión del aire son
convertidas en ondas mecánicas en el oído
humano y posteriormente percibidas por el 1.2 Características del sonido
cerebro. Es posible representar a las ondas sonoras
mediante la Transformada de Fourier como una
1.1 Las ondas sumatoria de curvas sinusoidales caracterizadas
por las mismas magnitudes y unidades de
medida que a cualquier onda de frecuencia bien transformada de Fourier. Dada una señal x(t),
definida: La amplitud (A), la Longitud de onda que representa una amplitud en función del
(λ), la frecuencia (F), y el período (T). tiempo, esta puede ser descompuesta como
sumatoria, mediante la serie de Fourier.
𝑎0 ∞
•La amplitud, matemáticamente, representa la
distancia entre el punto más alto de la onda
𝑥(𝑡) = 2
+ ∑ 𝑎𝑛 cos 𝑐𝑜𝑠
𝑛=0
( 2𝑛π𝑡
𝑇 )+ 𝑏 ( 𝑛
2𝑛π𝑡
𝑇 ) (1)
(conocido como cresta) y el eje horizontal de la Donde 𝑎𝑛 y 𝑏𝑛 son los coeficientes de Fourier.
misma. Está fuertemente relacionada con la
intensidad, una mayor amplitud representa más Luego se puede representar la amplitud como la
cantidad de decibeles, es decir, un sonido más transformada de la amplitud:
fuerte.
•La longitud de onda representa la distancia La transformada de Fourier es un método que
recorrida por la onda en un intervalo de tiempo permite convertir cualquier función matemática
transcurrido entre dos puntos máximos a otro dominio, denominado el dominio de la
consecutivos de la misma. frecuencia. Esto facilita al tratar y analizar las
•La frecuencia corresponde al número de funciones de una forma alterna. Las ecuaciones
oscilaciones efectuadas por una onda en un o fórmulas para calcular la transformada de
determinado tiempo. Fourier son las siguientes:
•El número de ciclos por segundo (Hz), es la En tiempo continuo se comporta de la siguiente
unidad con la cual se mide. El oído humano, en manera:
buenas condiciones, es sensible a las frecuencias ∞
−2π𝑖𝑤𝑡
comprendidas entre los 20 Hz y los 20 kHz. 𝑋(𝑤) = ∫ 𝑥(𝑡)𝑒 𝑑𝑡 (2)
−∞
Desde el punto de vista musical, está
relacionada con la altura o tono de la nota. Donde 𝑋(𝑤) es la señal, 𝑖 el término imaginario,
Mientras más grande sea, más alto es el tono, y 𝑥 la variable y 𝑤 la frecuencia a analizar.
por lo tanto más agudo el sonido. Mientras
Además de ello, dicha transformada también
menos, ocurre lo contrario, un tono bajo y un
permite sintetizar funciones mediante la inversa,
sonido grave.
siendo esta, la siguiente ecuación:
Y por último, el período constituye el tiempo +∞
2π𝑖𝑤𝑡
necesario para que una onda complete una 𝑋(𝑡) = ∫ 𝑋(𝑤)𝑒 𝑑𝑤 (3)
oscilación. −∞
1.3 Análisis espectral En tiempo discreto se comporta de la siguiente
manera:
El análisis espectral es el proceso que cuantifica
las diversas intensidades de cada frecuencia. Esta transformada está dada por lo siguiente:
Esto lo relaciona matemáticamente con la
𝑁−1 2π𝑖𝑘𝑛
𝑁
cuales iban a ser discretizados de tal manera que
𝑋(𝑘) = ∑ 𝑥(𝑛)𝑒 𝑘 = 0, 1, 2……𝑁 − 1 estos iban a ser analizados por medio de la
𝑛=0
transformada de Fourier.
𝑁−1 2π𝑖𝑘𝑛
1
𝑋𝑛 = 𝑁
∑ 𝑋𝑘𝑒 𝑁
𝑛 = 0, 1, 2……𝑁 − 1 Además de ello, se realizó de manera
𝑛=0 computarizada el valor de la energía en estos
𝑋(𝑘) = 𝑎(𝑘) − 𝑖𝑏(𝑘) audios. Se realizaron 10 grabaciones con la
palabra “adelante”, con voz masculina, la cual
𝑁−1
nos permitió detallar a fondo estas constantes y
𝑎(𝑘) = ∑ 𝑥(𝑛) cos 𝑐𝑜𝑠
𝑘=0
( 2π𝑘𝑛
𝑁 ) análisis programable.
𝑁−1
𝑏(𝑘) = ∑ 𝑥(𝑛) ( 2π𝑘𝑛
𝑁 )
𝑘=0 4. Resultados y análisis
Entonces, el sonido el cual necesita ser
digitalizado y de esta forma poder almacenarlo Grabación de voz:
en una base de datos. Como se pudo observar en
clc,clear all,close all
el laboratorio, la transformada de Fourier, es
muy importante en la digitalización, ya que una
señal digital si o si, consta de una secuencia de t = 2; %tiempo de grabación
valores enteros los cuales, son obtenidos
mediante técnicas de muestreo y de un proceso Fs = 44100; %frecuencia de muestreo
de cuantificación. Este muestreo debe de constar
de varias tomas de muestras.
v1 = audiorecorder(Fs,16,1); %configuración del
canal
2. Objetivos disp ('INICIO DE LA GRABACION 1')
•Analizar los fundamentos matemáticos de la recordblocking(v1,t); %ajuste de grabación sobre el
transformada de Fourier. objeto
•Analizar los algoritmos de la transformada disp('FIN DE LA GRABACION 1')
rápida de Fourier. audiograbado1= getaudiodata(v1,'single'); %vector
•Emplear los fundamentos y algoritmos de la de audio capturado
transformada rápida de fourier para poder hacer sound(audiograbado1, Fs);
un tratamiento de señales con el fin de analizar
figure(1);
su energía.
plot(audiograbado1,'r');
title('SENAL EN TIEMPO CONTINUO DE
3. Sección experimental GRABACIÓN 1');
En esta sección, se realizó el programa voz1=audiograbado1;
digitalizado necesario, para grabar audios los
title('SENAL EN TIEMPO CONTINUO DE LA
GRABACIÓN 3');
%% Generar una pausa de 3 segundos
voz3=audiograbado3;
pause(3);
pause(3);
v2 = audiorecorder(Fs,16,1);
disp ('INICIO DE LA GRABACION 2')
v4 = audiorecorder(Fs,16,1);
recordblocking(v2,t); %ajuste de grabacion sobre el
objeto disp ('INICIO DE LA GRABACIÓN 4')
disp('FIN DE LA GRABACION 2') recordblocking(v4,t); %ajuste de grabacion sobre el
objeto
audiograbado2= getaudiodata(v2,'single'); %vector
de audio capturado disp('FIN DE LA GRABACION 4')
sound(audiograbado2, Fs); audiograbado4= getaudiodata(v4,'single'); %vector
de audio capturado
figure(2);
sound(audiograbado4, Fs);
plot(audiograbado2,'g');
figure(4)
title('SENAL EN TIEMPO CONTINUO DE LA
GRABACIÓN 2'); plot(audiograbado4,'b');
voz2=audiograbado2; title('SENAL EN TIEMPO CONTINUO DE LA
GRABACIÓN 4');
voz4=audiograbado4;
pause(3);
pause(3);
v3 = audiorecorder(Fs,16,1);
disp ('INICIO DE LA GRABACION 3')
v5 = audiorecorder(Fs,16,1);
recordblocking(v3,t); %ajuste de grabacion sobre el
objeto disp ('INICIO DE LA GRABACION 5')
disp('FIN DE LA GRABACION 3') recordblocking(v5,t); %ajuste de grabacion sobre el
objeto
audiograbado3= getaudiodata(v3,'single'); %vector
de audio capturado disp('FIN DE LA GRABACION 5')
sound(audiograbado3, Fs); audiograbado5= getaudiodata(v5,'single'); %vector
de audio capturado
figure(3)
sound(audiograbado5, Fs);
plot(audiograbado3,'b');
figure(5)
plot(audiograbado5,'b'); figure(7)
title('SENAL EN TIEMPO CONTINUO DE LA plot(audiograbado7,'b');
GRABACIÓN 5');
title('SENAL EN TIEMPO CONTINUO DE LA
voz5=audiograbado5; GRABACIÓN 7');
voz7=audiograbado7;
pause(3);
pause(3);
v6 = audiorecorder(Fs,16,1);
disp ('INICIO DE LA GRABACION 6') v8 = audiorecorder(Fs,16,1);
recordblocking(v6,t); %ajuste de grabacion sobre el disp ('INICIO DE LA GRABACION 8')
objeto
recordblocking(v8,t); %ajuste de grabacion sobre el
disp('FIN DE LA GRABACION 6') objeto
audiograbado6= getaudiodata(v6,'single'); %vector disp('FIN DE LA GRABACION 8')
de audio capturado
audiograbado8= getaudiodata(v8,'single'); %vector
sound(audiograbado6, Fs); de audio capturado
figure(6) sound(audiograbado8, Fs);
plot(audiograbado6,'b'); figure(8)
title('SENAL EN TIEMPO CONTINUO DE LA plot(audiograbado8,'b');
GRABACIÓN 6');
title('SENAL EN TIEMPO CONTINUO DE LA
voz6=audiograbado6; GRABACIÓN 8');
voz8=audiograbado8;
pause(3);
v7 = audiorecorder(Fs,16,1); pause(3);
disp ('INICIO DE LA GRABACION 7')
recordblocking(v7,t); %ajuste de grabacion sobre el v9 = audiorecorder(Fs,16,1);
objeto
disp ('INICIO DE LA GRABACION 9')
disp('FIN DE LA GRABACION 7')
recordblocking(v9,t); %ajuste de grabacion sobre el
audiograbado7= getaudiodata(v7,'single'); %vector objeto
de audio capturado
disp('FIN DE LA GRABACION 9')
sound(audiograbado7, Fs);
audiograbado9= getaudiodata(v9,'single'); %vector audiowrite('[Link]',audiograbado3,Fs);
de audio capturado
audiowrite('[Link]',audiograbado4,Fs);
sound(audiograbado9, Fs);
audiowrite('[Link]',audiograbado5,Fs);
figure(9)
audiowrite('[Link]',audiograbado6,Fs);
plot(audiograbado9,'b');
audiowrite('[Link]',audiograbado7,Fs);
title('SENAL EN TIEMPO CONTINUO DE LA
audiowrite('[Link]',audiograbado8,Fs);
GRABACIÓN 9');
audiowrite('[Link]',audiograbado9,Fs);
voz9=audiograbado9;
audiowrite('[Link]',audiograbado10,Fs);
pause(3); Transformada rápida de Fourier y energía de
la señal:
clc; clear; close all;
v10 = audiorecorder(Fs,16,1);
F=0;
disp ('INICIO DE LA GRABACION 10')
FR=0;
recordblocking(v10,t); %ajuste de grabacion sobre
el objeto %---------------Ingreso de valores-----------------
disp('FIN DE LA GRABACION 10') for a=1:10
audiograbado10= getaudiodata(v10,'single'); if a==1
%vector de audio capturado xn=audioread('[Link]'); %Se define la señal
sound(audiograbado10, Fs); xn
figure(10) elseif a==2
plot(audiograbado10,'b'); xn=audioread('[Link]');
title('SENAL EN TIEMPO CONTINUO DE LA elseif a==3
GRABACIÓN 10'); xn=audioread('[Link]');
voz10=audiograbado10; elseif a==4
xn=audioread('[Link]');
elseif a==5
% GUARDAR LAS VOCES GRABADAS EN UN xn=audioread('[Link]');
ARCHIVO .WAV
elseif a==6
audiowrite('[Link]',audiograbado1,Fs);
xn=audioread('[Link]');
audiowrite('[Link]',audiograbado2,Fs);
elseif a==7 if a==1
xn=audioread('[Link]'); Mk1=M;
elseif a==8 Mk=Mk1;
xn=audioread('[Link]'); elseif a==2
elseif a==9 Mk2=M;
xn=audioread('[Link]'); Mk=Mk2;
elseif a==10 elseif a==3
xn=audioread('[Link]'); Mk3=M;
end Mk=Mk3;
elseif a==4
Mk4=M;
Mk=Mk4;
%Ajuste del tamaño del vector de una potencia de elseif a==5
base 2
Mk5=M;
nx=log2(length(xn));
Mk=Mk5;
ny = round(nx,0);
elseif a==6
if(ny-nx <0)
Mk6=M;
ny=ny+1;
Mk=Mk6;
end
elseif a==7
zx= pow2(ny);
Mk7=M;
Mk=Mk7;
nz = zeros(1,zx-length(xn)); %vector
elseif a==8
Mk8=M;
C = [xn' nz]; %Vector tamaño potencia de 2
Mk=Mk8;
elseif a==9
%Transformada Rápida de Fourier
Mk9=M;
M = myFFT(C);
Mk=Mk9;
%X = fft(C);
elseif a==10
Mk10=M; figure(1)
Mk=Mk10; plot(Y) %Grafica de su transformada rápida
end title('Adelante 1')
T=0; Coman_A= [Ener1 Ener2];
Q=0;
Ener_1 = M(1:1:end/2); elseif a==2
Ener_2 = M(end/2+1:1:end); figure(2)
plot(Y)
for k=1:zx/2 title('Adelante 2')
T= (abs(Ener_1(k)))^2+T;
end Coman_B= [Ener1 Ener2];
for k=1:zx/2 elseif a==3
Q= (abs(Ener_2(k)))^2+Q; figure(3)
end plot(Y)
Ener1= T/(2*zx/2); title('Adelante 3')
Ener2= Q/(2*zx/2);
Coman_C= [Ener1 Ener2];
F=F+Ener1;
FR=FR+Ener2; elseif a==4
figure(4)
plot(Y)
%-------------Grafica de datos----------- title('Adelante 4')
Y=abs(Mk);
Coman_D= [Ener1 Ener2];
if a==1
elseif a==5 elseif a==9
figure(5) figure(9)
plot(Y) plot(Y)
title('Adelante 5') title('Adelante 9')
Coman_E= [Ener1 Ener2]; Coman_I= [Ener1 Ener2];
elseif a==6 elseif a==10
figure(6) figure(10)
plot(Y) plot(Y)
title('Adelante 6') title('Adelante 10')
Coman_F= [Ener1 Ener2]; Coman_J= [Ener1 Ener2];
elseif a==7 end
figure(7)
plot(Y) Y=abs (Mk/numel(xn)); %Promedio de la
Transformada rápida de fourier con "n" datos
title('Adelante 7')
adquiridos
Y=abs (Y(1:round(numel(Y)/2))); %Redondeo del
Coman_G= [Ener1 Ener2]; valor de los datos para un mejor resultado
elseif a==8 end
figure(8)
plot(Y) EnerProm_= [F/10 FR/10]
title('Adelante 8')
Coman_H= [Ener1 Ener2];
Gráfica 1. Transformada rápida de Fourier del Gráfica 3. Transformada rápida de Fourier del
audio 1. audio 3.
Gráfica 2. Transformada rápida de Fourier del Gráfica 4. Transformada rápida de Fourier del
audio 2. audio 4.
Gráfica 5. Transformada rápida de Fourier del Gráfica 7. Transformada rápida de Fourier del
audio 5. audio 7.
Gráfica 6. Transformada rápida de Fourier del Gráfica 8. Transformada rápida de Fourier del
audio 6. audio 8.
•Se observa que en cosas tan simples como lo es
el sonido, las matemáticas especialmente la
transformada de Fourier se encuentran
presentes.
•Se observó la energía promedio de las señales
de audio captadas por el computador.
•Se observó la diferencia en los espectros entre
una palabra y otra.
Gráfica 9. Transformada rápida de Fourier del
audio 9. 6. Referencias
Oppenheim, Alan V. Willsky, Alan S. Nawab
Hamid. Señales y Sistemas. Segunda Edición.
Prentice Hall-Pearson.
Boylestad, Robert L. (1980). Análisis
Introductorio de Circuitos. Edit. Trillas, S.A.
Lindner,Douglas K. Introducción a Señales y
Sistemas. [Link]
P. Malvino Principios de electrónica, 6ta ed.
Madrid, España: McGraw Hill, 2000.
Gráfica 10. Transformada rápida de Fourier del
audio 10.
Valores de la energía promedio de los 10 audios.
5. Conclusiones