Tải bản đầy đủ

Bài giảng xử lý số tín hiệu chương 8 biến đổi DFT và FFT

Xử lý số tín hiệu
Chương 8:
Biến đổi DFT và FFT


1. Lấy mẫu tần số: Biến đổi Fourier rời
rạc (DFT)
 Công thức DTFT cho chuỗi thời gian rời rạc x(n):
X ( ) 



 jn
x
(
n
)
e
Discrete Time Fourier Transform



n  



Nhận xét:
X(ω) là hàm liên tục -> không thể thực hiện trên phần
cứng các phép biến đổi tín hiệu trong miền tần số.
 Cần rời rạc phổ của tín hiệu trong miền tần số hay lấy
mẫu tần số.




Lấy mẫu bao nhiêu là “đủ” để có thể khôi phục lại được tín
hiệu x(n) hay X(ω) ban đầu?


1. Lấy mẫu tần số: Biến đổi Fourier rời
rạc (DFT) (tt)
 Do phổ X(ω) lặp lại với chu kỳ 2, ta chỉ cần lấy

mẫu X(ω) trong khoảng [0,2].
 Giả sử trong khoảng tần số này ta lấy N mẫu cách
đều nhau ω=2/N thì các mẫu này được cho bởi:
 2
X
N

2

j
kn
 
N
k    x ( n)e
,
 n 

k  0,1,..., N  1


 Đổi biến n=m-lN với m=0,1,…,N-1, l=- ∞,…,∞
 2
X
 N

2

  j N km
 N 1  
k      x(m  lN ) e
,
 m0 
l  

x p ( m)

k  0,1,..., N  1


1. Lấy mẫu tần số: Biến đổi Fourier rời
rạc (DFT) (tt)
 x p (n)  l  x(n  lN ) có thể tính được từ x(n) bằng


cách lặp lại x(n) sau mỗi N mẫu.

 Giả sử x(n) dài L mẫu, ta có 2 trường hợp:


1. Lấy mẫu tần số: Biến đổi Fourier rời
rạc (DFT) (tt)
Nhận xét:
 Nếu N≥L: ta có thể khôi phục hoàn toàn x(n) từ

xp(n) bằng cách chọn
x(n)  x p (n),

0  n  N 1

 Nếu N

1. Lấy mẫu tần số: Biến đổi Fourier rời
rạc (DFT) (tt)
 Cách khôi phục lại x(n) từ X(k): do xp(n) tuần hoàn nên

có thể được biểu diễn bằng khai triển chuỗi Fourier:
x p (n)  k 0 ck e j 2kn / N ,

0  n  N 1

1 N 1
ck  k 0 x p (n)e  j 2kn / N ,
N

0  k  N 1

N 1

Trong đó:

 So sánh ck với X(2k/N):
 2
X
 N

2

j
kn
 N 1
N
k    x p ( n)e
,
 n 0

0  k  N 1

 Suy ra:
1  2 
ck  X 
k ,
N N 

0  k  N 1


1. Lấy mẫu tần số: Biến đổi Fourier rời
rạc (DFT) (tt)
 Thế vào công thức của khai triển chuỗi Fourier ta

suy ra cách khôi phục x(n) từ X(ω):
1 N 1  2  j 2kn / N
x(n)  k 0 X 
k e
,
N
N 



0  n  N 1

Kết luận: Phổ của tín hiệu rời rạc bất kỳ có chiều dài
L có thể được khôi phục chính xác từ các mẫu của
nó ở các tần số ωk=2k/N nếu N ≥L.


2. Biến đổi DFT
 Do X(k) được lấy từ X(ω) bằng cách lấy mẫu ở N tần

số cách đều nhau nên biến đổi giữa X(k) và x(n)
được gọi là biến đổi Fourier rời rạc (DFT).
 Công thức DFT N điểm của x(n):
X (k )  n0 x(n)e j 2kn / N ,
N 1

k  0,1,..., N  1

 IDFT
x ( n) 

1 N 1
j 2kn / N


X
k
e
,

k 0
N

n  0,1,..., N  1

 Tính chất của biến đổi DFT: (đọc thêm)


2. Biến đổi DFT (tt)
 Ảnh hưởng của chiều dài N(số điểm DFT):

Giả sử x(n) có chiều dài L, ta thực hiện DFT N điểm
cho tín hiệu này (N≥L). Do x(n) chỉ có L điểm, ta
cần thêm vào N-L zero.
⇒ Phổ X(k) thay đổi như thế nào khi tăng N?

Ví dụ: Tìm biến đổi DFT N điểm của x(n) cho bởi:
1 0  n  L  1
x ( n)  
n khác
0


2. Biến đổi DFT (tt)
Giải:
 Biến đổi Fourier của tín hiệu x(n):
X ( )  n 1 e  jn  e  j ( L 1) / 2
L 1

sin(L / 2)
sin( / 2)


2. Biến đổi DFT (tt)
 Biến đổi DFT N điểm cho x(n)
X (k )   e

L 1  j 2kn / N
n 1

e

 jk ( L 1) / N

sin(kL / N )
sin(k / N )

 Nếu N=L, X(k) trở thành:
k 0
L
X (k )  
 0 k  1,2,..., L  1


2. Biến đổi DFT (tt)
 Tăng N:
 N=50.
 N=100.

⇒ Tăng N sẽ giúp
ta có được biểu
diễn tốt hơn
của X(ω).


2. Biến đổi DFT (tt)
 Phân tích phổ tần số của tín hiệu sử dụng biến đổi

DFT – Độ phân giải tần số.
 Giả sử ta có một tín hiệu rời rạc x(n) là kết quả của

quá trình lấy mẫu x(t) ở tần số lấy mẫu fs.
 Giả sử x(n) và fs thoả định lý lấy mẫu ⇒ tần số cao
nhất của x(n) là fs/2.
 Chọn L mẫu trong x(n) (0≤n≤L-1) để phân tích DFT.
⇒ Việc giới hạn chiều dài x(n) tương đương với nhân
x(n) với cửa sổ chữ nhật chiều dài L:
x(n)  x(n)w(n)
Với

1 0  n  L  1
w(n)  
n khác
0


2. Biến đổi DFT (tt)
 Giả sử x(n)=cos(ω0n), phổ

của x’(n) là
1
W (  0 )  W (  0 )
2
sin(L / 2)  j ( L 1) / 2
W ( ) 
e
sin( / 2)

X ( ) 

Với


Nhận xét:
Theo lý thuyết, phổ X(ω) là 2 xung diract ở ±ω0.
 Phổ của X’(ω) tập trung ở ±ω0 nhưng rải trong 1 khoảng tần số chứ ko
tập trung tại 1 tần số như X(ω).
 Độ phân giải tần số hay khoảng cách tối thiểu của 2 tần số nằm gần nhau
có thể phân biệt đc trên phổ DFT chính bằng ½ độ rộng của cửa sổ chữ
nhật 2/L hay fs/L.



2. Biến đổi DFT (tt)
VD: Tín hiệu gồm 2 thành
phần tần số được phân
tích DFT với cửa sổ có
chiều dài 64.
⇒ Độ phân giải tần số: /32


Khi khoảng cách giữa 2 tần
số thu hẹp nhỏ hơn độ
phân giải tần số của cửa sổ
chữ nhật thì trên phổ DFT
không phân biệt được 2
tần số này.


3. Biến đổi FFT
 Nhu cầu: cần một giải thuật thực hiện DFT hiệu quả

về mặt tính toán và đơn giản, dễ ứng dụng trên
phần cứng số.
 Công thức DFT: đặt WN=e-j2/N.
X (k )  n0 x(n)WNkn ,
N 1

k  0,1,..., N  1

 Để tính N điểm X(k), ta cần thực hiện:
 N2 phép nhân phức.
 N(N-1) phép cộng phức.

⇒ Chi phí tính toán lớn!


3. Biến đổi FFT (tt)
Giải thuật FFT Radix-2:
 Giả sử N=2v, DFT N điểm của x(n) có thể được tính
theo phương pháp chia nhỏ khối tính DFT thành
nhiều khâu như sau:
X (k )  n0 x(n)WNkn 
N 1

kn
kn
x(n)W

x(n)W


N
N

n even
k 2m
N

 m0 x(2m)W
N / 21

n odd

 m0 x(2m  1)WNk ( 2m1)
N / 21

 m0 x(2m)WNkm/ 2  WNk m0 x(2m  1)WNkm/ 2




N / 2 1

N / 2 1

F1 ( k )

F2 ( k )

 F1(k), F2(k) là DFT N/2 điểm của chuỗi x(2m) và

x(2m+1)


3. Biến đổi FFT (tt)
 So sánh chi phí tính toán:

DFT N điểm: N2 phép nhân phức.
 2 DFT N/2 điểm: N2/2+N/2 phép nhân phức.


Khi N lớn: độ lợi tính toán:
lim N 

N2 N

2
2 1
N2
2

⇒ Khi chia nhỏ khối DFT N điểm thành 2 khối DFT N/2
điểm, ta giảm được ½ chi phí tính toán!
⇒ Càng chia nhỏ càng tiết kiệm được chi phí tính toán!


3. Biến đổi FFT (tt)
Cách thực hiện FFT: giả sử ta cần tính DFT 8 điểm:
x(0)

X(0)

x(2)

X(1)

x(4)

X(2)

x(6)
x(1)

8-point
DFT

X(3)
X(4)

x(3)

X(5)

x(5)

X(6)

x(7)

X(7)


3. Biến đổi FFT (tt)
Chia khối DFT 8 điểm thành 2 khối DFT 4 điểm:
F1(0)

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

4-point
DFT

x(6)

x(5)
x(7)

F1(2)
F1(3)
F2(0)

x(1)
x(3)

F1(1)

4-point
DFT

F2(1)
F2(2)
F2(3)

X(0)
W80
X(1)
W81
X(2)
W82
X(3)
W83
X(4)
4
W8
X(5)
5
W8
X(6)
6
W8
X(7)
7
W8


3. Biến đổi FFT (tt)
Chia khối DFT 4 điểm thành 2 khối DFT 2 điểm:
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)

2-point
DFT

X(0)
W80

W82

W80
X(1)
W81
X(2)
W82
X(3)
W83
X(4)
4
W8
X(5)
W85

W84

W86

W86

W87

W82
2-point
DFT

W84
W86

2-point
DFT
2-point
DFT

W80

X(6)
X(7)


3. Biến đổi FFT (tt)
Tính các khối DFT 2 điểm
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)

W80
W84
W80
W84

X(0)
W80
W82
W84
W86

W80

W80

W84

W82

W80

W84

W84

W86

W80
X(1)
W81
X(2)
W82
X(3)
W83
X(4)
4
W8
X(5)
5
W8
X(6)
6
W8
X(7)
7
W8


3. Biến đổi FFT (tt)
Do WNr+N/2=WNrWNN/2=-WNr, ta rút gọn được:
x(0)
x(4)

X(0)
W80
-1

x(2)
x(6)

W80

X(1)
W80
W82

-1

-1

x(1)
x(5)

X(3)
W80
W81

W80
-1

x(3)
x(7)

X(2)

-1

W80
W82

W80
-1

W82
-1
-1

W83

-1
-1
-1
-1

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


3. Biến đổi FFT (tt)
Nhận xét:
 Ở mỗi tầng, phép tính toán cơ bản được cho bởi sơ
đồ bướm:
a

b

A=a+WNrb

WNr
-1

B=a-WNrb

 Mỗi sơ đồ bướm gồm 1 phép nhân phức và 2 phép

cộng phức. Với N=2v, ta có log2N=v tầng, mỗi tầng
có N/2 sơ đồ bướm. Như vậy chi phí tính toán là:
 (N/2)log2N phép nhân phức. (Tính trực tiếp cần N2)
 Nlog2N phép cộng phức. (Tính trực tiếp cần N(N-1))


3. Biến đổi FFT (tt)


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×