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

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

 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?

Nhận xét:

 Nếu N≥L: ta có thể khôi phục hoàn toàn x(n) từ

x

p(n) bằng cách chọn

 Nếu N

pdf 34 trang kimcuc 3700
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Xử lý số tín hiệu - Chương 8: Biến đổi DFT và FFT", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Xử lý số tín hiệu - Chương 8: Biến đổi DFT và FFT

Bài giảng Xử lý số tín hiệu - Chương 8: Biến đổi DFT và FFT
Chương 8: 
Biến đổi DFT và FFT 
Xử lý số tín hiệu 
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): 
 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? 

n
njenxX  )()( Discrete Time Fourier Transform 
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: 
 Đổi biến n=m-lN với m=0,1,,N-1, l=- ∞,,∞ 
1,...,1,0 ,)(
2
2

Nkenxk
N
X
n
kn
N
j
1,...,1,0 ,)(
2 1
0
2
)(
 
NkelNmxk
N
X
N
m
km
N
j
mx
l
p
  
1. Lấy mẫu tần số: Biến đổi Fourier rời 
rạc (DFT) (tt) 
 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: 

lp
lNnxnx )()(
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 
 Nếu N<L: ta không thể khôi phục x(n) từ xp(n). 
10 ),()( Nnnxnx p
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: 
 Trong đó: 
 So sánh ck với X(2 k/N): 
 Suy ra: 
10 ,)(
1
0
/2 
Nnecnx
N
k
Nknj
kp
10 ,)(
1 1
0
/2 
 Nkenx
N
c
N
k
Nknj
pk
10 ,)(
2 1
0
2

Nkenxk
N
X
N
n
kn
N
j
p
10 ,
21
 Nkk
N
X
N
ck
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(ω): 
 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. 
10 ,
21
)(
1
0
/2 
 
Nnek
N
X
N
nx
N
k
Nknj 
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): 
 IDFT 
 Tính chất của biến đổi DFT: (đọc thêm) 
1,...,1,0 ,)()(
1
0
/2 
 NkenxkX
N
n
Nknj 
 1,...,1,0 ,
1
)(
1
0
/2 
NnekX
N
nx
N
k
Nknj 
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: 
khác 0
101
)(
n
Ln
nx
2. Biến đổi DFT (tt) 
Giải: 
 Biến đổi Fourier của tín hiệu x(n): 
 )2/sin(
)2/sin(
)( 2/)1(
1
1 

 
L
eeX Lj
L
n
nj 
 
2. Biến đổi DFT (tt) 
 Biến đổi DFT N điểm cho x(n) 
 Nếu N=L, X(k) trở thành: 
1,...,2,10
0
)(
Lk
kL
kX
)/sin(
)/sin(
)( /)1(
1
1
/2
Nk
NkL
eekX NLkj
L
n
Nknj
 
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: 
 Với 
)()()( nwnxnx 
khác 0
101
)(
n
Ln
nw
2. Biến đổi DFT (tt) 
 Giả sử x(n)=cos(ω0n), phổ 
 của x’(n) là 
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
1
)( 00  WWX
2/)1(
)2/sin(
)2/sin(
)( Lje
L
W 



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. 
 Để 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! 
1,...,1,0 ,)()(
1
0
 
NkWnxkX
N
n
kn
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: 
 F1(k), F2(k) là DFT N/2 điểm của chuỗi x(2m) và 
x(2m+1) 
 
odd even 
1
0
)()(
n
kn
N
n
kn
N
N
n
kn
N x(n)Wx(n)WWnxkX

12/
0
)12(12/
0
2 )12()2(
N
m
mk
N
N
m
mk
N WmxWmx
    
)(
12/
0 2/
)(
12/
0 2/
21
)12()2(
kF
N
m
km
N
k
N
kF
N
m
km
N WmxWWmx 
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: 
⇒ 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! 
2
122lim
2
2
N
NN
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: 
8-point
DFT
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)
3. Biến đổi FFT (tt) 
Chia khối DFT 8 điểm thành 2 khối DFT 4 điểm: 
4-point
DFT
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)
4-point
DFT
F1(0)
F1(1)
F1(2)
F1(3)
F2(0)
F2(1)
F2(2)
F2(3)
W80
W81
W82
W83
W85
W86
W87
W84
3. Biến đổi FFT (tt) 
Chia khối DFT 4 điểm thành 2 khối DFT 2 điểm: 
2-point
DFT
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
X(0)
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
X(7)
W80
W81
W82
W83
W85
W86
W87
W84
2-point
DFT
2-point
DFT
2-point
DFT
W80
W82
W84
W86
W82
W84
W86
W80
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)
X(0)
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
X(7)
W80
W81
W82
W83
W85
W86
W87
W84
W80
W82
W84
W86
W82
W84
W86
W80
W80
W84
W80
W84
W80
W84
W80
W84
3. Biến đổi FFT (tt) 
Do WN
r+N/2=WN
rWN
N/2=-WN
r, ta rút gọn được: 
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
X(0)
X(1)
X(2)
X(3)
X(4)
X(5)
X(6)
X(7)
-1
-1
-1
-1
W80
W82
W82
W80
W80
W80
W80
W80
W80
W81
W82
W83
-1
-1
-1
-1
-1
-1
-1
-1
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: 
 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 N
2) 
 Nlog2N phép cộng phức. (Tính trực tiếp cần N(N-1)) 
a
b
A=a+WNrb
B=a-WNrb
WNr
-1
3. Biến đổi FFT (tt) 
3. Biến đổi FFT (tt) 
Nhận xét (tt): 
 Khi đã thực hiện xong việc tính toán cho 1 tầng thì 
ta không cần lưu kết quả của tầng trước nữa. Do đó, 
tổng cộng ta chỉ cần 2N thanh ghi để lưu giá trị phức 
của ngõ vào, kết quả cũng như toàn bộ quá trình tính 
toán -> có thể thực hiện tính toán tại chỗ. 
 Giải thuật dựa vào sự chia nhỏ chuỗi thời gian rời 
rạc x(n) được gọi là giải thuật chia nhỏ trên miền 
thời gian (decimation-in-time). 
 Cho phép ghép nối nhiều khối FFT N điểm để tính 
FFT nhiều điểm hơn. 
27 
0
4
1w 
1
4
w j 
1 
1 1 
1 
0
1x 
2
3x 
1
2x 
3
4x 
0
X
1
X
2
X
3
X
4
-2
6
-2
10
-2+2j
-2
-2-2j
3. Biến đổi FFT (tt) 
 VD: Tính DFT 4 điểm x(n)=[1,2,3,4] 
3. Biến đổi FFT (tt) 
 Giải thuật chia nhỏ trên miền tần số (Decimation-in-
frequency) 
 Chia X(k)thành các mẫu chẵn và lẻ thì: 

1
2/
12/
0
)()()(
N
Nn
kn
N
N
n
kn
N WnxWnxkX

12/
0
2/12/
0
)2/()(
N
n
kn
N
kN
N
N
n
kn
N WNnxWWnx
 
12/
0
)2/()1()(
N
n
kn
N
k WNnxnx
  1-N/20,1,...,k ,)2/()()2( 12/
0 2/
)(
 
N
n
kn
N
ng
WNnxnxkX   
  1-N/20,1,...,k ,)2/()()12( 12/
0 2/
)(
 


 
N
n
kn
N
n
N
nh
WWNnxnxkX   
3. Biến đổi FFT (tt) 
Sơ đồ thực hiện: 
3. Biến đổi FFT (tt) 
Chia đôi 
3. Biến đổi FFT (tt) 
Chia đôi lần nữa! 
3. Biến đổi FFT (tt) 
 VD: Tính DFT 4 điểm x(n)=[1,2,3,4] 
0
1x 
2
3x 
1
2x 
3
4x 
0
X
1
X
2
X
3
X
1 
1 
1 
1 
0
4
w
1
4
w
4
6
2 
2 j
10
2 
2 2 j 
2 2 j 
4. Biến đổi IFFT 
 Tính IFFT bằng giải thuật FFT 
1
0
1 1
0 0
1 1
 * *
( ) ( )
( ) ( ) ( ) ( )
N
kn
N
n
N N
kn kn
N N
k k
X k x n w
x n X k w x n X k w
N N

 
X* X*DFT 1/NX(k) X
*(k) x(n)
4. Biến đổi IFFT 
 VD: Tính IDFT 4 điểm X(k)=[10,-2+2j,-2,-2-2j] 
X*(k)=[10,-2-2j,-2,-2+2j] 
1 
1 
1 
1 
0
4
w
1
4
w
10
-2
-2-2j
-2+2j
8
-4
12
-4
4
12
8
16
1 x(0)
3 x(2)
2 x(1)
4 x(3)
1/4
1/4
1/4
1/4
4 2
 1( ) ( )n n n nw j w 

File đính kèm:

  • pdfbai_giang_xu_ly_so_tin_hieu_chuong_8_bien_doi_dft_va_fft.pdf