Xử lý số tín hiệu
Chương 8: Biến đổi DFT và FFT
Các phép biến đổi Fourier
Miền thời gian Miền tần số
dt
tf
πj2
es(t)S(f)
dt
T
0
t
ωkj
es(t)
T
1
k
c
Periodic
(period T)
Discrete
Continuous
FT
FTAperiodic
FS
FS
Continuous
0
0.5
1
1.5
2
2.5
0 1 2 3 4 5 6 7 8
time, t
0
0.5
1
1.5
2
2.5
0 2 4 6 8 10 12
time, t
1N
0
n
N
nk
π2
j
es[n]
N
1
k
c
~
Discrete
Discrete
DFS
DFSPeriodic
(period T)
ContinuousDTFT
Aperiodic
Discrete
DFT
DFT
nfπ2j
e
n
s[n]S(f)
0
0.5
1
1.5
2
2.5
0 2 4 6 8 10 12
time, t
k
0
0.5
1
1.5
2
2.5
0 1 2 3 4 5 6 7 8
time, t
k
1N
0
n
N
nk
π2
j
es[n]
N
1
k
c
~
Chuỗi Fourier (Fourier series-FS)
Tín hiệu x(t) tuần hoàn, chu kỳ T
p
, tần số F
0
= 1/T
p
k
tkFj
k
ectx
0
2
)(
p
T
tkFj
p
k
dtetx
T
c
0
2
)(
1
X(f)
f
-T
p
T
p
0
x(t)
τ
t
F
0
-F
0
Biến đổi Fourier (Fourier transform-FT)
Tín hiệu x(t) không tuần hoàn
dfeFXtx
ftj
2
)(
dtetxfX
ftj
2
X(ω)
ω
2π/τ-2π/τ
x(t)
-
τ/2
t
τ/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
deXnx
nj
2
2
1
)(
n
nj
enxX
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
1
0
/2
)(
N
k
Nknj
k
ecnx
1
0
/2
1
N
n
Nknj
k
enx
N
c
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(ω)
0 L-1 n
x(n)
|X(ω)|
ω-π π
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 x
p
(n)
tu
ần hoàn chu kỳ N
0
N
x
p
(n)
N-1
nL-1
n
x
p
(n) tuần hoàn chu kỳ N Tính DFS của x
p
(n) X
p
(k)
Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)
0
N
x
p
(n)
N-1
n
L-1
n
|X
p
(k)|
k
0 N-N
X
p
(k) tuần hoàn chu kỳ N Đặt X(k) = X
p
(k), k = 0, ,N-1
Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)
|X(k)|
k0 N-1
0 L-1 n
x(n)
DFT
Công thức biến đổi DFT N-điểm cho chuỗi chiều dài L:
Biến đổi Fourier rời rạc
Discrete Fourier Transform (DFT)
1, ,2,1,0 , )(
1
0
/2
NkenxkX
L
n
Nknj
1, ,2,1,0 ,
1
1
0
/2
NnekX
N
nx
N
k
Nknj
IDFT
DFT
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:
Tính tr
ực tiếp cần:
• 2N
2
phép tính hàm lượng giác
• 4N
2
phép nhân thực
• 4N(N-1) phép cộng thực
Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)
1
0
2
sin
2
cos
N
n
IRR
N
kn
nx
N
kn
nxkX
1
0
2
cos
2
sin
N
n
IRI
N
kn
nx
N
kn
nxkX
Chi phí tính
toán l
ớn
Đặt
Tính đối xứng:
Tính tuần hoàn:
Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)
Nj
N
eW
/2
1
0
)(
N
n
nk
N
WnxkX
k
N
Nk
M
WW
2/
k
N
Nk
M
WW
Xét chuỗi x(n) = {x(0), x(1)}
FFT 2 điểm của x(n):
(Lưu ý: W
2
=
1)
Giải thuật biến đổi Fourier nhanh
Fast Fourier Transform (FFT)
)1()0()1()0()1(
)1()0()1()0()0(
1
2
0
2
0
2
0
2
xxWxWxX
xxWxWxX
x(0)
x(1)
X(0)
X(1)
-1
1 Bướm
(Butterfly)
Xét chuỗi x(n) có chiều dài N = 2
K
Đặ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):
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
(Decimation in time – DIT)
1
2
, ,1,0 , )()( )(
N
kkHWkGkX
k
N
1, ,
2
, )
2
()
2
( )(
2
N
N
k
N
kHW
N
kGkX
N
k
N
Giải thuật FFT phân chia theo thời gian
FFT N/2
điểm
FFT N/2
điểm
g(0)
g(N/2 -1)
g(1)
G(0)
G(N/2 -1)
G(1)
FFT N/2
điểm
FFT N/2
điểm
h(0)
h(N/2 -1)
h(1)
H(0)
H(N/2 -1)
H(1)
0
N
W
X(0)
1
N
W
X(1)
12/ N
N
W
X(N/2-1)
k =0
N/2 -1
0
N
W
X(N/2)
1
N
W
X(N/2 + 1)
k = N/2
N - 1
12/
N
N
W
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
0
500
1000
1500
2000
0 10 20 30 40
Number of samples, N
Number of Operations
DFT
DFT
N
N
2
2
FFT
FFT
N log
N log
2
2
N
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
Số thứ tự Dạng nhị phân Đảo bit
0 000 000
1 001 100
2 010 010
3 011 110
4 100 001
5 101 101
6 110 011
7 111 111
Số thứ tự Dạng nhị phân
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Số thứ tự
0
1
2
3
4
5
6
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ố