Chương 66 Chương

BK TP.HCM

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

T.S. Đinh Đức Anh Vũ

Faculty of Computer Science and Engineering HCMC University of Technology 268, av. Ly Thuong Kiet, District 10, HoChiMinh city (08) 864-7256 (ext. 5843) Telephone : Fax : (08) 864-5137 Email : anhvu@hcmut.edu.vn http://www.cse.hcmut.edu.vn/~anhvu

Nộidung Nộidung

TínhDFT & IDFT

Tínhtr ựcti ếp

Biến đổi WN

Chia-Trị

Lọctuy ếntính

Cơ số 2

Cơ số 4

Tách cơ số

Goertzel

Chirp-z

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

2

DFT & IDFT DFT & IDFT

§ Tính DFT: xác định chuỗi N giátr ị phức {X(k)} khi biết trước chuỗi

N

1

-

{x(n)} chiều dài N )

kX (

Wnx )

(

0

k

N

1

£

£

-

kn N

DFT

= (cid:229)

n

=

W

p2-= Nj e

N

0 N

1 -

kn

Nn

nx )(

WkX )(

0

1

££

-

IDFT

- N

1 = (cid:229) N

k

0

=

N

1

-

§ Tính trực tiếp

2

2

cos(

X

n

x

k

[

)

(

)

(

)

)

sin(

)]

=

+

R

R

nx ( I

kn p N

kn p N

(cid:229)

0

n

=

N

1

-

2

2

sin(

n

x

[

)

)

(

)

)

cos(

)]

-=

-

kX ( I

R

nx ( I

kn p N

kn p N

(cid:229)

0

n

=

“ N2 phép nhân phức “ N(N-1) phép cộng phức → Độ phức tạp: O(N 2)

§ Biến đổi WN

“ Giải thuật tính DFT cũng được áp dụng cho việc tính IDFT (cid:236) (cid:239) (cid:239) (cid:237) (cid:239) (cid:239) (cid:238)

Ñoái

xöùng

-=

k W N

Giảithu ậttínhDFT t ối ưu mỗiphéptoán theonh ữngcáchkhácnhau 2/

Tuaàn

hoaøn

=

Nk + W N Nk + W N

k W N

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

“ 2N2 phép tính lượng giác “ 4N2 phép nhân số thực “ 4N(N-1) phép cộng số thực “ Một số phép toán chỉ số và địa chỉ để nạp x(n)

3

Phươngphápchia-tr ị Phươngphápchia-tr ị

§ Nguyên tắc: phân rã nhỏ việc tính DFT N điểm thành việc tính các DFT kích

thước nhỏ hơn → các giải thuật FFT

“ Giả sử N=L.M “ Lưu trữ x(n) vào mảng 2 chiều LxM (l: chỉ số hàng, m: chỉ số cột)

n →

0

1

2

N-1

x(0)

x(1)

x(2)

x(N-1)

l

0

1

M-1

m

0

x(0,0)

x(0,1)

x(0,M-1)

1

x(1,0)

x(1,1)

x(1,M-1)

“ Cách lưu trữ

2

x(2,0)

x(2,1)

x(2,M-1)

• Theo dòng n = Ml + m • Theo cột n = l + mL

L-1

x(L-1,0)

x(L-1,1)

x(L-1,M-1)

“ Tương tự, các giátr ị DFT X(k) tính được cũng sẽ được lưu trữ trong ma trận LxM

(p: chỉ số hàng, q: chỉ số cột)

• Theo dòng k = Mp + q • Theo cột k = p + qL

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

§ Phương pháp

4

Phươngphápchia-tr ị Phươngphápchia-tr ị

N

1

-

kX (

)

Wnx )

(

0

k

N

1

£

£

-

kn N

= (cid:229)

n

0

=

Với:

M

L

1 -

1 -

)(

)

qMp +

lmL +

qpX ( ),

=

(cid:229)(cid:229)

x(n) X(k)

: theo cột : theohàng

m

0

l

0

=

=

( NWmlx ,( ) W

1

=

Nmp N

)(

lmL

qMp +

) =+

( W N

mLq lq WWWW N N

MLmp N

Mpl N

W

W

W

=

=

mqL N

mq / LN

L

M

1 -

1 -

W

W

mq M W

=

=

Mpl N

pl / MN

pl L

)

),( qpX

=

lq N

mq ,( Wmlx M

(cid:229)

(cid:229)

0

0

l

m

=

=

Ø Œ º

ø œ ß

(cid:236) W (cid:237) (cid:238)

(cid:252) lp W (cid:253) L (cid:254)

(1): TínhL DFT M điểm “Nhân phức : LM2 “Cộngph ức: LM(M-1)

(2): TínhG(l,q)

“Nhân phức: LM

(3): TínhX(p,q)

1 DFT M điểm F(l,q)

“Nhân phức: ML2 “Cộngph ức: ML(L-1)

Ł Độ phức tạp

2 G(l,q)

3

“Nhân phức: N(M+L+1) “Cộngph ức: N(M+L-2)

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

DFT L điểm X(p,q)

5

Phươngphápchia-tr ị Phươngphápchia-tr ị

§ Hiệu quả

PP chia-trị • Nhânph ức: N(M+L+1) • Cộngph ức: N(M+L-2) PP tínhtr ựcti ếp • Nhânph ức: N 2 • Cộngph ức: N(N-1)

N=1000 fi L=2, M=500 106 nhân phức fi 503,000 (~ N/2) N= r1r2r3…rv

“ Phân rã nhỏ hơn đến (v-1) lần

§ PP chia-trị rất hiệu quả khi

n = Ml + m k = qL+ p

n = l + mL k = Mp + q

§ Giải thuật

Giảithu ật 2

Giảithu ật 1

Lưutr ữ t/htheohàng

Lưutr ữ t/htheo c ột

pm

lq

1. 2. TínhDFT L điểm của mỗi cột 3. Nhânma tr ận kếtqu ả với hệ số pha WN 4. TínhDFT M điểm của mỗihàng 5. Đọcma tr ận kếtqu ả theo cột

1. 2. TínhDFT M điểm của mỗihàng 3. Nhânma tr ận kếtqu ả với hệ số pha WN 4. TínhDFT L điểm của mỗi cột 5. Đọcma tr ận kếtqu ả theohàng

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

6

Phươngphápchia-tr ị Phươngphápchia-tr ị

lq W6

x(4)

X(2)

m

x(5)

X(5)

x(2)

X(1)

T 3 điể

i

F D

x(3)

X(4)

x(0)

X(0)

m ể đ

x(1)

X(3)

2 T F D

§ Mô hình tính toán DFT 6 điểm thông qua việc tính DFT 3 điểm và DFT 2 điểm

“ Nếu N = r1r2r3…rv = rv → mô hình tính DFT có cấu trúc đều (chỉ dùng 1 DFT r điểm) “ r = 2 → FFT cơ số 2 “ Chọn M = N/2 và L = 2

x(N-1)

x(0)

x(1)

x(2)

m=0

m=1

m=M-1

Giảithu ật chiatheoth ờigian

l=0

x(N-2)

x(0)

x(2)

n= 0,1, …, N/2-1

f1(2n) f2(2n+1)

l=1

x(N-1)

x(1)

x(3)

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

§ Giải thuật tính FFT cơ số 2

7

FFT cơ số 2 FFT cơ số 2

N

1

-

kX (

)

Wnx )

(

k

,...,1,0

N

1

=

=

-

kn N

(cid:229)

n

0

=

Wnx )

(

Wnx )

(

=

+

kn N

kn N

(cid:229)

(cid:229)

n

even

n

old

(

N

1)2/

(

N

1)2/

mk

)1

+

W

- Wmx )2(

- mx 2(

)1

=

+

+

2 N

mk 2( N

(cid:229)

(cid:229)

m

0

m

0

=

=

2 N WW =

N

2/

(

N

(

N

1)2/ -

1)2/ -

kX )(

(

W

)

(

=

+

Wmf ) 1

km N 2/

k N

Wmf 2

km N 2/

(cid:229)

(cid:229)

k

N

1

=

+

m 0 = ,...,1,0 =

-

m 0 = kFWkF )( )( 1

k N

2

)

k

,...,1,0

N

2/

=

mf ( 1

kF )( 1

(cid:190)(cid:190)(cid:190) fi DFT N

2/

)

k

,...,1,0

N

2/

=

mf ( 2

kF )( 2

(cid:190)(cid:190)(cid:190) fi DFT

N

2/

2/

)(

,..,1,0

1

)( kX

k

=

=

-

)( kFWkF + 1

2

k N

N 2

W

W

-=

Nk + N

k N

)

)(

,..,1,0

1

( kX

k

+

=

=

-

)( kFWkF - 1

2

k N

N 2

N 2

(cid:236) (cid:239) (cid:237) (cid:239)(cid:238)

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

F1(k), F2(k) tuầnhoàn chu kỳ N/2 F1(k+ N/2) = F1(k) F2(k+ N/2) = F2(k)

8

FFT cơ số 2 FFT cơ số 2

,..,1,0

1

k

=

=

-

)( kF 1

N 2

)(

,..,1,0

1

k

=

-

2

2

k N

N 2

)( kG (cid:236) (cid:239) 1 (cid:237) )( kFWkG = (cid:239)(cid:238)

X(k)

G1(k)

DFT2

X(k+ N/2)

G2(k)

k=0,1,…,(N/2-1)

)(

)(

k

,...,1,0

1

=

+

=

-

N 2

kX (

)(

)

k

,...,1,0

1

kGkGkX )( 1 =

2 kGkG )( -

+

=

-

2

1

N 2

N 2

(cid:236) (cid:237) (cid:238)

(N/2-1)

X(N/2-1)

1

F 1

G

DFT 2 điểm

(N/2-1) (N/2-1)

N/2-1 N

x(N-2) x(N-2)

F 2

W

x(4)

X(N-1)

(1)

1

X(1)

(0)G

DFT 2 điểm

1

X(0)

x(4)

(0) F 1

G

DFT 2 điểm

1 N

(2) (1) F 1 F 1 (2) (1) F 2 F 2

W

DFT 2 điểm

(0)

D F T N / 2 điể m D F T N / 2 điể m

0 N

2

x(0)x(2) x(1)x(3)

(0) F 2

W

G

X(N/2)X(N/2+1)

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

9

FFT cơ số 2 FFT cơ số 2

(

)

,...,1,0

1

f

v

n

)2( n

n

=

-

=

11

N 4

,...,1,0

2(

)1

1

)

(

1 f

n

n

n

v

=

-

+

=

12

1

N 4

,...,1,0

1

)

(

)2( n

n

n

v

f

=

-

=

21

2

N 4

,...,1,0

2(

)1

1

)

(

n

n

n

v

f

=

-

+

=

22

2

N 4

§ Tiếp tục phân f1(n) và f2(n) thành các chuỗi N/4 điểm (cid:236) (cid:239) (cid:239) (cid:237) (cid:239) (cid:239) (cid:238)

kVWkV

(

)

)

)

(

k

,...,1,0

1

+

=

=

-

2/

12

k N

11

kF ( 1

N 4

kVWkV

(

)

(

)

)

k

,...,1,0

1

-

+

=

=

-

2/

12

11

kF ( 1

k N

N 4

)

(

k

)

(

)

k

,...,1,0

1

VWkV +

N 4 =

=

-

2/

22

kF ( 2

21

k N

N 4

)

(

(

k

)

)

k

,...,1,0

1

VWkV -

=

-

21

2/

22

kF ( 2

k N

N 4

N 4

(cid:236) (cid:239) (cid:239) (cid:237) (cid:239) (cid:239) + = (cid:238) § Hiệu quả

Vij(k) vij(n) DFT N/4 điểm

Nhânph ức: N2 Cộngph ức: N2 – N

Nhânph ức: (N/2)log2N Cộngph ức: Nlog2N

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

DFT trựcti ếpN=2 v điểm CácDFT 2 điểm FFT cơ số 2

10

FFT cơ số 2 FFT cơ số 2

§ Ví dụ: tínhDFT 8 điểm

x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7)

x(0) x(2) x(4) x(6)

x(1) x(3) x(5) x(7)

[0,1,2,3,4,5,6,7]

P h â n t h e o t h ờ

i

x(0) x(4)

g i a n

x(2) x(6) [0,2,4,6] [1,3,5,7]

x(1) x(5)

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

[0,4] [2,6] [1,5] [3,7] x(3) x(7)

11

FFT cơ số 2 FFT cơ số 2

x(0) X(0)

x(4) X(1)

0 8W

-1

0 8W

x(2) X(2) -1

0 8W

2 8W

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

x(1) X(4)

0 8W

-1

0 8W

1 8W

x(5) X(5) -1 -1

x(3) X(6)

2 8W

0 8W

-1 -1

x(7) X(7)

2 8W

0 8W

3 8W

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

-1 -1 -1

12

FFT cơ số 2 FFT cơ số 2

§ Khốitínhtoán c ơ bảnchoDFT 2 điểm(hìnhcon b ướm)

a A = a+WN’b Độ phức tạp

•1 nhânph ức •2 c ộngph ức b B = a–WN’b

–1 W N’

N= 2v:

+ Log2N + N/2 : tầngtínhtoán : khốitínhtoán c ơ bảncho m ỗi lớp

Bộ nhớ:

: (a,b) – số phức + Vào + Ra : (A,B) – số phức + Cóth ể lưu(A,B) đèlên(a,b)

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

Ł Chỉ cầnN ô nh ớ phức(2N ô nh ớ thực) Ł Tínhtoán t ạich ỗ

13

FFT cơ số 2 FFT cơ số 2

§ Thứ tự chuỗi dữ liệu vào sau khi phân (v-1) lần

“ Biểu diễn các chỉ số ở dạng nhị phân “ Chuỗi sau khi phân chia sẽ là lấy theo thứ tự đảo các bit

Bộ nhớ

Bộ nhớ

Bộ nhớ

Phân Phân chia chia Phân Phân chia chia Địa chỉ Địa chỉ Địa chỉ

000 000 000 x(0) x(0) x(0)

001 010 100 x(1) x(2) x(4)

010 100 010 x(2) x(4) x(2)

011 110 x(3) x(6) x(6) 110

x(4) 100 x(1) 001 x(1) 001

x(5) 101 x(3) 011 x(5) 101

110 101 011 x(6) x(5) x(3)

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

111 111 111 x(7) x(7) x(7)

14

FFT cơ số 2 FFT cơ số 2

§ Phân chiatheo t ần số “ Phương phápchiavàtr “ M = 2, L = N/2 “ Chuỗi dữ liệunh ập được sắp xếptheo c ột “ Phân chiaX(k) thànhX(2k) vàX(2k+1) “ Sau đócóth ể phânchiati ếp tục mỗiX(kch ẵn) vàX(k l ẻ)

x(0)

X(0)

x(1)

X(2)

DFT 4 điểm

x(2)

X(4)

a A = (a+b) WN’

x(3)

X(6)

x(4)

X(1)

-1

x(5)

X(3)

-1

DFT 4 điểm

X(5)

x(6)

-1

x(7)

X(7)

-1

0 8W 1 8W 2 8W 3 8W

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

b B = (a–b)WN’ –1 W N’

15

FFT cơ số 4 FFT cơ số 4

N = 4v

x(0) x(2) x(4) … … … x(N-1)

L = 4, M = N/4 l,p= 0,1,2,3 m,q= 0,1,…,N/4 – 1 n = 4m + l k = (N/4)p + q

m=0 m=1 m=(N/4)-1

l=0 x(4n) x(0) x(4) … … x(N-4)

l=1 x(1) x(5) … … x(N-3) x(4n+1)

n = 0,1,…,N/4-1

x(2) x(6) … … x(N-2) x(4n+2) l=2

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

x(3) x(7) … … x(N-1) x(4n+3) l=3

16

FFT cơ số 4 FFT cơ số 4

1

1

L

M

-

-

,

)

,(

)

( qpX

Wmlx

=

mq M

lp L

lq N

(cid:229)

(cid:229)

0

0

l

m

=

=

ø œ ß

(cid:252) W (cid:253) (cid:254)

(cid:236) W (cid:237) (cid:238)

3

3,2,1,0

( ), qpX

=

=

Ø Œ º ] [ ),( pWqlFW

lp 4

lq N

(cid:229)

l

0

=

4/

N

3,2,1,0

=

)

),( qlF

,( Wmlx

=

mq N 4/

(cid:229)

,..,1,0

(

)1

q

=

-

0

m

=

N 4

l (cid:236) (cid:237) (cid:238)

4(

)

)

,( lmxmlx = +

(

)

),( qpX

X

=

qp +

N 4

(cid:236) (cid:237) (cid:238)

X

,0(

q

)

1

1

1

,0(

q

)

X

,1(

q

)

j

1

j

-

qFW

,1(

)

=

X

,2(

q

)

1

- 1

1

-

,2(

q

)

X

,3(

q

)

- j

1

j

-

-

,3(

q

)

Ø Œ Œ Œ Œ º

ø œ œ œ œ ß

1 Ø Œ 1 Œ Œ 1 Œ 1 º

ø œ œ œ œ ß

ø œ œ œ œ œ ß

0 Ø FW N Œ q Œ N Œ 2 q FW N Œ 3 q FW Œ º N

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

DFT N/4 điểm

17

FFT cơ số 4 FFT cơ số 4

0 NW

-j -1

q NW

j

-1 1

q

-1

NW 2

0

j -1

q

-j

q

NW 3

2q

3q

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

Dạngrút g ọn

18

FFT cơ số 4 FFT cơ số 4

Độ phức tạp:1 kh ốitínhtoán c ần

+ 3 nhânph ức + 12 cộngph ức

N=4v

+ Tầngtínhtoán + Mỗi tầngcó : v = log4N : N/4 khốitínhtoán

: Nhânph ức : Cộngph ức 3vN/4 = (3N/8)log2N 12vN/4 = (3N/2)log2N (giảm25% vsFFT 2) (tăng50% vsFFT 2)

X

,0(

q

)

1

0

1

0

1

0

1

0

,0(

q

)

X

,1(

q

)

0

1

0

j

1

0

1

0

,0(

q

)

=

X

q

0

1

- 0

1

,2(

)

1

0

1

- 0

,0(

)

q

X

q

j

0

1

0

,3(

)

0

1

- 0

-

,0(

)

q

ø œ œ œ œ 1 ß

Ø Œ Œ Œ Œ º

ø œ œ œ œ ß

Ø Œ Œ Œ Œ º

ø œ œ œ œ ß

Ø Œ Œ Œ Œ º

ø œ œ œ œ œ ß

0 Ø FW N Œ q FW Œ N Œ 2 q FW N Œ q 3 FW Œ º N

Biểudi ễn lạinhânma tr ận

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

: Nhânph ức : Cộngph ức (3N/8)log2N Nlog2N (giảm25% vsFFT 2) (bằngFFT 2)

19

Hiệnth ựccácgi ảithu ậtFFT Hiệnth ựccácgi ảithu ậtFFT

§ FFT cơ số 2

k: đượctính m ột lầnvà l ưutrong b ảng

• 4N nếumu ốn đơngi ảnhóacáctác v ụ chỉ số và điềukhi ển; đồngth ờichophép

chuỗinh ậpvàxu ấttheo đúngth ứ tự

N

1 -

§ IDFT

kn

Nn

nx )(

WkX )(

0

1

££

-

- N

1 = (cid:229) N

k

0

=

“ Tínhtoánhình b ướm: (N/2)log2N lần “ Hệ số quay WN “ Bộ nhớ: 2N nếumu ốnvi ệctínhtoán đượcth ựchi ện tạich ỗ

“ Khácnhau c ơ bảngi ữavi ệctínhDFT vàIDFT là h ệ số 1/N và dấu của hệ số

• Đảochi ều sơđồ tínhDFT, đổi dấu hệ số pha, vàchia k ếtqu ả cuốicùngchoN fi

IDFT

§ DFT với số điểmkhác 2 v hoặc 4v fi đệmthêmcác s ố 0 § Độ phức tạp

pha WN

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

“ Tác vụ số học(nhânph ức, cộngph ức) “ Cấutrúchi ệnth ực củagi ảithu ật(qui t ắcvs b ấtqui t ắc) “ Kiếntrúc c ủacác b ộ DSPs(x ử lýsong songcáctác v ụ)

20

Ứng dụng củacácgi ảithu ậtFFT Ứng dụng củacácgi ảithu ậtFFT

§ TínhDFT c ủa2 chu ỗith ực

0 ≤ n ≤ N – 1

(tínhtuy ếntính c ủaDFT)

“ x1(n) và x2(n): chuỗith ực độ dàiN c ầntínhDFT “ Địnhngh ĩachu ỗix(n) = x 1(n) + jx2(n) “ X(k) = X1(k) + jX2(k)

)( nx

* )( nx

=

DFT

=

+

)( nx 1

[ nx )(

]

{ DFT

[ * nx )(

] }

kX )( 1

)( nx

DFT

=

-

=

[ nx )(

]

{ DFT

[ * nx

] })(

kX )( 2

)( nx 2

+ 2 - 2

* )( nx j

*

kNX

(

=

+

-

1 2

*

* nx )(

kNX

(

)

NDFT (cid:190)(cid:190) fi‹

-

*

kNX

(

=

-

-

1 2 1 2 [ kX )( [ kX )(

] ) ])

kX )( 1 kX )( 2

1 2

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

21

Ứng dụng củacácgi ảithu ậtFFT Ứng dụng củacácgi ảithu ậtFFT

§ TínhDFT c ủachu ỗith ực2N điểm

0 ≤ n ≤ N-1 0 ≤ n ≤ N-1

*

)

)

kNX

(

=

+

-

kX ( 1

1 2

*

)

)

kNX

(

=

-

-

[ kX ( [ kX (

] ) ])

kX ( 2

1 2

N

N

1 -

1 -

n

)1

k

+

kG )(

g

)2(

Wn

g

2(

+

Wn )1 +

=

2 nk N 2

2( N 2

(cid:229)

(cid:229)

n

0

n

0

=

=

N

N

1 -

1 -

W

+

=

Wnx )( 1

nk N

k N 2

Wnx )( 2

nk N

(cid:229)

(cid:229)

n

0

n

0

=

=

kG )(

kXWkX )(

)(

,1,0

N

1

k

,

=

+

=

K

-

k N 2

2

1

(

)

)(

,1,0

1

,

)( kXWkX

N

k

NkG +

=

-

=

K

-

2

1

k 2 N

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

(tínhtuy ếntính c ủaDFT) “ g(n): chuỗith ực độ dài2N c ầntínhDFT “ Táchthành2 chu ỗi x1(n) = g(2n) và x2(n) = g(2n+1) “ Địnhngh ĩachu ỗix(n) = x 1(n) + jx2(n) “ X(k) = X1(k) + jX2(k)

22

Ứng dụng củacácgi ảithu ậtFFT Ứng dụng củacácgi ảithu ậtFFT

§ Lọctuy ếntínhcácchu ỗi dữ liệudài

§ Phương pháp

v

DFT + FFT “ Overlap-add “ Overlap-save

(Giảithu ậtFFT suygi ảmtheo t ần số)

“ h(n) – Đáp ứngxung đơn vị của bộ lọc(chi ềudàiM) • Được đệmthêmL-1 s ố khôngsaochoN = L + M –1 = 2 • H(k): DFT N điểm củah(n), theoth ứ tựđả o nếuh(n) được sắptheoth ứ tự thuận

• Được đệmthêmM–1 điểm(giátr ị tùytheoPP l ọc đượcdùng) • Xm(k): DFT N điểm của xm(n), cũngtheoth ứ tựđả o(Gi ảithu ậtFFT suygi ảm

theo tần số)

“ xm(n) –kh ối dữ liệuchi ềudàiL ( đã đượcphân c ắt)

• H(k) và Xm(k) cùngcóth ứ tựđả o → Ym(k) theoth ứ tự đảo • ym(n) = IDFTN{Ym(k)} sẽ đúngtheoth ứ tự thuận nếudùnggi ảithu ậtFFT suy

giảmtheoth ờigian

“ Ym(k) = H(k)Xm(k)

§ Tính tươngquan(t ương tự)

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

“ Không cầnthi ết đảo vị trícác d ữ liệutrongvi ệctínhDFT vàIDFT

23

Phương pháp lọc tuyến tính Phương pháp lọc tuyến tính

§ FFT khônghi ệuqu ả khitínhDFT (IDFT) t ại một số điểm(< log 2N) →

tínhtr ựcti ếp § Giảithu ậtGoertzel

k vàbi ểudi ễnvi ệctínhtoánDFT nh ư lọctuy ến

“ Dựavàotínhchu k ỳ của WN

N

N

1 -

1 -

kN

mNk

(

)

-

WkX

)(

Wmx )

(

Wmx )

(

=

=

- N

km N

- N

(cid:229)

(cid:229)

m

m

0

0

=

=

N

1 -

=

zH )( k

1 -

(

)

mnk -

1

1 k -- zW N

nx

nyĐăt )(

Wmx )

(

*)(

=

=

k

- N

nh )( k

(cid:229)

m

0

=

kn

đơn vị

vói

nuWnh )(

)(

=

- N

Mộtpole trênvòngtròn tại tần số ωk=2πk/N

kX )(

(cid:222)

=

k ny )( k

Nn =

Thayvìtính t ổngch ậptr ựcti ếp, tacóth ể dùngPTSP

ViệctínhDFT t ại một điểmk cóth ể đượcth ựchi ện bằngcáchchot/h đivào b ộ cộng hưởng mộtpole tại tần số ωk=2πk/N

k

)(

(

y

)1 +-

=

0)1( =-

nyWny k

k

- N

k

nx )( DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

tính

24

Giảithu ậtGoertzel Giảithu ậtGoertzel

1

-

=

zH )( k

2

1 -

-

1 cos(

z

21 -

+

cos

)1

2

)2

)( nx

n

,...,1,0

N

-

-

=

-

+

=

§ Kết hợp từng cặpcác b ộ cộng hưởngcópole liên h ợpph ức k - zW - N 2 zNk ) / p

)( nv k

( nv k

nvWnv

)(

(

)1

=

-

2p k N -

)( ny k

k N

k

k

Nn = vk(n)

§ Hiệnth ực bằng dạngchu ẩn tắc(d ạngII) ( nv k

“ Với đ/k đầu v )1( =-

0)2( =-

k

+ + x(n) yk(n) – Z–1

2

cos(

)

kp 2 N

k nW

§

+

v k vk(n) được lặp lạichon = 0, 1, …, N “ Mỗivòng c ần1 phépnhânth ực yk(n) đượctínhduynh ất một lầnchon = N

§ Z–1

–1

§ Nếux(n) làt/hth ực, cầnN+1 phépnhânth ực để tínhX(k) vàX(N-k) {do tính

đối xứng}

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

§ Giảithu ậtGoertzelch ỉ thích hợpkhi s ố giátr ị DFT cầntínhkhánh ỏ (≤ log2N)

25

Giảithu ật BĐ Chirp-z Giảithu ật BĐ Chirp-z

§ DFT N điểm~ X(z k) với zk = ej2πkn/N , k=0,1,…,N-1 (các điểmcách đềutrên

1

N

-

n

)

)

,...,1,0

1

( zX

( znx

k

L

=

-

vòngtròn đơn vị)

k

- k

= (cid:229)

0

n

=

§ BĐ Z củax(n) t ạicác điểm zk

1

N

-

2

/

n

j

kn

N

p

-

-

)

[

)

(

]

1,0

,...,

1

( zX

rnx

e

k

N

=

-

k

= (cid:229)

0

n

=

“ ViệctínhDFT cóth ểđượ cth ựchi ện bằnggi ảithu ậtFFT chochu ỗix(n)r -n

0

k

j q 0

j f 0

§ Nếu zk = rej2πkn/N (zk là N điểmcách đềunhautrênvòngtrònbkr)

)

(

qjer 0 L , K

-

eR 0

k

er = 0 Im(z)

Im(z)

z = § Tổngquát, z k nằmtrêncungxo ắn ốc bắt đầu từ điểm 0 z k ,1,0 = Im(z)

Im(z)

Vòngtròn đơn vị

r0

r0

θ0

Re(z)

Re(z)

Re(z)

Re(z)

hoặc đira g ốc tạa độ) (đivào 1

R0 < 1 R0 > 1

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

R0 = 1, r0 < 1 Φ0 = θ0 = 0 R0 = r0 = 1 Φ0 = θ0 = 0

26

Giảithu ật BĐ Chirp-z Giảithu ật BĐ Chirp-z

)

,1,0

,

1

( zX

k

L

=

=

-

K

k

)( ky )( kh j f 0

eRV = 0

2

n

2/

)( nh

V

=

2

2/

n

n

-

-

j q 0

)

)( ng

V

=

( )( ernx 0

N

1 -

()(

)

,1,0

,

1

)( ky

nkhng

k

L

=

-

=

-

K

(cid:229)

0

n

=

2

2/

( nj

)2/

n

nj w

nj f 0

f 0

)( nh

e

e

e

1 (cid:222)=

=

=

R 0

2/0fw n=

BĐ chirp-z

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

Tần số củat/h m ũ phứch(n), t ăngtuy ếntínhtheoth ờigian → h(n): chirp signal

27

Giảithu ật BĐ Chirp-z Giảithu ật BĐ Chirp-z

“ N-1 điểm đầulàcác điểm lặp lại “ M-(N-1) điểmcòn l ạich ứa kếtqu ả

N

1 -

ky )(

nkhng

()(

)

k

,1,0

,

L

1

-

=

K

-

= (cid:229)

n

§ Xác định tổngch ậpvòng c ủachu ỗig(n) N điểmvàchu ỗih(n) M điểm(M > N)

0 = § Giả sử M = L + (N-1) § M điểm củachu ỗih(n) đượcxác định–(N–1) ≤ n ≤ (L–1) § Địnhngh ĩachu ỗiM điểm h1(n) = h(n–N+1) § H1(k) = DFTM{h1(n)} § G(k) = DFTM{g(n)} (saukhi đã đệmthêmvàog(n) L-1 s ố 0) § Y1(k) = G(k)H(k) fi y1(n) = IDFT{Y1(k)} n = 0,1,…,M–1 § N-1 điểm đầutiên c ủa y1(n) làcác điểm lặp fi loại bỏ chúng § Các điểm kếtqu ả làgiátr ị của y1(n) khiN-1 ≤ n ≤ M–1

“ y(n) = y1(n+N-1)

n = 0,1,…,L-1 k = 0,1,…,L-1

n = 0,1,…,M–1

DSP –Lecture 6, ©2007, Dr. Dinh-Duc Anh-Vu –CSE

§ X(zk)= y(k)/h(k)

28