14
Chương 6 BIN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghThông Tin - ĐạiHc Bách Khoa Tp. HCM Bài Ging Môn: XLý Tín HiuSSlide 2 Ni dung Tính DFT & IDFT Tính trc tiếp Biến đổi W N Chia-TrLc tuyến tính Cơ s2 Cơ s4 Chirp-z Goertzel Tách cơ s

Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Chương 6BIẾN ĐỔI FOURIER NHANH (FFT)

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

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 2

Nội dung

Tính DFT & IDFT

Tính trực tiếp Biến đổi WN

Chia-Trị Lọc tuyến tính

Cơ số 2 Cơ số 4 Chirp-zGoertzelTách cơ số

Page 2: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 3

DFT & IDFTTính DFT: xác định chuỗi N giá trị phức {X(k)} khi biết trước chuỗi {x(n)} chiều dài N

– Giải thuật tính DFT cũng được áp dụng cho việc tính IDFTTính trực tiếp

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

Biến đổi WN

– 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)

10)()(1

0

−≤≤=∑−

=

NkWnxkXN

n

knN

10)(1)(1

0

−≤≤= ∑−

=

− NnWkXN

nxN

k

knN

DFT

IDFTNj

N eWπ2−=

−−=

+=

∑−

=

=

1

0

22

1

0

22

)]cos()()sin()([)(

)]sin()()cos()([)(

N

nNkn

INkn

RI

N

nNkn

INkn

RR

nxnxkX

nxnxkX

ππ

ππ

Giải thuật tính DFT tối ưu mỗi phép toán theo những cách khác nhau

kN

NkN

kN

NkN

WWhoànTuân

WWxúngĐôi

=

−=+

+ 2/

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 4

Phương pháp chia-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 FFTPP

– 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)

– Cách lưu trữTheo dòng n = Ml + mTheo cột n = l + mL

– 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 + qTheo cột k = p + qL

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

x(L-1,M-1)…x(L-1,1)x(L-1,0)L-1

…………

x(2,M-1)…x(2,1)x(2,0)2

x(1,M-1)…x(1,1)x(1,0)1

x(0,M-1)…x(0,1)x(0,0)0

M-1…10l m

n →

Page 3: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 5

Phương pháp chia-trị

∑∑−

=

=

++=1

0

1

0

))((),(),(M

m

L

l

lmLqMpNWmlxqpX

Với:x(n) : theo cộtX(k) : theo hàng

lqN

MplN

mLqN

MLmpN

lmLqMpN WWWWW =++ ))((

plL

plMN

MplN

mqM

mqLN

mqLN

NmpN

WWW

WWW

W

==

==

=

/

/

1

lpL

L

l

M

m

mqM

lqN WWmlxWqpX ∑ ∑

=

=

=

1

0

1

0),(),(

10)()(1

0

−≤≤=∑−

=

NkWnxkXN

n

knN

DFT M điểmF(l,q)

G(l,q)

DFT L điểmX(p,q)

1

2

3

(1): Tính L DFT M điểm– Nhân phức: LM2

– Cộng phức: LM(M-1)(2): Tính G(l,q)

– Nhân phức: LM (3): Tính X(p,q)

– Nhân phức: ML2

– Cộng phức: ML(L-1)Độ phức tạp

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

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 6

Phương pháp chia-trịHiệu quả

PP chia-trị rất hiệu quả khi N= r1r2r3…rv– Phân rã nhỏ hơn đến (v-1) lần– Hiệu quả hơn

Giải thuật

PP tính trực tiếp• Nhân phức : N2

• Cộng phức : N(N-1)

PP chia-trị• Nhân phức : N(M+L+1)• Cộng phức : N(M+L-2)

N=1000 → L=2, M=500106 nhân phức → 503,000 (~ N/2)

1. Lưu trữ t/h theo hàng2. Tính DFT L điểm của mỗi cột3. Nhân ma trận kết quả với hệ số pha WN

pm

4. Tính DFT M điểm của mỗi hàng5. Đọc ma trận kết quả theo cột

Giải thuật 2

n = Ml + mk = qL + p

1. Lưu trữ t/h theo cột2. Tính DFT M điểm của mỗi hàng3. Nhân ma trận kết quả với hệ số pha WN

lq

4. Tính DFT L điểm của mỗi cột5. Đọc ma trận kết quả theo hàng

Giải thuật 1

n = l + mLk = Mp + q

Page 4: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 7

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

Giải thuật tính FFT cơ số 2– Nếu N = r1r2r3…rv = rv → mô hình tính DFT có cấu trúc đều (chỉ dùng một

DFT r điểm)– r = 2 → FFT cơ số 2– Chọn M = N/2 và L = 2

x(5)

x(3)

X(5)

X(4)

Phương pháp chia-trị

DFT

3 điểm

DFT

2 đ

iểm

x(0)

x(2)

x(4)

x(1)

W6lq

X(0)

X(1)

X(2)

X(3)

x(1) x(3) x(N-1)…

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

x(0) x(2) x(N-2)…l=0

l=1

m=0 m=1 m=M-1

f1(2n)

f2(2n+1)n= 0,1, …, N/2-1

Giải thuật chia theo thời gian

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 8

FFT cơ số 2

∑∑

∑∑

=

+−

=

=

++=

+=

−==

1)2/(

0

)12(1)2/(

0

2

1

0

)12()2(

)()(

1,...,1,0)()(

N

m

mkN

N

m

mkN

oldn

knN

evenn

knN

N

n

knN

WmxWmx

WnxWnx

NkWnxkX

2/2

NN WW =

1,...,1,0)()(

)()()(

21

2/

1)2/(

022/

1)2/(

01

−=+=

+= ∑∑−

=

=

NkkFWkF

WmfWWmfkX

kN

kmN

N

m

kN

kmN

N

m

2/,...,1,0)()(

2/,...,1,0)()(

22

11

2/

2/

NkkFmf

NkkFmf

N

N

DFT

DFT

= →←

= →←

kN

NkN WW −=+ 2/

F1(k), F2(k) tuần hoàn chu kỳ N/2

F1(k+ N/2) = F1(k)F2(k+ N/2) = F2(k)

−=−=+

−=+=

1,..,1,0)()()(

1,..,1,0)()()(

2212

221

NkN

N

NkN

kkFWkFkX

kkFWkFkX

Page 5: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 9

FFT cơ số 2

−==

−==

1,..,1,0)()(

1,..,1,0)()(

222

211

NkN

N

kkFWkG

kkFkG

−=−=+

−=+=

1,...,1,0)()()(1,...,1,0)()()(

2212

221

NN

N

kkGkGkXkkGkGkX

DFT2X(k)

G2(k)

G1(k)

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

X(k+ N/2)

x(1) x(3

)x(4

)

x(N-2)

F 2(0)

F 2(1)

F 2(2)

F 2(N

/2-1)

DFT N

/2 đ

iểm

x(0) x(2

)x(4

)

x(N-2)

F 1(0)

F 1(1)

F 1(2)

F 1(N

/2-1)

DFT N

/2 đ

iểmX(N

/2-1)

G 1(N

/2-1)

X(N/2)X(N

/2+1)

X(N-1)

G 2(0)

W N0 W N

1

W NN/2-1

G 1(0)

G 1(1)

DFT 2 điểm

DFT 2 điểm

X(1)

DFT 2 điểmDFT

2 điểm

X(0)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 10

FFT cơ số 2Tiếp tục phân f1(n) và f2(n) thành các chuỗi N/4 điểm

Hiệu quả

−=+=

−==

−=+=

−==

1,...,1,0)12()(1,...,1,0)2()(1,...,1,0)12()(1,...,1,0)2()(

4222

4221

4112

4111

N

N

N

N

nnfnvnnfnvnnfnvnnfnv

−=−=+

−=+=

−=−=+

−=+=

1,...,1,0)()()(

1,...,1,0)()()(

1,...,1,0)()()(

1,...,1,0)()()(

4222/2142

4222/212

4122/1141

4122/111

NkN

N

NkN

NkN

N

NkN

kkVWkVkF

kkVWkVkF

kkVWkVkF

kkVWkVkF

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

DFT trực tiếp N=2v điểm FFT cơ số 2 Các DFT 2 điểm

Nhân phức: N2

Cộng phức: N2 – NNhân phức: (N/2)log2NCộng phức: Nlog2N

Page 6: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 11

FFT cơ số 2Ví dụ: tính DFT 8 điểm

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

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

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)

Phân theo thời gian

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

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

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

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 12

FFT cơ số 2

08W

08W

08W

08W

-1

-1

-1

-1

08W

28W

08W

28W

-1

-1

-1

-1

08W

18W

28W

38W

-1

-1

-1

-1

X(0)

X(1)

X(2)

X(3)

X(4)

X(5)

X(6)

X(7)

x(0)

x(4)

x(2)

x(6)

x(1)

x(5)

x(3)

x(7)

Page 7: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 13

FFT cơ số 2Khối tính toán cơ bản cho DFT 2 điểm (hình con bướm)

W N’

a

b

A = a+WN’b

B = a-WN’b-1

Độ phức tạp• 1 nhân phức• 2 cộng phức

N= 2v:+ Log2N : tầng tính toán+ N/2 : khối tính toán cơ bản cho mỗi lớp

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

Chỉ cần N ô nhớ phức (2N ô nhớ thực)Tính toán tại chỗ

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 14

FFT cơ số 2Thứ 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

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

Bộ nhớPhân chiaBộ nhớPhân

chiaBộ nhớ

111111111011101110101011101001001100110110011010100010100010001000000000

Địa chỉ

Phân chia

Địa chỉ

Phân chia

Địa chỉ

Page 8: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 15

FFT cơ số 2Phân chia theo tần số

– Phương pháp chia và trị– M = 2, L = N/2– Chuỗi dữ liệu nhập được sắp xếp theo cột– Phân chia X(k) thành X(2k) và X(2k+1)– Sau đó có thể phân chia tiếp tục mỗi X(k chẵn) và X(k lẻ)

a

b

A = (a+b) WN’

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

X(0)

X(3)

X(6)

X(5)

X(2)

X(1)

X(4)

X(7)

18W2

8W3

8W

08W

-1

-1

-1

-1

DFT4 điểm

DFT4 điểm

x(0)

x(5)

x(3)

x(6)

x(1)

x(4)

x(2)

x(7)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 16

FFT cơ số 4

x(0)

x(1)

x(2)

x(3)

x(4)

x(5)

x(6)

x(7)

x(N-4)

x(N-3)

x(N-2)

x(N-1)

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

L = 4, M = N/4

N = 4v

x(4n)

x(4n+1)

x(4n+2)

x(4n+3)

l=0

l=1

l=2

l=3

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

n = 4m + lk = (N/4)p + q

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

l,p = 0,1,2,3m,q = 0,1,…,N/4 – 1

Page 9: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 17

FFT cơ số 4

[ ]

+=

+=

−=

==

==

=

=

)(),()4(),(

)1(,..,1,03,2,1,0

),(),(

3,2,1,0),(),(

4

4

4/

04/

3

04

qpXqpXlmxmlx

ql

WmlxqlF

pWqlFWqpX

N

N

N

m

mqN

l

lplqN

DFT N/4 điểm

−−−−

−−=

),3(),2(

),1(),0(

111111

111111

),3(),2(),1(),0(

3

2

0

qFWqFWqFWqFW

jj

jj

qXqXqXqX

qN

qN

qN

N

lpL

L

l

M

m

mqM

lqN WWmlxWqpX ∑ ∑

=

=

=

1

0

1

0),(),(

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 18

FFT cơ số 4

0

q

2q

3q

Dạng rút gọn

0NW

qNW

qNW2

qNW3

-j

-1

j-1

1-1

j-1

-j

Page 10: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 19

FFT cơ số 4Độ phức tạp: 1 khối tính toán cần

+ 3 nhân phức+ 12 cộng phức

N=4v

+ Tầng tính toán : v = log4N + Mỗi tầng có : N/4 khối tính toán

−−

=

),0(),0(),0(),0(

1010101001010101

0100101

0100101

),3(),2(),1(),0(

3

2

0

qFWqFWqFWqFW

j

j

qXqXqXqX

qN

qN

qN

N

Biểu diễn lại nhân ma trận

(3N/8)log2N : Nhân phức (giảm 25% vs FFT2)Nlog2N : Cộng phức (bằng FFT2)

3vN/4 = (3N/8)log2N : Nhân phức (giảm 25% vs FFT2)12vN/4 = (3N/2)log2N : Cộng phức (tăng 50% vs FFT2)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 21

Hiện thực các giải thuật FFTFFT cơ số 2

– Tính toán hình bướm: (N/2)log2N lần– Hệ số quay WN

k: được tính một lần và lưu trong bảng– Bộ nhớ: 2N nếu muốn việc tính toán được thực hiện tại chỗ

4N nếu muốn đơn giản hóa các tác vụ chỉ số và điều khiển; đồng thời cho phép chuỗi nhập và xuất theo đúng thứ tự

IDFT

– Khác nhau cơ bản giữa việc tính DFT và IDFT là hệ số 1/N và dấu của hệ số pha WN

Đảo chiều sơ đồ tính DFT, đổi dấu hệ số pha, và chia kết quả cuối cùng cho N → IDFT

DFT với số điểm khác 2v hoặc 4v → đệm thêm các số 0Độ phức tạp

– Tác vụ số học (nhân phức, cộng phức)– Cấu trúc hiện thực của giải thuật (qui tắc vs bất qui tắc)– Kiến trúc của các bộ DSPs (xử lý song song các tác vụ)

10)(1)(1

0

−≤≤= ∑−

=

− NnWkXN

nxN

k

knN

Page 11: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 22

Ứng dụng của các giải thuật FFTTính DFT của 2 chuỗi thực– x1(n) và x2(n): chuỗi thực độ dài N cần tính DFT– Định nghĩa chuỗi x(n) = x1(n) + jx2(n) 0 ≤ n ≤ N-1– X(k) = X1(k) + jX2(k) (tính tuyến tính của DFT)

jnxnxnx

nxnxnx

2)()()(

2)()()(

*

2

*

1

−=

+= [ ] [ ]{ }

[ ] [ ]{ })()(21)(

)()(21)(

*2

*1

nxDFTnxDFTkX

nxDFTnxDFTkX

−=

+=

[ ][ ])()()(

)()()(*

21

2

*21

1

kNXkXkX

kNXkXkX

−−=

−+=)()( ** kNXnx NDFT − →←

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 23

Ứng dụng của các giải thuật FFTTính DFT của chuỗi thực 2N điểm

– g(n): chuỗi thực độ dài 2N cần tính DFT– Tách thành 2 chuỗi x1(n) = g(2n) và x2(n) = g(2n+1) 0 ≤ n ≤ N-1– Định nghĩa chuỗi x(n) = x1(n) + jx2(n) 0 ≤ n ≤ N-1– X(k) = X1(k) + jX2(k) (tính tuyến tính của DFT)

[ ][ ])()()(

)()()(*

21

2

*21

1

kNXkXkX

kNXkXkX

−−=

−+=

∑∑

∑∑−

=

=

=

+−

=

+=

++=

1

022

1

01

1

0

)12(2

1

0

22

)()(

)12()2()(

N

n

nkN

kN

N

n

nkN

N

n

knN

N

n

nkN

WnxWWnx

WngWngkG

1,,1,0)()()(

1,,1,0)()()(

221

221

−=−=+

−=+=

NkkXWkXNkG

NkkXWkXkGkN

kN

K

K

Page 12: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 24

Ứng dụng của các giải thuật FFTLọc tuyến tính các chuỗi dữ liệu dài

– Overlap-add– Overlap-save

Phương pháp– h(n) – Đáp ứng xung đơn vị của bộ lọc (chiều dài M)

Được đệm thêm L-1 số không sao cho N = L + M – 1 = 2v

H(k): DFT N điểm của h(n), theo thứ tự đảo nếu h(n) được sắp theo thứ tự thuận (Giải thuật FFT suy giảm theo tần số)

– xm(n) – khối dữ liệu chiều dài L (đã được phân cắt)Được đệm thêm M–1 điểm (giá trị tùy theo PP lọc được dùng)Xm(k): DFT N điểm của xm(n), cũng theo thứ tự đảo (Giải thuật FFT suy giảm theo tần số)

– Ym(k) = H(k)Xm(k)H(k) và Xm(k) cùng có thứ tự đảo → Ym(k) theo thứ tự đảoym(n) = IDFTN{Ym(k)} sẽ đúng theo thứ tự thuận nếu dùng giải thuật FFT suy giảm theo thời gian

– Không cần thiết đảo vị trí các dữ liệu trong việc tính DFT và IDFTTính tương quan (tương tự)

+ FFTDFT

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 25

Phương pháp lọc tuyến tínhFFT không hiệu quả khi tính DFT (IDFT) tại một số điểm (< log2N) → tính trực tiếpGiải thuật Goertzel

– Dựa vào tính chu kỳ của WNk và biểu diễn việc tính toán DFT như lọc tuyến tính

Nnk

knNk

k

N

m

mnkNk

N

m

mNkN

N

m

kmN

kNN

nykXnuWnhvói

nhnxWmxnyĐăt

WmxWmxWkX

=

=

−−

=

−−−

=

=⇒

=

==

==

∑∑

)()()()(

)(*)()()(

)()()(

1

0

)(

1

0

)(1

0

111)( −−−

=zW

zH kN

k

Một pole trên vòng tròn đơn vị tại tần số ωk=2πk/N

0)1()()1()( =−+−= −kk

kNk ynxnyWny

Thay vì tính tổng chập trực tiếp, ta có thể dùng PTSP

Việc tính DFT tại một điểm k có thể được thực hiện bằng cách cho t/h đi vào bộ cộng hưởng một pole tại tần số ωk=2πk/N

Page 13: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 26

Giải thuật GoertzelKết hợp từng cặp các bộ cộng hưởng có pole liên hợp phức

Hiện thực bằng dạng chuẩn tắc (dạng II)

– Với đ/k đầu

vk(n) được lặp lại cho n = 0, 1, …, N– Mỗi vòng cần 1 phép nhân thực

yk(n) được tính duy nhất một lần cho n = N

Nếu x(n) là t/h thực, cần N+1 phép nhân thực để tính X(k) và X(N-k) {do tính đối xứng}Giải thuật Goertzel chỉ thích hợp khi số giá trị DFT cần tính khá nhỏ (≤ log2N)

NnnvWnvny

Nnnxnvnvnv

kkNkk

kkNk

k

=−−=

=+−−−=

)1()()(

,...,1,0)()2()1(cos2)( 2π

0)2()1( =−=− kk vv

21

1

)/2cos(211)( −−

−−

+−−

=zzNk

zWzHk

Nk π

+

+

)cos(2 2Nkπ

z-1

z-1

+

knW

-1

yk(n)x(n)–

vk(n)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 27

Giải thuật BĐ Chirp-zDFT N điểm ~ X(zk) với zk = ej2πkn/N , k=0,1,…,N-1 (các điểm cách đều trên vòng tròn đơn vị)BĐ Z của x(n) tại các điểm zk

Nếu zk = rej2πkn/N (zk là N điểm cách đều nhau trên vòng tròn bk r)

– Việc tính DFT có thể được thực hiện bằng giải thuật FFT cho chuỗi x(n)r-n

Tổng quát, zk nằm trên cung xoắn ốc bắt đầu từ điểm (đi vào hoặc đi ra gốc tọa độ)

1,...,1,0)()(1

0−==∑

=

− LkznxzXN

n

nkk

1,...,1,0])([)(1

0

/2 −==∑−

=

−− NkernxzXN

n

Nknjnk

π

000

θjerz =1,,1,0)( 00

00 −== LkeRerz kjjk Kφθ

R0 = r0 = 1Φ0 = θ0 = 0

Vòng trònđơn vị

Im(z)

Re(z)

r0

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

Im(z)

Re(z)

R0 > 1

Im(z)

Re(z)

R0 < 1

Im(z)

Re(z)θ0

r0

Page 14: Chương 6 BIẾN ĐỔI FOURIER NHANH (FFT)blog.khvt.com/docs/dsp/FFT.pdfChương 6 BIẾN ĐỔI FOURIER NHANH (FFT) T.S. Đinh Đức Anh Vũ Khoa Công NghệThông Tin - ĐạiHọcBáchKhoaTp

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 28

Giải thuật BĐ Chirp-z

1,,1,0)()()(

))(()(

)(

1,,1,0)()()(

1

0

2/0

2/

0

20

2

0

−=−=

=

=

=

−==

∑−

=

−−

Lknkhngky

Vernxng

Vnh

eRV

LkkhkyzX

N

n

nnj

n

j

k

K

K

θ

φ

njnnjnj eeenhR ωφφ ≡==⇒= )2/(2/0

02

0)(1

2/0φω n= Tần số của t/h mũ phức h(n), tăng tuyến tính theo thời gian→ h(n): chirp signal

BĐ chirp-z

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp. HCMBài Giảng Môn: Xử Lý Tín Hiệu Số

Slide 29

Giải thuật BĐ Chirp-zXác định tổng chập vòng của chuỗi g(n) N điểm và chuỗi h(n) M điểm (M > N)

– N-1 điểm đầu là các điểm lặp lại– M-(N-1) điểm còn lại chứa kết quả

Giả sử M = L + (N-1)M điểm của chuỗi h(n) được xác định –(N–1) ≤ n ≤ (L–1)Định nghĩa chuỗi M điểm h1(n) = h(n–N+1) n = 0,1,…,M–1H1(k) = DFTM{h1(n)}G(k) = DFTM{g(n)} (sau khi đã đệm thêm vào g(n) L-1 số 0)Y1(k) = G(k)H(k) → y1(n) = IDFT{Y1(k)} n = 0,1,…,M–1N-1 điểm đầu tiên của y1(n) là các điểm lặp → loại bỏ chúngCác điểm kết quả là giá trị của y1(n) khi N-1 ≤ n ≤ M–1

– y(n) = y1(n+N-1) n = 0,1,…,L-1X(zk)= y(k)/h(k) k = 0,1,…,L-1

1,,1,0)()()(1

0−=−=∑

=

LknkhngkyN

nK