Vous êtes sur la page 1sur 7

PROCESAMIENTO

DIGITAL DE SEALES DSP


UNIVERSIDAD SURCOLOMBIANA
FACULTAD DE INGENIERIA
PROGRAMA DE ELECTRONICA
INFORME N4
APLICACIONES DE FOURIER
MARIO ANDRES CASTAEDA MEDINA
20112104052
OSCAR ALEJANDRO ARDILA
2009287270
JULIANA ANDREA MENDEZ MARULANDA 20121108683

RESUMEN En esta prctica se implementaran


unos algoritmos para obtener la respuesta en
frecuencia, la modulacin en amplitud y
frecuencia y un anlisis espectral; esto siendo
aplicada a una funcin predeterminada y la
cual ser procesada con la Transformada
Rpida de Fourier (FFT), esto ser llevado a
cabo mediante el software MATLAB.
Palabras claves: transformada rpida de
Fourier (FFT), transformada Hilbert.
OBJETIVOS

Implementar la transformada rpida de


Fourier (FFT) para obtener informacin
caracterstica de la seal que se quiere
procesar mediante MATLAB, aplicando
modulacin en amplitud y frecuencia y as
obteniendo las respectivas graficas de los
diferentes anlisis, como magnitud y
espectro y finalmente realizar un anlisis
espectral mediante un periodograma.
Corroborar las diferentes aplicaciones y
funciones de la transformada de Fourier por
medio de Software Matlab.

considerados
difciles.

hoy

como

problemas

muy

MARCO TEORICO
FFT es la abreviatura usual (del ingls Fast
Fourier Transform) de un eficiente algoritmo
que permite calcular la transformada de Fourier
discreta (DFT) y su inversa. La FFT es de gran
importancia en una amplia variedad de
aplicaciones, desde el tratamiento digital de
seales y filtrado digital en general a la
resolucin de ecuaciones en derivadas parciales
o los algoritmos de multiplicacin rpida de
grandes enteros. El algoritmo pone algunas
limitaciones en la seal y en el espectro
resultante. Por ejemplo: la seal de la que se
tomaron muestras y que se va a transformar
debe consistir de un nmero de muestras igual a
una potencia de dos. La mayora de los
analizadores TRF permiten la transformacin de
512, 1024, 2048 o 4096 muestras. El rango de
frecuencias cubierto por el anlisis TRF
depende de la cantidad de muestras recogidas y
de la proporcin de muestreo.

INTRODUCCIN
Muchas ecuaciones de las ciencias se formulan
con derivadas parciales y se resuelven, en
ocasiones, descomponiendo la incgnita en
series (sumas infinitas). Las series ms
interesantes son las de potencias y por supuesto
las de Fourier. Dado el carcter peridico de
tales sumas, las series de Fourier se aplican, por
ejemplo, donde surgen procesos oscilantes,
como ocurre en las series temporales de
naturaleza econmica, en electrnica (se aplican
por ejemplo en teora de seales), en acstica o
en ptica. Los problemas tericos relacionados
con la convergencia de las series de Fourier han
impulsado avances fundamentales en distintos
mbitos de las matemticas y siguen siendo

Uno de los algoritmos aritmticos ms


ampliamente utilizados es la transformada
rpida de Fourier, un medio eficaz de ejecutar
un clculo matemtico bsico y de frecuente
empleo. La transformada rpida de Fourier es de
importancia fundamental en el anlisis
matemtico y ha sido objeto de numerosos
estudios. La aparicin de un algoritmo eficaz
para esta operacin fue una piedra angular en la
historia de la informtica.
Las aplicaciones de la transformada rpida de
Fourier son mltiples. Es la base de muchas
operaciones fundamentales del procesamiento
de seales, donde tiene amplia utilizacin.
Adems, proporciona un medio oportuno para

P g i n a 1 | 7

PROCESAMIENTO DIGITAL DE SEALES DSP


mejorar el rendimiento de los algoritmos para
un conjunto de problemas aritmticos comunes.

b) Aplicar la Transformada Rpida de Fourier


a la seal y graficar el espectro de
magnitud.

DESARROLLO PRCTICO
RESPUESTA EN FRECUENCIA USANDO
(FFT)
Obtener la Transformada Rpida de Fourier
- FFT de una seal senoidal de 20 Hz sumada
a una seal tipo chirp con un desplazamiento
desde 5 hasta 40 Hz en un tiempo D.
a)

Para un intervalo de D= 1 seg y N=128


muestras, generar una seal senoidal de 20
Hz sumada a una seal chirp con un
desplazamiento desde 5 hasta 40 Hz en el
intervalo D.

D=1; %Intervalo
N=128;%Nmero de muestras
ts=D/N;
d=ts/2;
t=0:ts:D-d;%Rango tiempo de
muestreo
x=sin(2*pi*20*t)+chirp(t,5,D,40)
;%Seal tipo chirp con
desplazamiento entre 5 a 40Hz
% Grfica de la seal generada
figure;
plot(t,x,'-g')
xlabel('Tiempo(s)'); %Etiqueta
eje x
ylabel('x(t)');%Etiqueta eje y
title('x(t)=sin(2*pi*20*t)+chirp
(5-40)');%Ttulo de la imagen
grid on

X=fft(x);
%Reordenar X
M=N/2;
Xaux=X;
X(M+1:N)=Xaux(1:M);
X(1:M)=Xaux(M+1:N);
Xm=abs(X)/N;
Xf=unwrap(angle(X))*180/pi;
%Reordenar los ndices k
faux(M+1:N)=0:M-1;
faux(1:M)=-M:-1;
f=faux/D;
% Graficar fft de xn
figure;
stem(f,Xm,'r')
xlabel('Frecuencia
(Hz)');ylabel('|X(k)|');
title('Espectro de Magnitud
|X(k)|');
grid on
Funcin del cdigo: Es calcular la transformada
rpida de Fourier de la seal obtenida en el
punto anterior, y adems se grafica el espectro
de la magnitud. Para lograr exitosamente esto
debemos corregir las fases de los ngulos y as
al momento de mostrar la secuencia de datos
discretos obtener mejores resultados.

Funcin del cdigo: Es crear una funcin


senoidal con los requerimientos solicitados
graficar una seal de barrido de frecuencia.

c)

Graficar el espectro de fase.


% Grfica de la fase
figure;
stem(f,Xf,'g')
xlabel('Frecuencia
(Hz)');ylabel('Fase ()');
title('Fase de Coeficientes
Espectrales X(k)');
grid on

P g i n a 2 | 7

PROCESAMIENTO DIGITAL DE SEALES DSP


Funcon del cdigo: Es obtener la grfica del
espectro de fase a partir de la transformada
rpida de Fourier para as visualizar los
coeficientes espectrales de la seal en trminos
de frecuencia.

la transformada rpida de Fourier y con los


coeficientes X(k) y apoyndose de un ciclo
iterativo for.

MODULACIN EN AMPLITUD

d) Reconstruir la seal a partir de los X(k).


Utilizar el mayor nmero de puntos, por
ejemplo, fs=500.


figure
fs=500;
ts=1/fs;
d=ts/2;
t=0:ts:D-d;
Ns=length(t);
% x: Seal original
x=sin(2*pi*20*t)+chirp(t,5,D,40)
;
% xr: Seal a reconstruir
xr=zeros(1,Ns);
for i=1:Ns
for k=1:N
xr(i)=xr(i)+X(k)*exp(j*2*pi*f(k)
*ts*(i-1))/N;
end
end
subplot(211)
plot(t,x,'g-');
title('Seal original x(t)');
xlabel('Tiempo
(t)');ylabel('x(t)');
grid on
subplot(212)
plot(t,xr,'r--');zoom;
title('Seal reconstruida usando
X(k)');
xlabel('Tiempo
(t)');ylabel('x(t)');
grid on

Obtener la FFT de una seal exponencial


modulada en amplitud con una frecuencia
portadora de 200 Hz. N es el nmero de puntos
de muestreo durante D segundos de la seal. Se
requiere una frecuencia de muestreo de por lo
menos 400 Hz, N/D>400
a)

Generar la seal y graficarla.

clear all; close all


N=128; D=0.2;
ts=D/N;
d=ts/2;
t=0:ts:D-d;
x=exp(-2*t).*sin(2*pi*200*t);
%Grfica de la seal modulada
figure;
plot(t,x,'-g');zoom;
title('x(t)=exp(2t)sin(2pi200t)');
xlabel('Tiempo
(t)');ylabel('x(t)');
grid on

Es obtener la
transformada rpida de Fourier a partir de
una seal exponencial modulada en
amplitud, con una frecuencia dada y una
frecuencia de muestreo de 640Hz.
Funcin

del

cdigo:

Funcin del cdigo: Es volver a la seal original


a partir de 500 puntos frecuenciales, ya teniendo

P g i n a 3 | 7

PROCESAMIENTO DIGITAL DE SEALES DSP

b) Aplique la Transformada de Fourier a la


seal y obtenga los espectros de magnitud y
fase
X=fft(x);
%Reordenar X
M=N/2;
Xaux=X;
X(M+1:N)=Xaux(1:M);X(1:M)=Xaux(M
+1:N);
%Espectros
Xm=abs(X)*ts;
Xf=unwrap(angle(X))*180/pi;
%Reordenar los ndices k
faux(M+1:N)=0:M-1;faux(1:M)=-M:1;
f=faux/D;
%Grfica de los espectros
figure;
subplot(211)
plot(f,Xm,'-r')
title('Coeficientes espectrales
de x(t)');
xlabel('Frecuencia
(Hz)');ylabel('|X(k)|');
grid on
subplot(212)
stem(f,Xf,'-b');zoom;
title('Fase de los coeficientes
espectrales X[k]');
xlabel('Frecuencia
(Hz)');ylabel('Fase X[k]');
grid on

Funcin del cdigo: Es obtener el espectro


de magnitud y fase a partir de la
transformada rpida de Fourier, cabe
recalcar que nuevamente es muy importante
corregir las fases de los ngulos para
obtener mejores resultados.

MODULACIN EN FRECUENCIA
a)

Generar una seal modulada en frecuencia


de duracin de 0.5 sg con 256 muestras.


clear all; close all
D=0.5;N=256;
ts=D/N;
d=ts/2;
t=0:ts:D-d;
x=sin(2*pi*200*t+5*sin(2*pi*2*t)
);
figure;
plot(t,x,'-g');zoom;
title('x(t)=sin(2pi200t+10si
n(2pi2t)');
xlabel('Tiempo
(t)');ylabel('x(t)');
grid on

Funcin del cdigo: Es generar una seal


modulada en frecuencia, con caractersticas
de una duracin de 0.5 segundos y con 256
muestras.

b) Aplique la Transformada de Fourier a la


seal y grafique sus espectros.
X=fft(x);
%Reordenar X
M=N/2;

P g i n a 4 | 7

PROCESAMIENTO DIGITAL DE SEALES DSP


Xaux=X;X(M+1:N)=Xaux(1:M);
X(1:M)=Xaux(M+1:N);
%Espectros
Xm=abs(X)*ts;
Xf=unwrap(angle(X))*180/pi;
%Reordenar los ndices k
faux(M+1:N)=0:M-1;faux(1:M)=-M:1;
f=faux/D;
%Grfica de los espectros
figure;
subplot(211)
stem(f,Xm,'-r');zoom;
title('Coeficientes espectrales
de x(t)');
xlabel('Frecuencia
(Hz)');ylabel('|X[k]|');
grid on
subplot(212)
stem(f,Xf,'-b');zoom;
title('Fase de los coeficientes
espectrales X[k]');
xlabel('Frecuencia
(Hz)');ylabel('Fase X[k]');
grid on

clear all;
close all
fs=1000;
t=0:1/fs:0.3;
x=cos(2*pi*t*200)+randn(size(t))
; %Aade ruido aleatorio
Hs=spectrum.periodogram('Hamming
');
psd(Hs,x,'Fs',fs)
% Potencia promedio
Hdsp=psd(Hs,x,'Fs',fs);
Pow = avgpower(Hdsp)
% Pow = 1.6727

Funcin del cdigo: Es generar una seal


con frecuencia de 200Hz, a la misma se le
aade ruido aleatorio y luego se determina
la densidad de potencia espectral, para esto
se utiliza la transformada rpida de Fourier,
luego se genera un periodograma y all
observar el anlisis espectral de la seal.

Funcin del cdigo: Nuevamente se aplica


la transformada rpida de Fourier y a partir
de ella se obtienen los espectros de
magnitud y fase de la seal modulada en
frecuencia.

TRANSFORMADA COSENO DISCRETO


(DCT)

ANLISIS ESPECTRAL
El anlisis espectral describe la distribucin en
funcin de la frecuencia de la potencia
contenida en una seal, basado en un conjunto
finito de datos. En trminos generales, la
manera de estimar la PSD (densidad de potencia
espectral) de un proceso es encontrar la
Transformada de Fourier discreta DFT (usando
la FFT) y tomar la magnitud al cuadrado del
resultado. Esta estimacin es llamada
Periodograma.

Generar una secuencia senoidal de 25 Hz con


frecuencia de muestreo de 1000 Hz, calcular la
DCT y reconstruir la seal usando solamente los
componentes con valor mayor a 0.9 (17
coeficientes de los 1000 originales)
t = (0:1/999:1); % 1000 puntos
x = sin(2*pi*25*t);
y = dct(x); % calcula la dct
y2 = find(abs(y) < 0.9);
y(y2) = zeros(size(y2));
%size(y2)=983, solo se usarn 17
componentes
z = idct(y); % reconstruir seal

P g i n a 5 | 7

PROCESAMIENTO DIGITAL DE SEALES DSP


subplot(211); plot(t,x);
title('Original Signal')
grid on
subplot(212); plot(t,z), axis([0
1 -1 1])
title('Seal reconstruida')
grid on

Funcin del cdigo: Es generar una


transformada de coseno discreto, esto se
logra basndose en la transformada de
Fourier discreta pero utilizando solamente
nmeros reales. Primero se calcula la
transformada de coseno discreto y luego se
reconstruye la seal con 17 coeficientes
solamente.

plot(t(1:50),imag(y(1:50)),'r')
hold off
ylim([-1 1])
legend('Real','Imag')
grid on

Funcin del cdigo: Es calcular la


transformada de Hilbert, a partir de la
transformada rpida de fourier, se tiene en
cuenta que la parte imaginaria es la que se
toma debido a que sta es la
correspondiente con la tranformada. Cabe
recalcar que gracias a sta transformada,
podemos calcular el contenido en
frecuencia de una seal de energa o de
potencia.

ANALISIS DE RESULTADOS
TRANSFORMADA DE HILBERT
Calcula la transformada de una secuencia de
entrada real x(n) y retorna un resultado
complejo de igual longitud.
Para aproximarse a la seal analtica, Hilbert
calcula la FFT de la secuencia de entrada,
remplaza los coeficientes que corresponden a
las frecuencias negativas con ceros y calcula la
IFFT del resultado. La parte real es el dato real
y la parte imaginaria es la transformada. La
transformada o parte imaginaria tiene un desfase
de 90.
t = 0:1/1023:1;
x = sin(2*pi*60*t);
subplot(211)
plot(t,x)
title('Seal original')
grid on
y = hilbert(x);
subplot(212)
plot(t(1:50),real(y(1:50)))
hold on
grid on

Mediante la aplicacin de las series de Fourier y


an ms aplicando su transformada rpida
podemos ver y analizar los diferentes
comportamientos de las seales y cmo
podemos obtener informacin detallada de estas
y gracias a esto y al procesamiento de seales
digitales tenemos hoy en da un sin nmero de
aplicaciones
que
nos
proporcionan
conocimiento y comodidad . Las series de
Fourier constituyen la herramienta matemtica
bsica del anlisis de Fourier empleado para
analizar funciones peridicas a travs de la
descomposicin de dicha funcin en una suma
infinita de funciones sinusoidales mucho ms
simples. Usada en muchas ramas de la
ingeniera, adems de ser una herramienta
sumamente til en la teora matemtica
abstracta. reas de aplicacin incluyen anlisis
vibratorio, acstica, ptica, procesamiento de
imgenes y seales, y compresin de datos. En
ingeniera, para el caso de los sistemas de
telecomunicaciones, y a travs del uso de los
componentes espectrales de frecuencia de una
seal dada, se puede optimizar el diseo de un

P g i n a 6 | 7

PROCESAMIENTO DIGITAL DE SEALES DSP


sistema para la seal portadora del mismo.
Refirase al uso de un analizador de espectros.
CONCLUSIONES

Las series de Fourier nos permiten obtener


una representacin en el dominio de la
frecuencia de una seal peridica en su
equivalente en sumatoria o simplemente en
un sistema discreto.

La transformada rpida de fourier (FFT) es


de gran utilidad para calcular el contenido
frecuencial de una funcin y su magnitud,
adems de proporcionarnos un anlisis
espectral de gran utilidad.
REFERENCIAS BIBLIOGRAFICAS

v http://abcmatematico.blogspot.com.co/2009
/04/como-y-donde-se-aplican-las-seriesde.html
v https://es.wikipedia.org/wiki/Serie_de_Four
ier
v https://prezi.com/yfdh3vvjuloa/series-defourier/
v http://es.slideshare.net/alexjaviercito56/10transformada-fourier
v https://es.wikipedia.org/wiki/Transformada
_de_Fourier
v https://es.wikipedia.org/wiki/Transformada
_r%C3%A1pida_de_Fourier

P g i n a 7 | 7