Document

Report
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
5.3 BIẾN ĐỔI FOURIER
NHANH-FFT 5.4 PHỤ
CHƯƠNG 5.1
20
20
Biến đổi Fourier nhanh(FFT)
• Có thể giảm thiểu đáng kể số lượng các tính
toán cần cho DFT.
• Thuật toán này được gọi là biến đổi Fourier
nhanh (FFT: Fast Fourier Transform)
• Giảm số lượng tính toán từ bậc N02 thành
N0logN0.
21
21
22
23
Biến đổi Fourier nhanh(FFT)
• Thuật toán có thể chia thành hai nhóm chính:
decimation theo thời gian và decimation theo
tần số
• Để đơn giản hóa ta chọn N0 theo lủy thừa bậc 2
24
24
Biến đổi Fourier nhanh(FFT)
• Định nghĩa: W
N
Sao cho
0
 e
 ( j 2 / N 0 )
 e
 j 0
N 0 1
Fr 

k 0
fr 
1
N0
kr
f rW N 0
N 0 1
FW
r
r 0
 kr
N0
0  r  N0 1
fr 
1
N0
N 0 1

r 0
(5.1a)
 kr
Fr W N 0
(5.1b)
25
Biến đổi Fourier nhanh(FFT)
*) Thuật toán decimation theo thời gian
• Ở đây ta chia chuỗi dữ liệu N0 điểm fk thành
hai chuỗi (N0/2) điểm bao gồm các mẩu có số
thứ tự lần lượt chẵn và lẻ, như sau:
f 0 , f 2 , f 4 ,  , f N 0 1 f 1 , f 3 , f 5 ,  , f N 0 1

  
 
  

chuôi
gk
chuôi
hk
26
Biến đổi Fourier nhanh(FFT)
• Vậy từ 5.1 ta được:
N0
Fr 
N0
1
2

k 0
f 2 kW
2 kr
N0

1
2

k 0
f 2 k 1W
( 2 k 1 ) r
N0
27
Biến đổi Fourier nhanh(FFT)
• Vì:
W N0  W
2
N0
2
• Ta có:
N0
Fr 
N0
1
2

k 0
f 2 kW N 0  W N 0
kr
2
r
1
2

k 0
f 2 k 1W N 0  G r  W N 0 H r
kr
r
(5.2)
2
0  r  N0 1
Gr và Hr là các DFT (N0/2) điểm của các chuỗi số
chẵn và số lẻ lần lượt là gk và hk
28
Biến đổi Fourier nhanh(FFT)
• Gr và Hr đã là DFT (N0/2) điểm, cũng là tuần
hoàn (N0/2). Do đó
G
Hơn nữa
 N 
r 0 
 2 
 Gr
W
 N 
r  0 
 2 
N0
H
 N 
r 0 
 2 
N0
 W N 02 W N 0  e
r
 Hr
 j
(5.3)
W N 0  W N 0
r
r
(5.4)
Từ phương trình (5.2), (5.3) và (5.4), ta có
F
 N 
r  0 
 2 
 Gr  W
r
N0
Hr
(5.5)
29
Biến
___
đổi___
Fourier
______
nhanh(FFT)
_____
• Đặc tính này có thể dùng để giảm thiểu số
lượng tính toán. Ta có thể tính (N0/2) điểm đầu
tiên (0 n  (N0/2) – 1) của Fr dùng phương
trình (5.2) và tính (N0/2) điểm cuối dùng
phương trình (5.5) là:
Fr  G r  W N 0 H r
0r
 G r  W N0 H r
0r
r
F
r
N 
r  0 
 2 
N0
2
N0
2
1
(5.6a)
1
(5.6b)
30
30
Vậy ta tính DFT N0 điểm bằng cách tính DFT
(N0/2) điểm, như pt (5.6). Các phương trình này
được biểu diễn thuận tiện bằng cách dùng graph
tín hiệu như hình 5.19.
31
Thiết lập pt 5.3 cho N0=8
32
Thiết lập pt 5.3 cho N0=8
33
Biến đổi Fourier nhanh(FFT)
• Bước kế tiếp là tính các DFT (N0/2) điểm Gr
và Hr. Ta lặp lại các bước này bằng cách chia
gk và hk thành hai chuỗi (N0/2) điểm tương ứng
với các mẩu thứ tự chẵn và lẻ. Tiếp đến ta tiếp
tục các bước này cho đến khi có được DFT
một điểm. Các hình 5.20a, 5.20b, và 5.20c cho
thấy là các DFT hai điểm thì không cần phép
nhân.
34
Biến đổi Fourier nhanh(FFT)
• Để đếm số phép tính cần có trong bước đầu tiên, giả sử ta
đã biết Gr và Hr. Phương trình (5.42) chỉ rõ là để tính tất cả
N0 điểm của Fr, ta cần N0 phép cộng phức tạp và (N0/2)
phép nhân phức tạp (tương ứng với ).
•
Trong bước thứ hai, để tiếp tục tính DFT (N0/2) điểm
Gr từ DFT (N0/4), ta cần (N0/2) phép cộng phức tạp và
(N0/4) phép nhân phức tạp. Ta cần cùng số lượng tính toán
cho Hr.
• Do đó, trong bước thứ hai, ta có N0 phép cộng phức tạp và
(N0/2) phép nhân phức tạp. Số lượng tính toán cần thiết
trong mỗi bước là giống nhau. Do cần có tổng là log2N0
bước để đạt được DFT một điểm, ta cần có tổng là N0log2N0
phép cộng phức tạp và (N0/2)log2N0 phép nhân phức tạo, để
tính được DFT N0 điểm.
35
Biến đổi Fourier nhanh(FFT)
• Phương pháp tìm IDFT giống hệt như khi tìm
DFT trừ việc dùng thay vì (ngoài ra, bộ nhân là
1/N0). Một thuật toán FFT khác, là thuật toán
decimation theo tần số, tương tự như thuật toán
decimation theo thời gian. Chỉ có một khác biệt là
thay vì chia fk thành hai chuỗi thứ tự chẵn và lẻ, ta
chia fk thành thành hai chuỗi tạo từ (N0/2) số đầu
và (N0/2) số cuối, xử lý với cùng phương pháp
cho đến khi một điểm đơn DFT đạt cá bước
log2N0. Tổng số phép tính trong thuật toán này
giống như trường hợp decimataion theo thời gian.
36
Biến đổi Fourier nhanh(FFT)
• Đối ngẫu của định lý lấy mẩu cho rằng các tín
hiệu có thời gian giới hạn  giây thì có thể khôi
phục phổ F() của chúng từ các mẩu của F()
lấy tại các khoảng đồng đều không lớn hơn 1/
Hz. Nói cách khác, phổ có thể được lấy mẩu
với tốc độ không nhỏ hơn  mẩu/Hz.
37
PHỤ CHƯƠNG 5.1
N 0 1
• Ta chứng minh:  e
k 0
jm  0 k
N 0

 0
m  0, N 0 , 2 N 0 , 
otherwise
(5.7)
Nhắc lại 0N0 = 2:
e
jm  0 k
1
với m = 0, N0, 2N0, . . ., sao cho
N 0 1

k 0
e
jm  0 k
N 0 1

1
k 0
N0
với m = 0, N0, 2N0, . . .,
38
PHỤ CHƯƠNG 5.1
• Để tính tổng của các giá trị khác của m,
ta chú ý là tổng của vế trái của phương jm 
 e
trình (5.43) là chuỗi hình học với công
Do đó
sai(xem
là phần B.7-4):
N 0 1
e
jm  0 k

k 0
(e
jm  0 N 0
e
jm  0 N 0
e
jm  0
e
1
1
j 2 m
0
0
 1)
39

similar documents