1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng Xử lý tín hiệu số: Chương 6 - TS. Đinh Đức Anh Vũ

30 131 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 788,31 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Xử lý tín hiệu số - Chương 6: Giải thuật cho biến đổi Fourier cung cấp cho người học các kiến thức: DFT & IDFT, phương pháp chia -trị, FFT cơ số 2, Parallel-Pipelined architecture, hiện thực các giải thuật FFT,... Mời các bạn cùng tham khảo.

Trang 2

dce

Tính DFT & IDFT

Trang 3

→ Độ 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)

DFT & IDFT

1 0

) ( )

W n x k

X

N

n

kn N

1 0

) (

1 )

W k

X N

n x

N

k

kn N

DFT IDFT

0

2 2

1

0

2 2

)]cos(

)()

sin(

)([)

(

)]

sin(

)()

cos(

)([)

N

kn R

N

kn R

R

n x n

x k

X

n x n

x k

X

π π

π π

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

= −

= Doi xung

Tuan hoan

Trang 4

dce

Phương pháp chia-trị (1)

• 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

• Phương pháp

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

Trang 5

) , ( )

, (

M m

L l

l mL q Mp NW m l x q

p X

lq N

Mpl N

mLq N

MLmp N

l mL q

pl L

pl M N

Mpl N

mq M

mq L N

mqL N

Nmp N

W W

W

W W

W W

1

lp L L

l

M

m

mq M

lq

N x l m W W W

q p

,

(

10

)()

n x k

X

N

n

kn N

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

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

Trang 6

2 Tính DFT L điểm của mỗi cột

3 Nhân ma tr ận kết quả với hệ số pha W Npm

4 Tính DFT M điểm của mỗi hàng

2 Tính DFT M điểm của mỗi hàng

3 Nhân ma tr ận kết quả với hệ số pha W Nlq

4 Tính DFT L điểm của mỗi cột

5 Đọc ma trận kết quả theo hàng

Gi ải thuật 1

n = l + mL

k = Mp + q

Trang 7

dce

Phương pháp chia-trị (4)

• 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 = r1 r2r3…rv = r v → 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(5) x(3)

X(5) X(4)

x(1)

W6lq

X(0) X(1) X(2)

X(3)

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

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

Trang 8

) 1 2 ( 1

) 2 / (

( )

2 (

) ( )

(

1 , ,

1 , 0 )

( )

(

N m

m k N N

m

mk N

old n

kn N even

n

kn N

N n

kn N

W m

x W

m x

W n x W

n x

N k

W n x k

X

2 /

1 , 0 )

( )

(

) ( )

( )

(

2 1

2 /

1 ) 2 / (

0

2 2

/

1 ) 2 / (

0 1

= +

k F W k

F

W m f W

W m f k

X

k N

km N N

m

k N

km N N

m

2 / , , 1 , 0 )

( )

(

2 / , , 1 , 0 )

( )

(

2 2

1 1

2 /

2 /

N k

k F m

f

N k

k F m

N k

W + / 2 = −

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

= +

=

1 , ,

1 , 0 )

( )

( )

(

1 , ,

1 , 0 )

( )

( )

(

2 2

1 2

2 2

1

N k

N N

N k

N

k k

F W k

F k

X

k k

F W k

F k

X

Trang 9

1 , 0 )

( )

(

1 , ,

1 , 0 )

( )

(

2 2

2

2 1

1

N k

N

N

k k

F W k

G

k k

F k

= +

=

1 , ,

1 , 0 )

( )

( )

(

1 , ,

1 , 0 )

( )

( )

(

2 2

1 2

2 2

1

N N

N

k k

G k

G k

X

k k

G k

G k

DFT

2 điểm

DFT

2 điểm DFT

2 điểm

DFT

2 điểm

Trang 10

12

()

(

1, ,

1,0)

2()

(

1, ,

1,0)

12

()

(

1, ,

1,0)

2()

(

4 2

22

4 2

21

4 1

12

4 1

11

N N N N

n n

f n

v

n n

f n

v

n n

f n

v

n n

f n

=+

=+

=

1, ,

1,0)

()

()

(

1, ,

1,0)

()

()

(

1, ,

1,0)

()

()

(

1, ,

1,0)

()

()

(

4 22

2 / 21

4 2

4 22

2 / 21

2

4 12

2 / 11

4 1

4 12

2 / 11

1

N k

N N

N k

N

N k

N N

N k

N

k k

V W k

V k

F

k k

V W k

V k

F

k k

V W k

V k

F

k k

V W k

V k

F

DFT N/4 điểm

Trang 11

x(4)x(6)x(1)

x(3)

x(5)x(7)

Trang 12

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ỗ

Trang 13

dce

0 8

W

0 8

W

0 8

W

2 8

W

0 8

W

1 8

W

2 8

Trang 14

dce

Baseline Parallel Architecture

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Parallel FFT

 Butterfly structure

 Removes redundant calculation

Size 16 8192 ∆

Pins 448 229K

Fly 32 53K

Mult Add Shift 0 0

Trang 15

dce

Parallel-Pipelined Architecture

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Trang 16

• 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

Trang 17

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

X(5)

X(2)

X(1) X(4)

X(7)

1 8

W

2 8

W

0 8

W

-1 -1

Trang 18

dce

FFT cơ số 4 (1)

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

x(4)x(5)x(6)x(7)

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)

Trang 19

) , (

) 4

( )

, (

) 1 (

, , 1 , 0

3 , 2 , 1 ,

0 )

, ( )

, (

3 , 2 , 1 , 0 )

, ( )

, (

4

4

4 /

0

4 /

3

0

4

q p X

q p X

l m x

m l x

q

l W

m l x q

l F

p W

q l F W q

p X

N

N N

m

mq N

l

lp lq

) , 2 (

) , 1 (

) , 0 (

1 1

1 1

1 1

1 1

1 1

1 1

) , 3 (

) , 2 (

) , 1 (

) , 0 (

3 2 0

q F

W

q F

W

q F

W

q F

W

j j

j j

q X

q X

q X

q X

q N

q N

q N N

lp L L

l

M

m

mq M

lq

W q

, (

Trang 20

q N

W 2

q N

W3

-j

-1

j -1

1 -1

j -1 -j

0 q 2q

3q

Trang 21

) , 0 (

) , 0 (

) , 0 (

1 0

1 0

1 0

1 0

0 1

0 1

0 1

0 1

0 1

0

0 1

0 1

0 1

0

0 1

0 1

) , 3 (

) , 2 (

) , 1 (

) , 0 (

3 2 0

q F

W

q F

W

q F

W

q F

W

j

j

q X

q X

q X

q X

q N

q N

q N N

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

+ 3 nhân phức+ 12 cộng phứcN=4v

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

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

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

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)

Trang 22

• 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ự

1 0

) (

1 )

W k

X N

n x

N

k

kn N

Trang 23

n x n

x n

x

n x n

x n

x

2

) ( )

( )

(

2

) ( )

( )

(

* 2

* 1

(

) ( )

( 2

1 )

(

* 2

* 1

n x DFT n

x DFT k

X

n x DFT n

x DFT k

) (

) ( )

(

* 2

1 2

* 2

1 1

k N

X k

X k

X

k N

X k

X k

=

) (

)

*

k N

X n

x ←  →DFTN

Trang 24

dce

Ứng dụng của các giải thuật FFT

• Tí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)

) (

) (

) ( )

(

* 2

1 2

* 2

1 1

k N X

k X k

X

k N X

k X k

=

1

0

2 2

1

0 1

1

0

) 1 2 ( 2 1

0

2 2

) ( )

(

) 1 2

( )

2 ( )

(

N

n

nk N

k N N

n

nk N

N

n

k n N N

n

nk N

W n x W

W n x

W n

g W

n g k

G

1 ,

, 1 , 0 )

( )

( )

(

1 ,

, 1 , 0 )

( )

( )

(

2 2

1

2 2

= +

=

N k

k X W

k X N

k G

N k

k X W

k X k

G

k N

k N

Trang 25

dce

Ứng dụng của các giải thuật FFT

• L ọ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 = 2 v

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

• X m(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ự đảo

• ym(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à IDFT

• Tính tương quan (tương tự)

+ FFT

DFT

Trang 26

• Gi ả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

N n k

kn N k

k N

m

m n k N k

N

m

m N k N N

m

km N

kN N

n y k

X

n u W

n h vói

n h n

x W

m x n

y

Đăt

W m x W

m x W

(

) ( )

(

) (

* ) ( )

( )

(

) ( )

( )

(

1

0

) (

1

0

) (

=

z W

z

N k

M ột pole trên vòng tròn đơn vị

t ại tần số ωk=2 πk/N

0 )

1 ( )

( )

1 (

)

k k

k N

k n W y n x n y

y

Thay vì tính t ổng chập trực tiếp, ta có thể dùng PTSP Viđược thực hiện bằng cách cho t/h ệc tính DFT tại một điểm k có thể

đi vào bộ cộng hưởng một pole

t ại tần số ωk=2 πk/N

Trang 27

dce

• Kết hợp từng cặp các bộ cộng hưởng có pole liên hợp phức

n v W n

v n

y

N n

n x n

v n

v n

v

k

k N k

k

k k

N

k k

) ( )

(

, , 1 , 0 )

( )

2 (

) 1 (

cos 2 )

0 ) 2 ( )

1

) / 2 cos(

2 1

1 )

N k

z W z

H

k N

+

+

) cos(

N k

Trang 28

dce

• DFT 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 toạ độ)

1 , ,

1 , 0 )

( )

z n x z

X

N n

n k k

1, ,

1,0]

)([)

e r n x z

X

N

n

N kn j n k

π

0

0 0

θ

j

e r

z =

1 ,

, 1 , 0 )

Trang 29

dce

1 ,

, 1 , 0 )

( ) ( )

(

) )(

( )

(

) (

1 ,

, 1 ,

0 )

(

)

( )

(

1

0

2 / 0

2 / 0

2 0

2 0

n k

h n g k

y

V e

r n x n

g

V n

h

e R V

L

k k

h

k

y z

X

N

n

n n

j n

j k

θ φ

n j n

n j n

j

e e

e n

) ( 1

2 /

Trang 30

dce

• Xá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–1

• H1(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–1

• N-1 điểm đầu tiên của y1(n) là các điểm lặp → loại bỏ chúng

• Cá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–1

• X(zk)= y(k)/h(k) k = 0,1,…,L–1

1 ,

, 1 , 0 )

( ) ( )

n k

h n g k

y

N

n

Ngày đăng: 11/02/2020, 17:29

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm