Está en la página 1de 20

Capı́tulo 3.

4 Transformada discreta de Fourier

October 2, 2023 1 / 20
Theoretical Fourier Analysis
operations required for their evaluation. The presence of an infinite sum or integral prevents
exact numerical computation of the corresponding transform
Capı́tulo 3.4 Transformada discreta de Fourier
Direct transform Inverse transform Exact
(spectral analysis) (signal reconstruction) computation

N−1 N−1
1 " 2π " 2π
DTFS c̃k = x̃[n]e− j N kn x̃[n] = c̃k e j N kn yes
N
n=0 k=0
finite summation finite summation


" ! 2π
1
DTFT X̃(e j! ) = x[n]e− j!n x[n] = X̃(e j! )e j! dω no
2π 0
n=−∞
infinite summation integration
! T0 ∞
"
1
CTFS ck = x̃c (t)e− jk!0 t dt x̃c (t) = ck e jk!0 t no
T0 0
k=−∞
integration infinite summation
! ∞ ! ∞
1
CTFT Xc ( j!) = xc (t)e− j!t dt xc (t) = Xc ( j!)e j!t d! no
−∞ 2π −∞
integration integration

Applied Digital Signal Processing


The Discrete Fourier Transform- 4
© 2015 D.G. Manolakis and V.K. Ingle

October 2, 2023 2 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
Cómo calculamos numéricamente las transformadas?
Para calcular la TFTD se requiere
−1
I usar un conjunto finito de valores {x[n]}N
0

N
X −1 ∞
X
X̃N (ejω ) = x[n]e−jωn = xN [n]e−jωn
n=0 n=−∞

donde xN [n] = x[n]pN [n], pN [n] = u[n] − u[n − N ] (ventana)


I Evaluar X̃N (ejωk ), para k = 0, 1, ..., K − 1
Para calcular la TFTDI se requiere muestrear la frecuencia
X̃N (ejω ) → X̃N (ejωk )
I Aplicación 1: Reconstruir x[n] a partir de X̃N (ejωk )
I Aplicación 2: Reconstruir X̃N (ejω ) a partir de X̃N (ejωk )
Para calcular la SFTC y la TFTC y sus inversas
I Muestrear x[n] = xc (nT ) y entonces usar SFTD o TFTD
I Seleccionar un T tal que no exista ( o minimizar) el aliasing

October 2, 2023 3 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
Cada valor de la TFTD finita es una suma de N productos
N
X −1
X̃N (ejω ) = x[n]e−jωn
n=0
X̃N (e jωk
) = x[0]ejωk 0 + · · · + x[N − 1]ejωk (N −1) = X[k]

donde 0 ≤ ωk < 2π y k = 0, 1, ..., K − 1. En forma matricial se puede


escribir
  −jω 0
e−jω0 1 · · · e−jω0 (N −1)
  
X[0] e 0 x[0]
 X[1]   e−jω1 0 e−jω1 1 · · · e−jω1 (N −1)    x[1] 
 
=
  
 .. .. .. .. .
..   .
.. 
 .   . . .  
X[K − 1] e −jω K−1 0 e −jω K−1 1 ··· e −jωK−1 (N −1) x[K − 1]

Si K = N se puede resolver X = Wx a un costo de O(N 3 ) FLOPS.


Qué sucede si ωk = (2π/N )k, k = 0, 1, .., N − 1?
October 2, 2023 4 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
he Nth-Roots of Unity – Orthogonali
El factor de giro (”Twiddle factor” )
WN = e−j2π/N = cos(2π/N ) − j sin(2π/N )

Propiedades
(WN−k )N = (ej2πk/N )N = ej2πk = 1, k= 0, 1, ...N − 1
m(N −1) N, si WNm = 1
1 + WNm + WN2m + · · · + WN =
0, si WNm 6= 1
Ortogonalidad
N −1 N −1 
X
j2πk(m−n)/N
X k(m−n) N, si m − n = rN
e = WN =
0, para otro valor
k=0 k=0 October 2, 2023 5 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
N
X −1 N
X −1
X[k] = x[n]e−j2πkn/N = x[n]WNkn , k = 0, 1, ..., N − 1
n=0 n=0

Multiplicando ambos lados por ej2πkm/N y sumando sobre k


N
X −1 N
X −1 N
X −1
X[k]ej2πkm/N = ej2πkm/N x[n]e−j2πkn/N
k=0 k=0 n=0
N −1 N −1 
X X
j2πk(m−n)/N N, si m − n = rN
= x[n] e =
0, para otro valor
n=0 k=0
= N x[m]
por lo tanto
N −1 N −1
1 X 1 X
x[n] = X[k]e j2πkn/N
= X[k]WN−kn
N N
k=0 k=0

October 2, 2023 6 / 20
Capı́tulo 3.4 Transformada discreta de Fourier

Resumiendo la TDF se define como


P −1 PN −1
X[k] = N n=0 x[n]e
−j2πkn/N x[n] = 1
N k=0 X[k]e
j2πkn/N

k = 0, 1, ..., N − 1 n = 0, 1, ..., N − 1

Entrega una relación invertible única entre N muestras consecutivas


−1
{x[n]}N
0 y N coeficientes {X[k]}0N −1
Permite el cálculo exacto o aproximado de SFTD,TFTD,SFTC y
TDTC
La interpretación de los coeficientes X[k] dependerá del tipo de señal
Estas relaciones se conocen como la TDF de una secuencia de N
puntos de una señal periódica o aperiódica.

October 2, 2023 7 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
El factor de giro es periódico con respecto a k y n
(k+N )n k(n+N )
WN = WNkn WN = WNkn

esto implica que x[n] = T DF I{X[k]} y X[k] son periódicas con


perı́odo N
Estas extensiones periódicas denotadas X̃[k] y x̃[n] se denomina
Series de Fourier Discretas (SFD)
N −1 N −1
X SF D 1 X
X̃[k] = x̃[n]WNkn ←→ x̃[n] = X̃[k]WN−kn
N
n=0 k=0
−1 T DF −1
X[k] = {X̃[k]}N
0 ←→ x[n] = {x̃[n]}N
0

Es usada principalmente para propósitos de interpretación


Está relacionada con la SFTD por factor de escala ck = X̃[k]/N
October 2, 2023 8 / 20
The Discrete Fourier Transform
Capı́tulo 3.4 Transformada discreta de Fourier
Sequence “seen” by user

? ?
0 N−1 n

DFT

IDFT

Sequence “seen” by DFT

... ...
0 N−1 n
October 2, 2023 9 / 20
Capı́tulo 3.4 Transformada discreta de Fourier

Ejemplo: Calcular X[k] de 4 puntos para x[n] = {0, 1, 2, 3}


 0
W40 W40 W40
    
W4 1 1 1 1 1 1 1 1
W40 W41 W42 W43  1 W41 W42 W43  1 −j −1 j 
W4 = 
W40
= = 
W42 W44 W46  1 W42 W40 W42  1 −1 1 −1
W40 W43 W46 W49 1 W43 W42 W41 1 j −1 −j
      
X[0] 1 1 1 1 0 6
X[1] 1 −j −1  1 = −2 + j2
j     
X[2] = 1
  
−1 1 −1 2
    −2 
X[3] 1 j −1 −j 3 −2 − j2

Funciones eficientes en MATLAB: X=fft(x) y x=ifft(X)


La TDF y la TDFI están tan solo definidas para k y n en el conjunto
{0, 1, ..., N − 1}

October 2, 2023 10 / 20
Capı́tulo 3.4 Transformada discreta de Fourier

Replicación de una secuencia de longitud arbitraria x[n]



X
x̃[n] = x[n − lN ]
l=−∞

Extensión de un segmento finito {x[n]}0N −1 con perı́odo N



X
x̃N [n] = xN [n − lN ]; xN [n] = x[n]pN [n]
l=−∞

Si x[n] = 0 para n ∈
/ [0, L − 1] y N ≥ L → x̃[n] = x̃N [n]

October 2, 2023 11 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
e 4

(a)
IDTFT 2

n 0
0 L 0

4
(b)

IDFT 2
N =16

n 0
0 16 0

(c)
4

IDFT 2
N =8

n 0
0 8 0

Figure 7.4 (a) Finite-length (L = 12) sequence x[n] and its DTFT. (b) Periodic
October replication
2, 2023 of 12 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
Qué pasa con una secuencia infinita?
TFTD 1
x[n] = an u[n], 0 < a < 1 ←→ X̃(ejω ) =
1 − ae−jω
Si se muestrea la TFTD se tiene una señal periódica en el tiempo

TFTD
X
x̃[n] = x[n − lN ] ←→ X̃(ej2πk/N )
l=∞
Puesto que conocemos x[n] podemos calcular el valor de x̃[n] exacto ya
que las replicas de x[n − lN ] para l > 1 no afectan el valor de x̃[n] en el
rango 0 ≤ n ≤ N − 1
0 ∞
X X an x[n]
x̃[n] = an−lN = an (aN )l = N
= , 0≤n≤N −1
1−a 1 − aN
l=−∞ l=0
y reconstruir
N −1
ˆ X 1 1 − aN e−jωN

X̃(e ) = x̃[n]e−jωn = −→ X̃(ejω )
1 − aN 1 − ae−jω N →∞
n=0
October 2, 2023 13 / 20
8 The Discrete Fourier Transform

Capı́tulo 3.4 Transformada discreta de Fourier


Magnitude of Spectra
10

8
Magnitude

0 0.4 0.8 1.2 1.6 2

Signal Amplitudes
1.2
1
Amplitude

0.8
0.6
0.4

0 5 10 15
Time index (n)

Aliasing en el plano temporal October 2, 2023 14 / 20


Capı́tulo 3.4 Transformada discreta de Fourier
Cómo se puede mejorar la resolución frecuencial?
Si definimos xzp [n] como la señal aumentada con ceros
 K−1
x[n], 0 ≤ n ≤ N − 1 j2π/K
X
xzp [n] = → X̃(e )= xpz [n]ej2πkn/K
0, N ≤n≤K −1
371 7.3 Sampling the Discrete-Time Fourier Transform
k=0

4
DTFT
(a)

0
0 3 0

4
DFT
(b) 4

0
0 3 0 1 2 3

4
DFT
(c) 8

0
0 3 7 0 1 2 3 4 5 6 7

4
DFT
(d) 16

0
0 3 15 0 4 8 12 15

Figure 7.6 (a) A finite-length (N = 4) rectangular pulse x[n] and the magnitude of its DTFT.
(b)–(d) Magnitude of the K-point DFT of x[n] for K = 4, 8, and 16, obtained by using October 2, 2023 15 / 20
The Discrete Fourier Transform
Capı́tulo 3.4 Transformada discreta de Fourier
8

6
Magnitude

4
64-point DFT 8-point DFT
2

0
0

2
8-point DFT
Phase in units

64-point DFT
−2

0
October 2, 2023 16 / 20
Since ω = !T, the N-point DFT X[k] is obtained by sampling the DTFT X(e ) at ω =
2πk/N or X̃(e j!T ) at ! = 2πk/NT for 0 ≤ k ≤ N − 1. The result is
Capı́tulo 3.4 Transformada
1 !
"
2πk
discreta

# ∞de Fourier
X[k] = Relación j
Xc entre− TFTC
j m . yk = 0, 1, . . . , N − 1
TDF (7.74)
T m=−∞ NT T

c c
CTFT

0 t 0
Sampling Periodization

c e c

DTFT

0 nT 0
Periodization Sampling

DTFS
DFT
c c
N

DFT
0 N n 0 N k
October 2, 2023 17 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
376 The Discrete Fourier Transform
Representaciones alternativas

0 n
(a)

Blue

0 N n
(b)

0 1 2 n

(c) (d)
October 2, 2023 18 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
The N
La operación ”n módulo n ”Modulo N Operation
entrega una relación entre el indice temporal
n y el circular r
n = l + N r, 0 ≤ r ≤ N − 1 → hniN = ”n módulo N ” = r
Es decir dado un n y un N se escoge un l tal que r ∈ [0, N − 1].

Applied Digital Signal Processing


MATLAB m = mod(n,© 2015
N)D.G. Manolakis and V.K. Ingle
The Discrete Fourier Transform- 29

October 2, 2023 19 / 20
Capı́tulo 3.4 Transformada discreta de Fourier
La operación z[n] = x[−n] no se puede realizar cuando x[n] no esta
definida fuera del rango 0 ≤ n ≤ N − 1 → periodicidad inherente de la
377 7.4 Properties of the Discrete Fourier Transform
TDF

z[n] = x[ n]

z[n] = z[n] pN[n]

Figure 7.10 Circular folding using periodic extension, linear time-reversal, and extraction of
the primary period.
Doblamiento circular
MATLAB
z[n] = x[h−nifunction
N] y=circfold(x,N) function y=circfold(x,N)
 % Circular time reversal (folding) % Circular time reversal (folding)
if length(x) > N; error(’N < length(x)’); end
x[0], n=0
if length(x) > N; error(’N < length(x)’); end
, x=[x zeros(1,N-length(x))]; x=[x zeros(1,N-length(x))];
− n], 1 ≤ n ≤ N − 1
x[Nn=(0:1:N-1); n=(0:1:N-1);
y=x(mod(-n,N)+1); y=x(mod(-n,N)+1);
October 2, 2023 20 / 20

También podría gustarte