Está en la página 1de 6

Transformada Rápida de Fourier en MATLAB

Matemáticas Especiales Grupo 6AN 17-noviembre-2023


Daniel Bustos Código. 51772
Natalia Malagón Código. 72241
Carlos Andrés Rodríguez Moreno Código. 76282
Daniel Felipe Zamudio Pintor Código. 82926
Profesor: Miller Julián Vargas Bautista

1. CÓDIGO MATLAB:
%% SEÑAL

Fs = 500; % Sampling frequency


T = 1/Fs; % Sampling period
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector

S = sin(30*pi*t) + 3*sin(40*pi*t) + sin(130*pi*t)+ sin(196*pi*t) +


sin(220*pi*t);

X = S + 2*randn(size(t));

figure(1)
plot(1000*t,X)
title("Signal Corrupted with Zero-Mean Random Noise")
xlabel("t (milliseconds)")
ylabel("X(t)")

%%

Y = fft(X);

figure(2)
plot(Fs/L*(0:L-1),abs(Y),"LineWidth",3)
title("Complex Magnitude of fft Spectrum")
xlabel("f (Hz)")
ylabel("|fft(X)|")

%%

figure(3)
plot(Fs/L*(-L/2:L/2-1),abs(fftshift(Y)),"LineWidth",3)
title("fft Spectrum in the Positive and Negative Frequencies")
xlabel("f (Hz)")
ylabel("|fft(X)|")

%%

P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);

figure(4)
f = Fs/L*(0:(L/2));
plot(f,P1,"LineWidth",3)
title("Single-Sided Amplitude Spectrum of X(t)")
xlabel("f (Hz)")
ylabel("|P1(f)|")

%% TRANSFORMADA RÁPIDA DE FOURIER

Y = fft(S);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);

figure(5)
plot(f,P1,"LineWidth",3)
title("Single-Sided Amplitude Spectrum of S(t)")
xlabel("f (Hz)")
ylabel("|P1(f)|")

2. GRÁFICOS:

Figura 1: SEÑAL INICIAL

Figura 2:
Figura 3:

Figura 4:

Figura 5: SEÑAL TRANSFORMADA RÁPIDA DE FOURIER


3. EXPLICACIÓN DE CAMBIO DE VARIABLES

Señal Tomada de los problemas de la sección 3.9. La transformada rápida de Fourier.


Del libro Matemáticas avanzadas para ingeniería de Peter V. ONeil.
%% SEÑAL

Fs = 500; % Sampling frequency


T = 1/Fs; % Sampling period
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector

S = sin(30*pi*t) + 3*sin(40*pi*t) + sin(130*pi*t)+ sin(196*pi*t) +


sin(220*pi*t);

sin(30∗π∗t)+3∗sin(40∗π∗t)+sin(130∗π∗t)+sin(196∗π∗t)+ sin(220∗π∗t );

Sabemos que la frecuencia angular es igual a:w=2 πf , teniendo en cuenta esto


podemos desglosar la anterior función de la señal en donde:

- sin(30∗π∗t): Esta es una onda senoidal con una frecuencia de 15Hz. La función seno
produce una onda que oscila entre -1 y 1.

- 3∗sin(40∗π∗t): Esta es otra onda senoidal, pero con una frecuencia de 20 Hz. El
coeficiente 3 indica que esta onda tiene una amplitud tres veces mayor que la primera.

- sin(130∗π∗t): Esta es una tercera onda senoidal con una frecuencia de 65 Hz

- sin(196∗π∗t): Similar a las anteriores, esta onda tiene una frecuencia de 98 Hz

- sin(220∗π∗t): Esta es la quinta onda senoidal con una frecuencia de 110 Hz

En resumen, la señal \(S(t)\) es una combinación de cinco ondas senoidales con


frecuencias de 15, 20, 65, 98, y 110 Hz, respectivamente. Cada término contribuye a la
forma y la amplitud de la señal total.

Parámetros de MATLAB.

Fs: esta variable nos define la frecuencia de muestreo, esta se define teniendo en cuenta
el teorema de muestreo de Nyquist-Shannon, el cual nos dice que la frecuencia de
muestreo debe ser el doble o mayor al doble de la frecuencia mayor de una señal, en
este caso la frecuencia mayor es de 220 por lo tanto la variable tomaría un valor de 440
o mayor a este.

T: La variable T es el tiempo entre dos muestras seguidas. Esto quiere decir que es el
tiempo que pasa entre una muestra y la siguiente. Estamos calculando este tiempo
dividiendo 1 por la cantidad de muestras por segundo.
L: En esta variable se dice cuántas muestras en total se quiere tomar. En este caso, se
tomó 1000 muestras en total, este valor por lo general debe ser el doble o mayor al
doble de la frecuencia de muestreo

t: La variable t es un vector de tiempo que representa el tiempo asociado a cada muestra


en la señal propuesta.

REFERENCIAS:
ChatGPT. (s/f). Recuperado el 17 de noviembre de 2023, de https://chat.openai.com/

Transformada rápida de Fourier - MATLAB fft - MathWorks América Latina. (s/f).


Recuperado el 16 de noviembre de 2023, de
https://la.mathworks.com/help/matlab/ref/fft.html
O´Neil, P. V. (2015). Matemáticas avanzadas para ingeniería. Cengage Learning.
https://0210d6gke-y-https-www-ebooks7--24-com.ecci.metaproxy.org/?il=1313

También podría gustarte