Está en la página 1de 7

Matemáticas Aplicadas a la

Electrónica
Laboratorio N°15
Transformada de Discreta de
Fourier
Alumno: Herrera Alvino Rodrigo
Ciclo: III
Sección: A
Profesor: Godínez De La Cruz Ernesto
Juan
Fecha de realización: 27/11/2017
Fecha de presentación: 03/12/2017
2017-2

1
Objetivo
Utilizar las funciones de MatLab para determinar la transformada discreta de Fourier
de una señal e identificar las frecuencias más importantes contenidas en dicha señal.
Fundamento Teórico
Si tenemos una secuencia x[n] de periodo N, donde 0 ≤ 𝑛 ≤ 𝑁 − 1, entonces la
transformada discreta de Fourier (DFT) se define como

𝑁−1
2𝜋
−𝑗( )𝑘𝑛
𝑋 [𝑘 ] = ∑ 𝑥 [𝑛 ]𝑒 𝑁
𝑛=0

Donde: 0 ≤ 𝑘 ≤ 𝑁 − 1

Por otro lado, la transformada discreta inversa de Fourier (IDFT) se define como

𝑁−1
1 2𝜋
𝑗( )𝑘𝑛
𝑥 [𝑛 ] = ∑ 𝑋 [𝑘 ]𝑒 𝑁
𝑁
𝑘=0

2
Procedimiento
Ejercicio 1
Para secuencia x[n] = {1, 2, 1, 0} determinar la DFT

Código para hallar la transformada discreta de Fourier


%Transformada discreta de Fourier
% Herrera Alvino Rodrigo
clc
close all
clear all
xn=[1 2 1 0];% Secuencia de datos
Xk=fft(xn);

Ejercicio 2
Código para hallar la transformada inversa discreta de Fourier
clc
close all
clear all
Xk=[4 -2i 0 2i];
xn=ifft(Xk);

3
Ejercicio 3
Un uso común de la transformada de Fourier es encontrar los componentes de
frecuencia de una señal mezclada con una señal ruidosa. Considerando los datos
muestreados a 1000 Hz, formar una señal que contenga dos sinusoides de amplitudes
0.7 y 1, y frecuencia 50 Hz y 120 Hz respectivamente y ruido aleatorio de media cero.

Código para hallar la transformada discreta de Fourier


%Señal sinusoidal con ruido
clc
clear all
close all
Fs = 1000; % frecuencia de muestreo,1000 datos por segundo
T = 1/Fs; % tiempo de muestreo
L = 1000; % longitud de la señal, tiene 1000 puntos
t = (0:L-1)*T; % vector tiempo, segundos
% suma de sinusoides de 50 y 120 Hz
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);%0.7 amplitud,50
frecuencia
y = x + 2*randn(size(t)); % sinusoide más ruido, randn es
una numero aleatorio
subplot(211)
plot(1000*t(1:50),y(1:50)) % tiempo en ms,y(1:50)= los
primeros 50 valores
title('Señal con ruido')
xlabel('t(ms)')
ylabel('y(t)')
%transformada discreta de Fourier
NFFT = 2^nextpow2(L); % siguiente potencia de 2 a la
longitud de y
%NFFT=1024 length(y)=1000
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);% linspace un numero de
datos comprendidos entre 0 a 1
subplot(212)
plot(f,2*abs(Y(1:NFFT/2+1)))%abs valor absoluto
title('Amplitud del espectro de y(t)')
xlabel('Frecuencia(Hz)')
ylabel('|Y(f)|')

4
Figura 1. Grafica de la transformada discreta de Fourier

Figura 2. Grafica de la transformada discreta de Fourier

5
Aplicación
Hallar la transformada discreta de Fourier de 10 Hz,50 Hz, 100 Hz, 150 Hz, 200 Hz, 300
Hz, 450 Hz.

Código para hallar la transformada discreta de Fourier


clc
clear all
close all
Fs = 1000;
T = 1/Fs; L = 1000;
t = (0:L-1)*T;
x = 2*sin(2*pi*10*t) + 4*sin(2*pi*50*t)+ 6*sin(2*pi*100*t)+
8*sin(2*pi*150*t)+ 2.4*sin(2*pi*200*t)+ 5*sin(2*pi*300*t)+
7.5*sin(2*pi*450*t);
y = x + 2*randn(size(t));
subplot(211)
plot(1000*t(1:50),y(1:50))
title('Señal con ruido')
xlabel('t(ms)')
ylabel('y(t)')
%transformada discreta de Fourier
NFFT = 2^nextpow2(L);
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
subplot(212)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Amplitud del espectro de y(t)')
xlabel('Frecuencia(Hz)')
ylabel('|Y(f)|')

6
Figura 3. Grafica de la transformada discreta de Fourier

Conclusiones
En los problemas realizados en el laboratorio; por una parte teníamos una sumatoria
infinita, y teníamos que conocer toda la secuencia x[n] desde ±∞ para calcular dicha
transformada discreta de Fourier. La transformada discreta de Fourier nos permite
calcular el espectro de información discreta en el tiempo.

También podría gustarte