Академический Документы
Профессиональный Документы
Культура Документы
DIGITAL DE
SEÑALES
Laboratorio
TRANSFORMADA DE FOURIER
EXPERIENCIA 7
TRANSFORMADA DE FOURIER
I. OBJETIVOS
Transformada de Fourier
Espectro de frecuencias
IV. PROCEDIMIENTO
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.
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);
Finalidad de angle: retorna el ángulo de fase en el intervalo [−𝜋, 𝜋] para cada elemento
de un arreglo complejo.
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
n1 = 2^nextpow2(length(n));
Xfast = fft(xfast,n1);
Xslow = fft(xslow,n1);
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
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')