0% encontró este documento útil (0 votos)
78 vistas8 páginas

Transformadas de Fourier: Ejercicios y Gráficas

El documento presenta ejercicios sobre transformadas de Fourier. En el primer ejercicio se calcula la transformada de Fourier continua de una función. En el segundo ejercicio se calculan transformadas de Fourier discretas para señales y se grafican los resultados. El tercer ejercicio describe el algoritmo de la transformada rápida de Fourier y la inversión de bits. El cuarto ejercicio calcula y grafica la transformada de Fourier de una señal sinusoidal.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
78 vistas8 páginas

Transformadas de Fourier: Ejercicios y Gráficas

El documento presenta ejercicios sobre transformadas de Fourier. En el primer ejercicio se calcula la transformada de Fourier continua de una función. En el segundo ejercicio se calculan transformadas de Fourier discretas para señales y se grafican los resultados. El tercer ejercicio describe el algoritmo de la transformada rápida de Fourier y la inversión de bits. El cuarto ejercicio calcula y grafica la transformada de Fourier de una señal sinusoidal.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

EJERCICIOS PDS-2023-II

1. Calcular la Transformada de Fourier Continua de la función definida por:

Transformada de ℱ


X ( ω )= ∫ x ( t ) e
− jωt
dt
−∞

Entonces :

−∞ ∞
X ( ω )= ∫ 0 . e dt+∫ e
− jωt − at − jωt
.e dt
0 0


X ( ω )=∫ e
−(a+ jω)t
dt
0

X ( ω )=
−1 −(a+ jω)t ∞
a+ jω
(e )
0 |
X ( ω )=
−1 1 1
(

a+ jω e ∞ e 0 )
1
X ( ω )=
a+ jω

Expresando en su forma exponencial

1
X ( ω )= −1
j tan ( ωa )
√ a+ω . e
1 − jtan
−1
( ωa )
X ( ω )= .e
√ a+ω

Donde :
1
Magnitud=
√ a+ ω

Fase=−tan−1 ( ωa )

Gráfica naranja=Magnitud , Gráfica azul=Fase


3. a) Calcule la Transformada de Fourier Discreta para una secuencia de 21
números. Grafique y comente resultados en el dominio del tiempo y en el de la
frecuencia. Comente resultados. b) Considere una señal sinusoidal de N=32,
grafique la señal en el dominio del tiempo y en el de la frecuencia. Comente
resultados.
% Parámetros de la señal sinusoidal
N = 32; % Tamaño de la señal
fs = 1000; % Frecuencia de muestreo en Hz
f = 50; % Frecuencia de la señal sinusoidal en Hz
A = 1; % Amplitud de la señal
phi = pi/4; % Fase de la señal

% Crear la señal sinusoidal


t = (0:N-1) * (1/fs); % Vector de tiempo
x = A * sin(2 * pi * f * t + phi); % Señal sinusoidal

% Calcular la FFT de la señal


X = fft(x);

% Calcular las frecuencias correspondientes a los coeficientes de la FFT


frequencies = (0:N-1) * (fs/N);

% Magnitud de los coeficientes de la FFT


magnitude = abs(X);

% Fase de los coeficientes de la FFT


phase = angle(X);

% Gráfica de la señal en el dominio del tiempo


subplot(3,1,1);
plot(t, x);
xlabel('Tiempo (s)');
ylabel('Amplitud');
title('Señal sinusoidal en el dominio del tiempo');

% Gráfica de la magnitud de la FFT


subplot(3,1,2);
stem(frequencies, magnitude);
xlabel('Frecuencia (Hz)');
ylabel('Magnitud');
title('Magnitud de la FFT');
% Gráfica de la fase de la FFT
subplot(3,1,3);
stem(frequencies, phase);
xlabel('Frecuencia (Hz)');
ylabel('Fase');
title('Fase de la FFT');

4. a) Describa y dibuje el algoritmo de la Transformada Rápida de Fourier, FFT,


Diezmada en el Tiempo para N=16.
% Secuencia de entrada
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 10, 9, 8];

% Calcula la FFT de la secuencia de entrada


X = fft(x);

% Grafica los resultados


subplot(2, 1, 1);
stem(0:15, x);
title('Secuencia de entrada');
xlabel('Muestras');
ylabel('Amplitud');
subplot(2, 1, 2);
stem(0:15, abs(X));
title('Transformada de Fourier Discreta (DFT)');
xlabel('Frecuencia');
ylabel('Magnitud');

b) Describa el algoritmo de inversión de Bits para N=128. Calcule y muestre el


orden de los datos de entrada para aplicar la FFT.
N = 128; % Tamaño de la señal
n = log2(N); % Cantidad de bits necesarios para representar N

% Generar el orden de bits invertidos


bit_reverse_order = 0:N-1;
bit_reverse_order = bitrevorder(bit_reverse_order, n);

% Datos de ejemplo
datos_entrada = 1:N; % Datos de entrada del 1 al 128

% Reorganizar los datos de entrada en el orden de bits invertidos


datos_entrada_ordenados = datos_entrada(bit_reverse_order + 1);
% Ahora, datos_entrada_ordenados contiene los datos de entrada reorganizados
% de acuerdo con el orden de bits invertidos para N=128
x = (0:15)';
v = bitrevorder(x);

x_bin = dec2bin(x);
v_bin = dec2bin(v);

T = table(x,x_bin,v,v_bin)
function X = fft_dit(N, x)
if N == 1
X = x; % Caso base: una única muestra
else
% Dividir la secuencia en subsecuencias pares e impares
x_even = x([Link]nd);
x_odd = x([Link]nd);

% Calcular recursivamente la DFT de las subsecuencias


X_even = fft_dit(N/2, x_even);
X_odd = fft_dit(N/2, x_odd);

% Combinar los resultados de las DFT parciales


W_Nk = exp(-1j * 2 * pi / N * (0:N/2-1));
X = [X_even + W_Nk .* X_odd, X_even - W_Nk .* X_odd];
end
end

% Secuencia de entrada
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 10, 9, 8];

% Calcula la FFT Diezmada en el Tiempo


X = fft_dit(16, x);

% Grafica los resultados


subplot(2, 1, 1);
stem(0:15, x);
title('Secuencia de entrada');
xlabel('Muestras');
ylabel('Amplitud');

subplot(2, 1, 2);
stem(0:15, abs(X));
title('Transformada de Fourier Discreta (DFT)');
xlabel('Frecuencia');
ylabel('Magnitud');

c) Calcule y grafique la FFT para una señal sinusoidal de 60 Hz. Emplee los
valores que sean necesarios. Comente resultados
% Parámetros de la señal
fs = 1000; % Frecuencia de muestreo en Hz
f = 60; % Frecuencia de la señal sinusoidal en Hz
t = 0:1/fs:1; % Vector de tiempo de 1 segundo

% Crear la señal sinusoidal


x = sin(2 * pi * f * t);

% Calcular la FFT de la señal


X = fft(x);

% Calcular las frecuencias correspondientes a los coeficientes de la FFT


N = length(x); % Tamaño de la señal
frequencies = (0:N-1) * (fs/N);

% Magnitud de los coeficientes de la FFT


magnitude = abs(X);

% Gráfica de la magnitud de la FFT


subplot(2,1,1);
stem(frequencies, magnitude);
xlabel('Frecuencia (Hz)');
ylabel('Magnitud');
title('Magnitud de la FFT');

% Gráfica de la señal en el dominio del tiempo


subplot(2,1,2);
plot(t, x);
xlabel('Tiempo (s)');
ylabel('Amplitud');
title('Señal sinusoidal en el dominio del tiempo');

También podría gustarte