```python
import sympy as sym
import numpy as np

import matplotlib.pyplot as plt
%matplotlib inline
sym.init_printing()

Omega = sym.symbols('Omega', real=True)
k = sym.symbols('k', integer=True)

```

# Transformada discreta de Fourier


La [Transformada discreta de Fourier](https://en.wikipedia.org/wiki/Discrete_Fourier_transform) (DFT) de una señal discreta $x[k]$ se define como:

\begin{equation}
X[\mu] = \sum_{k=0}^{N-1} x[k] \; e^{-j \mu \frac{2 \pi}{N} k}
\end{equation}

Donde $N \in \mathbb{N}$ es el tamaño de la DFT y $\mu \in \mathbb{Z}$ es la frecuencia discreta. 
La DFT relaciona una señal discreta $x[k]$ con su espectro discreto $X[\mu] = \text{DFT}_N \{ x[k] \}$. 
Como $e^{-j \mu \frac{2 \pi}{N} k}$ tiene periodo $N$ respecto a la frecuencia discreta $\mu$, el espectro $X[\mu]$ también tiene periodo $N$.

\begin{equation}
X[\mu] = X[\mu + \nu N] \; \forall \nu \in \mathbb{Z}
\end{equation}

Por lo anterior, solo es necesario analizar el espectro en el rango $\mu = 0,1, \dots, N-1$.

Para los instantes $k = 0,1, \dots, N-1$, la transformada inversa (IDFT) se define como:

\begin{equation}
x[k] = \frac{1}{N} \sum_{\mu=0}^{N-1} X[\mu] \; e^{j \mu \frac{2 \pi}{N} k}
\end{equation}

Como $e^{j \mu \frac{2 \pi}{N} k}$ (IDFT) es periodica  respecto al instante discreto $k$, $x[k] = \text{IDFT}_M \{ X[\mu] \}$ tiene periodo $N$.

\begin{equation}
x[k] = x[k + \nu N]
\end{equation}



## Relación con la transformada de Fourier de tiempo discreto

- La transformada de Fourier de tiempo discreto (DTFT) $X(e^{j \Omega}) = \mathcal{F}_* \{ x[k] \}$ de una señal causa y duración finita $x[k] = 0$ para $k \in \mathbb{Z} \setminus \{0,1,\dots, N-1 \}$ es continua respecto a la frecuencia normalizada $\Omega$.

- La DFT transformada discreta de Fourier $X[\mu]$ de la misma señal es discreta. 

Analizando las expresiones para las transformadas se puede encontrar relación entre ellas.

DFT
\begin{equation}
X[\mu] = \sum_{k=0}^{N-1} x[k] \; e^{-j \mu \frac{2 \pi}{N} k}
\end{equation}

DTFT
\begin{equation}
X(e^{j \Omega}) = \sum_{k = -\infty}^{\infty} x[k] \, e^{-j \Omega k}
\end{equation}

Las dos transformadas son iguales si se cumple una condición:
\begin{equation}
X[\mu] = X(e^{j \Omega}) \big\rvert_{\Omega = \mu \frac{2 \pi}{N}}
\end{equation}

Es decir, la DFT $X[\mu]$ de una señal discreta de duración finita $x[k]$ puede obtenerse al tomar muestras de la DTFT $X(e^{j \Omega})$ en $\Omega = \mu \frac{2 \pi}{N}$. 

La figura siguiente muestra una señal de tiempo discreto y duración finita $x[k]$. Esta señal se relaciona, en el dominio de la frecuencia, con el espectro $X(e^{j\Omega})$ que se encuentra con la DTFT. Observe que el periodo del espectro es $2\pi$.



A partir del espectro $X(e^{j\Omega})$ se toman muestras para obtener una versión discreta del espectro $X_p(e^{j\Omega})$, la cuál es equivalente a la DFT. A partir del espectro $X_p(e^{j\Omega})$ se recupera una señal periódica de tiempo discreto $x_p[k]$ que tiene periodo $N$. 

 

Observe que la señal $x[k]$ es igual a $x_p[k]$ dentro del periodo de duración inicial de $x[k]$. De acuerdo con lo antes expuesto, la información completa de la señal $x[k]$ está en un solo periodo de su espectro.


```python

```

4779495eb4043fa05ad548d9bb338c7e79c06133
ipynb
Jupyter Notebook
FourierDFT.ipynb
pierrediazp/Se-ales_y_Sistemas
b14bdaf814b0643589660078ddd39b5cdf86b659
MIT
FourierDFT.ipynb
pierrediazp/Se-ales_y_Sistemas
b14bdaf814b0643589660078ddd39b5cdf86b659
MIT
FourierDFT.ipynb
pierrediazp/Se-ales_y_Sistemas
b14bdaf814b0643589660078ddd39b5cdf86b659
MIT
Qwen/Qwen-72B
1. YES
2. YES