Você está na página 1de 17

PROCESAMIENTO

DIGITAL DE
SEÑALES
Laboratorio

TRANSFORMADA DE FOURIER

PROFESOR: EDGAR OPORTO


ALUMNOS: - CUEVA GONZALES J. ALEXIS
- SIFUENTES ESPINOZA BRYAN
HORARIO: SABADOS 14 – 16 Hrs
UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
FACULTAD DE INGENIERIA ELECTRONICA Y ELECTRICA

EXPERIENCIA 7
TRANSFORMADA DE FOURIER

I. OBJETIVOS

a) Analizar y comprobar las diversas propiedades y aplicaciones de las


ecuaciones en diferencias.

II. EQUIPOS Y MATERIALES


Computador con Matlab

III. MARCO TEORICO/INFORME PREVIO

Transformada de Fourier

La transformada de Fourier, denominada así por Joseph Fourier, es una


transformación matemática empleada para transformar señales entre el dominio
del tiempo (o espacial) y el dominio de la frecuencia, que tiene muchas
aplicaciones en la física y la ingeniería.
La transformada de Fourier es básicamente el espectro de frecuencias de una
función. Un buen ejemplo de eso es lo que hace el oído humano, ya que recibe
una onda auditiva y la transforma en una descomposición en distintas
frecuencias (que es lo que finalmente se escucha).

Fig. 1 Transformada de Fourier de un impulso

Transformada de Fourier de tiempo discreto

En la práctica, determinar la salida y separar la parte de estado estable de la


respuesta de un sistema puede ser un proceso largo y difícil. Sin embargo, si
sólo se requiere la parte de estado estable, suele ser más fácil y directo hacer
un análisis senoidal de estado estable en el que la entrada se modela como una
superposición de componentes senoidales y cosenoidales estables de diferentes
frecuencias.

PROCESAMIENTO DIGITAL DE SEÑALES 1


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
Recuérdese que este procedimiento se basa en el hecho de que la respuesta de
estado estable de un sistema lineal invariante con el tiempo (L.T.I) a una entrada
senoidal o cosenoidal es una senoide de la misma frecuencia, pero que difiere
en amplitud y fase. Cuando una suma lineal de componentes senoidales y
cosenoidales se aplica a un sistema lineal estable, el sistema responde
modificando la amplitud y produciendo un desfase de cada componente de
entrada de una magnitud que depende de su frecuencia. La superposición lineal
de todas las componentes modificadas constituye la salida de estado estable del
sistema.
Cuando se trabaja con señales y sistemas de tiempo continuo, la señal de
entrada x(t) se representa por su Transformada de Fourier X(jw) y el sistema por
su función de respuesta en frecuencia de estado estable H(jw).

Fig. 2 Transformada de Fourier en tiempo discreto

Espectro de frecuencias

El espectro de frecuencia se caracteriza por la distribución de amplitudes para


cada frecuencia de un fenómeno ondulatorio (sonoro, luminoso o
electromagnético) que sea superposición de ondas de varias frecuencias.
También se llama espectro de frecuencia al gráfico de intensidad frente a
frecuencia de una onda particular.

Fig. 3 Espectro en frecuencias

PROCESAMIENTO DIGITAL DE SEÑALES 2


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA

IV. PROCEDIMIENTO

1. Analice el siguiente código y obtenga la transformada de Fourier de las tres


señales

%DTFT de señales NO PERIODICAS (pulse, windowed sinusoid, chirp)


clear all; clf
L = 128; %Longitud de la señal (incluyendo sus ceros)
%SEÑALES
OPCION = input('SELECCIONE: Pulso (1), Sinusoide ventana (2),
Chirp (3) ? ')
if OPCION == 1
N = 21;
x = [ones(1,N) zeros(1,L-N)]; %PULSO
elseif OPCION == 2
N = 100;
n = 0:N-1;
x = [cos(4*pi*n/N) zeros(1,L-N)]; %SINUSOIDE VENTANA
else
n = 0:L-1;
x = cos(pi*n.^2/(4*L)); %CHIRP
end
% DTFT
X = fft(x);
w = 0:2*pi/L:2*pi-2*pi/L;
w1 = w-pi; %Vector frecuencia
n = 0:length(x)-1;
figure(1)
%PLOT de la señal discreta en el dominio del tiempo
subplot(311)
stem(n,x);
axis([0 length(n)-1 1.1*min(x) 1.1*max(x)]); grid
xlabel('n'); ylabel('x[n]')
%PLOT del espectro de magnitud
subplot(312)
plot(w1, fftshift(abs(X)));
axis([min(w1) max(w1) 0 1.1*max(abs(X))])
xlabel('\omega (radians)'); ylabel('|X(e^{j\omega})|'); grid
%PLOT del espectro de fase
subplot(313)
plot(w1, fftshift(angle(X)))
axis([min(w1) max(w1) 1.1*min(angle(X)) 1.1*max(angle(X))])
xlabel('\omega (radians)'); ylabel('<X(e^{j\omega})'); grid

Comentario:

En este código se muestra como resulta las magnitudes y fases para diferentes
señales, en este caso es la de un pulso, de una senoide y de un CHIRP.

PROCESAMIENTO DIGITAL DE SEÑALES 3


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA

Fig. 4 Grafica de la magnitud y fase de un pulso

Fig. 5 Grafica de la magnitud y fase de la senoidal

PROCESAMIENTO DIGITAL DE SEÑALES 4


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA

Fig. 6 Grafica de la magnitud y fase de un CHIRP

2. Preguntas Defina una función discreta y no periódica y responda/obtenga lo


solicitado a continuación (DTFT).

a) Espectro de magnitud
b) Espectro de fase (expresado en grados, no radianes)
c) Densidad espectral de potencia
d) Finalidad de fftshift
e) Finalidad de angle

Código
Fs = 1500;
T = 1/Fs;
L = 2000;
t = (0:L-1)*T;
S = 0.5*sin(2*pi*100*t) + sin(2*pi*500*t);
x = S + 3*randn(size(t));
subplot(221)
plot(1000*t(1:30),x(1:30))
title('Señal en el dominio del tiempo')
xlabel('tiempos (s)')
ylabel('x(t)')
Y = fft(x);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);

PROCESAMIENTO DIGITAL DE SEÑALES 5


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
f = Fs*(0:(L/2))/L;
subplot(222)
plot(f,P1)
title('Espectro de frecuencia de x(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
subplot(223)
angulo = angle(Y);
plot(angulo)
axis([0 30 -5 5])
title('Espectro de fase')
subplot(224)
PDS = Y.*conj(Y);
plot(PDS)
title('Densidad espectral de potencia')
axis([0 1500 0 500000])

Fig. 7 Grafica donde se muestra todo lo que se pide

Finalidad de fftshift: acomoda una transformada de Fourier mediante el


desplazamiento la componente de frecuencia cero al centro del arreglo.

Finalidad de angle: retorna el ángulo de fase en el intervalo [−𝜋, 𝜋] para cada elemento
de un arreglo complejo.

PROCESAMIENTO DIGITAL DE SEÑALES 6


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
3. Analice y explique el código siguiente

%Gráfica de señales en tiempo discreto y sus espectros


n=0:32; %Definimos un vector
xfast=(-0.95).^n; %Define un vector para la señal en tiempo
discreto alternando positivo y negativo (señal rapida)
xslow=(0.95).^n;%Define un vector para la señal en tiempo
discreto (señal lenta)
%Grafica de la señal xslow
subplot(2,2,1);
stem(n,xslow,'b');%Grafica de la señal discreta lenta
grid;
xlabel('n');ylabel('x[n]=(0.95)^n');%Nombres de los ejes
title('Var. lenta de la señal DT'); %titulo para la grafica
%Grafica de la señal xfast
subplot(2,2,3);
stem(n,xfast,'r'); %Grafica de la señal discreta rapida
grid;
xlabel('n');ylabel('x[n]=(-0.95)^n');%Nombres los ejes
title('Var. rapida de la señal DT'); %titulo para la grafica
W=-3*pi:0.01:3*pi; %Define una variable de frecuencia
Xfast=01./(1+(0.95)*exp(-j*W));%Transformada de fourier de la
señal rápida
Xslow=1./(1-(0.95)*exp(-j*W));%Transformada de fourier de la
señal lenta
%Grafica del espectro de magnitud la señal xslow
subplot(2,2,2);
plot(W,abs(Xslow),'m');%Grafica la magnitud de la señal lenta en
frecuencia
grid;
xlabel('Frecuenciadiscreta');ylabel('|DTFT1(.95)^n|');%Nombres
los ejes
title('Espec. de magnitud de la señal lenta');%titulo para la
grafica
%Grafica del espectro de magnitud la señal xfast
subplot(2,2,4);
plot(W,abs(Xfast),'y');%Grafica la magnitud de la señal rapida
en frecuencia
grid;
xlabel('Frecuencia discreta');ylabel('|DTFT|(-.95)^n');%Nombres
los ejes
title('Espec. de magnitud de la señal rapida'); %titulo para la
grafica

PROCESAMIENTO DIGITAL DE SEÑALES 7


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA

Fig. 8 Grafica de las señales lenta y rapidas con sus respectivas transformadas

COMENTARIO:

En este grafica nos muestra las señales lentas y rápidas generadas en Matlab y a su lado
su respectiva transformada de Fourier para poder apreciar sus espectros de magnitud

4. Obtenga los mismos resultados empleando la función fft de Matlab


Código
%Gráfica de señales en tiempo discreto y sus espectros
n = 0:32; % define DT variable
xfast = (-0.95).^n; % define DT signals
xslow = (0.95).^n;
subplot(2,2,1); % plot slow signal
stem(n, xslow);
grid;
xlabel('n');
ylabel('x[n] = (0.95)^n');
title('Slow Varying DT Signal');
subplot(2,2,3); % plot fast signal
stem(n, xfast);
grid;
xlabel('n');
ylabel('x[n] = (-0.95)^n');
title('Fast Varying DT Signal');

n1 = 2^nextpow2(length(n));
Xfast = fft(xfast,n1);
Xslow = fft(xslow,n1);

PROCESAMIENTO DIGITAL DE SEÑALES 8


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
w = 2*pi*(0:(n1-1))/n1;
w1 = fftshift(w);
w2 = unwrap(w1-2*pi);
subplot(2,2,2); % plot DTFT of slow signal
plot(w2,abs(fftshift(Xslow)))
grid;
xlabel('Discrete Frequency');
ylabel('|DTFT[(.95)^n]|');
title('Magnitude Spectrum of Slow Signal');
subplot(2,2,4); % plot DTFT of fast signal
plot(w2,abs(fftshift(Xfast)))
grid;
xlabel('Discrete Frequency');
ylabel('|DTFT[(-.95)^n]|');
title('Magnitude Spectrum of Fast Signal');

Fig. 9 Grafica para la pregunta 4

PROCESAMIENTO DIGITAL DE SEÑALES 9


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
5. El siguiente código obtiene la DTFT de una señal y muestra su espectro con
el eje horizontal en Hz

Puntos=200;
t=0:1/Puntos:10-1/Puntos; %Dominio del tiempo
x=sin(2*pi*15*t)+sin(2*pi*40*t); %Señal generada
y=fft(x);%Transformada discreta de fourier
m=abs(y); %Magnitud de y
y(m<1e-6)=0;
p=unwrap(angle(y)); %Fase
f=(0:length(y)-1)*Puntos/length(y);%frecuencia
subplot(2,1,1)
plot(f-100,fftshift(m),'m’);%%FFTSHIFT: Desplaza el componente
de frecuencia cero al centro del espectro
title('Magnitude');%Titulo de la imagen
subplot(2,1,2);
plot(f-100,fftshift(p*180/pi), 'g’);
title('Phase');%Título de la grafica

Fig. 10 Grafica de la señal determinada con su magnitud y fase

PROCESAMIENTO DIGITAL DE SEÑALES 10


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
6. El siguiente código muestra el espectro de una señal seno. Analice, comente
cada línea y sustente por qué no se muestra correctamente su espectro de
amplitud.

Código
fs = 450; %La frecuencia de muestreo es menor que dos veces la
maxima
%frecuencia de la señal (teorema de Nyquist). Por lo
que, al
%aplicar el algoritmo FFT a la señal no tomara la
señal original,
%sino que sera distorsionada.
t = 0:1/fs:1;
f = 250;
x = sin(2*pi*f*t);
nfft = 4096;
X = fft(x,nfft);
X = X(1:nfft/2);
mx = abs(X);
ff = (0:nfft/2-1)*fs/nfft;
subplot(211)
stem(t,x)
title('Señal senoidal')
xlabel('Tiempo (s)')
ylabel('Amplitud')
subplot(212)
plot(ff,mx)
title('Espectro de potencia de una onda senoidal')
xlabel('Frecuencia(Hz)')
ylabel('Potencia')

Fig. 11 Grafica para la pregunta 6

PROCESAMIENTO DIGITAL DE SEÑALES 11


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
SUTENTO:
La frecuencia de muestreo es menor que dos veces la máxima frecuencia de la
señal (teorema de Nyquist). Por lo que, al aplicar el algoritmo FFT a la señal no
tomará la señal original, sino que será distorsionada.

7. Obtenga los espectros DTFT de las siguientes señales.

a) Audio de corta duración


b) Pulso gaussiano
c) Pulso cuadrado
d) Onda cuadrada
e) Impulso unitario
Código:

clear all; clf


L = 128; %Longitud de la señal (incluyendo sus ceros)
OPCION = input('SELECCIONE: Audio de corta duracion (1), Pulso
Gaussiano (2), Pulso Rectangular (3),Impulso Unitario(4), Onda
Cuadrada (5) ? ')
if OPCION == 1
[a,fs]= audioread('voz2.wav');
x=a(:,1);
L=length(x);
n = 0:L-1;
elseif OPCION ==2
N = 21;
n = 0:L-1;
x = 1/(4*sqrt(2*pi*0.01))*(exp(-(n/N).^2/(2*0.01)));%PULSO
elseif OPCION == 2
N = 200;
n = 0:L-1;
x = rectpuls((n/N),20e-3); %genera el pulso rectangular
elseif OPCION == 3
N = 21;
x = [ zeros( 1,60 ), 1 , zeros(1,67) ];% genera el impulso
unitaria
else
N = 200;
n = 0:L-1;
x = square(2*pi*50*(n/N)); %genera la onda cuadrada
end
% DTFT
X = fft(x);
w = 0:2*pi/L:2*pi-2*pi/L;
w1 = w-pi; %Vector frecuencia
n = 0:length(x)-1;
%PLOT de la señal discreta en el dominio del tiempo
subplot(311)
stem(n,x);
axis([0 length(n)-1 1.1*min(x) 1.1*max(x)]); grid
xlabel('n'); ylabel('x[n]')
%PLOT del espectro de magnitud
subplot(312)
plot(w1, fftshift(abs(X)));
axis([min(w1) max(w1) 0 1.1*max(abs(X))])

PROCESAMIENTO DIGITAL DE SEÑALES 12


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
xlabel('\omega (radians)'); ylabel('|X(e^{j\omega})|'); grid
%PLOT del espectro de fase
subplot(313)
plot(w1, fftshift(angle(X)))
axis([min(w1) max(w1) 1.1*min(angle(X)) 1.1*max(angle(X))])
xlabel('\omega (radians)'); ylabel('<X(e^{j\omega})'); grid

Fig. 12 Graficas para el audio de corta duracion

PROCESAMIENTO DIGITAL DE SEÑALES 13


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA

Fig. 13 Grafica para el pulso gaussiano

Fig. 14 Grafica para el pulso rectangular

PROCESAMIENTO DIGITAL DE SEÑALES 14


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA

Fig. 15 Grafica para el impulso unitario

Fig. 16 Grafica para una onda cuadrada

PROCESAMIENTO DIGITAL DE SEÑALES 15


UNIVERSIDAD MAYOR DE SAN MARCOS
Decana de América
FACULTAD DE INGENIERIA ELECTRÓNICA
V. CONCLUSIONES

− En esta experiencia se mostro la utilización del la transformada de fourier


para diferentes casos donde obtuvimos su respectivas magnitudes y
fases
− La transformada de Fourier discreta como en la continua se van a obtener
de la misma manera, pero en este caso para ejemplos periódicos.
− La herramienta de Matlab es muy útil para el tratamiento de diferentes
señales como es en este caso. Nos facilita los modelamientos y el
proceso de obtención de estas graficas es muy rápidas, por que lo es una
herramienta eficaz.

PROCESAMIENTO DIGITAL DE SEÑALES 16

Você também pode gostar