Tải bản đầy đủ (.pdf) (40 trang)

Bài giảng Xử lý tín hiệu số nâng cao Chương 4

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.74 MB, 40 trang )

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
Biến đổi Fourier dãy x(n):

X ( ) 



 jn
x
(
n
)
e


n  

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 ∞
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:
2
 N 1
 j kn
  x( n)e N : 0  k  N  1
X ( k )   n 0
0
: k còn lại


WN  e

 N 1
kn
x
(
n
)
W

N :0  k  N 1
X ( k )   n 0

0
: k còn lại


2
j
N

WN tuần hòan với độ dài N:

W N( r  mN )  e

j

2
( r  mN )
N

e

j

2
r
N

 WNr


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 )  arg[ X (k )] - phổ rời rạc pha

1

x
(
n
)

IDFT:
N
0


N 1

 X (k )e

j

2
kn
N


:0  n  N 1

k 0

: n còn lại

Cặp biến đổi Fourier rời rạc:
N 1

kn
X
(
k
)

x
(
n
)
W
:0  k  N 1

N


n 0

N 1
1
 kn

 x ( n) 
X
(
k
)
W
:0  n  N 1

N

N k 0





3

X ( k )   x( n)W
n 0

kn
4

W e
1
4




x( n)  1,2,3,4

Ví dụ 1: Tìm DFT của dãy:
j

2
4



  j;W  1;W  j
2
4

3
4

3

X (0)   x( n)W40  x(0)  x(1)  x( 2)  x( 3)  10
n 0
3

X (1)   x( n)W4n  x(0)  x(1)W41  x( 2)W42  x( 3)W43  2  j 2
n 0
3

X ( 2)   x( n)W42 n  x(0)  x(1)W42  x( 2)W44  x( 3)W46  2
n 0
3


X ( 3)   x( n)W43 n  x(0)  x(1)W43  x( 2)W46  x( 3)W49  2  j 2
n 0


BÀI 3. CÁC TÍNH CHẤT DFT
a) Tuyến tính

Nếu: x1 (n)N  X 1 ( k ) N

x2 (n)N  X 2 (k ) N

DFT

DFT

 a1 X1 (k ) N  a2 X 2 (k ) N
Thì: a1 x1 (n)N  a2 x2 (n)N 
DFT

Nếu: Lx1  N1  N 2  Lx2 Chọn: N  max{ N1 , N 2 }
b) Dịch vòng:

 X (k ) N
Nếu: x( n)N 
DFT

WN 0 X (k ) N
Thì: x( n  n0 )N 
DFT


kn

~(n  n ) rect (n)
Với: x( n  n0 )N  x
0 N
N

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






x( n)  1,2,3,4
Ví dụ 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)
4
3
2
1

a)
-3 -2 -1

0

n

4
3
2
1
0

n
1


2

3

4

5


x(n-1)4

x(n)
b)

4
3
2
1
0

n
1

2
N

0

3


x(n+1)4

n
1

2

3

 
x( n  3)  4,1,2,3

x( n  2)4  3,4,1,2

4
3
2
1
0

4
3
2
1



n
1


2

3

4




c) Chập vòng:
Nếu: x1 (n)N  X1 (k ) N
DFT

x2 (n)N  X 2 (k ) N
DFT

Thì: x1 (n)N  x2 (n)N  X1 (k ) N X 2 (k ) N
DFT

Với: x1 ( n)N  x2 ( n)N 
Và:

N 1

 x1 (m )N x2 (n  m )N

m 0

x2 (n  m )N  x~2 (n  m )N rectN (n)


Chập vòng có tính giao hóan:

Chập vòng 2 dãy
x1(n) & x2(n)
Dịch vòng dãy
x2(-m) đi n đ/vị

x1 (n)N  x2 (n)N  x2 (n)N  x1 (n)N
Nếu: Lx1  N1  N 2  Lx2 Chọn: N  max{ N1 , N 2 }


  x (n)  1,2,3,4

x1 ( n)  2,3,4

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

 Chọn độ dài N:



N1  3, N 2  4  N  max{ N1 , N 2 }  4

x3 ( n)4  x1 ( n)4  x2 ( n)4 

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

2




3

 x1 (m )4 x2 (n  m )4 : 0  n  3

m 0





x1 ( m )  2,3,4,0






x2 ( m )  1,2,3,4






~ ( m ) rect (n)  1,4,3,2
 Xác định x2(-m)4: x2 ( m )4  x
2
4
4




x2(m)

x2(-m)

4
3
2
1

4
3
2
1

m
0 1

2

~ (m)
x
2

-3 -2 -1 0

3


m

-3 -2 -1 0

~ (  m )rect (n)
x 2 (  m )4  x
2
4
4
3
2
1

m
1

2

3

4

4
3
2
1
0

m
1


2

3


 Xác định x2(n-m) là dịch vòng của x2(-m) đi n đơn vị
n>0: dịch vòng sang phải, n<0: dịch vòng sang trái
x2(-m)4

x2(1-m)4

4
3
2
1

0

m

1

2

4
3
2
1


3

0 1

x2(2-m)4
4
3
2
1
2

3

2

3

x2(3-m)4

m
0 1

m

4
3
2
1

m

0 1

2

3


 Nhân các mẫu
3
x1(m) & x2(n-m) x3 ( n)4   x1 (m )4 x2 ( n  m )4 : 0  n  3
m 0
và cộng lại:
 n=0:
 n=1:

 n=2:
 n=3:
Vậy:

x3 (0 )4 
x3 (1)4 
x3 (2 )4 
x3 (3 )4 

3

 x1 (m )4 x2 (0  m )4  26

m 0
3


 x1 (m )4 x2 (1  m )4  23

m 0
3

 x1 (m )4 x2 (2  m )4  16

m 0
3

 x1 (m )4 x2 (3  m )4  25

m 0





x3 (n )4  x1 (n)4  x2 (n )4  26,23,16,25



BÀ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.


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

N 1

kn
x
(
n
)
W

N : 0  k  N 1

n 0

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


2. THUẬT TOÁN FFT CƠ SỐ 2
a. THUẬT TOÁN FFT CƠ SỐ 2 PHÂN 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.


X (k ) 

N 1

N 1

N 1

n 0

n  0 , 2,4...

n 1, 3,5...

kn
x
(
n
)
W

N 

kn
x
(
n
)
W


N 

kn
x
(
n
)
W

N

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

X (k ) 

( N / 2 ) 1



r 0

x( 2r )W N2 kr 

( N / 2 )1



r0


x( 2r  1)W Nk ( 2 r 1)


Do:

W Nk 2 r  e
X (k ) 

j

2
k 2r
N

( N / 2 ) 1



r0

Đặt: X 0 ( k ) 

e

j

r0

 W Nkr/ 2
( N / 2 ) 1


x( 2r )W Nkr/ 2  W Nk .

( N / 2 ) 1



2
kr
N /2

x( 2r )W Nkr/ 2



r0

X1 (k ) 

x( 2r  1)W Nkr/ 2

( N / 2 ) 1



r 0

x( 2r  1)W Nkr/ 2

X (k )  X 0 ( k )  WNk . X 1 ( k )

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


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

x(0)
n chẵn

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

DFT
N/2
điểm

n lẻ

x(5)
x(7)

X0(2)

W1

X0(3)


W2
W3

X1(0)

x(1)
x(3)

X0(1)

W0

DFT
N/2
điểm

X1(1)
X1(2)
X1(3)

W4
W5

W6
W7

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

X(3)

X(4)
X(5)
X(6)
X(7)

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

X 0 (k ) 


( N / 2 )1



r0

( N / 2 )1




r  0 , 2 , 4...



( N / 4 )1


l0

x( 2r )W Nkr/ 2 

g( r )W Nkr/ 2 

( N / 2 ) 1



r0

g( r )W Nkr/ 2

( N / 2 ) 1



r 1, 3 , 5...

g( 2l )W Nkl/ 4  W Nk / 2


 X 00 ( k )  WNk / 2 . X 01 ( k )

g( r )W Nkr/ 2
( N / 4 ) 1


l0

g( 2l  1)W Nkl/ 4


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

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

DFT
N/4
DFT
N/4

X00(0)
X00(1)
X01(0)

X01(1)

X0(0)

W0N/2

X0(1)

W1N/2
W2
W3

X0(2)
N/2

X0(3)

N/2

k
 Phân chia X1(k) tương tự: X 1 ( k )  X 10 ( k )  WN / 2 . X 11 ( k )

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

DFT
N/4
DFT
N/4

X10(0)
X10(1)

X11(0)
X11(1)

X1(0)
W0N/2

X1(1)

W1N/2
W2
W3

X1(2)
N/2
N/2

X1(3)


 Lưu đồ DFT dãy x(n) sau 2 lần phân chia với N=8
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)

DFT

N/4
DFT
N/4
DFT
N/4
DFT
N/4

 Lưu đồ DFT
2 điểm:

X00(0)
X00(1)
X01(0)
X01(1)
X10(0)

W0

W0

W2

W1

W4

W2

W6


W3

X10(1)

W0

W4

X11(0)

W2

W5

X11(1)

W4

W6

W6

W7

x(0)

X00(0)
W0N = 1


x(4)

WNN/2 =-1

X00(1)

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

X(4)
X(5)
X(6)
X(7)


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

-1

x(2)
x(6)

-1

x(1)
x(5)


-1

x(3)
x(7)
-1
Xm(p)

Xm+1(p)

W0

W0

W2

W1

W4

W2

W6

W3

W0

W4


W2

W5

W4

W6

W6

W7

Xm(q)

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

Xm(q)

X(1)

X(2)
X(3)
X(4)

X(5)
X(6)
X(7)

Xm(p)


WrN

X(0)

Xm+1(p)
WrN

Xm+1(q)
-1


 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

x(2)

Đảo
bít

x(6)


W0
W2

-1

X(2)
-1
W0

x(1)
x(5)

X(3)

-1
W1

-1

x(3)

W2

x(7)
-1

W2

W0
-1

-1

W3

-1
-1
-1

-1

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

X(4)

X(5)
X(6)
X(7)


Bng mụ t qui lut o bớt:
Chổ soỏ Soỏ nhũ phaõn chửa ủaỷo
tửù nhieõn
(n2,n1,n0)
0
1
2
3
4
5

6
7

000
001
010
011
100
101
110
111

Soỏ nhũ phaõn ủaỷo
(n0,n1,n2)

Chổ soỏ
ủaỷo

000
100
010
110
001
101
011
111

0
4
2

6
1
5
3
7


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





x( n)  1,2,3,4


x(0)

X(0)

x(2)

X(1)

-1

x(1)
x(3)

W0


W1

-1

X(2)
-1
-1

X(3)

 k=0:

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

 k=1:

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

j2.

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



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

X (k ) 

N 1

 x(n)W

n 0



kn
N



n0



( N / 2 ) 1



n0






kn
N

W

( N / 2 )1



( N / 2 ) 1

kn
N

x( n)W
x( n)W



x( n)W

n0

( N / 2 )1
n0






( N / 2 )1

n0

x(n)  (1)

k

kn
N

kn
x
(
n
)
W

N

n N / 2

x( n  N / 2)W Nk ( n N / 2 )

( N / 2 )1
kN / 2

N



N 1



n0

x( n  N / 2)W Nkn



x( n  N / 2) W Nkn


×