#include <stdio.h>
#include <complex.h>
#include <math.h>
// Función para calcular la DFT
void calcularDFT(double complex x[], int N) {
double complex X[N];
for (int k = 0; k < N; k++) {
X[k] = 0;
for (int n = 0; n < N; n++) {
double complex W = cexp(-2.0 * I * M_PI * k * n / N);
X[k] += x[n] * W;
}
}
// Imprimir los resultados
for (int k = 0; k < N; k++) {
printf("X[%d] = %.2f + %.2fi\n", k, creal(X[k]), cimag(X[k]));
}
}
int main() {
// Ejemplo de señal de entrada
double complex x[] = {1, 2, 3, 4}; // Puedes cambiar esta señal según tus necesidades
// Tamaño de la señal
int N = sizeof(x) / sizeof(x[0]);
// Calcular la DFT
calcularDFT(x, N);
return 0;
}