Está en la página 1de 33

APUNTES SEÑALES Y SISTEMAS IE

Elaborado por:
- Dr. Luis A. Raygoza P.
-
-

3 UNIDAD TEMÁTICA III: TRANSFORMADA DE FOURIER Y SISTEMAS LTI (24 HORAS)

3.1 Introducción (1/2 horas).


Mencionar la historia e importancia y utilidad de la descomposición de señales en componentes frecuenciales

3.2 Series de Fourier (5.5 horas).


3.2.1 Conceptos básicos

−1 𝑛 = 𝑖𝑚𝑝𝑎𝑟
cos(2𝑛𝜋) = 𝑒 ± =1 cos(𝑛𝜋) = 𝑒 = (−1) = 𝑠𝑒𝑛(2𝑛𝜋) = 0
1 𝑛 = 𝑝𝑎𝑟

𝑤 = 2𝜋𝑓 = 𝑒 = cos(𝑥) + 𝑗𝑠𝑒𝑛(𝑥)

𝑐𝑜𝑠 = 𝑠𝑒𝑛 =

1 𝑛 =1
−2 𝑛 = 𝑖𝑚𝑝𝑎𝑟
2𝑛 − 1 = 3 𝑛 =2 (−1) − 1 =
5 𝑛 =3 0 𝑛 = 𝑝𝑎𝑟
7 𝑛 =4

1 𝑛 = 𝑖𝑚𝑝𝑎𝑟 0 𝑛 = 𝑖𝑚𝑝𝑎𝑟
(−1) = (−1) + 1 =
−1 𝑛 = 𝑝𝑎𝑟 2 𝑛 = 𝑝𝑎𝑟

3.2.2 Expresiones de la serie exponencial y las series sinusoidales


Cualquier señal periódica se puede representar como una suma de señales senoidales o exponenciales de la
forma:

a) Serie trigonométrica de Fourier tipo 1

𝑎 2𝑛𝜋𝑡 2𝑛𝜋𝑡
𝑓(𝑡) =
+ 𝑎 𝑐𝑜𝑠 + 𝑏 𝑠𝑒𝑛
2 𝑇 𝑇
𝑎 2𝜋𝑡 4𝜋𝑡 6𝜋𝑡 2𝜋𝑡 4𝜋𝑡 6𝜋𝑡
𝑓(𝑡) = + 𝑎 𝑐𝑜𝑠 + 𝑎 𝑐𝑜𝑠 + 𝑎 𝑐𝑜𝑠 + ⋯ + 𝑏 𝑠𝑒𝑛 + 𝑏 𝑠𝑒𝑛 + 𝑏 𝑠𝑒𝑛 +⋯
2 𝑇 𝑇 𝑇 𝑇 𝑇 𝑇

Donde:
/
𝑎 = ∫ /
𝑓(𝑡)𝑑𝑡 = ∫ 𝑓(𝑡)𝑑𝑡 componente de DC o promedio

/
2 2𝑛𝜋𝑡 2 2𝑛𝜋𝑡
𝑎 = 𝑓(𝑡)𝑐𝑜𝑠 𝑑𝑡 = 𝑓(𝑡)𝑐𝑜𝑠 𝑑𝑡
𝑇 / 𝑇 𝑇 𝑇

/
2 2𝑛𝜋𝑡 2 2𝑛𝜋𝑡
𝑏 = 𝑓(𝑡)𝑠𝑒𝑛 𝑑𝑡 = 𝑓(𝑡)𝑠𝑒𝑛 𝑑𝑡
𝑇 / 𝑇 𝑇 𝑇
b) Serie exponencial

𝑎 𝑎 − 𝑗𝑏 𝑎 + 𝑗𝑏
𝑓(𝑡) = + 𝑒 + 𝑒
2 2 2

Sea 𝐴 = entonces:

𝑓(𝑡) = 𝐴 + {𝐴 𝑒 + 𝐴∗ 𝑒 }= 𝐴 𝑒

𝑓(𝑡) =. . . −𝐴 𝑒 −𝐴 𝑒 +𝐴 +𝐴 𝑒 +𝐴 𝑒 +⋯
Donde:

/
𝐴 = = ∫ /
𝑓(𝑡)𝑒 𝑑𝑡 = ∫ 𝑓(𝑡)𝑒 𝑑𝑡

𝜃 = 𝑡𝑔 ∅ = 𝑡𝑔 ángulos de fase armónica

c) Serie trigonométrica de Fourier tipo 2

De la serie exponencial se sustituye 𝐶 𝑒 por sus equivalentes seno y coseno, se obtiene:

𝑓(𝑡) = 𝐴 + |𝐴 |cos(𝑛𝑤 𝑡 − 𝜃 ) = 𝐴 + |𝐴 |sen(𝑛𝑤 𝑡 − ∅ )

𝑓(𝑡) = 𝐴 + |𝐴 | cos(𝑤 𝑡 − 𝜃 ) + |𝐴 | cos(2𝑤 𝑡 − 𝜃 ) + |𝐴 | cos(3𝑤 𝑡 − 𝜃 ) + ⋯

3.2.3 Cálculo y gráficas de coeficientes espectrales

Si f(t)=PAR -> su serie solo tiene coeficientes a0 y an


Si f(t)=IMPAR -> su serie solo tiene coeficientes a0 y bn
Si f(t)=NINGUNO -> su serie solo tiene coeficientes a0, an y bn

f(t)PAR x f(t)PAR = f(t)PAR


f(t)PAR x f(t)IMPAR = 0
f(t)IMPAR x f(t)PAR = f(t)IMPAR
f(t)IMPAR x f(t)IMPAR = f(t)PAR

Conversión:
𝑏 = −2𝐼𝑚(𝐴 ) 𝑎 = 2𝑅𝑒(𝐴 )
si 𝑎 = 0 entonces 𝜃 = 𝜋/2

Espectro:
𝐶 = = |𝐴 | |𝐶 | = 𝑎 + 𝑏 = 2|𝐴 |
Ejemplo: Obtener las series de Fourier y el espectro de la siguiente señal

𝑉 0 < 𝑤𝑡 < 𝜋
𝑓(𝑡) =
−𝑉 𝜋 < 𝑤𝑡 < 2𝜋

a) Serie trigonométrica

Es una señal impar, por lo tanto solo tiene coeficientes bn y w=2π/T, T=2π
2 2𝑛𝜋𝑡 1 2𝑉
𝑏 = 𝑓(𝑡)𝑠𝑒𝑛 𝑑𝑡 = 𝑉𝑠𝑒𝑛(𝑛𝑤𝑡) 𝑑(𝑤𝑡) + −𝑉𝑠𝑒𝑛(𝑛𝑤𝑡)𝑑(𝑤𝑡) = (1 − cos(𝑛𝜋))
𝑇 𝑇 𝜋 𝑛𝜋

n 𝑐𝑜𝑠(𝑛𝜋) (1 − 𝑐𝑜𝑠(𝑛𝜋))
0 1 0
1 -1 2
2 1 0
3 -1 2
4 1 0

Entonces (1 − 𝑐𝑜𝑠(𝑛𝜋)) es 2 para n impar y 0 para n par, por lo tanto:


𝑏 = para n impar y 𝑏 = 0 para n par y tiene un valor promedio de a0=0 entonces:

2𝜋𝑡 4𝜋𝑡 6𝜋𝑡 4𝑉 4𝑉 4𝑉


𝑓(𝑡) = 𝑏 𝑠𝑒𝑛 + 𝑏 𝑠𝑒𝑛 + 𝑏 𝑠𝑒𝑛 +⋯= 𝑠𝑒𝑛(𝑤𝑡) + 𝑠𝑒𝑛(3𝑤𝑡) + 𝑠𝑒𝑛(5𝑤𝑡) + ⋯
𝑇 𝑇 𝑇 𝜋 3𝜋 5𝜋

b) Serie exponencial

An Solo tiene términos imaginarios puros por ser impar.

1 1 𝑉
𝐴 = 𝑓(𝑡)𝑒 𝑑𝑡 = −𝑉𝑒 𝑑(𝑤𝑡) + 𝑉𝑒 𝑑(𝑤𝑡) = 𝑗 (𝑒 − 1)
𝑇 2𝜋 𝑛𝜋

Se sabe que 𝑒 = 1 para n par y An=0. Además 𝑒 = 0 para n impar y 𝐴 = −𝑗 , entonces:

2𝑉 2𝑉 2𝑉 2𝑉
𝑓(𝑡) =. . . +𝑗 𝑒 +𝑗 𝑒 +0−𝑗 𝑒 −𝑗 𝑒 −⋯
3𝜋 𝜋 𝑛𝜋 𝑛𝜋

c) Espectro 𝐶 = = |𝐴 | = 0

n |𝐶 | = 𝑎 + 𝑏 = 2|𝐴 | = 𝑏
0 0
1 4V/π
2 0
3 4V/(3π)
4 0
5 4V/(5π)
Ejemplo: Obtener las series de Fourier y el espectro de la siguiente señal

𝑉 + (𝑉/𝜋)𝑤𝑡 −𝜋 < 𝑤𝑡 < 0


𝑓(𝑡) =
𝑉 − (𝑉/𝜋)𝑤𝑡 0 < 𝑤𝑡 < 𝜋

a) Serie trigonométrica

Es una señal par, por lo tanto solo tiene coeficientes an y w=2π/T, T=2π
2 2𝑛𝜋𝑡 1 𝑉 𝑉
𝑎 = 𝑓(𝑡)𝑐𝑜𝑠 𝑑𝑡 = 𝑉+ 𝑤𝑡𝑐𝑜𝑠(𝑛𝑤𝑡) 𝑑(𝑤𝑡) + 𝑉− 𝑤𝑡𝑐𝑜𝑠(𝑛𝑤𝑡) 𝑑(𝑤𝑡)
𝑇 𝑇 𝜋 𝜋 𝜋

𝑎 = (1 − cos(𝑛𝜋)) = para n impar y 𝑎 = 0 para n par.

Por simple observación se deduce que el valor promedio es a0=V/2 entonces:

𝑉 4𝑉 4𝑉 4𝑉
𝑓(𝑡) = + 𝑐𝑜𝑠(𝑤𝑡) + 𝑐𝑜𝑠(3𝑤𝑡) + 𝑐𝑜𝑠(5𝑤𝑡) + ⋯
2 𝜋 9𝜋 25𝜋

b) Serie exponencial

An Solo tiene términos reales puros por ser par.

𝐴 = ∫ 𝑉+ 𝑤𝑡𝑒 𝑑(𝑤𝑡) + ∫ 𝑉− 𝑤𝑡𝑒 𝑑(𝑤𝑡) = (1 − 𝑒 )= para n=impar

entonces:

2𝑉 2𝑉 𝑉 2𝑉 2𝑉
𝑓(𝑡) =. . . + 𝑒 + 𝑒 + + 𝑒 + 𝑒 +⋯
9𝜋 𝜋 2 𝜋 9𝜋

c) Espectro 𝐶 = = |𝐴 | = 0

n |𝐶 | = 𝑎 + 𝑏 = 2|𝐴 | = 𝑎
0 0
1 4V/π
2 0
3 4V/(9π)
4 0
5 4V/(25π)
Ejemplo: Obtener las series de Fourier y el espectro de la siguiente señal

𝑉𝑠𝑒𝑛(𝑤𝑡) 0 < 𝑤𝑡 < 𝜋


𝑓(𝑡) =
0 𝜋 < 𝑤𝑡 < 2𝜋

a) Serie trigonométrica

Ni es par, ni impar, por lo tanto tiene coeficientes an y bn, w=2π/T, T=2π


𝑎 = ∫ 𝑉𝑠𝑒𝑛(𝑤𝑡)𝑐𝑜𝑠(𝑛𝑤𝑡) 𝑑(𝑤𝑡) = ( (cos(𝑛𝜋) + 1)
)
n 𝑐𝑜𝑠(𝑛𝜋) (𝑐𝑜𝑠(𝑛𝜋) + 1)
0 1 2
1 -1 0
2 1 2
3 -1 0
4 1 2

𝑎 = ( )
para n=par , para n=1 se tiene 𝑎 = ∫ 𝑉𝑠𝑒𝑛(𝑤𝑡)𝑐𝑜𝑠(𝑤𝑡) 𝑑(𝑤𝑡) = 0

𝑏 = ∫ 𝑉𝑠𝑒𝑛(𝑤𝑡)𝑠𝑒𝑛(𝑛𝑤𝑡) 𝑑(𝑤𝑡) = 0 para todo n>1, para n=1:


1 𝑉
𝑏 = 𝑉𝑠𝑒𝑛(𝑤𝑡) 𝑑(𝑤𝑡) =
𝜋 2

Por simple observación se deduce que el valor promedio es a0=V/π entonces:

𝑉 𝑉 2𝑉 2𝑉 2𝑉
𝑓(𝑡) = + 𝑠𝑒𝑛(𝑤𝑡) − 𝑐𝑜𝑠(2𝑤𝑡) − 𝑐𝑜𝑠(4𝑤𝑡) − 𝑐𝑜𝑠(6𝑤𝑡) + ⋯
𝜋 2𝜋 3𝜋 15𝜋 35𝜋

b) Serie exponencial

( )
𝐴 = ∫ 𝑉𝑠𝑒𝑛(𝑤𝑡)𝑒 𝑑(𝑤𝑡) = = para n=par y An=0 para n impar, excepto n=1
( ) ( )

Donde 𝐴 = ∫ 𝑉𝑠𝑒𝑛(𝑤𝑡)𝑒 𝑑(𝑤𝑡) = −𝑗

𝑉 𝑉 𝑉 𝑉 𝑉 𝑉 𝑉
𝑓(𝑡) =. . . − 𝑒 − 𝑒 +𝑗 𝑒 + −𝑗 𝑒 − 𝑒 − 𝑒 −⋯
15𝜋 3𝜋 4 𝜋 4 3𝜋 15𝜋

c) Espectro 𝐶 = = |𝐴 | = 0

n |𝐶 | = 𝑎 + 𝑏 = 2|𝐴 |
0 V/π
1 V/2
2 2𝑉/(3𝜋)
3 0
4 2𝑉/(15𝜋)
5 0
6 2𝑉/(35𝜋)
- Aplicar la Actividad 1: Series de Fourier, valor 3 parcial 3
- Realizar otra actividad con generador, bocina y osciloscopio con FFT

3.3 Respuesta en frecuencia (4 horas). P226(255)-231,239-244


Es posible calcular la respuesta de un sistema en el dominio del tiempo en estado estacionario por medio del
análisis de Fourier (dominio de la frecuencia) y variable compleja.

En el dominio del tiempo:

En el dominio del tiempo la respuesta y(t) se calcula por medio de la convolución entre la entrada x(t) y el
sistema h(t).

En el dominio de la frecuencia:

En el dominio de la frecuencia la respuesta en frecuencia se calcula por medio de una simple multiplicación
entre la entrada y el sistema.

1. Obtener la serie de Fourier de la señal de entrada x(t) -> X(jw)


2. Obtener la función de transferencia del sistema H(jw) por medio de variable compleja
3. Multiplicar fasorialmente cada punto de X(jw) por su correspondiente en H(jw) para obtener
Y(jw) = X(jw)H(jw) en forma de serie de Fourier.
4. Obtener la gráfica correspondiente en el tiempo a la salida y(t)

- Aplicar la Actividad 2: Respuesta en frecuencia, valor 2 parcial 3


3.4 Transformada de Fourier (5 horas). P285(313)-289, 300-314,322-330

3.4.1 Interpretación como serie para señales no periódicas


Considerar la serie de Fourier de la siguiente señal x(t) = PT(t) = Π(t):

Dicha señal tiene un periodo fundamental T y frecuencia fundamental 𝜔 = 2𝜋/𝑇. Debido a que es una señal
par conviene integrar desde –T/2 ≤ t ≤ T/2 para coeficientes reales an

1 1 2 𝑒 −𝑒 2𝑠𝑒𝑛(𝑛𝜔 𝑇 )
𝑎 = 𝑒 𝑑𝑡 = − 𝑒 = =
𝑇 𝑗𝑛𝜔 𝑇 𝑛𝜔 𝑇 2𝑗 𝑛𝜔 𝑇

Hay que señalar la similitud con la señal sinc(x)

𝑠𝑒𝑛(𝑥)
𝑠𝑖𝑛𝑐(𝑥) =
𝑥
Si para n diferente de cero se tiene que:
𝑠𝑒𝑛(𝑛𝜔 𝑇 )
𝑎 =
𝑛𝜋

Graficando el espectro para T=4T1 donde Tak es la envolvente.


Para T=8T1

Para T=16T1

Se aprecia que a medida que T se incrementa o que 𝜔 = 2𝜋/𝑇 disminuye, la envolvente se muestrea cada
vez más estrecho y la señal original se aproxima a una señal pulso rectangular o señal aperiódica en el
dominio del tiempo. En particular, si una señal x(t) tiene duración finita (es aperiódica), es decir x(t)=0 para
|t| >T1, entonces se puede construir una señal periódica 𝑥 (𝑡) al repetir x(t) cada T periodo.

El análisis de 𝑥 (𝑡) se realiza al igual que x(t) para un periodo T.

𝑥 (𝑡) = 𝑎 𝑒

/ /
1 1 1 1
𝑎 = 𝑥 (𝑡)𝑒 𝑑𝑡 = 𝑥(𝑡)𝑒 𝑑𝑡 = 𝑥(𝑡)𝑒 𝑑𝑡 = 𝑋(𝑗𝜔)
𝑇 𝑇 𝑇 𝑇
/ /

Donde

𝑋(𝑗𝜔) = 𝑥(𝑡)𝑒 𝑑𝑡

Entonces se define la Transformada Continua de Fourier como:

𝐹{𝑓(𝑡)} = 𝐹(𝑗𝜔) = 𝑓(𝑡)𝑒 𝑑𝑡


3.4.2 Transformada inversa
La Transformada Inversa de Fourier se define como: F

1
𝑓(𝑡) = 𝐹 {𝐹(𝑗𝑤)} = 𝐹(𝑗𝜔)𝑒 𝑑𝜔
2𝜋

3.4.3 Ejercicios de la transformada para varias señales

Ejemplo: Obtener la TF de 𝑥(𝑡) = 𝑒 𝑢(𝑡) para a>0 y sus espectro.

Ahora se obtienen las funciones para graficar el espectro:

Ejemplo:
Ejemplo: Impulso unitario Considerar que 𝛿(𝑡) = lim 𝑃 (𝑡)

Entonces

Ejemplo: Señal rectangular x(t) = PT(t) = Π(t)

Ejemplo: Considerar la transformada de Fourier Pw(jw) de x(t) y obtenga su inversa:


Pero

Entonces por la fórmula de POISSON:

3.5 Transformada de Fourier para señales periódicas (2 horas).

Ejemplo: Sea
Ejemplo:

Ejemplo: Sea x(t) un tren de impulsos:

Entonces

Y
Se obtiene el espectro:

3.6 Propiedades de la Transformada Continua de Fourier (1 hora). P314-322


Pares de Transformadas

3.6.1 Calculo de la convolución utilizando la TF.

Ejemplo: Considere la respuesta de un sistema LTI con respuesta al impulso

A la señal de entrada

En lugar de calcular y(t)=x(t)*h(t), mejor se transforma el problema en el dominio de la frecuencia.


La transformada de Fourier de x(t) es:

Y la TF de h(t) es:

Entonces en el dominio de la frecuencia

Para encontrar la salida en el dominio del tiempo (estado estacionario), se calcula la TIF y por fracciones
parciales

donde

Entonces

Así:

Ejemplo: Sean las siguientes señales la entrada x(t) y la respuesta al impulso de un filtro h(t)

Cuyas TFs son:

En el dominio de la frecuencia es la multiplicación de dos Pw(jw)

Por lo tanto, en el dominio del tiempo:


3.6.2 Ejemplos de aplicación
(Desarrollar algunos de los siguientes ejemplos)

Ejemplo 1: Sea X(f) la transformada de Fourier de la señal x(t) = e−t u(t). Sin calcular X(f) de forma
explícita, demostrar que:
a) 𝑋(0) = 1
b) ∫ 𝑋(𝑓)𝑑𝑓 = 1
c) ∫ |𝑋(𝑓)| 𝑑𝑓 = 0.5
d) ∫ 𝑋(𝑓)2𝑠𝑖𝑛𝑐(2𝑓)𝑒 𝑑𝑓 = 𝑒 −𝑒

Ejemplo 2:
La transformada de Fourier X(f) de una señal se muestra en la figura.

Utilizando la TIF demuestre que:

𝑎 𝑡 𝑎 𝑡 3𝜋𝑎𝑡
𝑥(𝑡) = 𝑠𝑖𝑛𝑐 𝑎 + 𝑠𝑖𝑛𝑐 𝑎 sin
2 2 2 4 4

Ejemplo 3:
Halle la TF de las siguientes señales utilizando la definición y propiedades de la TF, demostrando que:

−1 𝑡<0
a) 𝐹 𝑥(𝑡) = 𝑠𝑔𝑛(𝑡) = = (Función signo)
1 𝑡≥0

b) 𝐹{𝑥(𝑡) = 𝐴𝑠𝑖𝑛𝑐 (𝑡/4)} = 4𝐴∆(4𝑓)


c) 𝐹{𝑥(𝑡) = 𝑒 𝑢(𝑡)} = ,α > 0


d) 𝐹{𝑥(𝑡) = 𝑡𝑒 𝑢(𝑡)} = (∝ +𝑗2𝜋𝑓) ,α > 0

e) 𝐹{𝑥(𝑡) = (1 + 𝑘∆(𝑡))cos(10𝜋𝑡)} = 𝛿(𝑓 − 5) + 𝛿(𝑓 + 5) + 𝑠𝑖𝑛𝑐 (𝑓 − 5) + 𝑠𝑖𝑛𝑐 (𝑓 + 5)

f) 𝐹{𝑥(𝑡) = 𝛿(𝑡 + 𝑡 ) + 𝛿(𝑡 − 𝑡 )} = 2cos(2𝜋𝑓 𝑡)

Ejemplo 4:
Si x(t) tiene como transformada X(f), demostrar que:

a) 𝐹{𝑦(𝑡) = 𝑥(𝑡)𝑢(𝑡)} = 𝑋(𝑓) + 𝑋(𝑓) ∗

b) 𝐹{𝑦(𝑡) = 𝑥(𝑡)𝛿(𝑡 − 𝑡 ) + 𝑥(𝑡) ∗ 𝛿(𝑡 − 𝑡 )} = (𝑥(𝑡 ) + 𝑋(𝑓))𝑒

( ∅ ( ))
c) 𝐹{𝑦(𝑡) = 𝑥(𝑡) + 𝑥(𝑡 − 𝑡 )} = 2|𝑋(𝑓)|cos(2𝜋𝑓𝑡 )𝑒

( ) ( )
d) 𝐹{𝑦(𝑡) = 𝑥(𝑡) ∗ 𝑢(𝑡)} = 𝑋(0) +
Ejemplo 5:
Halle la TIF de las siguientes funciones utilizando la definición y propiedades de la TF, demostrando que:

a) 𝐹 {𝑋(𝑓) = 𝑠𝑖𝑛𝑐(𝑓 − 𝑓 ) + 𝑠𝑖𝑛𝑐(𝑓 + 𝑓 )} = 2 ∏(𝑡) cos(2𝜋𝑓 𝑡)

b) 𝐹 {𝑋(𝑓) = ∆(20𝑓)} = 𝑠𝑖𝑛𝑐

c) 𝐹 𝑋(𝑓) = 𝛿(𝑓) + 2 ∏ = 1 + 4𝑠𝑖𝑛𝑐(2𝑡)

d) 𝐹 𝑋(𝑓) = ∏ 𝑒 = 𝐵𝑠𝑖𝑛𝑐(𝐵(𝑡 − 𝑡 ))

e) 𝐹 {𝑋(𝑓) = 𝛿(𝑓 + 5) + 𝛿(𝑓 − 5) + ∆(𝑓 + 5) + ∆(𝑓 − 5)} =


= 2 cos(10𝜋𝑡) + 2𝑠𝑖𝑛𝑐 (𝑡) cos(10𝜋𝑡)

Ejemplo 6:
Si x(t) tiene como transformada X(f), demostrar que la TIF es:

( )
a) 𝐹 {𝑌(𝑓) = 𝑋(𝑓)𝑢(𝑓)} = − ∗ 𝑥(𝑡)

( ) ( )
b) 𝐹 {𝑌(𝑓) = 𝑋(𝑓) ∗ 𝑢(𝑓)} = 𝑥(0) −

c) 𝐹 {𝑌(𝑓) = 2𝑋(𝑓)cos(𝜋𝑓𝑡 )𝑒 } = 𝑥(𝑡) + 𝑥(𝑡 − 𝑡 )

d) 𝐹 {𝑌(𝑓) = 𝑋(𝑓)cos(2𝜋𝑓𝑡 )} = 𝑥(𝑡 + 𝑡 ) + 𝑥(𝑥 − 𝑡 )

Más ejemplos y ejercicios

Ejemplo 7:
Si x(t) tiene como transformada X(f), demostrar:

a) 𝑥 ∗ (𝑡) = 𝑋 ∗ (−𝑓)

( )
b) ∫ 𝑡 𝑥(𝑡)𝑑𝑡 = −
( )

( )
c) ∫ 𝑡 |𝑥(𝑡)| 𝑑𝑡 = ∫

d) 𝐹{𝑥(𝑡) ∗ 𝑥 ∗ (𝑡)} = |𝑋(𝑓)|

- Aplicar la Actividad 3: Transformada de Fourier, valor 2 parcial 3


De esta sección de “Ejemplos de aplicación” seleccionar 5 ejercicios de manera libre y
reportar sus soluciones.
3.7 Transformada discreta de Fourier (1 hora). P390
Al igual que las transformaciones de Fourier en tiempo continuo, se definen los pares de transformaciones en
tiempo discreto para toda secuencia de longitud L ≤ N :

Tiempo Continuo Tiempo discreto

/ /
𝐹(𝑗𝜔) = ∫ 𝑓(𝑡)𝑒 𝑑𝑡 𝑋[𝑘] = ∑ 𝑥[𝑛]𝑒 k=0,1,2,…,N-1 análisis

/ /
𝑓(𝑡) = ∫ 𝐹(𝑗𝜔)𝑒 𝑑𝜔 𝑥[𝑛] = ∑ 𝑋[𝑘]𝑒 n=0,1,2,…,N-1 síntesis

Donde 𝜔 = 2𝜋𝑓 = 2𝜋/𝑇 en tiempo discreto 𝜔 = 2𝜋𝑓 = 2𝜋/𝑁, entonces:

Tiempo Continuo Tiempo discreto

𝐹(𝑗𝜔) = ∫ 𝑓(𝑡)𝑒 𝑑𝑡 𝑋[𝑘] = ∑ 𝑥[𝑛]𝑒 k=0,1,2,…,N-1 análisis

𝑓(𝑡) = ∫ 𝐹(𝑗𝜔)𝑒 𝑑𝜔 𝑥[𝑛] = ∑ 𝑋[𝑘]𝑒 n=0,1,2,…,N-1 síntesis

Ejemplo: Considere el pulso rectangular x[n]=p[n]

1
𝑠𝑒𝑛 𝜔 𝑁 +
2
𝑋[𝑘] = 𝑥[𝑛]𝑒 = 𝑒 =
1
𝑠𝑒𝑛 𝜔
2
3.8 Propiedades de la Transformada discreta de Fourier (2 horas). P359-392

3.9 Densidad espectral de la energía y potencia (1 hora). P423-427


Ejemplo: Considere el tren de pulsos de periodo N=10

( ( )/ )
/ /
1−𝑒 ( / )
𝑠𝑒𝑛(𝜋𝑘/2)
𝑋[𝑘] = 𝑥[𝑛]𝑒 = 𝑒 = ( ( )/ )
=𝑒
1−𝑒 𝑠𝑒𝑛(𝜋𝑘/10)

Debido a que X[k] es un número complejo, s puede representar como magnitud y argumento

:
3.10 Transformada rápida de Fourier FFT (1 hora). P458-482
Es posible representar la DFT como:

/
𝑋[𝑘] = 𝑥[𝑛]𝑒 = 𝑥[𝑛]𝑊

1 /
1
𝑥[𝑛] = 𝑋[𝑘]𝑒 = 𝑋[𝑘]𝑊
𝑁 𝑁

Donde el factor de ángulo se define como:

/
−2𝜋𝑘𝑛 −2𝜋𝑘𝑛
𝑊 =𝑒 = 𝑐𝑜𝑠 + 𝑗𝑠𝑒𝑛
𝑁 𝑁

Para una secuencia compleja x[n] de N puntos, la DFT se puede expresar como sigue:

𝑋 [𝑘] = [𝑅𝑒{𝑥[𝑛]}𝑅𝑒{𝑊 } − 𝐼𝑚{𝑥[𝑛]}𝐼𝑚{𝑊 }] =

2𝜋𝑘𝑛 2𝜋𝑘𝑛
= 𝑥 [𝑛]𝑐𝑜𝑠 + 𝑥 [𝑛]𝑠𝑒𝑛
𝑁 𝑁

𝑋 [𝑘] = 𝑗 [𝑅𝑒{𝑥[𝑛]}𝐼𝑚{𝑊 } + 𝐼𝑚{𝑥[𝑛]}𝑅𝑒{𝑊 }] =

2𝜋𝑘𝑛 2𝜋𝑘𝑛
=− 𝑥 [𝑛]𝑠𝑒𝑛 − 𝑥 [𝑛]𝑐𝑜𝑠
𝑁 𝑁

Observe que para cada valor de k, el cálculo directo de X[k] implica N multiplicaciones complejas
(4N multiplicaciones reales) y N −1 sumas complejas (4N−2 sumas reales). En consecuencia, para
calcular todos los N valores de la DFT se necesitan N2 multiplicaciones complejas y N2−N sumas
complejas. El cálculo directo de la DFT es ineficiente, principalmente porque no se aprovecha de
las propiedades de simetría y periodicidad del factor de fase WN. En este caso, estas dos
propiedades son:

- Propiedad de Simetría Conjugada


/
𝑊 =𝑊 p es un número entero arbitrario par
/
𝑊 = −𝑊 i es un número entero arbitrario impar
( )
𝑊 =𝑊 = (𝑊 )∗

- Propiedad de periodicidad
( ) ( )
𝑊 =𝑊 =𝑊
𝑊 =𝑊 𝑊

Estas propiedades hacen posible la deducción de los algoritmos de FFT, ya que muestran
como el factor del ángulo gira en un círculo de magnitud unitario, i.e. solo el argumento varia.
DIEZMADO EN EL TIEMPO
Los algoritmos en los que la descomposición se realiza sobre la secuencia x[n], que se divide
sucesivamente en secuencias más pequeñas de DFTs. Se considera que N sea un numero de
base 2: N=2V. Entonces se pueden tener dos secuencias de N/2 puntos cada una, la primera
formada por índices pares y la segunda por índices impares, en el dominio de la frecuencia se
proponen los siguientes términos:

/ /
( )
𝑋[𝑘] = 𝑥[2𝑚]𝑊 + 𝑥[2𝑚 + 1]𝑊

Además 𝑊 =𝑊 / , si f1[n] = x[2n] y f2[n]=x[2n+1], para n=0,1,…,N/2-1

/ /

𝑋[𝑘] = 𝑓 [𝑚]𝑊 / +𝑊 𝑓 [𝑚]𝑊 /

O bien si F1[k] y F2[k] son las DFTs de N/2 de f1[m] y f2[m] respectivamente, entonces para k=0,1,…,N/2-1

𝑋[𝑘] = 𝐹 [𝑘] + 𝑊 𝐹 [𝑘] = 𝐺 [𝑘] + 𝐺 [𝑘]

𝑋[𝑘 + 𝑁/2] = 𝐹 [𝑘] − 𝑊 𝐹 [𝑘] = 𝐺 [𝑘] − 𝐺 [𝑘]

Una vez realizado el primer diezmado temporal, se puede repetir el proceso para cada una de las secuencias
f1[n] y f2[n] tal que de f1[n] producirá:
Y f2[n] producirá:

Calculando la DFT de N/4 puntos, obtendríamos las DFT de N/2 puntos F1[k] y F2[k] a partir de

Y así sucesivamente. Para una FFT de N=8 puntos se tendrán 3 etapas:

En este sentido se define la operación mariposa de diezmado temporal


Es así que la FFT de N=8 puntos tendrá el siguiente algoritmo:

DIEZMADO EN FRECUENCIA
El diezmado en frecuencia, se obtiene empleando el método de divide y vencerás, eligiendo M = 2
y L = N/2. Esta elección de parámetros implica un almacenamiento por columnas de la secuencia
de datos de entrada. Para deducir el algoritmo, empezamos dividiendo la fórmula de la DFT en dos
sumatorios, de los que uno implica la suma de los N/2 primeros puntos de datos y el segundo la
suma de los N/2 últimos puntos de datos. De este modo, obtenemos:

/ / /
/
𝑋[𝑘] = 𝑥[𝑛]𝑊 + 𝑥[𝑛]𝑊 = 𝑥[𝑛]𝑊 +𝑊 𝑥[𝑛 + 𝑁/2]𝑊
/

/
Por otro lado, 𝑊 = (−1)

𝑋[𝑘] = [𝑥[𝑛] + (−1) 𝑥[𝑛 + 𝑁/2]]𝑊

Ahora, dividiendo (diezmando) X[k] en pares e impares para k=0,1,…,N/2-1

𝑋[𝑘2] = [𝑥[𝑛] + 𝑥[𝑛 + 𝑁/2]]𝑊 /


/
Y los impares, donde 𝑊 =𝑊 /

𝑋[𝑘] = [𝑥[𝑛] − 𝑥[𝑛 + 𝑁/2]𝑊 ]𝑊 /

Donde, la operación mariposa para el diezmado en


frecuencia se define como:
Al final para N=8:

Ejemplo N=16:
Es posible comprobar el desarrollo de la FFT en DFT aplicando las operaciones mariposa
necesarias, por ejemplo para X[1]

X(1)= |{[x(0)-x(8)] W016+[x(4)-x(12)] W416}+{[x(2)-x(10)] W216+[x(6)-x(14)] W616}|+


|{[x(1)-x(9)] W116+[x(5)-x(13)] W516}+{[x(3)-x(11)] W316+[x(7)-x(15)] W716}|

X(1)’= x(0)W016+x(1) W116+x(2) W216+x(3) W316+x(4) W416+x(5) W516+x(6) W616+x(7) W716+


x(8) W816+x(9) W916+x(10) W1016+x(11) W1116+x(12) W1216+x(13) W1316+x(14) W1416+x(15) W1516

se sabe que Wk+ N/2N =-WkN así que W816 = -W016, W916 = -W116, W1016 = -W216, ... W1516 = -W716,
sustituyendo estos valores en X(1)’, obtenemos:

X(1)’= x(0)W016+x(1) W116+x(2) W216+x(3) W316+x(4) W416+x(5) W516+x(6) W616+x(7) W716+


-x(8) W016-x(9) W116-x(10) W216-x(11) W316-x(12) W416-x(13) W516-x(14) W616-x(15) W716
agrupando términos por factor de ángulo iguales.

X(1)’= [x(0)-x(8)] W016+[x(1)-x(9)] W116+[x(2)-x(10)] W216+[x(3)-x(11)] W316+


[x(4)-x(12)] W416+[x(5)-x(13)] W516+[x(6)-x(14)] W616+[x(7)-x(15)] W716

Para X[14]

X(14)= ( |{[x(0)+x(8)] -[x(4)+x(12)] }W016-{[x(2)+x(10)] -[x(6)+x(14)]}W416 | W016--


|{[x(1)+x(9)] -[x(5)+x(13)] }W216-{[x(3)+x(11)] -[x(7)+x(15)]} W616 | W416) W016

X(14)’= x(0)W016+x(1) W1416+x(2) W2816+x(3) W4216+x(4) W5616+x(5) W7016+x(6) W8416+x(7) W9816+


x(8) W11216+x(9) W12616+x(10) W14016+x(11) W15416+x(12) W16816+x(13) W18216+x(14) W19616+
x(15) W21016, aplicando las propiedades.

W1416 = W616, W2816 = -W416, W4216 = -W1016, W5616 = -W016, W7016 = -W616, W8416 =W416,
W9816 = W1016, W11216 = W016, W12616 = W616, W14016 = -W416, W15416 = -W1016, W16816 = -W016,
W18216 = -W616, W19616 = W416, W21016 = W1016, sustituyendo valores.

X(14)’= x(0)W016+x(1) W616 -x(2) W416 -x(3) W1016 -x(4) W016 -x(5) W616 +x(6) W416 +x(7) W1016+
x(8) W016+x(9) W616-x(10) W416-x(11) W1016-x(12) W016-x(13) W616+x(14) W416+x(15) W1016
agrupando términos por factor de ángulo iguales.

X(14)’= [x(0)+x(8)] W016+[x(1)+x(9)] W616 -[x(2)+x(10)] W416-[x(3)+x(11)] W1016


-[x(4)+x(12)] W016-[x(5)+x(13)] W616 +[x(6)+x(14)] W416+[x(7)+x(15)] W1016 , reagrupando.

X(14)’= {[x(0)+x(8)] -[x(4)+x12)] } W016 +{[x(1)+x(9)] -[x(5)+x(13)]} W616


{-[x(2)+x(10)] +[x(6)+x(14)] } W416 +{-[x(3)+x(11)] +[x(7)+x(15)]}W1016 , reacomodando.

X(14)’= {[x(0)+x(8)] -[x(4)+x12)] } W016 -{[x(2)+x(10)] -[x(6)+x(14)] } W416 +


|{[x(1)+x(9)] -[x(5)+x(13)]} W216- {[x(3)+x(11)] -[x(7)+x(15)] } W616 | W416

y así sucesivamente.
3.11 Aplicaciones en un sistema embebido de la FFT con señales reales
LEYENDA: “Los siguientes códigos fueros desarrollados por Luis Antonio Raygoza Pérez. Se permite el uso de los mismos para
cualquier fin bajo la única condición de que esta leyenda ocupe el encabezado del código a realizar”.

TRANSFORMADA DISCRETA DE FOURIER


La implementación de la DFT es muy sencilla en cualquier lenguaje de programación, a continuación se
ejemplifica dicha transformada en “C” para 128 muestras.

//************************* DFT 128 *******************


complex VDFT[128]; // resultados complejos de DFT
double DFTcpx[128]; // vector de resultados listos reales
for(n=0; n<128; n++){ VDFT[n]=complex(0,0);} // llenar de ceros

for(int k=0; k<64; k++) // calculo de DFT


{
for(int n=0; n<64; n++)
{
// Pares
VDFT[k*2]= VDFT[k*2]+((complex(ADC[n]+ADC[n+64]))*
(complex(cos((-2*M_PI*n*k)/64),sin((-PI*n*k)/64))));
//Impares
VDFT[(k*2)+1]=VDFT[(k*2)+1]+((complex(ADC[n]-ADC[n+64]))*
(complex(cos((-2*M_PI*n)/128),sin((PI*n)/128)))*
(complex(cos((-2*M_PI*n*k)/64) ,sin((-2*M_PI*n*k)/64))));
}
}

for(n=0; n<128; n++) //calcular módulos


{
DFTcpx[n]=abs(VDFT[n]);
}

TRANSFORMADA RAPIDA DE FOURIER FFT radix 2 (base 2)


Algoritmo de FFT de diezmado en frecuencia y que supone que cada uno de los números aquí
representados se encuentran en una sola localidad, es decir ya que son complejos; ambas partes la real
e imaginaria ocupan solo una localidad. En la práctica esto no es posible ya que se ocupa una localidad
de memoria con el número real y la otra con el número imaginario, sucesivamente.

A continuación se propone un algoritmo general para la implementación de la FFT diezmado en


frecuencia, donde:

x = puntero al operando 1 de la mariposa


y = puntero al operando 2 de la mariposa
z = puntero al correspondiente factor de ángulo para la mariposa
paso = contador para el total de muestras
grupo = grupo de localidades con la misma secuencia o grupo de mariposas por bloque
Marip = número de mariposa realizando por bloque.
Si se desea implementar el algoritmo sobre los datos de una memoria que manejara de manera
separada los datos reales de los imaginarios entonces en el algoritmo habrá que cambiar lo siguiente:
- Inicializar con paso = 2, grupo = N
- Pregunta 1 : paso = 2N?
- Pregunta 2 : x = 2N ?
- Después de las mariposas: y = y + 2, x = x + 2, marip = marip +2.

Lo demás continua tal y como esta. Ahora definiremos la mariposa.

Donde A = numero complejo en la localidad a donde apunta x


B = numero complejo en la localidad donde apunta y
W N = factor del angulo (complejo) a donde apunta z.

De esta forma: MEM[x] = MEM[x] + MEM[y] A=A+B


MEM[y] = (MEM[x] – MEM[y])* TABLA[z] B=(A-B)W N

Se puede observar que es conveniente almacenar la tabla del factor del ángulo en la memoria fija y
donde solo es necesario calcular N/2 valores para realizar la FFT.
Ejemplo: FFT N=16 diezmado en frecuencia

Primero obtenemos la tabla de valores del factor del ángulo:

z Wz N
0 1+j0
1 0.9238 – j0.3826
2z
2 0.7071 – j0.7071  2z  2z
3 0.3826 – j0.9238 W Nz  e N
 Cos ( )  jSen( )
4 0 – j1
N N
5 – 0.3826 – j0.9238
6 – 0.7071 – j0.7071
7 – 0.9238 – j0.3826

Asumiendo que en cada localidad de memoria se encuentra todo el numero complejo.


Comenzamos con paso = 2, marip = 0, grupo = N/2 = 8. Donde Mariposa[x , y] y W[z] , es decir x , y
apuntan a las localidades donde se hará una mariposa y z apunta al correspondiente factor de ángulo en
una tabla. La siguiente tabla sigue el procedimiento de punteros y valores de el algoritmo para valores de
una FFT de diezmado en frecuencia de 16 puntos

VARIABLE / ETAPA ETAPA 0 ETAPA 1


PASO 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
GRUPO 8 8 8 8 8 8 8 8 4 4 4 4 4 4 4 4
MARIP 0 1 2 3 4 5 6 7 0 1 2 3 0 1 2 3
X 0 1 2 3 4 5 6 7 0 1 2 3 8 9 10 11
Y 8 9 10 11 12 13 14 15 4 5 6 7 12 13 14 15
Z 0 1 2 3 4 5 6 7 0 2 4 6 0 2 4 6
Operación realizada 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

VARIABLE / ETAPA ETAPA 2 ETAPA 3


PASO 4 4 4 4 4 4 4 4 8 8 8 8 8 8 8 8
GRUPO 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1
MARIP 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0
X 0 1 4 5 8 9 12 13 0 2 4 6 8 10 12 14
Y 2 3 6 7 10 11 14 15 1 3 5 7 9 11 13 15
Z 0 4 0 4 0 4 0 4 0 0 0 0 0 0 0 0
Operación realizada 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Es posible observar que paso significa cuantas localidades va a saltar el siguiente factor de ángulo, es
decir cuánto se le va a sumar al puntero z. Grupo es él número de mariposas por hacer sin regresar al
factor de ángulo a cero, o bien es él número de localidades a sumar al puntero y. Y Marip cuenta el
número de mariposas hechas, si marip es igual que grupo, entonces es hora de brincar al siguiente
grupo de mariposas. Esto también puede observarse en el diagrama de flujo de mariposas arriba.

Una vez finalizado el algoritmo se obtienen los módulos de los valores complejos resultantes, sin
embargo, se encuentran en desorden y para acomodarlos se hace un espejo de números binarios.
A continuación se muestran las localidades (valores) antes y después de acomodarlas.

INICIAL BINARIO Intercambio con BINARIO FINAL


0 0000 > 0000 0
1 0001 > 1000 8
2 0010 > 0100 4
3 0011 > 1100 12
4 0100 > 0010 2
5 0101 > 1010 10
6 0110 > 0110 6
7 0111 > 1110 14
8 1000 > 0001 1
9 1001 > 1001 9
10 1010 > 0101 5
11 1011 > 1101 13
12 1100 > 0011 3
13 1101 > 1011 11
14 1110 > 0111 7
15 1111 > 1111 15
Ejemplo: FFT N=128 diezmado en frecuencia

El siguiente, es un programa en “C” donde se considera la separación de reales y complejos y


también el algoritmo para este programa y el acomodo final de los resultados.

//********************** FFT double 128 **********************************************


double Wdob[128]; //Factor del angulo
double Vdob[256]; //x[n]
double Rdob=0,Idob=0; //auxiliaries real e imaginario
double FFTdob[128]; //FFT módulos

//valor de MEMORIA
for(n=0; n<128; n++)
{
Vdob[2*n]=ADC[n]; //x[n] reales (pares)
Vdob[2*n+1]=0; //x[n] imaginarios (impares)
}

//calcular factor del ángulo


for( n=0; n<64 ;n++)
{
Wdob[2*n]=cos((-2*M_PI*n)/128); //reales
Wdob[2*n+1]=sin((-2*M_PI*(n))/128); //imaginarios
}
//--------------------------------------------------------- FFT ------------------------------------------------------------
paso=2; cada=128; opera=0; x=0; y=0; z=0;

while(paso!=256) //paso=2
{ //cada=128
x=0; //opera=0
y=0;
while(x!=256)
{
//bloque , numero de bloques= 2 elevado a la potencia paso
y=y+cada; z=0; opera=0;
while(opera!=cada)
{
//Mariposa
Rdob=Vdob[x]; Idob=Vdob[x+1];
Vdob[x]=Vdob[x]+Vdob[y]; //suma de reales
Vdob[x+1]=Vdob[x+1]+Vdob[y+1]; //suma de imaginarios
Vdob[y]=Rdob-Vdob[y]; //resta de reales
Vdob[y+1]=Idob-Vdob[y+1]; //resta de imaginarios
Rdob=Vdob[y]; Idob=Vdob[y+1];
//Multiplicación compleja
Vdob[y]= (Rdob*Wdob[z])-(Idob*Wdob[z+1]);
Vdob[y+1]=(Rdob*Wdob[z+1])+(Wdob[z]*Idob);
y=y+2; x=x+2; z=z+paso; opera=opera+2;
}
x=y;
}
paso=paso*2; cada=cada/2;
}

//---------------------------------------------------------- MODULOS ------------------------------------------------


for(n=0; n<128; n++)
{
FFTdob[n]=sqrt(pow(Vdob[2*n],2)+pow(Vdob[2*n+1],2));
}

//---------------------------------------------------------- REACOMODAR INDICES -----------------------------


y=0;
while(temp!=128)
{
z=0; ctrl=0;
if(temp&0x01) ctrl=ctrl|0x40;
if(temp&0x02) ctrl=ctrl|0x20;
if(temp&0x04) ctrl=ctrl|0x10;
if(temp&0x08) ctrl=ctrl|0x08;
if(temp&0x10) ctrl=ctrl|0x04;
if(temp&0x20) ctrl=ctrl|0x02;
if(temp&0x40) ctrl=ctrl|0x01;
ctrl=ctrl; z=z+ctrl;

if(y<z) //Intercambiar
{
Rdob=FFTdob[y];
Idob=FFTdob[z];
FFTdob[y]=Idob;
FFTdob[z]=Rdob;
}
y=y+1;
temp++;
}

- Aplicar la Actividad 4: FFT en un sistema embebido, valor 3 parcial 3

También podría gustarte