You are on page 1of 26

Xử lý số tín hiệu

Chương 8: Biến đổi DFT và FFT


Các phép biến đổi Fourier
2 .5
Miền thời gian Miền tần số
2

1 .5

T
0 .5

1 jk ω t
0

0 1 2 3

tim e , t
4 5 6 7 8
Periodic FS Discrete ck s(t) e dt
T
(period T) 0
2 .5
Continuous j2 π f t
2

1 .5

1
Aperiodic FT Continuous S(f) s(t) e dt
0 .5

0 2 4 6 8 10 12

tim e , t

2 π kn
N 1
2 .5

2
1 j
~ N
1 .5
ck s[n] e
1
Periodic DFS Discrete N
n 0
0 .5

0 1 2 3

tim e , tk
4 5 6 7 8
(period T)
Discrete S(f) s[n] e
j2 π f n
2 .5
DTFT Continuous
n
1 .5
2

Aperiodic
1 2 π kn
N 1 j
0 .5

1
0

0 2 4 6

tim e , tk
8 10 12 DFT Discrete
~
ck s[n] e N
N
n 0
Chuỗi Fourier (Fourier series-FS)
 Tín hiệu x(t) tuần hoàn, chu kỳ Tp , tần số F0 = 1/Tp
j2 kF 0
t
x (t ) cke
k

1 j2 kF 0
t
ck x (t )e dt
T p T p

X(f)
x(t)
τ

f
0 Tp t -F0 F0
-Tp
Biến đổi Fourier (Fourier transform-FT)
 Tín hiệu x(t) không tuần hoàn
j2 ft
x (t ) X F e df

j2 ft
X f x t e dt

X(ω)
x(t)

ω
-τ/2 τ/2 t

-2π/τ 2π/τ
Biến đổi Fourier của một số tín hiệu cơ bản
Biến đổi Fourier thời gian rời rạc
Discrete – Time Fourier Transform (DTFT)

 Tín hiệu x(n) rời rạc, không tuần hoàn


1 j n
x(n) X e d
2 2

j n
X x n e
n
Chuỗi Fourier rời rạc
Discrete Fourier Sequence (DFS)

 Tín hiệu x(n) rời rạc, tuần hoàn với chu kỳ N


N 1
j2 kn / N
x(n) cke
k 0

N 1
1 j2 kn / N
ck x n e
N n 0
Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)

 Tín hiệu x(n) rời rạc, không tuần hoàn, chiều dài L hữu
hạn  Biến đổi DTFT cho phổ liên tục X(ω)

|X(ω)|
x(n)

0 L-1 n -π π ω
Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)

 Lặp lại tín hiệu x(n) với chu kỳ N ≥ L  Tín hiệu xp(n)
tuần hoàn chu kỳ N

xp(n)

0 L-1 N-1 N n n
Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)

 xp(n) tuần hoàn chu kỳ N  Tính DFS của xp(n)  Xp(k)


xp(n)

0 L-1 N-1 N n n

|Xp(k)|

-N 0 N k
Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)

Xp(k) tuần hoàn chu kỳ N  Đặt X(k) = Xp(k), k = 0,..,N-1


x(n)

0 L-1 n

|X(k)| DFT

0 N-1 k
Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)

Công thức biến đổi DFT N-điểm cho chuỗi chiều dài L:

DFT L 1
j 2 kn / N
X (k ) x n e , k 0 ,1 , 2 ,..., N 1
n 0

N 1
1 j 2 kn / N
IDFT x n X k e , n 0 ,1 , 2 ,..., N 1
N k 0
Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)

Tính trực tiếp DFT N – điểm của x(n):


Tổng quát: X(k) và x(n) là số phức:
N 1
2 kn 2 kn
X R
k x R n cos x I n sin
n 0 N N
N 1
2 kn 2 kn
X I
k x R n sin x I n cos
n 0 N N

Tính trực tiếp cần:


• 2N2 phép tính hàm lượng giác Chi phí tính
• 4N2 phép nhân thực toán lớn
• 4N(N-1) phép cộng thực
Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)
j2 /N
 Đặt W e
N
N 1
nk
 X k x ( n )W N
n 0

k N /2 k
 Tính đối xứng: W W
M N

 Tính tuần hoàn: k N k


W M
W N
Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)

Xét chuỗi x(n) = {x(0), x(1)}


 FFT 2 điểm của x(n):
0 0
X (0 ) x ( 0 )W 2
x (1 ) W 2
x (0 ) x (1 )
0 1
X (1 ) x ( 0 )W 2
x (1 ) W 2
x (0 ) x (1 )
(Lưu ý: W2 = 1)

x(0) X(0)

1 Bướm
(Butterfly)

x(1) X(1)
-1
Giải thuật FFT phân chia theo thời gian
(Decimation in time – DIT)

 Xét chuỗi x(n) có chiều dài N = 2K


 Đặt g(n) = x(2n)  g(n) = {x(0), x(2), … }

 Đặt h(n) = x(2n + 1)  h(n) = {x(1), x(3), …}

 DFT N điểm của x(n):


k N
X (k ) G (k ) W N
H (k ) , k 0 ,1 ,..., 1
2
N
N k
2
N N
X (k ) G (k ) W N
H (k ) , k ,..., N 1
2 2 2

 G(k), H(k) : DFT N/2 điểm của g(n), h(n)


Giải thuật FFT phân chia theo thời gian

g(0) G(0)
X(0)
0
g(1) G(1) W N
X(1)
W
1
k =0
FFT N/2 N

điểm
N/2 -1
g(N/2 -1) G(N/2 -1)
N /2 1
X(N/2-1)
W N

0
h(0) H(0) W N
X(N/2)
1
h(1) H(1) W N
X(N/2 + 1) k = N/2
FFT N/2 
điểm N-1

h(N/2 -1) H(N/2 -1) W


N /2 1
N
X(N – 1)
Chi phí tính toán
 So với tính trực tiếp: chi phí tính toán thấp hơn

2000
N um b e r of O pe r a tions

1500 DFT N2

1000
FFT N log2N

500

0 10 20 30 40

N u m b e r o f s a m p le s , N
Ví dụ
 FFT 8 điểm phân chia theo thời gian
Ví dụ
 FFT 8 điểm phân chia theo thời gian
Ví dụ
 FFT 8 điểm phân chia theo thời gian
Ví dụ
 FFT 8 điểm phân chia theo thời gian
Ví dụ
 Thứ tự chuỗi x(n) trong pp Decimation – in - time

Số thứ tự Dạng nhị phân Đảo bit n


0 000 000 0
1 001 100 4
2 010 010 2
3 011 110 6
4 100 001 1
5 101 101 5
6 110 011 3
7 111 111 7
Ví dụ
 FFT 8 điểm phân chia theo tần số (Decimation in freq)
Ví dụ
 FFT 8 điểm phân chia theo tần số
Ví dụ
 FFT 8 điểm phân chia theo tần số

You might also like