Análisis frecuencial de señales en tiempo discreto
Serie de Fourier de Señales en Tiempo Discreto ¶ Sea x ( n ) x(n) x ( n ) una señal periódica con período N N N , es decir:
x ( n ) = x ( n + N ) , ∀ n x(n)=x(n+N), \qquad \forall n x ( n ) = x ( n + N ) , ∀ n La representación de x ( n ) x(n) x ( n ) en serie de Fourier puede
expresarse como:
Para derivar la expresión de c k c_k c k usamos la identidad
∑ k = 0 N − 1 e j 2 π k n N = { N k = 0 , ± N , ± 2 N , ⋯ 0 c.o.c \sum_{k=0}^{N-1}e^{j\frac{2\pi kn}{N}}=\left\{
\begin{array}{ll}
N & k=0,\pm N, \pm 2N, \cdots\\
0 & \text{c.o.c}
\end{array}
\right. k = 0 ∑ N − 1 e j N 2 πkn = { N 0 k = 0 , ± N , ± 2 N , ⋯ c.o.c Reemplazando en (2) , tenemos:
x ( n ) e − j 2 π l n N = ∑ k = 0 N − 1 c k e j 2 π ( k − l ) n N x(n)e^{-j\frac{2\pi ln}{N}}=\sum_{k=0}^{N-1}c_ke^{j\frac{2\pi (k-l)n}{N}} x ( n ) e − j N 2 π l n = k = 0 ∑ N − 1 c k e j N 2 π ( k − l ) n Sumando sobre n n n :
∑ n = 0 N − 1 x ( n ) e − j 2 π l n N = ∑ n = 0 N − 1 ∑ k = 0 N − 1 c k e j 2 π ( k − l ) n N = ∑ k = 0 N − 1 c k ∑ n = 0 N − 1 e j 2 π ( k − l ) n N = N c l \begin{align*}
\sum_{n=0}^{N-1}x(n)e^{-j\frac{2\pi ln}{N}}& =
\sum_{n=0}^{N-1}\sum_{k=0}^{N-1}c_ke^{j\frac{2\pi (k-l)n}{N}}\\
& = \sum_{k=0}^{N-1}c_k\sum_{n=0}^{N-1}e^{j\frac{2\pi (k-l)n}{N}}\\
& = Nc_l
\end{align*} n = 0 ∑ N − 1 x ( n ) e − j N 2 π l n = n = 0 ∑ N − 1 k = 0 ∑ N − 1 c k e j N 2 π ( k − l ) n = k = 0 ∑ N − 1 c k n = 0 ∑ N − 1 e j N 2 π ( k − l ) n = N c l Luego
c l = 1 N ∑ n = 0 N − 1 x ( n ) e − j 2 π l n N con l = 0 , 1 , ⋯ , N − 1 c_l=\frac{1}{N}\sum_{n=0}^{N-1}x(n)e^{-j\frac{2\pi ln}{N}}\quad \text{con } l=0,1,\cdots,N-1 c l = N 1 n = 0 ∑ N − 1 x ( n ) e − j N 2 π l n con l = 0 , 1 , ⋯ , N − 1 S k = e − j 2 π k n N S_k = e^{-j\frac{2\pi kn}{N}} S k = e − j N 2 πkn son periódicas con período N N N , entonces los coeficientes de Fourier c k c_k c k
son también periódicos cuando se calculan más allá del rango k = 0 , 1 , ⋯ , N − 1 k=0, 1, \cdots, N-1 k = 0 , 1 , ⋯ , N − 1 .
Se tiene entonces:
c k + N = c k c_{k+N}=c_k c k + N = c k Es decir, c k {c_k} c k es una secuencia periódica con periodo fundamental N N N .
Tenemos entonces que el espectro de una señal x ( n ) x(n) x ( n ) que es
periódica con período N N N , es una secuencia periódica con
período N N N .
Si bien c k {c_k} c k es una secuencia periódica nos concentraremos
en un solo período en el rango k = 0 , 1 , ⋯ , N − 1 k = 0 , 1 , \cdots , N-1 k = 0 , 1 , ⋯ , N − 1 .
En el dominio frecuencial esto implica cubrir el rango de
frecuencias:
0 ≤ ω k = 2 π k N < 2 π con k = 0 , 1 , 2 , ⋯ , N − 1 0\leq \omega_k=\frac{2\pi k}{N}< 2\pi \quad \text{con } k=0,1, 2, \cdots, N-1 0 ≤ ω k = N 2 πk < 2 π con k = 0 , 1 , 2 , ⋯ , N − 1 Espectro de Densidad de Potencia de Señales Periódicas en Tiempo Discreto ¶ La potencia media de una señal periódica de período N N N es:
P x = 1 N ∑ n = 0 N − 1 ∣ x ( n ) ∣ 2 = 1 N ∑ n = 0 N − 1 x ( n ) x ∗ ( n ) = 1 N ∑ n = 0 N − 1 x ( n ) [ ∑ k = 0 N − 1 c k ∗ e − j 2 π k n N ] = 1 N ∑ k = 0 N − 1 c k ∗ [ ∑ n = 0 N − 1 x ( n ) e − j 2 π k n N ] = 1 N ∑ k = 0 N − 1 c k ∗ c k = 1 N ∑ k = 0 N − 1 ∣ c k ∣ 2 \begin{align*}
P_x=\frac{1}{N}\sum_{n=0}^{N-1} |x(n)|^2&=\frac{1}{N}\sum_{n=0}^{N-1}x(n)x^*(n)\\
&=\frac{1}{N}\sum_{n=0}^{N-1}x(n) \left[\sum_{k=0}^{N-1}c_k^*e^{-j\frac{2\pi k n}{N}}\right]\\
&=\frac{1}{N}\sum_{k=0}^{N-1} c_k^*\left[\sum_{n=0}^{N-1}x(n)e^{-j\frac{2\pi k n}{N}}\right]\\
&=\frac{1}{N}\sum_{k=0}^{N-1} c_k^*c_k=\frac{1}{N}\sum_{k=0}^{N-1} |c_k|^2
\end{align*} P x = N 1 n = 0 ∑ N − 1 ∣ x ( n ) ∣ 2 = N 1 n = 0 ∑ N − 1 x ( n ) x ∗ ( n ) = N 1 n = 0 ∑ N − 1 x ( n ) [ k = 0 ∑ N − 1 c k ∗ e − j N 2 πkn ] = N 1 k = 0 ∑ N − 1 c k ∗ [ n = 0 ∑ N − 1 x ( n ) e − j N 2 πkn ] = N 1 k = 0 ∑ N − 1 c k ∗ c k = N 1 k = 0 ∑ N − 1 ∣ c k ∣ 2 La secuencia ∣ c k ∣ 2 |ck|^2 ∣ c k ∣ 2 , k = 0 , 1 , ⋯ , N − 1 k = 0 , 1 , \cdots, N-1 k = 0 , 1 , ⋯ , N − 1 se denomina
Espectro de Densidad de Potencia
E n = ∑ n = 0 N − 1 ∣ x ( n ) ∣ 2 = N ∑ n = 0 N − 1 ∣ c k ∣ 2 E_n=\sum_{n=0}^{N-1}|x(n)|^2=N\sum_{n=0}^{N-1}|c_k|^2 E n = n = 0 ∑ N − 1 ∣ x ( n ) ∣ 2 = N n = 0 ∑ N − 1 ∣ c k ∣ 2 c k ∗ = c k ⟹ { ∣ c − k ∣ = ∣ c k ∣ − ∠ c − k = ∠ c k c_k^*=c_k \implies \left\{
\begin{array}{cc}
|c_{-k}|&=|c_{k}|\\
-\angle c_{-k}&=\angle c_{k}\\
\end{array}
\right. c k ∗ = c k ⟹ { ∣ c − k ∣ − ∠ c − k = ∣ c k ∣ = ∠ c k Ejemplos ¶ x ( n ) = cos 2 π n x(n)=\cos\sqrt{2}\pi n x ( n ) = cos 2 πn ω 0 = 2 π ⟹ f 0 = 1 2 \omega_0=\sqrt 2 \pi \implies f_0=\frac{1}{\sqrt{2}} ω 0 = 2 π ⟹ f 0 = 2 1 x ( n ) = cos π n 3 x(n)=\cos\frac{\pi n}{3} x ( n ) = cos 3 πn ω 0 = π 3 ⟹ f 0 = 1 6 \omega_0=\frac{\pi}{3} \implies f_0=\frac{1}{6} ω 0 = 3 π ⟹ f 0 = 6 1 x ( n ) x(n) x ( n ) es periódica con período fundamental N = 6 N = 6 N = 6
Los coeficientes de Fourier resultan:
c k = 1 6 ∑ n = 0 5 x ( n ) e − j 2 π k n 6 , k = 0 , 1 , ⋯ , 5 c_k=\frac{1}{6}\sum_{n=0}^{5} x(n)e^{-j\frac{2\pi kn}{6}}, \quad k=0,1,\cdots,5 c k = 6 1 n = 0 ∑ 5 x ( n ) e − j 6 2 πkn , k = 0 , 1 , ⋯ , 5 La DTFT (Discrete Time Fourier Transform) de una señal x ( n ) x(n) x ( n ) de energía finita se define como:
X ( ω ) ≜ ∑ n = − ∞ ∞ x ( n ) e − j ω n X(\omega)\triangleq \sum_{n=-\infty}^{\infty}x(n)e^{-j\omega n} X ( ω ) ≜ n = − ∞ ∑ ∞ x ( n ) e − jωn X ( ω ) X(\omega) X ( ω ) representa el contenido frecuencial de una señal x ( n ) x(n) x ( n ) ; y se denomina espectro de x ( n ) x(n) x ( n )
Como el rango de frecuencias para una señal en tiempo discreto es ( − π , π ) , X ( ω ) (-\pi, \pi), X(\omega) ( − π , π ) , X ( ω ) resulta periódica de período 2 π 2\pi 2 π .
En efecto,
X ( ω + 2 π ) = ∑ n = − ∞ ∞ x ( n ) e − j ( ω + 2 π ) n = ∑ n = − ∞ ∞ x ( n ) e − j ( ω n + 2 π ) n . e − j 2 π n ⏟ = 1 = X ( ω ) X(\omega+2\pi)=\sum_{n=-\infty}^{\infty}x(n)e^{-j(\omega+2\pi)n}=\sum_{n=-\infty}^{\infty}x(n)e^{-j(\omega n+2\pi)n}.\underbrace{e^{-j2\pi n}}_{=1}=X(\omega) X ( ω + 2 π ) = n = − ∞ ∑ ∞ x ( n ) e − j ( ω + 2 π ) n = n = − ∞ ∑ ∞ x ( n ) e − j ( ωn + 2 π ) n . = 1 e − j 2 πn = X ( ω ) De la definición anterior de X ( ω ) X(\omega) X ( ω ) vemos que los coeficientes de Fourier son:
c n = x ( − n ) c_n=x(-n) c n = x ( − n ) Si se conoce X ( ω ) X(\omega) X ( ω ) , la señal x ( n ) x(n) x ( n ) puede entonces recuperarse como:
x ( n ) = c − n = 1 2 π ∫ − π π X ( ω ) e j ω n d ω x(n)=c_{-n}=\frac{1}{2\pi}\int_{-\pi}^{\pi} X(\omega)e^{j\omega n}d\omega x ( n ) = c − n = 2 π 1 ∫ − π π X ( ω ) e jωn d ω Convergencia de la DFTF ¶ Definamos:
X N ( ω ) = ∑ n = − N N x ( n ) e − j ω n X_N(\omega)=\sum_{n=-N}^{N}x(n)e^{-j\omega n} X N ( ω ) = n = − N ∑ N x ( n ) e − jωn Decimos que X N ( ω ) X_N(\omega) X N ( ω ) converge uniformemente a X ( ω ) X(\omega) X ( ω ) , para todo ω \omega ω , cuando N → ∞ N\rightarrow \infty N → ∞ , si
lim N → ∞ ∣ X ( ω ) − X N ( ω ) ∣ = 0 \lim_{N\rightarrow\infty} |X(\omega)-X_N(\omega)|=0 N → ∞ lim ∣ X ( ω ) − X N ( ω ) ∣ = 0 La convergencia uniforme de X N ( ω ) X_N(\omega) X N ( ω ) queda garantizada si:
∑ n = − ∞ ∞ ∣ x ( n ) ∣ < ∞ \sum_{n=-\infty}^{\infty} |x(n)| < \infty n = − ∞ ∑ ∞ ∣ x ( n ) ∣ < ∞ En efecto se verifica entonces:
∣ X ( ω ) ∣ = ∣ ∑ n = − ∞ ∞ x ( n ) e − j ω n ∣ ≤ ∑ n = − ∞ ∞ ∣ x ( n ) ∣ ≤ ∞ |X(\omega)| = \left| \sum_{n=-\infty}^{\infty} x(n)e^{-j\omega n}\right|\leq \sum_{n=-\infty}^{\infty} \left|x(n)\right|\leq \infty ∣ X ( ω ) ∣ = ∣ ∣ n = − ∞ ∑ ∞ x ( n ) e − jωn ∣ ∣ ≤ n = − ∞ ∑ ∞ ∣ x ( n ) ∣ ≤ ∞ Por lo que esta es una condición suficiente para existencia de la transformada discreta de Fourier.
Algunas secuencias no son absolutamente sumables, pero son cuadrado sumables, es decir son de energía finita:
E x = ∑ n = − ∞ ∞ ∣ x ( n ) ∣ 2 ≤ ∞ E_{x}=\sum_{n=-\infty}^{\infty} \left|x(n)\right|^{2}\leq \infty E x = n = − ∞ ∑ ∞ ∣ x ( n ) ∣ 2 ≤ ∞ que es una condición más débil que la anterior (la anterior implica esta pero no al revés)
Para poder definir la DTFT de estas señales, la condición de convergencia uniforme se debe relajar a convergencia en media cuadrática :
lim N → ∞ ∫ − π π ∣ X ( ω ) − X N ( ω ) ∣ 2 d w = 0 \lim_{N\rightarrow \infty} \int_{-\pi}^{\pi}\left|X(\omega)-X_N(\omega)\right|^2 dw=0 N → ∞ lim ∫ − π π ∣ X ( ω ) − X N ( ω ) ∣ 2 d w = 0 Es decir, la energía del error ∣ X ( ω ) − X N ( ω ) ∣ |X(\omega)-X_N(\omega)| ∣ X ( ω ) − X N ( ω ) ∣ tiende a cero, pero no necesariamente el error tiende a cero para cada ω \omega ω .
Ejemplo DTFT cuadrada ¶ Supongamos que la señal x ( n ) x(n) x ( n ) tiene DFTF,
X ( ω ) = { 1 , ∣ ω ∣ ≤ ω c 0 , ω c < ∣ ω ∣ ≤ π X(\omega)=\left\{
\begin{array}{ll}
1, &\quad |\omega|\leq \omega_c\\
0, &\quad \omega_c < |\omega| \leq \pi
\end{array}
\right. X ( ω ) = { 1 , 0 , ∣ ω ∣ ≤ ω c ω c < ∣ ω ∣ ≤ π Recordemos que ∣ X ( ω ) ∣ |X(\omega)| ∣ X ( ω ) ∣ es periódica con período 2 π 2\pi 2 π .
La transformada inversa resulta
x ( n ) = 1 2 π ∫ − π π X ( ω ) e j ω n d ω = 1 2 π ∫ − ω c ω c e j ω n d ω = sin ( ω c n ) π n , con n ≠ 0 x(n)=\frac{1}{2\pi}\int_{-\pi}^{\pi}X(\omega)e^{j\omega n}d\omega=
\frac{1}{2\pi}\int_{-\omega_c}^{\omega_c}e^{j\omega n}d\omega
=\frac{\sin(\omega_c n)}{\pi n}, \quad \text{con } n \neq 0 x ( n ) = 2 π 1 ∫ − π π X ( ω ) e jωn d ω = 2 π 1 ∫ − ω c ω c e jωn d ω = πn sin ( ω c n ) , con n = 0 x ( n ) = 1 2 π ∫ − ω c ω c d ω = ω c π , con n = 0 x(n)=\frac{1}{2\pi}\int_{-\omega_c}^{\omega_c}d\omega=\frac{\omega_c}{\pi}, \quad\text{con } n=0 x ( n ) = 2 π 1 ∫ − ω c ω c d ω = π ω c , con n = 0 Se puede verificar que x ( n ) x(n) x ( n ) no es absolutamente sumable pero es cuadrado sumable.
En efecto:
∑ n = − ∞ ∞ ∣ x ( n ) ∣ = ω c π + 2 ∑ n = 1 ∞ ω c π ∣ sin ( ω c n ) ω c n ∣ ≤ ω c π + 2 π ∑ n = 1 ∞ 1 n ⏟ diverge \sum_{n=-\infty}^{\infty} |x(n)|=
\frac{\omega_c}{\pi}+2\sum_{n=1}^{\infty} \frac{\omega_c}{\pi}\left|\frac{\sin(\omega_c n)}{\omega_c n}\right|
\leq \frac{\omega_c}{\pi}+\underbrace{\frac{2}{\pi}\sum_{n=1}^{\infty}\frac{1}{n}}_{\text{diverge}} n = − ∞ ∑ ∞ ∣ x ( n ) ∣ = π ω c + 2 n = 1 ∑ ∞ π ω c ∣ ∣ ω c n sin ( ω c n ) ∣ ∣ ≤ π ω c + diverge π 2 n = 1 ∑ ∞ n 1 Además:
∑ n = − ∞ ∞ ∣ x ( n ) ∣ 2 = ω c 2 π 2 + 2 ∑ n = 1 ∞ ω c 2 π 2 ∣ sin ( ω c n ) ω c n ∣ 2 ≤ ω c 2 π 2 + 2 π 2 ∑ n = 1 ∞ 1 n 2 ⏟ converge \sum_{n=-\infty}^{\infty} |x(n)|^2=
\frac{\omega_c^2}{\pi^2}+2\sum_{n=1}^{\infty} \frac{\omega_c^2}{\pi^2}\left|\frac{\sin(\omega_c n)}{\omega_c n}\right|^2
\leq \frac{\omega_c^2}{\pi^2}+\underbrace{\frac{2}{\pi^2}\sum_{n=1}^{\infty}\frac{1}{n^2}}_{\text{converge}} n = − ∞ ∑ ∞ ∣ x ( n ) ∣ 2 = π 2 ω c 2 + 2 n = 1 ∑ ∞ π 2 ω c 2 ∣ ∣ ω c n sin ( ω c n ) ∣ ∣ 2 ≤ π 2 ω c 2 + converge π 2 2 n = 1 ∑ ∞ n 2 1 Concluimos entonces que la DTFT X ( ω ) X(\omega) X ( ω ) de x ( n ) x(n) x ( n ) converge en media cuadrática, pero no converge uniformemente punto a punto (en las discontinuidades).
Para ver esto en mayor detalle consideremos la suma finita
X N ( ω ) = ∑ n = − N N sin ( ω c n ) π n e − j ω n X_N(\omega)=\sum_{n=-N}^{N}\frac{\sin(\omega_cn)}{\pi n} e^{-j\omega n } X N ( ω ) = n = − N ∑ N πn sin ( ω c n ) e − jωn para distintos valores de N N N crecientes.
Vemos que existe una oscilación en frecuencia ω = ω c \omega=\omega_c ω = ω c .
Cuando N N N aumenta, la oscilación es mas rápida y cuando N → ∞ N\rightarrow\infty N → ∞ la oscilación converge al punto de discontinuidad ω = ω c \omega=\omega_c ω = ω c , pero su amplitud no va a cero. Este fenómeno oscilatorio de X N ( ω ) X_N(\omega) X N ( ω ) se denomina fenómeno de Gibbs.
Espectro de Densidad de Energía de Señales Aperiódicas ¶ La energía de la señal x ( n ) x(n) x ( n ) es:
E x = ∑ n = − ∞ ∞ ∣ x ( n ) ∣ 2 = ∑ n = − ∞ ∞ x ( n ) x ∗ ( n ) = ∑ n = − ∞ ∞ x ( n ) [ 1 2 π ∫ − π π X ∗ ( ω ) e − j ω n d ω ] = 1 2 π ∫ − π π X ∗ ( ω ) [ ∑ n = − ∞ ∞ x ( n ) e − j ω n ] d ω = 1 2 π ∫ − π π ∣ X ( ω ) ∣ 2 d ω \begin{align}
E_x=\sum_{n=-\infty}^{\infty} \left|x(n)\right|^2 &= \sum_{n=-\infty}^{\infty} x(n)x^*(n)\\
&= \sum_{n=-\infty}^{\infty} x(n)\left[\frac{1}{2\pi}\int_{-\pi}^{\pi} X^*(\omega)e^{-j\omega n}d\omega\right]\\
&= \frac{1}{2\pi}\int_{-\pi}^{\pi} X^*(\omega)\left[\sum_{n=-\infty}^{\infty} x(n)e^{-j\omega n}\right]d\omega\\
&= \frac{1}{2\pi}\int_{-\pi}^{\pi} \left|X(\omega)\right|^2d\omega\\
\end{align} E x = n = − ∞ ∑ ∞ ∣ x ( n ) ∣ 2 = n = − ∞ ∑ ∞ x ( n ) x ∗ ( n ) = n = − ∞ ∑ ∞ x ( n ) [ 2 π 1 ∫ − π π X ∗ ( ω ) e − jωn d ω ] = 2 π 1 ∫ − π π X ∗ ( ω ) [ n = − ∞ ∑ ∞ x ( n ) e − jωn ] d ω = 2 π 1 ∫ − π π ∣ X ( ω ) ∣ 2 d ω E x = 1 2 π ∫ − π π ∣ X ( ω ) ∣ 2 d ω E_x= \frac{1}{2\pi}\int_{-\pi}^{\pi} \left|X(\omega)\right|^2d\omega E x = 2 π 1 ∫ − π π ∣ X ( ω ) ∣ 2 d ω X ( ω ) = ∣ X ( ω ) ∣ e j θ ( ω ) X(\omega)=|X(\omega)|e^{j\theta(\omega)} X ( ω ) = ∣ X ( ω ) ∣ e j θ ( ω ) donde:
∣ X ( ω ) ∣ : Espectro de magnitud θ ( ω ) = ∠ ω : Espectro de magnitud \begin{align*}
\left|X(\omega)\right|:&\quad \text{Espectro de magnitud}\\
\theta(\omega)=\angle\omega:&\quad \text{Espectro de magnitud}
\end{align*} ∣ X ( ω ) ∣ : θ ( ω ) = ∠ ω : Espectro de magnitud Espectro de magnitud S x x ( ω ) = ∣ X ( ω ) ∣ 2 S_{xx}(\omega)=|X(\omega)|^2 S xx ( ω ) = ∣ X ( ω ) ∣ 2 se denomina Espectro de densidad de energía de x ( n ) x(n) x ( n ) . S x x ( ω ) S_{xx}(\omega) S xx ( ω ) no contiene información de la fase.
Si x ( n ) x(n) x ( n ) es una señal real, entonces:
X ∗ ( ω ) = X ( ω ) ⟹ { ∣ X ( − ω ) ∣ = ∣ X ( ω ) ∣ ∠ X ( − ω ) = − ∠ X ( ω ) S x x ( − ω ) = S x x ( ω ) X^{*}(\omega)=X(\omega)\implies \left\{
\begin{align*}
|X(-\omega)|&=|X(\omega)|\\
\angle X(-\omega)&=-\angle X(\omega)\\
S_{xx}(-\omega)&=S_{xx}(\omega)
\end{align*}
\right. X ∗ ( ω ) = X ( ω ) ⟹ ⎩ ⎨ ⎧ ∣ X ( − ω ) ∣ ∠ X ( − ω ) S xx ( − ω ) = ∣ X ( ω ) ∣ = − ∠ X ( ω ) = S xx ( ω ) Ejemplo: densidad espectral de energía de una señal exponencial ¶ Calcule y grafique el espectro de densidad de energía S x x ( ω ) S_{xx}(\omega) S xx ( ω ) de la señal:
x ( ω ) = a n μ ( n ) , 0 < a < 1 x(\omega)=a^{n}\mu(n), \quad 0<a<1 x ( ω ) = a n μ ( n ) , 0 < a < 1 La DTFT de x ( n ) x(n) x ( n ) resulta:
X ( ω ) = ∑ n = − ∞ ∞ x ( n ) e − j ω n = ∑ n = − ∞ ∞ a n e − j ω n = ∑ n = − ∞ ∞ ( a e − j ω ) n = 1 1 − a e − j ω \begin{align*}
X(\omega)&=\sum_{n=-\infty}^{\infty}x(n)e^{-j\omega n}=\sum_{n=-\infty}^{\infty}a^ne^{-j\omega n}\\
&=\sum_{n=-\infty}^{\infty}\left(ae^{-j\omega}\right)^n=\frac{1}{1-ae^{-j\omega}}\\
\end{align*} X ( ω ) = n = − ∞ ∑ ∞ x ( n ) e − jωn = n = − ∞ ∑ ∞ a n e − jωn = n = − ∞ ∑ ∞ ( a e − jω ) n = 1 − a e − jω 1 Luego
S x x = ∣ X ( ω ) ∣ 2 = ∣ 1 1 + a cos ( ω ) + j a sin ( ω ) ∣ 2 = 1 ( 1 − cos ( ω ) ) 2 + a 2 sin 2 ( ω ) = 1 1 + a 2 − 2 a cos ( ω ) \begin{align*}
S_{xx}&=\left|X(\omega)\right|^2=\left|\frac{1}{1+a\cos(\omega)+ja\sin(\omega)}\right|^2\\
&=\frac{1}{\left(1-\cos(\omega)\right)^2+a^2\sin^2(\omega)}\\
&=\frac{1}{1+a^2-2a\cos(\omega)}
\end{align*} S xx = ∣ X ( ω ) ∣ 2 = ∣ ∣ 1 + a cos ( ω ) + ja sin ( ω ) 1 ∣ ∣ 2 = ( 1 − cos ( ω ) ) 2 + a 2 sin 2 ( ω ) 1 = 1 + a 2 − 2 a cos ( ω ) 1 Implementamos un código de Python que utilice el resultado obtenido para calcular S x x S_{xx} S xx .
import numpy as np
import matplotlib.pyplot as plt
def espectro1(w, a=0.8):
return 1/(1+a**2-2*a*np.cos(w))
La función anterior nos devuelve el valor de S x x S_{xx} S xx para un ω \omega ω y un a a a dado (por defecto a = 0.8 a=0.8 a = 0.8 ).
En el siguiente bloque de código calculamos S x x S_{xx} S xx para valores de ω \omega ω distribuidos de manera lineal entre − π -\pi − π y π \pi π y los graficamos.
import numpy as np
omega=np.linspace(-np.pi, np.pi, 1001, endpoint=True)
sxx1=np.empty(omega.shape)
for i, w in enumerate(omega):
sxx1[i]=espectro1(w)
plt.plot(omega, sxx1)
plt.ylabel(r"$S_{xx}$")
plt.xlabel(r"$\omega$")
plt.grid();Ejemplo: densidad espectral de energía de una señal cuadrada ¶ Determine la DTFT y el espectro de densidad de energía de la señal:
x ( n ) = { A , 0 ≤ n ≤ L − 1 0 , c.o.c. x(n)=\left\{
\begin{align*}
A, &\quad 0\leq n \leq L-1\\
0, &\quad \text{c.o.c.}
\end{align*}
\right. x ( n ) = { A , 0 , 0 ≤ n ≤ L − 1 c.o.c. La DTFT resulta:
X ( ω ) = ∑ n = − ∞ ∞ x ( n ) e − j ω n = A ∑ n = 0 L − 1 e − j ω n = A ∑ n = 0 L − 1 ( e − j ω ) n = A 1 − e − j ω L 1 − e − j ω = A e − j ω L / 2 e j ω L / 2 − e − j ω L / 2 e − j ω L / 2 e − j ω / 2 e j ω / 2 − e − j ω / 2 e − j ω / 2 = A e − j ω L / 2 − j ω / 2 sin ( ω L / 2 ) sin ( ω / 2 ) = A e − j ω ( L − 1 ) / 2 sin ( ω L / 2 ) sin ( ω / 2 ) \begin{align*}
X(\omega)&=\sum_{n=-\infty}^{\infty}x(n)e^{-j\omega n} = A\sum_{n=0}^{L-1}e^{-j\omega n}\\
& =A\sum_{n=0}^{L-1}\left(e^{-j\omega}\right)^n=A\frac{1-e^{-j\omega L}}{1-e^{-j\omega}} \\
& =A\frac{e^{-j\omega L/2}e^{j\omega L/2}-e^{-j\omega L/2}e^{-j\omega L/2}}{e^{-j\omega /2}e^{j\omega /2}-e^{-j\omega /2}e^{-j\omega /2}} \\
& =A\frac{e^{-j\omega L/2}}{-j\omega /2}\frac{\sin(\omega L/2)}{\sin(\omega /2)}\\
& =Ae^{-j\omega (L-1)/2}\frac{\sin(\omega L/2)}{\sin(\omega /2)}\\
\end{align*} X ( ω ) = n = − ∞ ∑ ∞ x ( n ) e − jωn = A n = 0 ∑ L − 1 e − jωn = A n = 0 ∑ L − 1 ( e − jω ) n = A 1 − e − jω 1 − e − jω L = A e − jω /2 e jω /2 − e − jω /2 e − jω /2 e − jω L /2 e jω L /2 − e − jω L /2 e − jω L /2 = A − jω /2 e − jω L /2 sin ( ω /2 ) sin ( ω L /2 ) = A e − jω ( L − 1 ) /2 sin ( ω /2 ) sin ( ω L /2 ) El espectro de densidad de energía resulta:
S x x = ∣ X ( ω ) ∣ 2 = A 2 sin 2 ( ω L / 2 ) sin 2 ( ω / 2 ) S_{xx}=|X(\omega)|^2 = A^2 \frac{\sin^2(\omega L/2)}{\sin^2(\omega/2)} S xx = ∣ X ( ω ) ∣ 2 = A 2 sin 2 ( ω /2 ) sin 2 ( ω L /2 ) def espectro2(w, L=10, A=1):
sxx=(A**2)*(np.sin(w*L/2)**2)/(np.sin(w/2)**2)
xw=A*(np.exp(-1j*w*(L-1)/2))*np.sin(w*L/2)/np.sin(w/2)
return sxx, np.abs(xw), np.angle(xw)
omega=np.linspace(-np.pi, np.pi, 1000, endpoint=True) # uso mil puntos y evito la evaluación en w=0, que queda dividiendo por 0
shape=omega.shape[0], 3 # las tuplas se definen con comas, el paréntesis no es necesario
sxx21=np.empty(shape)
sxx22=np.empty(shape)
sxx23=np.empty(shape)
for i, w in enumerate(omega):
sxx21[i,:]=espectro2(w, L=10)
sxx22[i,:]=espectro2(w, L=20)
sxx23[i,:]=espectro2(w, L=100)
fig, ax=plt.subplots(3,1, figsize=(6,6))
ax[0].set_title("Espectro de densidad de energía")
ax[0].plot(omega, sxx21[:,0], label="L=10")
ax[0].legend()
ax[1].plot(omega, sxx22[:,0], label="L=20")
ax[1].legend()
ax[2].plot(omega, sxx23[:,0], label="L=100")
ax[2].legend()
ax[2].set_xlabel(r"$\omega$")
for i in ax:
i.grid()fig, ax=plt.subplots(3,1, figsize=(6,6))
ax[0].set_title("Espectro de amplitud")
ax[0].plot(omega, sxx21[:,1], label="L=10")
ax[0].legend()
ax[1].plot(omega, sxx22[:,1], label="L=20")
ax[1].legend()
ax[2].plot(omega, sxx23[:,1], label="L=100")
ax[2].legend()
ax[2].set_xlabel(r"$\omega$")
for i in ax:
i.grid()fig, ax=plt.subplots(3,1, figsize=(6,6))
ax[0].set_title("Espectro de fase")
ax[0].plot(omega, sxx21[:,2], label="L=10")
ax[0].legend()
ax[1].plot(omega, sxx22[:,2], label="L=20")
ax[1].legend()
ax[2].plot(omega, sxx23[:,2], label="L=100")
ax[2].legend()
ax[2].set_xlabel(r"$\omega$")
for i in ax:
i.grid()Podemos notar que pendiente abrupta en la fase se da en ± 2 π L \pm \frac{2\pi}{L} ± L 2 π y que los máximos de amplitud son valores iguales a L . A L.A L . A .
Propiedades de la DTFT ¶ a 1 x 1 ( n ) + a 2 x 2 ( n ) ⟷ a 1 X 1 ( ω ) + a 2 X 2 ( ω ) a_1 x_1(n)+a_2x_2(n) \longleftrightarrow a_1X_1(\omega)+a_2X_2(\omega) a 1 x 1 ( n ) + a 2 x 2 ( n ) ⟷ a 1 X 1 ( ω ) + a 2 X 2 ( ω ) x ( n − k ) ⟷ e − j ω k X ( ω ) x(n-k) \longleftrightarrow e^{-j\omega k}X(\omega) x ( n − k ) ⟷ e − jωk X ( ω ) x ( − n ) ⟷ X ( − ω ) x(-n) \longleftrightarrow X(-\omega) x ( − n ) ⟷ X ( − ω ) x 1 ( n ) ∗ x 2 ( n ) ⟷ X 1 ( ω ) . X 2 ( ω ) x_1(n)*x_2(n) \longleftrightarrow X_1(\omega).X_2(\omega) x 1 ( n ) ∗ x 2 ( n ) ⟷ X 1 ( ω ) . X 2 ( ω ) e j ω 0 n x ( n ) ⟷ X ( ω − ω 0 ) e^{j\omega_0n}x(n) \longleftrightarrow X(\omega-\omega_0) e j ω 0 n x ( n ) ⟷ X ( ω − ω 0 ) x ( n ) cos ω 0 ⟷ 1 2 [ X ( ω + ω 0 ) + X ( ω − ω 0 ) ] x(n)\cos\omega_0 \longleftrightarrow \frac{1}{2}\left[X(\omega+\omega_0)+X(\omega-\omega_0)\right] x ( n ) cos ω 0 ⟷ 2 1 [ X ( ω + ω 0 ) + X ( ω − ω 0 ) ] x 1 ( n ) . x 2 ( n ) ⟷ 1 2 π ∫ π π X 1 ( λ ) X 2 ( ω − λ ) d λ x_1(n).x_2(n) \longleftrightarrow \frac{1}{2\pi}\int_{\pi}^{\pi}X_1(\lambda)X_2(\omega-\lambda)d\lambda x 1 ( n ) . x 2 ( n ) ⟷ 2 π 1 ∫ π π X 1 ( λ ) X 2 ( ω − λ ) d λ n x ( n ) ⟷ d X ( ω ) d ω nx(n) \longleftrightarrow \frac{dX(\omega)}{d\omega} n x ( n ) ⟷ d ω d X ( ω ) r x 1 x 2 ( n ) ⟷ X 1 ( ω ) X 2 ( − ω ) r_{x_1x_2}(n)\longleftrightarrow X_1(\omega)X_2(-\omega) r x 1 x 2 ( n ) ⟷ X 1 ( ω ) X 2 ( − ω ) r x x ( l ) ⟷ S x x ( ω ) r_{xx}(l)\longleftrightarrow S_{xx}(\omega) r xx ( l ) ⟷ S xx ( ω ) El espectro de densidad de energía de una señal de energía finita es la transformada de Fourier en Tiempo Discreto de su secuencia de autocorrelación.
∑ n = ∞ ∞ x 1 ( n ) x 2 ∗ ( n ) = 1 2 ∫ − π π X 1 ( ω ) X 2 ∗ ( ω ) d ω \sum_{n=\infty}^{\infty}x_1(n)x^*_2(n)=\frac{1}{2}\int_{-\pi}^{\pi}X_1(\omega)X_2^*(\omega)d\omega n = ∞ ∑ ∞ x 1 ( n ) x 2 ∗ ( n ) = 2 1 ∫ − π π X 1 ( ω ) X 2 ∗ ( ω ) d ω DTFT de Señales Periódicas ¶ Si se admiten como posibles transformadas los impulsos , puede ampliarse la clase de funciones en tiempo que son transformables Fourier para incluir a las funciones periódicas.
Consideremos la señal periódica senoidal
x ( n ) = e j ω 0 n x(n)=e^{j\omega_0}n x ( n ) = e j ω 0 n Su transformada de Fourier (calculada aplicando la definición) resulta:
X ( ω ) = ∑ n = − ∞ ∞ e j ω 0 n e j ω n = ∑ n = − ∞ e − j ( ω − ω 0 ) n X(\omega)=\sum_{n=-\infty}^{\infty}e^{j\omega_0n}e^{j\omega n}=\sum_{n=-\infty}e^{-j(\omega-\omega_0)n} X ( ω ) = n = − ∞ ∑ ∞ e j ω 0 n e jωn = n = − ∞ ∑ e − j ( ω − ω 0 ) n Puede probarse que resulta un tren de impulsos de la forma:
X ( ω ) = 2 π ∑ l = − ∞ ∞ δ ( ω − ω 0 − 2 π l ) X(\omega)=2\pi\sum_{l=-\infty}^{\infty}\delta(\omega-\omega_0-2\pi l) X ( ω ) = 2 π l = − ∞ ∑ ∞ δ ( ω − ω 0 − 2 π l ) Para ver esto, basta con calcular la Transformada Inversa y verificar que es igual a x ( n ) x(n) x ( n ) . En efecto
1 2 ∫ − π π X ( ω ) e j ω n d ω = ∫ − π π ∑ l = − ∞ ∞ δ ( ω − ω 0 − 2 π l ) e j ω n d w = ∫ − π π e j ω n δ ( ω − ω 0 − 2 π l ) d ω = e j ( ω 0 + 2 π l ) n = e j ω 0 n = x ( n ) \begin{align*}
\frac{1}{2}\int_{-\pi}^{\pi}X(\omega)e^{j\omega n}d\omega&=\int_{-\pi}^{\pi}\sum_{l=-\infty}^{\infty}\delta(\omega-\omega_0-2\pi l)e^{j\omega n}dw\\
&=\int_{-\pi}^{\pi}e^{j\omega n}\delta(\omega-\omega_0-2\pi l)d\omega\\
&=e^{j(\omega_0+2\pi l)n}\\
&=e^{j\omega_0 n}\\
&=x(n)
\end{align*} 2 1 ∫ − π π X ( ω ) e jωn d ω = ∫ − π π l = − ∞ ∑ ∞ δ ( ω − ω 0 − 2 π l ) e jωn d w = ∫ − π π e jωn δ ( ω − ω 0 − 2 π l ) d ω = e j ( ω 0 + 2 π l ) n = e j ω 0 n = x ( n ) En el pasaje del segundo renglón se usó el hecho de que siempre existe un indice l l l de manera que la frecuencia ( ω 0 + 2 π l ) (\omega_0+2\pi l) ( ω 0 + 2 π l ) cae en el intervalo [ π , − π ] [\pi, -\pi] [ π , − π ] .
Consideremos ahora una señal x ( n ) x(n) x ( n ) periódica con período N N N , representada con su Serie de Fourier
x ( n ) = ∑ k = 0 N − 1 c k e j 2 π k n N x(n)=\sum_{k=0}^{N-1}c_{k}e^{j\dfrac{2\pi kn}{N}} x ( n ) = k = 0 ∑ N − 1 c k e j N 2 πkn Su transformada de Fourier resulta entonces:
X ( ω ) = 2 π ∑ k = 0 N − 1 c k ∑ l = − ∞ ∞ δ ( ω 2 π k N − 2 π l ) X(\omega)=2\pi\sum_{k=0}^{N-1}c_k\sum_{l=-\infty}^{\infty}\delta\left(\omega\dfrac{2\pi k}{N}-2\pi l\right) X ( ω ) = 2 π k = 0 ∑ N − 1 c k l = − ∞ ∑ ∞ δ ( ω N 2 πk − 2 π l ) Es decir que la Transformada de Fourier de una señal periódica puede calcularse en forma directa a partir de sus coeficientes de Fourier c k c_k c k .
Ejemplo señal senoidal ¶ x ( n ) = cos ω 0 n = 1 2 e j ω 0 n + 1 2 e − j ω 0 n x(n)=\cos\omega_0n=\frac{1}{2}e^{j\omega_0n}+\frac{1}{2}e^{-j\omega_0n} x ( n ) = cos ω 0 n = 2 1 e j ω 0 n + 2 1 e − j ω 0 n La transformada de Fourier resulta entonces:
X ( ω ) = π ∑ l = − ∞ ∞ δ ( ω − ω 0 − 2 π l ) + π ∑ l = ∞ ∞ δ ( ω + ω 0 − 2 π l ) X(\omega)=\pi\sum_{l=-\infty}^{\infty}\delta(\omega-\omega_0-2\pi l)+\pi \sum_{l=\infty}^{\infty}\delta(\omega+\omega_0-2\pi l) X ( ω ) = π l = − ∞ ∑ ∞ δ ( ω − ω 0 − 2 π l ) + π l = ∞ ∑ ∞ δ ( ω + ω 0 − 2 π l ) Ejemplo tren de impulsos ¶ x ( n ) = ∑ k = − ∞ ∞ δ ( n − k N ) x(n)=\sum_{k=-\infty}^{\infty}\delta(n-kN) x ( n ) = k = − ∞ ∑ ∞ δ ( n − k N ) Los coeficientes de Fourier resultan
c k = 1 N ∑ n = 0 N − 1 x ( n ) e − j 2 π k n N = 1 N ; ∀ k c_k=\frac{1}{N}\sum_{n=0}^{N-1}x(n)e^{-j\dfrac{2\pi k n}{N}}=\frac{1}{N}; \quad \forall k c k = N 1 n = 0 ∑ N − 1 x ( n ) e − j N 2 πkn = N 1 ; ∀ k por lo que la Transformada de Fourier resulta:
X ( ω ) = 2 π N ∑ k = 0 N − 1 ∑ l = − ∞ ∞ δ ( ω − 2 π k N − 2 π l ) X(\omega)=\frac{2\pi}{N}\sum_{k=0}^{N-1}\sum_{l=-\infty}^{\infty}\delta\left(\omega-\frac{2\pi k}{N}-2\pi l\right) X ( ω ) = N 2 π k = 0 ∑ N − 1 l = − ∞ ∑ ∞ δ ( ω − N 2 πk − 2 π l )