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

4.1 KHÁI NIỆM

4.2 CHUỖI FOURIER RỜI RẠC (DFS)

4.3 BIẾN ĐỔI FOURIER RỜI RẠC (DFT)

4.4 BIẾN ĐỔI FOURIER NHANH (FFT)

1

4.1 KHÁI NIỆM



 j

 j n

Biến đổi Fourier dãy x(n):

X ( e

x( n )e

)

 

n



 X(ej) 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 ∞

Khi xử lý X(ej) 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)

2

4.2 CHUỖI FOURIER RỜI RẠC CỦA TÍN HIỆU TUẦN HOÀN (DFS)

 Xét tín hiệu tuần hoàn với chu kỳ N:

 x( n )

 x( n )

 x( n lN ) 

 x( n )

Khi đó tín hiệu tuần hoàn được biểu diễn bởi tổng các hàm mũ phức.

j

nk

 2 N

e

 Xét hàm mũ phức

tuần hoàn với chu kỳ N:

ke ( n )

j

( n rN )k

j

nk

 2 N

 2 N

e

e

 e ( n rN ) k

e ( n ) k

j

( k lN )n

j

nk

 2 N

 2 N

e

( n )

e

e

 k lN

e ( n ) k

3

 x( n )

 Tín hiệu tuần hoàn có thể biểu diễn bởi một chuỗi

Fourier dưới dạng:

 1

j

nk

 2 N

 x( n )

X ( k )e

1 N    N

0

k

N

 1

j

nk

 2 j mn N

 2 N

 2 j mn N

 x( n )e

X ( k )e

e

1    N

0

k

 1 N N

 1

N

 1

j

 k m n

 2 j mn N

 2  N

 x( n )e

X ( k )e

  

1 N

n

0

k

0

n

0

N

 1

N

 1

N

 1

j

 k m n

 2 j mn N

 2  N

 x( n )e

 X ( k )

e

1 N

n

0

k

0

n

0

   

   

4

N

 1

j

 k m n

1 :

 k m

 2  N

e

 Do:

1 N

0 :

 k m

k

0

   

N

 1

N

 1

N

 1

j

 k m n

 2 j mn N

 2  N

 x( n )e

 X ( k )

e

 X ( m )

1 N

n

0

k

0

n

0

   

   

 x( n )

 Hay ta có cặp phân tích và tổng hợp của chuỗi

:

N

 1

j

kn

 2 N

 X ( k )

 x( n )e

n

0

N

 1

j

kn

 2 N

 x( n )

 X ( k )e

1 N

n

0

     

5

4.3 BIẾN ĐỔI FOURIER RỜI RẠC (DFT)

4.3.1 ĐỊNH NGHĨA BIẾN ĐỔI FOURIER RỜI RẠC

 DFT của x(n) có độ dài N định nghĩa:

N

 1

j

kn

 2 N

x( n )e

:

0

 

k N

1

X ( k )

0

còn lại

 n 0 :

k

     

N

 1

j

x( n )W :

0

 

k N

1

kn N

 2 N

X ( k )

0

 NW e

còn lại

 n 0 :

k

       WN tuần hoàn với độ dài N:

j

( r mN )

j

r

 2 N

 2 N

W

e

e

W

( r mN ) N

r N

6

• X(k) biểu diễn dưới dạng modun & argument:

( k )

X ( k ) X ( k ) e  j

X ( k ) - phổ rời rạc biên độ

Trong đó:

 

( k ) arg[ X ( k )]

- phổ rời rạc pha

N

 1

j

kn

 2 N

X ( k )e

:

0

 

n N

1

x( n )

1 N

 IDFT:

k

0

0 :

n

còn lại

     

 Cặp biến đổi Fourier rời rạc:

N

 1

X ( k )

x( n )W

0

:

 k N

1

kn N

n

0

N

 1

kn

x( n )

X ( k )W

: 0

 n N

1

 N

1 N

k

0

      

7

nx )(

Ví dụ 4.3.1: Tìm DFT của dãy:

4,3,2,1 

3

j

 2 4

X ( k )

x( n )W

 

j;W

 

kn 4

 

1  W e 4

2 4

3 ;W j 1 4

n

0

3

X (

0

)

0

 ) x( ) x( 1

2

 ) x(

3

)

10

0 x( n )W x( 4

n

0

3

X ( ) 1

0

 ) x( )W x(

1

2

3

)W

   2

j

2

n x( n )W x( 4

1 4

2  )W x( 4

3 4

n

0

3

n

X (

2

)

x( n )W

x(

0

 ) x( )W x(

1

2

3

)W

 

2

2 4

4  )W x( 4

6 4

2 4

n

0

3

n

X (

3

)

x( n )W

x(

0

 ) x( )W x(

1

2

3

)W

   2

j

2

3 4

6  )W x( 4

9 4

3 4

n

0

8

Ví dụ: 4.3.2:

a) Tìm FT của dãy x(n)=an u(n), với /a/<1 b) Tìm DFT của dãy x(n)=an rectN(n) c) Vẽ phổ biên độ & pha của FT và DFT với a=3/4, N=16

 j

 Biến đổi FT của x(n):

X ( e

)

 j

1 ae

1

1

 jX ( e

)

2

 1 2

a cos

a

 j

arctg

 arg X ( e 

   ) 

a sin 

 a cos

1

9

 Biến đổi DFT của x(n):

N

N

 1

N

 1

n

X ( k )

n a W

aW

kn N

k N

1  a  aW 1

n

0

n

0

k N

1

X ( k )

2

 1 2

a cos

 k a

Na  2 N

a sin

k

arctg

  arg X ( k )

k

a cos

1

 2 N  2 N

10

/X(ej)/

4

a=3/4

0

2

/X(k)/

4

a=3/4

8

N=16

0

8 16

k

11

arg[X(ej)]

/2

8

a=3/4

0

2

-/2

arg[X(k)]

a=3/4

8

N=16

0

8

16 k

12

4.3.2 CÁC TÍNH CHẤT CỦA DFT

a. Tuyến tính

 Nếu:

DFT 

DFT 

x (n) 1 N

X (k ) 1

N

x ( n) 2 N

X ( k ) 2 N

DFT 

 Thì:

a x (n) 1 1 N

a x ( n) 2 2 N

a X ( k ) 1 1 N

a X ( k ) 2 2 N

Nếu:

Chọn:

N max{ N , N }

2

1

2

 L N N L 1 x 2

x 1

b. Dịch vòng

 Nếu:

DFT 

X( k )

x( n ) N

N

DFT

 Thì:

 

W X( k )

x( n n ) N

0

kn 0 N

N

gọi là dịch vòng của x(n)N đi n0 đơn vị

Với:

 x( n n ) N

0

 x( n n )  N

0

rect (n) N

13

nx )(

4,3,2,1 

Ví dụ 4.3.1: Cho: a) Tìm dịch tuyến tính: x(n+3), x(n-2) b)Tìm dịch vòng: x(n+3)4, x(n-2)4

x(n)

4 3 2 1

n

0 1 2 3

x(n-2)

x(n+3)

a)

4 3 2 1

4 3 2 1

n

n

-3 -2 -1 0

0 1 2 3 4 5

14

x(n)

x(n-1)4

b)

4 3 2 1

4 3 2 1

n

n

0 1 2 3

0 1 2 3

N

x(n+1)4

x( n

,

,

) 42

, 3 4 1 2 

4 3 2 1

n

x( n

,

) 43

0 1 2 3

 

 

, , 4 1 2 3 

15

c. Chập vòng

 Nếu:

DFT 

DFT 

x(n) 1 N

X (k) 1 N

x (n) 2 N

X (k) 2 N

DFT 

 Thì:

x ( n ) 1 N

x ( n ) 2 N

X ( k ) X ( k ) N N

2

1

N

 1

Với:

x ( n) 1 N

x (n) 2 N

x (m ) x (n m ) 1 2 N

N

Chập vòng 2 dãy x1(n) & x2(n)

m

 0

Và:

 x ( n m ) 2 N

 x ( n m ) rect ( n ) 2 N

N

Dịch vòng dãy x2(-m) đi n đ/vị

Chập vòng có tính giao hoán:

x ( n) 1 N

x ( n) 2 N

x ( n) 2 N

x ( n) 1 N

Nếu:

Chọn:

N max{ N , N }

2

1

2

 L N N L 1 x 2

x 1

16

x

n )

(2

4,3,2,1 

Ví dụ 4.3.2: Tìm chập vòng 2 dãy

nx )(1

4,3,2 

N

 1

với N-1n 0

x ( n) 3 N

x (n) 1 N

x ( n) 2 N

x (m ) x (n m ) 1 2 N

N

m

 0

3

,N

  

N max{ N ,N }

4

4

 Chọn độ dài N:

N 1

1

2

2

3

0

  n

3

x ( n ) 3 4

x ( n ) 1 4

x ( n ) 2 4

x ( m ) x ( n m ) : 1 2

4

4

m

0

 Đổi biến n->m:

,

,

x ( m )

,

,

x ( m ) 1

2

, 2 3 4 0 

, 1 2 3 4 

,

,

 Xác định x2(-m)4:

 x ( m ) 2 4

 x ( m ) rect ( n ) 2 4

4

 

 

, 1 4 3 2 

17

x2(m)

x2(-m)

4 3 2 1

4 3 2 1

m

m

0 1 2 3

-3 -2 -1 0

2

 x ( m )rect ( n ) 2

4

 2x ( m )

4 3 2 1

 x ( m ) 4 4 4 3 3 2 2 1 1

m

m m

-3 -2 -1 0 1 2 3 4

0 1 2 3 0 1 2 3

18

 Xác định x2(n-m) là dịch vòng của x2(-m) đi n đơn vị

với 3 n 0

x2(-m)4

x2(1-m)4

4 3 2 1

4 3 2 1

m

m

0 1 2 3

0 1 2 3

x2(2-m)4

x2(3-m)4

4 3 2 1

4 3 2 1

m

m

0 1 2 3

0 1 2 3

19

3

0

  n

3

x ( n ) 3 4

x ( m ) x ( n m ) : 1 2

4

4

m

0

 Nhân các mẫu x1(m) & x2(n-m) và cộng lại:

3

0

0

26

 n=0:

x ( 3

) 4

x ( m ) x ( 1 2

4

m ) 4

m

0

3

1

1

23

 n=1:

x ( 3

) 4

x ( m ) x ( m ) 1 2 4

4

m

0

3

2

2

16

 n=2:

x ( 3

) 4

x ( m ) x ( 1 2

4

m ) 4

m

0

3

3

3

25

 n=3:

x ( 3

) 4

x ( m ) x ( 1 2

4

m ) 4

m

0

, 26 23 16 25

,

,

Vậy:

x ( n ) 3 4

x ( n ) 1 4

x ( n ) 2 4

20

Ví dụ 4.3.3: Tìm chập vòng 2 dãy x1(n)=x2(n)=rectN(n)

N

 1

N

kn

 X ( k ) X ( k )

 1 W

 Biến đổi DFT 2 dãy:

1

2

x ( n )W 1

kn N

n

0

n

 0

N

k

: 0

0

)

 1 0 W N

X ( 1



n

0

N : k

0

X ( k ) 1

N

: k 0

   

k

0

 1 W

0

: X ( k ) 1

kn N

n

0

kN  1 W N k  1 W N

2

0

X ( k ) X ( k )X ( k ) 1

3

2

N : k : k 0

 

   

N

 1

kn

X ( k )W

 x ( n ) x ( n ) 3

1

x ( n ) 2

3

 N

1 N

N : : 0 n

 n 0 

k

 0

   

21

d. Tính đối xứng

 Nếu:

DFT 

X( k )

x( n) N

N

DFT

 Thì:

 

 x (n) N

X ( k ) N

e. Quan hệ Parseval

 Nếu:

DFT 

X( k )

x( n) N

N

N

 1

N

 1

2

2

 Thì:

x( n ) N

X( k ) N

1 N

n

 0

k

 0

22

f. Chập tuyến tính sử dụng DFT

 Kết quả phép chập tuyến tính của 2 dãy x1(n)N1 và x2(n)N2 sẽ giống với chập vòng nếu thêm các mẫu 0 vào sau các dãy x1(n) và x2(n) để có chiều dài tối thiểu là N1+N2 - 1:

x1(n)N1 * x2(n)N2 = x1(n)N1+N2 -1  x2(n) N1+N2 -1

 Lưu đồ phép chập tuyến tính thông qua DFT được mô tả:

X1(k)

x1(n)N1+N2 -1

DFT

X3(k)

IDFT

x3(n)N1+N2 -1

x

DFT

x2(n)N1+N2 -1

X2(k)

23

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:

x ( n ) 3

 x ( n ) x ( n ) 1

2

, } 1 2 3 2 1 , , { , 

 Kết quả sẽ tương tự đối với phép chập vòng nếu thêm vài mẫu 0 vào sau 2 dãy x1(n) và x2(n) để có độ dài tối thiểu là 5:

{

, , ,

,

{

,

}

x ( n ) 1 5

} và x ( n ) 2 5

1 1 1 0 0 

, , , 1 1 1 0 0 

x ( n ) 3 5

x ( n ) 1 5

x ( n ) 5

2

, } 1 2 3 2 1 , , { , 

24

4.3.3 KHÔI PHỤC BIẾN ĐỔI Z & FT TỪ DFT

a. Khôi phục biến đổi Z

N

 1

n

X ( z )

x( n )z

 Biến đổi Z của dãy x(n)N:

 

n

0

 1

kn

 Biến đổi IDFT của X(k) là:

x( n )

X ( k )W

 N

1 N   N

0

k

N

 1

 1

N

N

 1

kn

n

n

X ( k )W

z

X ( z )

x( n )z

 N

 

0

k

n

0

1     N 

  

n

0

N

N

 1

N

 1

N

 1

1

n

1

 1

X ( z )

X ( k ) N

X ( k ) N

 1

  k W z N

1 N

1 N

1

k

0

k

0

n

0

  k W z N  k  W z N

N

N

1 

1(

)

zX )(

z N

1(

1) 

k

0

kX )( N  k  zW N

25

b. Khôi phục biến đổi Fourier

 j

X ( e

) X ( z )

 Mối quan hệ giữa biến đổi Z & FT:

 j

 z e

 Theo mối quan hệ giữa ZT & DFT:

N

N

 1

(

1

)

X ( z )

 1

z N

)

k

0

X ( k )  k  ( W z 1 N

 j N

N

 1

(

1

)

 j

X ( e

)

j(

k

 

)

e N

k

0

X ( k ) N  2 N

)

(

1

e

j

j

j

j

jx

x 2

x 2

x 2

x 2

 Do:

1

 e

e

( e

e

)

j e 2

sin

x 2

sin

N

1 

j

k

1  N 2

 N

  

  

( eX

 j )

)( kX

e

N

1 N

k

0

k

)

sin(

 N 2   2 N

26

4.4 BiẾN ĐỔI FOURIER NHANH FFT

4.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á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.

N

 1

 DFT của x(n) có độ dài N:

X ( k )

x( n )W :

0

 

k N

1

kn N

n

0

 Để 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ó N2 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).

27

4.4.2 THUẬT TOÁN FFT CƠ SỐ 2 a. Thuật toán FFT cơ số 2 phân chia theo thời gian

 Giả thiết dãy x(n) có độ dài N=2M, 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).

 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

 1

N

 1

N

 1

x( n )W

x( n )W

X ( k )

x( n )W

kn N

kn N

kn N

 

, n 0 2,4...

, n 1 3,5...

n

0

 Thay n=2r với n chẵn và n=2r+1 với n lẽ:

( N /

2

 1 )

( N /

2

)

 1

kr

2

r

 1

)

X ( k )

x( r )W 2

x( r 2

1

)W

2 N

k ( N

 r 0

 r 0

28

j

kr

j

k r 2

 2 N / 2

 2 N

Do:

W

e

e

W

k r 2 N

kr N /

2

( N /

2

)

 1

( N /

2

)

 1

X ( k )

x( r )W 2

x( r 2

1

)W

kr N /

2

k W . N

kr N /

2

 r 0

 r 0

( N /

 2 1 )

( N /

 2 1 )

Đặt:

x( r )W 2

x( r 2

1

)W

X ( k ) 0

kr N /

2

X ( k ) 1

kr N /

2

 

 r 0

 r 0

X ( k ) X ( k ) W .X ( k )

k N

1

0

 X0(k) – DFT của N/2 điểm ứng với chỉ số n chẵn  X1(k) – DFT của N/2 điểm ứng với chỉ số n lẽ

 Lấy ví dụ minh họa cho x(n) với N=8

29

 Phân chia DFT- N điểm -> 2 DFT- N/2 điểm;

X0(0) X(0) x(0) W0 X0(1) X(1) x(2) W1 n chẵn X0(2) X(2) x(4) W2

DFT N/2 điểm

X0(3) X(3) x(6) W3

X1(0) X(4) x(1) W4 X1(1) X(5) x(3) W5 n lẽ X1(2) X(6) x(5) W6

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ố

30

X1(3) X(7) x(7) W7

 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ụ X0(k) được phân chia:

( N /

 2 1 )

( N /

 2 1 )

x( r )W 2

g( r )W

X ( k ) 0

kr N /

2

kr N /

2

 r 0

 r 0

( N /

 2 1 )

( N /

 2 1 )

g( r )W

g( r )W

kr N /

2

kr N /

2

 r 1 3 5

, , ...

 r 0 2 4 ,

, ...

( N /

 4 1 )

( N /

 4 1 )

g( l )W 2

W

g( l 2

1

)W

kl N /

4

k N /

2

kl N /

4

 l 0

 l 0

X ( k ) X ( k ) W .X ( k )

00

k N /

2

01

0

31

 Phân chia DFT- N/2 điểm -> 2 DFT- N/4 điểm của X0(k)

X00(0) X0(0) x(0)

W0 X00(1)

N/2

DFT N/4

X0(1) x(4)

W1

N/2

X01(0) X0(2) x(2) W2

N/2

X01(1)

DFT N/4

X0(3) x(6) W3

N/2

X ( k ) X ( k ) W .X ( k )

 Phân chia X1(k) tương tự:

k N /

2

11

10

1

X10(0) X1(0) x(1)

W0 X10(1)

N/2

DFT N/4

X1(1) x(5)

W1

N/2

X11(0) X1(2) x(3) W2

N/2

X11(1)

DFT N/4

X1(3) x(7) W3

N/2

32

 Lưu đồ DFT dãy x(n) sau 2 lần phân chia với N=8

X00(0) X(0) x(0) W0 W0 X00(1) X(1)

DFT N/4

x(4) W1 W2 X01(0) X(2) x(2) W2 W4 X01(1) X(3) x(6)

DFT N/4

W3 W6

X10(0) X(4) x(1) W4 W0 X10(1)

DFT N/4

X(5) x(5) W5 W2 X11(0) X(6) x(3) W6 W4 X11(1) X(7)

DFT N/4

x(7) W7 W6

 Lưu đồ DFT

x(0) X00(0)

W0

N = 1

2 điểm:

x(4) X00(1)

N/2 =-1

33

WN

 Lưu đồ DFT dãy x(n) sau 3 lần phân chia với N=8

X(0) x(0)

W0 W0

X(1) x(4)

W2 -1 W1

X(2) x(2)

W2 W4

X(3) x(6) -1 W3 W6

X(4) x(1) W4 W0

X(5) x(5) W5 -1 W2

X(6) x(3) W6 W4

X(7) x(7) W7 W6 -1

Xm(p) Xm+1(p) Xm(p) Xm+1(p)

Wr N

Wr N Xm(q) Xm(q) Xm+1(q)

34

Xm+1(q) r (r+N/2) = - WN WN -1

 Lưu đồ DFT dãy x(n) sau 3 lần phân chia với N=8

X(0) x(0)

X(1) x(4)

-1 W0 X(2) x(2)

-1 W2 X(3) x(6) -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 = NM/2=(N/2)log2N

35

W0 X(4) x(1) -1 W1 X(5) x(5) -1 -1 W2 W0 X(6) x(3) -1 -1 W3 W2 X(7) x(7) -1 -1 -1

 Bảng mô tả qui luật đảo bít:

Chỉ số tự nhiên

Chỉ số đảo

Số nhị phân chưa đảo (n2,n1,n0) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Số nhị phân đảo (n0,n1,n2) 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1

0 1 2 3 4 5 6 7

0 4 2 6 1 5 3 7

36

nx

)

(

Ví dụ 4.4.1: Hãy vẽ lưu đồ và tính FFT cơ số 2 phân theo t/g 4,3,2,1 

X(0)

x(0)

X(1)

x(2)

-1

W0

X(2)

x(1)

W1

-1

X(3)

x(3)

-1

-1 X(0) = [x(0) + x(2)] + W0[x(1) + x(3)] = 10.

 k=0:

X(1) = [x(0) - x(2)] + W1[x(1) - x(3)] = - 2 +

 k=1:

j2.

X(2) = [x(0) + x(2)] - W0[x(1) + x(3)] = - 2.

 k=2:

X(3) = [x(0) - x(2)] - W1[x(1) - x(3)] = - 2 - j2.37

 k=3:

b. Thuật toán FFT cơ số 2 phân chia 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

 1

( N /

2

)

 1

N

 1

X ( k )

x( n )W

x( n )W

x( n )W

kn N

kn N

kn N

 

n

N /

2

 n 0

n

0

( N /

2

 1 )

( N /

2

 1 )

2

)

x( n )W

 x( n N /

2

)W

kn N

 k ( n N / N

 n 0

 n 0

( N /

2

 1 )

( N /

2

 1 )

2

 x( n N /

2

)W

kn x( n )W W N

kN / N

kn N

 n 0

 n 0

( N /

2

 1 )

x( n )

  (

1

k  ) x( n N /

2

kn N

 

 ) W 

 n 0

38

 Với k chẵn, thay k=2r:

( N /

2

 ) 1

X ( r ) 2

x( n ) x( n N /

2

 ) W

rn N /

2

 n 0

 Với k lẽ, thay k=2r+1

( N /

2

)

 1

X ( r 2

1

)

x( n ) x( n N /

2

rn N /

2

  n ) W W N

 

 n 0

 Đặt:

 g(n) x(n) x(n N /

2

); h(n) x(n) x(n N /

2

)

( N /

2

 1 )

( N /

2

 ) 1

X ( r 2

1

)

h( n )W W

X ( r ) 2

g( n )W

n N

rn N /

2

rn N /

2

 

 

 

 n 0

 n 0

– DFT của N/2 điểm ứng với chỉ số k chẵn

 X(2r)  X(2r+1) – DFT của N/2 điểm ứng với chỉ số k lẽ

39

 Phân chia DFT N=8 điểm -> 2 DFT N/2= 4 điểm

g(0) X(0) x(0)

g(1) X(2) x(1)

k chẵn g(2) X(4) x(2)

DFT N/2 điểm

g(3) X(6) x(3)

W0 h(0) X(1) x(4) -1 W1 h(1) X(3) x(5) -1 k lẽ W2 h(2) X(5) x(6) -1 W3

DFT N/2 điểm

40

h(3) X(7) x(7) -1

 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.

41

 Lưu đồ DFT dãy x(n) sau 3 lần phân chia với N=8

X(0) x(0)

X(4) x(1)

-1 W0 X(2) x(2)

-1 W2 X(6) x(3) -1 -1

Đảo bít

42

W0 X(1) x(4) -1 W1 X(5) x(5) -1 -1 W2 W0 X(3) x(6) -1 -1 W3 W2 X(7) x(7) -1 -1 -1

Ví dụ 4.4.2: Hãy vẽ lưu đồ và tính FFT cơ số 2 phân theo t/s )

nx

(

4,3,2,1 

X(0)

x(0)

X(2)

x(1)

-1

W0

X(1)

x(2)

-1

W1

X(3)

x(3)

-1

-1

 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.

43

 k=3:

X(3) = [x(0) - x(2)] - W1[x(1) - x(3)] = - 2 - j2.

4.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=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).

 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:

0

1

n2 n1

N1-1

0

x(0)

x(N2)

x[N2(N1-1)]

1

x(1)

x(N2+1)

… x[N2(N2-1)+1]

N2-1

x(N2-1)

x(2N2-1)

x[N1N2-1]

44

 Lấy ví dụ sắp xếp dãy x(n) với N=12, chọn N1=3 và N2=4

0

1

2

n2 n1

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 = n1N2 + n2

0  n1  N1 0  n2  N2

 k = k1 + k2N1

0  k1  N1 0  k2  N2

45

 DFT N điểm dãy x(n) được phân tích:

N

 1

 1

2

N 1

1

1

2

1

2

2

 X( k ) X( k 1

k N ) 2

1

x( n 2

n N )W 1 2

( k k N )( n n N ) N

 

0

0

n 2

n 1

N

 1

N

 1

2

1

2

1

1

2

x( n

W

W

2

n N )W W 1

n k 2 1 N

2

n k N 1 1 N

n k N 2 2 N

n k N N 1 2 N

 

n

0

0

2

n 1

2

1

2

1

2

Do:

W

1

n k N 1 1 N

n k W ;W 1 1 N

n k N 2 2 N

n k W ;W 2 N

n k N N 1 2 N

1

2

 1

N

N

 1

1

2

X ( k )

W

x( n 2

n N )W W 1

n k 1 1 N

2

n k 2 1 N

n k 2 2 N

1

2

0

0

n 1

n 2

  

         

    

46

N

 1

1

F ( n ,k ) 2

1

x( n 2

n N )W 1 2

n k 1 1 N

1

0

 Đặt:

n 1

G( n ,k ) F ( n ,k ).W

2

1

2

1

n k 2 1 N

N

1

2

kn 22

kX )(

(

)

1

2

NWknG ,

2

0

n 2

n2k1, được G(n2,k1)

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  Tính DFT theo từng hàng mảng x, được F(n2,k1) n2k1  Tính mảng hệ số WN  Nhân mảng F(n2,k1) với WN  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).

47

Ví dụ 4.4.3: 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:

0

1

2

n2 n1

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)

48

 Tính DFT theo từng hàng mảng x, được F(n2,k1):

N

 1

1

F ( n ,k ) 2

1

x( n 2

n N )W 1 2

n k 1 1 N

1

0

n 1

0

1

2

n2 k1

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)

49

n2k1

 Tính mảng hệ số WN

0

1

2

n2 k1

0

1

2

3

0 WN 0 WN 0 WN 0 WN

0 WN 1 WN 2 WN 3 WN

0 WN 2 WN 4 WN 6 WN

50

 Nhân các phần tử mảng F(n2,k1) với các hệ số của n2k1 tương ứng, được G(n2,k1) :

mảng WN

nikj

Phần tử: G(ni,kj) = F(ni,kj). WN

0

1

2

n2 k1

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)

51

 Tính DFT theo từng cột mảng G(n2,k1), được X(k):

N

 1

2

X ( k ) X ( k N k )

1 2

1

G( n ,k )W 2

1

n k 2 2 N

 

2

0

n 2

0

1

2

k2 k1

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)

 Đọc dữ liệu ra theo thứ tự từng hàng X(k)

52

 Lưu đồ FFT dãy x(n) N=N1N2, với N1=3, N2=4:

X(0) x(0)

X(3) x(4)

DFT N1 điểm

X(6) x(8)

DFT N2 điểm

W0 X(9) x(1)

W1 X(1) x(5)

W2

DFT N1 điểm

X(4) x(9)

W0 X(7) x(2)

DFT N2 điểm

W2 X(10) x(6)

W4

DFT N1 điểm

x(10) X(2)

W0 X(5) x(3)

W3 X(8) x(7)

DFT N2 điểm

W6

DFT N1 điểm

53

X(11) x(11)