Chương 4: BIỂU DIỄN TÍN HIỆU VÀ HỆ THỐNG TRONG MIỀN TẦN SỐ RỜI RẠC BÀI 1 KHÁI NiỆM DFT BÀI 2 BIẾN ĐỔI FOURIER RỜI RẠC (DFT) BÀI 3 CÁC TÍNH CHẤT DFT BÀI 4 BiẾN ĐỔI FOURIER NHANH (FFT)BÀI 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): n j n X () x(n)e Khi xử lý X() trên thiết bị, máy tính cần: Rời rạc tần số > K Độ 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à biến đổi Fourier rời rạc – DFT (Discrete Fourier Transform)BÀI 2 BIẾN ĐỔI FOURIER RỜI RẠC DFT DFT của x(n) có độ dài N định nghĩa: 0 : ( ) : 0 1 ( ) 1 0 2 k x n e k N X k N n kn N j còn lại r N r N r mN j N r mN j WN e e W 2 2 ( ) ( ) 0 : ( ) : 0 1 ( ) 1 0 k x n W k N X k N n kn N còn lại N j WN e 2 W N tuần hòan với độ dài N:X(k) biểu diễn dưới dạng modun argument: X(k) X(k)e j(k) Trong đó: X(k) phổ rời rạc biên độ (k) argX(k) phổ rời rạc pha IDFT: 0 : 1 ( ) : 0 1 ( ) 1 0 2 n X k e n N x n N N k kn N j còn lại ( ) 1 ( ) : 0 1 ( ) ( ) : 0 1 1 0 1 0 X k W n N N x n X k x n W k N N k kn N N n kn N Cặp biến đổi Fourier rời rạc:Ví dụ 1: Tìm DFT của dãy: x(n) 1,2,3,4 3 0 ( ) ( ) 4 n X k x n W kn W e j W W j j 3 4 2 4 4 2 1 4 ; 1; (0) ( ) (0) (1) (2) (3) 10 3 0 0 4 X x n W x x x x n (1) ( ) (0) (1) 41 (2) 42 (3) 43 2 2 3 0 X x n W4 x x W x W x W j n n (2) ( ) (0) (1) 42 (2) 44 (3) 46 2 3 0 2 4 X x n W x x W x W x W n n (3) ( ) (0) (1) 43 (2) 46 (3) 49 2 2 3 0 3 X x n W4 x x W x W x W j n n BÀI 3. CÁC TÍNH CHẤT DFT a) Tuyến tính N DFT x1(n)N X1(k) N N DFT a1x1(n)N a2x2(n)N a1X1(k) a2X2(k) Nếu: Thì: N DFT x2(n)N X2(k) b) Dịch vòng: Nếu:x(n)N DFT X(k)N Thì: x(n n0 )N DFT WNkn0 X(k)N Với: x(n n0 )N x~(n n0 )N rectN(n) gọi là dịch vòng của x(n)N đi n0 đơn vị Nếu: Lx1 N1 N2 Lx2 Chọn: N max{ N1, N2}Ví dụ 1: Cho: a) Tìm dịch tuyến tính: x(n+3), x(n2) b)Tìm dịch vòng: x(n+3)4, x(n2)4 x(n) 1,2,3,4 x(n) n 0 1 2 3 4 3 2 1 a) n x(n2) 0 1 2 3 4 5 4 3 2 1 n x(n+3) 3 2 1 0 4 3 2 1b) x(n) n 0 1 2 3 4 3 2 1 N x(n1)4 n 0 1 2 3 4 3 2 1 x(n+1)4 n 0 1 2 3 4 3 2 1 x(n 2)4 3,4,1,2 x(n 3)4 4,1,2,3c) Chập vòng: N DFT x1(n)N X1(k) N N DFT x1(n)N x2(n)N X1(k) X2(k) Nếu: Thì: N DFT x2(n)N X2(k) 1 0 1( ) 2( ) 1( ) 2( ) N m Với: x n N x n N x m N x n m N Chập vòng 2 dãy x 1(n) x2(n) Nếu: Lx1 N1 N2 Lx2 Chọn: N max{ N1, N2} Chập vòng có tính giao hóan: x1(n)N x2(n)N x2(n)N x1(n)N Và: x2(n m)N x~2(n m)N rectN (n) Dịch vòng dãy x 2(m) đi n đvịVí dụ 1: Tìm chập vòng 2 dãy x1(n) 2,3,4 x2(n) 1,2,3,4 ( ) ( ) ( ) ( ) ( ) : 0 3 3 0 3 4 1 4 2 4 1 4 2 4 x n x n x n x m x n m n m N1 3, N2 4 N max{ N1, N2} 4 Đổi biến n>m: x1(m) 2,3,4,0 x2(m) 1,2,3,4 Xác định x2(m)4: x2(m)4 x~2(m)4rect4(n) 1,4,3,2 Chọn độ dài N:m 3 2 1 0 1 2 3 4 4 3 2 1 x~2(m) x 2(m) m 0 1 2 3 4 3 2 1 x 2(m) m 3 2 1 0 4 3 2 1 m 0 1 2 3 4 3 2 1 x2(m)4 x~2(m)rect4(n) Xác định x2(nm) là dịch vòng của x2(m) đi n đơn vị n>0: dịch vòng sang phải, n 2 DFT N2 đ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ố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 N2 điểm thành 2 DFT của N4 đ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ụ X0(k) được phân chia: ( 2) 1 r 0 2 ( 2) 1 r 0 0( ) (2 ) 2 ( ) N kr N N kr X k x r WN g r W ( 2) 1 r 1,3,5... 2 ( 2) 1 r 0,2,4... ( ) 2 ( ) N kr N N kr g r WN g r W ( 4) 1 l 0 2 4 ( 4) 1 l 0 (2 ) 4 (2 1) N kl N k N N kl g l WN W g l W X00(k) WNk 2.X01(k) Phân chia DFT N2 điểm > 2 DFT N4 điểm của X0(k) DFT N4 x(0) x(4) W0 N2 W1 N2 X 00(0) X 00(1) X 0(0) X 0(1) DFT N4 x(2) x(6) X 0(2) X 0(3) X 01(0) X 01(1) W2N2 W3 N2 Phân chia X1(k) tương tự: X1(k) X10(k) WNk 2.X11(k) DFT N4 x(1) x(5) W0 N2 W1 N2 X 10(0) X 10(1) X 1(0) X 1(1) DFT N4 x(3) x(7) X 1(2) X 1(3) X 11(0) X 11(1) W2N2 W3 N2 Lưu đồ DFT dãy x(n) sau 2 lần phân chia với N=8 DFT N4 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) W0 W1 W2 W3 W4 W5 W6 W7 DFT N4 DFT N4 DFT N4 W0 W2 W4 W6 X 00(0) X 00(1) X 01(0) X 01(1) X 10(0) X 10(1) X 11(0) X 11(1) W0 W2 W4 W6 x(0) x(4) W0 N = 1 W N N2 =1 X 00(0) X 00(1) Lưu đồ DFT 2 điểm: 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) W0 W1 W2 W3 W4 W5 W6 W7 W0 W2 W4 W6 W0 W2 W4 W6 1 1 1 1 X m(p) X m(q) 1 X m+1(p) X m+1(q) Wr N X m(p) X m(q) X m+1(p) X m+1(q) Wr N W N (r+N2) = W N r 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) W0 W1 W2 W3 1 1 1 1 W0 W2 1 1 1 1 W0 W2 1 1 1 1 Đảo bít Với N=2M > M lần phân chia Số phép nhân = số phép cộng = NM2=(N2)log2NChæ soá töï nhieân Soá nhò phaân chöa ñaûo (n 2 ,n 1 ,n 0 ) Soá nhò phaân ñaûo (n 0 ,n 1 ,n 2 ) Chæ soá ñaûo 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 4 2 0 1 0 0 1 0 2 3 0 1 1 1 1 0 6 4 1 0 0 0 0 1 1 5 1 0 1 1 0 1 5 6 1 1 0 0 1 1 3 7 1 1 1 1 1 1 7 Bảng mô tả qui luật đảo bít:Ví dụ 1: Hãy vẽ lưu đồ và tính FFT cơ số 2 phân theo tg x(n) 1,2,3,4 x(0) x(2) x(1) x(3) X(0) X(1) X(2) X(3) W0 W1 1 1 1 1 k=0: X(0) = x(0) + x(2) + W0x(1) + x(3) = 10. k=1: X(1) = x(0) x(2) + W1x(1) x(3) = 2 + j2. k=2: X(2) = x(0) + x(2) W0x(1) + x(3) = 2. k=3: X(3) = x(0) x(2) W1x(1) x(3) = 2 j2.b. THUẬT TOÁN 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ố. 1 0 ( ) ( ) N n kn X k x n WN 1 n 2 ( 2) 1 n 0 ( ) ( ) N N kn N N kn x n WN x n W ( 2) 1 n 0 ( 2) ( 2) 1 n 0 ( ) ( 2) N k n N N N kn x n WN x n N W ( 2) 1 n 0 2 ( 2) 1 n 0 ( ) ( 2) N kn N kN N N kn x n WN W x n N W ( 2) 1 n 0 ( ) ( 1) ( 2) N kn N x n k x n N WVới k chẵn, thay k=2r: ( 2) 1 n 0 (2 ) ( ) ( 2) 2 N rn X r x n x n N WN Với k lẻ, thay k=2r+1 ( 2) 1 n 0 (2 1) ( ) ( 2) 2 N rn N n N X r x n x n N W W Đặt: g(n) x(n) x(n N 2); h(n) x(n) x(n N 2) ( 2) 1 n 0 (2 ) ( ) 2 N rn X r g n WN ( 2) 1 n 0 (2 1) ( ) 2 N rn N n N r h n W W X(2r) – DFT của N2 điểm ứng với chỉ số k chẵn X(2r+1) – DFT của N2 điểm ứng với chỉ số k lẻ Phân chia DFT N=8 điểm > 2 DFT N2= 4 điểm k chẵn k lẽ DFT N2 điểm x(0) x(1) x(2) x(3) X(0) X(2) X(4) X(6) DFT N2 điểm x(4) x(5) x(6) x(7) X(1) X(3) X(5) X(7) W0 W1 W2 W3 g(0) g(1) g(2) g(3) h(0) h(1) h(2) h(3) 1 1 1 1Sau đó đánh lại chỉ số theo thứ tự các mẫu X(k), tiếp tục phân chia DFT của N2 điểm thành 2 DFT của N4 đ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. Lưu đồ DFT dãy x(n) sau 3 lần phân chia với N=8 x(0) x(1) x(2) x(3) X(0) X(4) X(2) X(6) x(4) x(5) x(6) x(7) X(1) X(5) X(3) X(7) W0 W1 W2 W3 1 1 1 1 W0 W2 1 1 1 1 W0 W2 1 1 1 1 Đảo bítk=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) + W1x(1) x(3) = 2 + j2. k=3: X(3) = x(0) x(2) W1x(1) x(3) = 2 j2. Ví dụ 2: Hãy vẽ lưu đồ và tính FFT cơ số 2 phân theo ts x(n) 1,2,3,4 x(0) x(1) x(2) x(3) X(0) X(2) X(1) X(3) W0 W1 1 1 1 13. THUẬT TOÁN FFT VỚI N=N1N2 Giả thiết dữ liệu vào được sắp xếp vào trong mảng theo thứ tự từng cột với số cột N1 và số hàng N2: Giả thiết độ dài dãy x(n) có thể phân tích N=N1N2, 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). n 2 n1 0 1 … N11 0 x(0) x(N2) … xN2(N11) 1 x(1) x(N2+1) … xN2(N21)+1 … … … … … N 21 x(N21) x(2N21) … xN1N21Lấy ví dụ sắp xếp dãy x(n) với N=12, chọn N1=3 và N2=4 n 2 n1 0 1 2 0 x(0) x(4) x(8) 1 x(1) x(5) x(9) 2 x(2) x(6) x(10) 3 x(3) x(7) x(11) Các chỉ số n của x(n), k của X(k) xác định: n = n 1N2 + n2 0 n1 N1 0 n2 N2 k = k 1 + k2N1 0 k1 N1 0 k2 N2DFT N điểm dãy x(n) được phân tích: 1 0 1 0 ( )( ) 1 2 1 2 1 2 2 2 1 1 ( ) ( ) ( ) 1 2 1 2 1 2 N n N n k k N n n N X k X k k N x n n N WN 1 0 1 0 2 2 1 2 2 2 1 1 ( ) 1 1 1 2 2 2 1 1 2 1 2 N n N n n k N N N n k N N n k N N n k x n n N WN W W W 1 1 2 1 1 2 2 1 2 2 1 2 1 2 1 2 Do: ; ; 1 W W W W W N N N N N n k N n k n k N n k n k N N 1 0 1 0 2 1 2 2 2 2 2 2 2 1 1 1 1 1 1 ( ) ( ) N n n k N n k N N n n k X k x n n N WN W W 1 0 2 1 2 2 2 2 2 ( ) ( , ) N n n k X k G n k WN 1 0 2 1 2 1 2 1 1 1 1 1 ( , ) ( ) N n n k F n k x n n N WN G(n2,k1) F(n2,k1).WNn2k1 Đặt: Các bước tiến hành thuật tóan: Sắp xếp dữ liệu vào theo thứ tự từng cột, mảng x Tính DFT theo từng hàng mảng x, được F(n2,k1) Tính mảng hệ số WNn2k1 Nhân mảng F(n2,k1) với WNn2k1, được G(n2,k1) Tính DFT theo từng cột mảng G(n2,k1), được X(k) Đọc dữ liệu ra theo thứ tự từng hàng X(k).Ví dụ 1: Nêu các bước tính và vẽ lưu đồ thuật tóan FFT dãy x(n) với N=N1N2=12, chọn N1=3 và N2=4 Sắp xếp dữ liệu vào theo thứ tự từng cột như bảng: n 2 n1 0 1 2 0 x(0) x(4) x(8) 1 x(1) x(5) x(9) 2 x(2) x(6) x(10) 3 x(3) x(7) x(11)Tính DFT theo từng hàng mảng x, được F(n2,k1): n 2 k1 0 1 2 0 F(0,0) F(0,1) F(0,2) 1 F(1,0) F(1,1) F(1,2) 2 F(2,0) F(2,1) F(2,2) 3 F(3,0) F(3,1) F(3,2) 1 0 2 1 2 1 2 1 1 1 1 1 ( , ) ( ) N n n k F n k x n n N WNTính mảng hệ số WNn2k1 n 2 k1 0 1 2 0 WN0 WN0 WN0 1 W N 0 W N 1 W N 2 2 W N 0 W N 2 W N 4 3 WN0 WN3 WN6Nhân các phần tử mảng F(n2,k1) với các hệ số của mảng WNn2k1 tương ứng, được G(n2,k1) : n 2 k1 0 1 2 0 G(0,0) G(0,1) G(0,2) 1 G(1,0) G(1,1) G(1,2) 2 G(2,0) G(2,1) G(2,2) 3 G(3,0) G(3,1) G(3,2) Phần tử: G(ni,kj) = F(ni,kj). WNnikjTính DFT theo từng cột mảng G(n2,k1), được X(k): k 2 k1 0 1 2 0 X(0) X(1) X(2) 1 X(3) X(4) X(5) 2 X(6) X(7) X(8) 3 X(9) X(10) X(11) 1 0 1 1 2 2 1 2 2 2 2 2 ( ) ( ) ( , ) N n n k X k X k N k G n k WN Đọc dữ liệu ra theo thứ tự từng hàng X(k) Lưu đồ FFT dãy x(n) N=N1N2, với N1=3, N2=4: DFT N 1 điểm x(0) x(4) x(8) W0 W1 W2 DFT N 1 điểm x(1) x(5) x(9) DFT N 1 điểm x(2) x(6) x(10) DFT N 1 điểm x(3) x(7) x(11) W0 W2 W4 W0 W3 W6 DFT N 2 đ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)
Trang 1Chương 4:
BIỂU DIỄN TÍN HIỆU VÀ HỆ THỐNG TRONG
MIỀN TẦN SỐ RỜI RẠC
BÀI 1 KHÁI NiỆM DFT
BÀI 2 BIẾN ĐỔI FOURIER RỜI RẠC (DFT)
BÀI 3 CÁC TÍNH CHẤT DFT
BÀI 4 BiẾN ĐỔI FOURIER NHANH (FFT)
Trang 2BÀI 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):
X() ( )
Khi xử lý X() trên thiết bị, máy tính cần:
Rời rạc tần số -> K
Độ dài x(n) hữu hạn là N: n = 0 N -1
số rời rạc, gọi tắt là biến đổi Fourier rời rạc – DFT
(Discrete Fourier Transform)
Trang 3BÀI 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
r
) (
2 )
0
1 0
: )
( )
W n
x k
X
N
n
kn N
Trang 4X(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 )
(
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 5Ví dụ 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 6DFT N
n x
( n N DFT X k N
x
Nếu:
) ( )
kn N
DFT
n n
Trang 9DFT N
N
N x n x m x n m n
(
~ )
Trang 10Ví dụ 1: Tìm chập vòng 2 dãy 2 ( ) 1 , 2 , 3 , 4
n x
2 , 3 , 4 )
(
1 n
x
3 0
: ) (
) ( )
( )
( )
(
3
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 ,
2 , 3 , 4 , 0
) (
Chọn độ dài N:
Trang 11m -3 -2 -1 0 1 2 3 4
(
~ )
(
~ )
2 m x m rect n
x
Trang 12 Xác định x2 ( 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
Trang 133 0
: ) (
) ( )
(
3
0
4 2
4 1
4
n m
n x m
x n
0 ( )
( )
0 (
3
0
4 2
4 1
m x
4 1
m x
4 1
m x
4 1
m x
Trang 14BÀI 4 BiẾN ĐỔI FOURIER NHANH FFT
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
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ên DFT gọi là FFT (Fast Fourier Transform)
Trang 152 THUẬT TOÁN FFT CƠ SỐ 2
a THUẬT TOÁN 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
(
N
n
kn N
W n x k
1
2,4
, 0 n
) ( )
(
N
kn N
N
kn
W n x
) 1 2 (
1 ) 2 / (
0 r
2
) 1 2
( )
2 ( )
(
N
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 16X 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 ( ) ( 2 )
N
kr N
W r x k
2 /
1 ( ) ( 2 1 )
N
kr N
W r
x k
X
Đặt:
) (
) ( )
2 /
1 ) 2 / (
0 r
2 / ( 2 1 ) )
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
Trang 17DFT
N/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 18Sau đó đá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ụ X0 (k) được phân chia:
2 /
1 ) 2 / (
0 r
2 /
N
kr N
N
kr
W r x k
2 /
1 ) 2 / (
4 , 2 , 0 r
2
) (
N
kr N
N
kr
W r g
4 / 2
/
1 ) 4 / (
0 l
4
) 2 (
N
kl N
k N
N
kl
W l g
) (
Trang 19 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 20 Lưu đồ DFT dãy x(n) sau 2 lần phân chia với N=8
Trang 21 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 22 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 24Ví dụ 1: Hãy vẽ lưu đồ và tính FFT cơ số 2 phân theo t/g
1 , 2 , 3 , 4
) (
n x
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 25b THUẬT TOÁN 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
) 2 / (
1 ) 2 / (
0 n
) 2 / (
) (
N
N n k N
N
kn
W n x
2 /
1 ) 2 / (
0 n
) 2 / (
) (
N
kn N
kN N
N
kn
W n x
) 2 / (
) 1 ( ) (
N
kn N
k
W N
n x n
x
Trang 262 /
) 2 / (
) ( )
2
(
N
rn N
W N
n x n
x r
2 / )
2 / (
) ( )
1 2
(
N
rn N
n
W N
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 27 Phân chia DFT N=8 điểm -> 2 DFT N/2= 4 điểm
-1 -1 -1 -1
Trang 28Sau đó đá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 29 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 30k=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
k=3: X(3) = [x(0) - x(2)] - W1[x(1) - x(3)] = - 2 - j2
Ví dụ 2: Hãy vẽ lưu đồ và tính FFT cơ số 2 phân theo t/s
1 , 2 , 3 , 4
) (
n x
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 313 THUẬT TOÁN FFT VỚI N=N1N2
Giả thiết dữ liệu vào được sắp xếp vào trong mảng theo
thứ tự từng cột với số cột N 1 và số hàng N2:
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 32Lấy ví dụ sắp xếp dãy x(n) với N=12, chọn N1=3 và N2=4
Trang 33DFT 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
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 342
2 2 2
) ,
( )
(
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 ).
, ( )
, (n2 k1 F n2 k1 W N n k
Đặt:
Sắp xếp dữ liệu vào theo thứ tự từng cột, mảng x Tính DFT theo từng hàng mảng x, được F(n 2 ,k 1 )
Tính mảng hệ số W N n 2 k 1
Nhân mảng F(n 2 ,k 1 ) với W N n 2 k 1, được G(n 2 ,k 1 )
Tính DFT theo từng cột mảng G(n 2 ,k 1 ), được X(k)
Đọc dữ liệu ra theo thứ tự từng hàng X(k)
Trang 35Ví dụ 1: Nêu các bước tính và vẽ lưu đồ thuật tóan FFT dãy
Trang 361 2
1
1
1 1 1
) (
) ,
(
N
n
k n NW N
n n
x k
n F
Trang 38Nhân các phần tử mảng F(n 2 ,k 1 ) với các hệ số của mảng W N n2k1 tương ứng, được G(n 2 ,k 1 ) :
Trang 391 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 40 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)