7.4 BiẾN ĐỔI FOURIER NHANH FFTBIỂU DIỄN TÍN HIỆU VÀ HỆ THỐNG TRONG MIỀN TẦN SỐ RỜI RẠC... 7.1 KHÁI NiỆM DFTXω có các hạn chế khi xử lý trên thiết bị, máy tính: ► Tần số ω liên tục ► Độ d
Trang 27.4 BiẾN ĐỔI FOURIER NHANH (FFT)
(BIỂU DIỄN TÍN HIỆU VÀ HỆ THỐNG TRONG MIỀN TẦN SỐ RỜI RẠC)
Trang 3CNDT_DTTT 3
Trang 47.1 KHÁI NiỆM DFT
X(ω) có các hạn chế khi xử lý trên thiết bị, máy tính:
► Tần số ω liên tục
► Độ dài x(n) là vô hạn: n biến thiên -∞ đến ∞
Biến đổi Fourier dãy x(n): j n
⇒ Biến đổi Fourier của dãy có độ dài hữu hạn theo tần
số rời rạc, gọi tắt là biến đổi Fourier rời rạc – DFT
(Discrete Fourier Transform)
Trang 57.2 BIẾN ĐỔI FOURIER RỜI RẠC - DFT
► DFT của x(n) có độ dài N định nghĩa:
0
1 0
: )
( )
e n
x k
X
N
n
kn N
j π
còn lại
r N
r N
j mN
r N
j mN
2 )
0
1 0
: )
( )
W n
x k
X
N
n
kn N
Trang 6► X(k) biểu diễn dưới dạng modun & argument:
) (
) ( )
e k X k
)]
( arg[
) ( k = X k
0
1 0
: )
(
1 )
(
1 0
2
n
N n
e k
X N
n x
N k
kn N
: )
(
1 )
(
1 0
: )
( )
W k
X N
n x
N k
W n x k
X
N
k
kn N
N
n
kn N
► Cặp biến đổi Fourier rời rạc:
Trang 7Ví dụ 7.1: Tìm DFT của dãy: ( ) {1 , 2 , 3 , 4}
↑
=
n x
(
n
kn
W n x k
X
j W
W j
e
4
2 4 4
2 1
π
10 )
3 ( )
2 ( )
1 ( )
0 ( )
( )
x x
W n x
X
n
2 2
) 3 ( )
2 ( )
1 ( )
0 ( )
( )
3 ( )
2 ( )
1 ( )
0 ( )
( )
W x
W x
x W
n x
X
n
n
2 2
) 3 ( )
2 ( )
1 ( )
0 ( )
( )
Trang 9DFT N
N a x n a X k a X k n
kn N
DFT
n n
Trang 12n
0 1 2 3
4 3 2 1
n
x(n+3)
-3 -2 -1 0
4 3 2 1
Trang 13x(n+1) 4
n
0 1 2 3
4 3 2 1
{ 3 , 4 , 1 , 2 }
) 2
( 4
↑
= +
n x
Trang 14DFT N
N
n x
N
N x n x n x n n
x1( ) ⊗ 2( ) = 2( ) ⊗ 1( )
) ( )
(
~ )
Trang 15Ví dụ 7.3: Tìm chập vòng 2 dãy 2 ( ) {1 , 2 , 3 , 4}
↑
=
n x
{ }2 , 3 , 4 )
(
1 n = ↑
x
3 0
: ) (
) ( )
( )
( )
0
4 2
4 1
4 2
4 1
4
=
n m
n x m
x n
x n
x n
x
m
4 } ,
max{
4 ,
Chọn độ dài N:
Trang 16m -3 -2 -1 0 1 2 3 4
4 3 2 1
) (
4 3 2 1
m
0 1 2 3
4 3 2 1
) ( )
(
~ )
) ( )
(
~ )
2 m x m rect n
x − = −
Trang 17 Xác định x 2 (n-m) là dịch vòng của x 2 (-m) đi n đơn vị
n>0: dịch vòng sang phải, n<0: dịch vòng sang trái
x 2(1-m)4
m
0 1 2 3
4 3 2 1
Trang 18► Tìm biến đổi nghịch IDFT 10 điểm của
X(k) = 1 + 2δ(k) với 0 ≤ k ≤ 9
Trang 193 0
: ) (
) ( )
0
4 2
4 1
4
=
n m
n x m
x n
) 0
( )
( )
0
0
4 2
4 1
m x
x
n=1: ( 1 ) 3 ( ) ( 1 ) 23
0
4 2
4 1
m x
m x
m x
Trang 207.4 BiẾN ĐỔI FOURIER NHANH FFT
7.4.1 KHÁI NiỆM BiẾN ĐỔI FOURIER NHANH FFT
Vào những năm thập kỷ 60, khi công nghệ vi xử lý pháttriển chưa mạnh thì thời gian xử lý phép tóan DFT trênmáy tương đối chậm, do số phép nhân phức tương đốilớn
W n x k
X
N
n
kn N
Để tính X(k), với mỗi giá trị k cần có N phép nhân và
(N-1) phép cộng, vậy với N giá trị k thì cần có N 2 phép nhân
và N(N-1) phép cộng
Để khắc phục về mặt tốc độ xử lý của phép tính DFT,nhiều tác giả đã đưa ra các thuật tóan riêng dựa trênDFT gọi là FFT (Fast Fourier Transform)
Trang 217.4.2 THUẬT TOÁN FFT CƠ SỐ 2
a THUẬT TÓAN FFT CƠ SỐ 2 PHÂN THEO THỜI GIAN
dãy nhỏ, do biến n biểu thị cho trục thời gian nên gọi làphân chia theo thời gian
n
kn N
W n x k
1
2,4
, 0 n
) ( )
n x
0 r
) 1 2 (
1 ) 2 / (
0 r
2 ( 2 1 ) )
2 ( )
(
N
r k N
N
kr
N x r W W
r x
k X
► Giả thiết dãy x(n) có độ dài N=2 M, nếu không có dạng lũythừa 2 thì thêm vài mẫu 0 vào sau dãy x(n)
Trang 22► X 0 (k) – DFT của N/2 điểm ứng với chỉ số n chẵn
► X 1 (k) – DFT của N/2 điểm ứng với chỉ số n lẽ
∑−
=
= ( / 2 ) 1
0 r
2 /
0 ( ) N ( 2 ) kr
N
W r x k
2 /
1 ( ) N ( 2 1 ) kr
N
W r
x k
X
Đặt:
) (
) ( )
0
1 ) 2 / (
0
) 1 2
(
) 2 ( )
N
k N
N
kr
W r x
k X
kr N
kr N
j r
k N
j r
k
2 2
2
π π
Do:
Trang 23N/2 điểm
x(0) x(2) x(4) x(6)
X(0) X(1) X(2) X(3)
DFT
N/2 điểm
x(1) x(3) x(5) x(7)
X(4) X(5) X(6) X(7)
Phân chia DFT- N điểm -> 2 DFT- N/2 điểm;
► Qui ước cách tính X(k) theo lưu đồ:
- Nhánh ra của 1 nút bằng tổng các nhánh vào nút đó
- Giá trị mỗi nhánh bằng giá trị nút xuất phát nhân hệ số
Trang 24► Sau đó đánh lại chỉ số theo thứ tự các mẫu x(n), tiếp tụcphân chia DFT của N/2 điểm thành 2 DFT của N/4 điểmtheo chỉ số n chẵn và lẽ và cứ thế tiếp tục phân chia chođến khi nào còn DFT 2 điểm thì dừng lại.
► Ví dụ X 0 (k) được phân chia:
N
kr
W r x k
2 /
1 ) 2 / (
4 , 2 , 0 r
2 / ( ) )
(
N
kr N
N
kr
N g r W W
r g
0
2 /
1 ) 4 / (
0
l / 4
) 1 2
( )
2 (
N
kl N
k N
N
kl
N W g l W W
l g
) (
Trang 25 Phân chia DFT- N/2 điểm -> 2 DFT- N/4 điểm của X 0 (k)
W 1 N/2
Phân chia X 1 (k) tương tự: X1 (k) = X10 (k) + W N k / 2 X11 (k)
W 1 N/2
Trang 26 Lưu đồ DFT dãy x(n) sau 2 lần phân chia với N=8
x(5)
x(3)
x(7)
X(4) X(5) X(6) X(7)
Trang 27 Lưu đồ DFT dãy x(n) sau 3 lần phân chia với N=8
x(5)
x(3)
x(7)
X(4) X(5) X(6) X(7)
W N (r+N/2) = - W N r
Trang 28 Lưu đồ DFT dãy x(n) sau 3 lần phân chia với N=8
x(0) x(4) x(2) x(6)
X(0) X(1) X(2) X(3) x(1)
x(5) x(3) x(7)
X(4) X(5) X(6) X(7)
-1 -1
Đảo
bít
► Với N=2 M -> M lần phân chia
Trang 29Ví dụ : Hãy vẽ lưu đồ và tính FFT cơ số 2 phân theo t/g
x(0) x(2) x(1) x(3)
X(0) X(1) X(2) X(3)
k=2: X(2) = [x(0) + x(2)] - W0[x(1) + x(3)] = - 2
k=3: X(3) = [x(0) - x(2)] - W1[x(1) - x(3)] = - 2 - j2
Trang 31b THUẬT TÓAN FFT CƠ SỐ 2 PHÂN THEO TẦN SỐ
phân chia theo tần số
n
kn N
W n x k
1 ) 2 / (
0 n
) ( )
N
kn N
N
kn
W n x
0 n
) 2 / (
1 ) 2 / (
0 n
) 2 / (
0 n
2 /
1 ) 2 / (
0 n
) 2 / (
)
N
kN N
N
kn
W n x
= ( / 2 ) 1
0 n
) 2 / (
) 1 ( ) (
N
kn N
k
W N
n x n
x
Trang 32) ( )
1 2
n x n
x r
X
) 2 / (
) ( )
( );
2 / (
) ( )
2 /
) ( )
2
(
N
rn N
W n g r
2 /
) ( )
1 2
(
N
rn N
n
N W W
n h r
X
► X(2r) – DFT của N/2 điểm ứng với chỉ số k chẵn
► X(2r+1) – DFT của N/2 điểm ứng với chỉ số k lẽ
Trang 33 Phân chia DFT N=8 điểm -> 2 DFT N/2= 4 điểm
k chẵn
k lẽ
DFT
N/2 điểm
DFT
N/2 điểm
-1 -1 -1 -1
Trang 34► Sau đó đánh lại chỉ số theo thứ tự các mẫu X(k), tiếp tụcphân chia DFT của N/2 điểm thành 2 DFT của N/4 điểmtheo chỉ số k chẵn và lẽ Tiếp tục phân chia cho đến khinào còn DFT 2 điểm thì dừng lại.
dữ liệu vào được sắp theo thứ tự tự nhiên
số bằng với số phép nhân và cộng trong lưu đồ phântheo thời gian
Trang 35 Lưu đồ DFT dãy x(n) sau 3 lần phân chia với N=8
x(5)
x(6)
x(7)
X(1) X(5) X(3) X(7)
-1 -1
Đảo bít
Trang 36► k=0: X(0) = [x(0) + x(2)] + [x(1) + x(3)] = 10.
► k=2: X(2) = [x(0) + x(2)] - [x(1) + x(3)] = - 2
► k=1: X(1) = [x(0) - x(2)] + W1[x(1) - x(3)] = - 2 + j2
x(0) x(1) x(2) x(3)
X(0) X(2) X(1) X(3)
W 0
W 1
-1
-1 -1
-1
Trang 377.4.3 THUẬT TOÁN FFT VỚI N=N1N2
thứ tự từng cột với số cột N 1 và số hàng N 2:
► Giả thiết độ dài dãy x(n) có thể phân tích N=N 1 N 2, nếu
độ dài không thể biểu diễn dưới dạng trên thì thêm vàimẫu 0 vào sau dãy x(n)
Trang 38► Lấy ví dụ sắp xếp dãy x(n) với N=12, chọn N1=3 và N2=4
Trang 39► DFT N điểm dãy x(n) được phân tích:
+
=+
( 2
1 2
1 2 1
) (
) (
) (
W N
n n
x N
k k
X k
1 2
2 2 2
1 1 1
) (
N k n N
N k n N
k n
W N
n n
1 2 1
1
1 1 1
) (
) (
N
n
k n N
k n N N
n
k n
W N
n n
x k
X
Trang 40) ,
( )
(
N
n
k n N
W k
n G k
1
1
1 1 1
) (
) ,
(
N
n
k n N
W N
n n
x k
n F
1 2
).
, ( )
,
N
W k
n F k
n
► Đặt:
Các bước tiến hành thuật tóan:
Trang 41Ví dụ : Nêu các bước tính và vẽ lưu đồ thuật tóan FFT dãy
Trang 421
1 1 1
) (
) ,
(
N
n
k n N
W N
n n
x k
n F
Trang 44► Nhân các phần tử mảng F(n 2 ,k 1 ) với các hệ số của
Trang 450 2 1
2 1 1
2
2
2 2 2
) ,
( )
( )
(
N n
k n N
W k
n G k
N k
X k
X
► Đọc dữ liệu ra theo thứ tự từng hàng X(k)
Trang 46 Lưu đồ FFT dãy x(n) N=N 1 N 2 , với N 1 =3, N 2 =4:
DFT
N 1 điểm
DFT
N 2 điểm
DFT
N 2 điểm
X(0) X(3) X(6) X(9) X(1) X(4) X(7) X(10) X(2) X(5) X(8) X(11)