: W n x k n kn N 4.5.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át triển chưa mạnh thì thời gian xử lý phép tóan DFT trên máy tương đối
Trang 14.4 KHÔI PHỤC BIẾN ĐỔI Z & FT TỪ DFT
4.5 BiẾN ĐỔI FOURIER NHANH (FFT)
Trang 24.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ố Tần số liên tục
Độ dài x(n) là vô hạn: nĐộ dài x(n) là vô hạn: n biến thiên -∞ đến ∞
Biến đổi Fourier dãy x(n):
j ) x ( n ) e e
(
Khi xử lý X() trên thiết bị, máy tính cần:
Rời rạc tần số Rời rạc tần số -> -> K
Độ dài x(n) hữu hạn là N: nĐộ dài x(n) hữu hạn là N: n = 0 N -1
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à
số rời rạc, gọi tắt là biến đổi Fourier rời rạc – DFT biến đổi Fourier rời rạc – DFT
(Discrete Fourier Transform)
Trang 3 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 4 X(k) biểu diễn dưới dạng modun & argument:
) (
) ( )
0
1 0
: )
(
1 )
e k
X N
n x
N k
kn N
:)
(
1)
(
10
: )
()
(
1
1 0
N n
W k
X N
n x
N k
W n x k
X
N
kn N
N
n
kn N
Cặp biến đổi Fourier rời rạc:
Trang 5Ví dụ 4.2.1: Tìm DFT của dãy: ( ) 1 , 2 , 3 , 4
n x
(
n
kn W n x k
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 ( )
( )
3
( 3 x n W43 x x W43 x W46 x W49 j
Trang 6Ví dụ: 4.2.2:
a) Tìm FT của dãy x(n)=a n u(n), với /a/<1
b) Tìm DFT của dãy x(n)=a n rect N (n)
c) Vẽ phổ biên độ & pha của FT và DFT với a=3/4, N=16
Biến đổi FT của x(n):
1 )
(
2
cos 2
1
1 )
(
a a
sin )
(
arg
a
a arctg
Trang 7 Biến đổi DFT của x(n):
N
N N
n
n k N
N n
kn N
n
aW
a aW
W a k
0
1 0
2
2 cos 2
1
1 )
(
a
k N a
a k
2 sin )
k N
a arctg
k
X
Trang 80 8 16 k
4 /X(k)/
a=3/4 N=16
8
0 2
4 /X(e j )/
a=3/4
Trang 90 8 16 k
arg[X(k)]
a=3/4 N=16
Trang 10a) Tuyến tính
N
DFT
N X ( k ) )
n (
N N
DFT N
N a x ( n ) a X ( k ) a X ( k ) )
n ( x
n (
n (
Trang 11n
0 1 2 3
4 3 2 1
n
x(n+3)
-3 -2 -1 0
4 3 2 1
Trang 12b) x(n)
n
0 1 2 3
4 3 2 1
x(n+1) 4
n
0 1 2 3
4 3 2 1
Trang 13c) Chập vòng:
N
DFT
N X ( k ) )
n (
N N
DFT N
N x ( n ) X ( k ) X ( k ) )
n (
n (
2 1
N m
N N
N
N x ( n ) x ( m ) x ( n m ) )
n ( x
N
N x ( n ) x ( n ) x ( n ) )
n (
) n ( rect )
m n
( x~
) m n
(
x2(-m) đi n đ/vị
Trang 14Ví dụ 4.3.2: Tìm chập vòng 2 dãy
3 0
3 0
4 2
4 1
4 2
4 1
4
n :
) m n
( x ) m ( x )
n ( x )
n ( x )
3
N
N N
Trang 15m -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
) ( )
(
~ )
) ( )
(
~ )
x
Trang 16 Xác định x 2 ( n -m) là dịch vòng của x 2 (-m) đi n đơn vị
Trang 173 0
3
0
4 2
4 1
4
n :
) m n ( x ) m ( x )
n (
0
0 3
0
4 2
4 1
x ) m ( x )
( x
0
4 2
4 1
x ) m ( x )
( x
3 0
4 2
4 1
x ) m ( x )
( x
3 0
4 2
4 1
x ) m ( x )
( x
Vậy:
Trang 18N n
W n x k
X k
X
Biến đổi DFT 2 dãy:
N W
0
1 ( 0 )
:
0
0 1
1 )
(
kN N N
n
kn N
W
W W
k X
X
: 0
0
: )
X k X k
X
: 0
0
: )
( )
( )
(
2 2
1 3
0 n
: )
(
1 )
( )
( )
0 3
2 1
3
N W
k
X N
n x n
x n
k
kn N
Trang 19d) Tính đối xứng:
N
DFT
N X ( k ) )
n (
n (
2 1
N
) n ( x
Nếu:
Thì:
Trang 21 Ví dụ 4.3.4: Cho 2 dãy x1(n)=x2(n)=rect3(n)
Hãy tìm x3(n)=x1(n)*x2(n) và x3(n)=x1(n)5 x2(n)5
Chập tuyến tính của 2 dãy:
n x n
x n
n x n
x n
và n
x1( )5 { 1 , 1 , 1 , 0 , 0 } 2( )5 { 1 , 1 , 1 , 0 , 0 }
Trang 22n
n
z n x z
X
4.4.1 KHÔI PHỤC BIẾN ĐỔI Z
Biến đổi Z của dãy
)(
1)
k
kn N
W k
X N
n x
)()
n
n
z n x z
n
N k
kn
W k
X N
1 0
)(1
1 )
(
1 )
N N
k
N
N k
N n
n k
N N
1
( )
N N
z W
k
X N
z z
X
Trang 234.4.2 KHÔI PHỤC BIẾN ĐỔI FOURIER
Mối quan hệ giữa biến đổi Z & FT:
j
e z
j X z e
X
( ) )
1
( )
N
z W
k
X N
z z
(
) ( )
1
( )
e
k
X N
e e
) (
e j e
e e
e
x j
x j
x j
x j
N j N
X N
e X
0 sin( )
2
sin )
(
1 )
(
Trang 24:)
()
W n x k
n
kn N
4.5.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át triển chưa mạnh thì thời gian xử lý phép tóan DFT trên máy tương đối chậm, do số phép nhân phức tương đối lớn
DFT của x(n) có độ dài N:
Để tính X(k), ứng 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ên DFT gọi là FFT (Fast Fourier Transform)
Trang 25a THUẬT TÓAN FFT CƠ SỐ 2 PHÂN THEO THỜI GIAN
Thuật tóan dựa trên sự phân chia dãy vào x(n) thành các 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
kn N
W ) n ( x )
1 n
1 2,4
0 n
N
,
kn N
N
,
kn
N x ( n ) W W
) n ( x
(
) r (
k N
) / N
(
kr
W ) r ( x )
k (
X
Thay n=2r với n chẵn và n=2r+1 với n lẽ:
Giả thiết dãy x(n) có độ dài N=2 M, nếu không có dạng lũy thừa 2 thì thêm vài mẫu 0 vào sau dãy x(n)
Trang 26 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ẽ
0 r
2
) / N
(
kr / N
W ) r ( x )
k (
0 r
2
) / N
(
kr / N
W ) r
( x )
k ( X
Đặt:
) (
) ( )
0 r
2
1 2
0 r
2
) / N
(
kr / N
k N
) / N
(
kr /
W ) r ( x )
k ( X
kr / N
kr /
N
j r
k N
j r
k
2 2
2 2
Trang 27N/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 28 Sau đó đánh lại chỉ số theo thứ tự các mẫu x(n), tiếp tục phân chia DFT của N/2 điểm thành 2 DFT của N/4 điểm theo 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:
0 r
2
1 2
0 r
2
) / N
(
kr / N
) / N
(
kr /
W ) r ( x )
k (
5 3 1 r
2
1 2
4 2 0 r
2
) / N (
, ,
kr / N
) / N (
, ,
kr /
N g ( r ) W W
) r ( g
0 l
4 2
1 4
0 l
2
) / N
(
kl / N
k / N
) / N
(
kl /
N W g ( l ) W W
) l ( g
) k ( X W
) k (
X00 N k / 2 01
Trang 29 Phân chia DFT- N/2 điểm -> 2 DFT- N/4 điểm của X 0 (k)
Phân chia X 1 (k) tương tự:
) k ( X W ) k ( X ) k (
X 1 (2)
X (3)
X 11 (0)
Trang 30 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 31 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)
Trang 32 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
Số phép nhân = số phép cộng = NM/2=(N/2)log 2 N
Trang 33Chỉ số
tự nhiên
Số nhị phân chưa đảo
Trang 34Ví dụ 4.5.1: 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)
Trang 35b THUẬT TÓAN FFT CƠ SỐ 2 PHÂN THEO TẦN SỐ
Thuật tóan dựa trên sự phân chia dãy ra X(k) thành các dãy nhỏ, do biến k biểu thị cho trục tần số nên gọi là phân chia theo tần số
N n
kn N
W ) n ( x )
k (
1 2
0 n
N / N
kn N
) / N
(
kn
W ) n ( x
0 n
2
1 2
0 n
2
) / N
(
) / N n (
k N
) / N
(
kn
W ) n ( x
0 n
2
1 2
0 n
2
) / N
(
kn N
/
kN N
) / N
(
kn
W ) n ( x
) / N
(
kn N
k x ( n N / ) W )
( ) n ( x
Trang 360 n
2
2 2
) / N
(
rn / N
W ) / N n
( x ) n ( x )
r (
0 n
2
2 1
2
) / N
(
rn / N
n
N W W
) / N n
( x ) n ( x )
r (
X
) / N n ( x ) n ( x ) n ( h );
/ N n ( x ) n ( x ) n (
0 n
2
2
) / N
(
rn / N
W ) n ( g )
r (
0 n
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 37 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 38 Sau đó đánh lại chỉ số theo thứ tự các mẫu X(k), tiếp tục phân chia DFT của N/2 điểm thành 2 DFT của N/4 điểm theo chỉ số k chẵn và lẽ Tiếp tục phân chia cho đến khi nào còn DFT 2 điểm thì dừng lại.
Dữ liệu ra X(k) được sắp xếp theo thứ tự đảo bít, còn
dữ liệu vào được sắp theo thứ tự tự nhiên
Số phép nhân và phép cộng trong lưu đồ phân theo tần
số bằng với số phép nhân và cộng trong lưu đồ phân theo thời gian
Trang 39 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 40X(0) X(2) X(1) X(3)
W 0
W 1
-1
-1 -1
-1
Trang 415.4.3 THUẬT TOÁN FFT VỚI N=N1N2
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ài mẫu 0 vào sau dãy x(n)
Trang 42 Lấy ví dụ sắp xếp dãy x(n) với N=12, chọn N1=3 và N2=4
Trang 43 DFT N điểm dãy x(n) được phân
1 2 1
N n
N n
) N n n )(
N k k
( N
W ) N n n
( x )
N k k
( X )
k ( X
1 2
2 2 2
1 1 1
N n
N n
N N k
n N
N k
n N
N k
n N
k
n
W ) N n n
( x
1 :
2
1 1 1
2 1
2
2
2 2 2
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 44) ,
( )
(
N n
k
n N W k
n G k
1 2
1
1
1 1 1
N n
k
n N
W ) N n n
( x )
k , n ( F
1 2
1 2 1
2, k ) F ( n , k ) W N n k
n (
Đặt:
Các bước tiến hành theo thuật tóan:
Sắp xếp dữ liệu vào theo thứ tự từng cột, mảng x
Trang 45Ví dụ 4.5.3: Nêu các bước tính và vẽ lưu đồ thuật tóan FFT
Trang 462 1 2
1 2
1
1
1 1 1
N n
k
n N
W ) N n n
( x )
k , n ( F
Trang 48 Nhân các phần tử mảng F(n 2 ,k 1 ) với các hệ số của
Trang 491 2 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 50 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)