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

BÀI GIẢNG: XỬ LÝ SỐ TÍN HIỆU 5222010 1 CHƯƠNG 7 BIẾN ĐỔI FOURIER RỜI RẠ C (DFT) VÀ GIẢI THUẬT BIẾN ĐỔI FOURIER NHANH (FFT)

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 (737.54 KB, 27 trang )

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI FOURIER RỜI RẠC (DFT)

VÀ GIẢI THUẬT BIẾN ĐỔI FOURIER NHANH (FFT)

Nội dung:

7.1 Biến đổi Fourier rời rạc DFT
7.1.1 Định nghĩa
7.1.2 Các tính chất của DFT
7.1.3 Lọc tuyến tính dựa trên DFT
7.1.4 Phân tích phổ tín hiệu dùng DFT

7.2 Giải thuật biến đổi Fourier nhanh FFT
7.2.1 FFT cơ số 2 phân chia theo thời gian
7.2.2 FFT cơ số 2 phân chia theo tần số

Bài tập

1
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT

7.1 Biến đổi Fourier rời rạc DFT (Discrete Fourier Transform):

7.1.1 Định nghĩa:


™ DTFT được sử dụng rộng rãi khi nghiên cứu tín hiệu ở dạng giải tích.

Tuy nhiên, nó có 2 hạn chế: Giải pháp
¾ Độ dài tín hiệu là vơ cùng >< thực tế là hữu hạn. đưa ra: DFT

¾ Biến Ω là liên tục >< yêu cầu xử lý (trên máy tính,..) là rời rạc.

™ Giả sử x(n) là tín hiệu rời rạc có chiều dài hữu hạn L. Công thức biến đổi DFT N
điểm (N≥L) của x(n) là:

N −1 (DFT)

X (k ) = ∑ x(n)e− j2π kn/N ; k = 0,..., N −1
n=0

x ( n ) = 1 ∑ X ( k ) e j 2 N −1 π kn / N ; (IDFT)

N k=0 n = 0,..., N − 1

™ DFT đóng vai trị quan trọng trong xử lý số tín hiệu (ví dụ: phân tích phổ, lọc tín

hiệu,..) do tồn tại các cách tính DFT hiệu quả (chẳng hạn như giải thuật FFT).

2
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt)


Ví dụ 1: Cho tín hiệu: ⎧1 ,0 ≤ n ≤ L −1
x(n) = ⎨ , n : elsewhere
a. Xác định và vẽ phổ tín hiệu X(Ω). ⎩0

b. Xác định và vẽ DFT N điểm (N≥L).

Lời giải:

a. Dùng biến đổi DTFT:
− jΩn − jΩn ∞ L−1 1 − e− jnΩL sin ΩL / 2 − jΩ ( L−1)/ 2
X (Ω) = ∑ x(n)e = ∑ 1.e = − jΩn = e
1− e sin Ω / 2
n=−∞ n=0

⇒| X (Ω) |= sin ΩL / 2 ; ∠X (Ω) = −Ω(L − 1) / 2
sin Ω / 2

3
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt)

b. Dùng công thức DFT N điểm:

∑ ∑ − j 2 N −1 π kn/ N − j 2 L−1 π kn/ N 1 − e− j 2π kL/ N sin π kL / N − jπ k ( L−1)/ N
X (k) = x(n)e =e = 1− e − j2π k / N = sin π k / N e

n=0 n=0


4
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt)

™ Biểu diễn dạng ma trận: N −1
¾ Đặt : WN = e-j2π/N, lúc đó:
X (k ) = ∑ x (n )W Nkn ; k = 0, ..., N − 1
n=0

1 − kn N −1 n = 0,..., N −1

x(n) = ∑ X (k )WN ;

N k=0

; ;

¾ Cơng thức DFT và IDFT được viết lại như sau: (DFT)

X N = WN xN

x N = 1 W N* X N (IDFT)
N

Ỉ Cho X(k) tìm x(n) dùng DFT ????


5

5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT(tt)

Ví dụ 2: Cho tín hiệu: x(n) = {0,1,2,3}. Tìm DFT 4 điểm ?

Lời giải: W Nk + N = W Nk
¾ Dùng trực tiếp định nghĩa:

¾ Dùng dạng ma trận: W Nk + N / 2 = − W Nk

⎡ w04 w04 w04 w04 ⎤ ⎡1 1 1 1 ⎤ ⎡1 1 1 1 ⎤
⎢0 3⎥ ⎢ 3⎥ ⎢ ⎥
⎢w4 w4 w4 w4 ⎥ ⎢1 w4 w4 w4 ⎥ ⎢1 − j −1 j ⎥1212
W4 = ⎢ w0 w2 w4 w6 ⎥ = ⎢1 w2 w0 w2 ⎥ = ⎢1 −1 1 −1⎥
⎢ 0 3 6 9 4 4 4 4 ⎥ ⎢ 3 2 1 4 4 4 ⎥ ⎢ ⎥
⎢⎣w4 w4 w4 w4 ⎥⎦ ⎣1 w4 w4 w4 ⎦ ⎣1 j −1 − j ⎦

⎡1 1 1 1 ⎤ ⎡0⎤ ⎡ 6 ⎤
⎢1 − j −1 j ⎥ ⎢1⎥ ⎢−2 + 2 j ⎥
X 4 = W4 x4 = ⎢ ⎥×⎢ ⎥ = ⎢ ⎥
⎢1 −1 1 −1⎥ ⎢2⎥ ⎢ −2 ⎥
⎢ ⎥ ⎢⎥ ⎢ ⎥
⎣1 j −1 − j ⎦ ⎣3⎦ ⎣−2 − 2 j ⎦

⇒ X (k ) = {6; −2 + 2 j; −2; −2 − 2 j}


6
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.1.2 Các tính chất của DFT:

a. Tuần hồn:

¾ X(k) tuần hồn với chu kỳ N, nghĩa là: X(k+N) = X(k), ∀k

b. Tuyến tính:

x1 (n) DFT X 1 (k ) ⎫ DFT
⎬ ⇒ a1x1(n) + a2 x2 (n) ←⎯⎯→ a1X1(k ) + a2 X 2 (k), ∀a1, a2
←⎯⎯→

DFT
x2 (n) ←⎯⎯→ X 2 (k)⎭

c. Dịch vòng:

⎧ DFT − j 2π kn0 / N
DFT ⎪ x ((n − n0 )) N ←⎯ ⎯→ X (k )e
x(n) ←⎯ ⎯→ X (k ) ⇒ ⎨
j 2π k0n/ N DFT
⎪⎩ x(n)e ←⎯ ⎯→ X ((k − k0 )) N


™ Khái niệm dịch vòng: x’(n) = x((n-n0))N = x[(n - n0)modN]

7
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.1.2 Các tính chất của DFT:

d. Tích chập vịng:

x(n) DFT X (k )⎫ DFT
⎬ ⇒ z(n) = x(n) ⊗ y(n) ←⎯ ⎯→ Z (k ) = X (k )Y (k )
←⎯ ⎯→

DFT
y(n) ←⎯ ⎯→ Y (k ) ⎭

x(n) DFT X(k)

N điểm X IDFT z(n)=x(n) y(n)
DFT
N điểm

y(n) N điểm Y(k)

¾ Tích 2 DFT ∼ tích chập vịng trong miền thời gian.


™ Khái niệm tích chập vịng:

N −1

x(n ) ⊗ y (n ) = ∑ x(m )y[(n − m ) m od N ]
m =0

8
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.1.3 Lọc tuyến tính dựa vào DFT:

¾ Ngõ ra hệ thống LTI: tích chập thơng thường giữa tín hiệu vào và đáp ứng xung
Tích 2 DFT <=> tích chập vịng trong miền thời gian.

Ỉ dùng DFT để tính đáp ứng ngõ ra của hệ thống LTI ?????

¾ Xét bộ lọc FIR có đáp ứng xung h(n), chiều dài M.

Tín hiệu ngõ vào x(n), chiều dài L.

Khi đó, tín hiệu ngõ ra y(n) có chiều dài L+M-1.

Tín hiệu vào Hệ thống Tín hiệu ra


x(n) rời rạc y(n)=h(n)*x(n)

X(Ω) Y(Ω)=X(Ω)H(Ω)

ƒ Số mẫu cần để biểu diễn phổ Y(Ω) là: N≥L+ M – 1 Ỉ cần lấy DFT N điểm.

ƒ Lấy DFT N điểm cho 2 chuỗi x(n) và h(n).

9
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.1.3 Lọc tuyến tính dựa vào DFT (tt):

¾ Sơ đồ thực hiện:

ƒ Chèn zeros vào 2 chuỗi x(n) và h(n) để có chiều dài N.

x(n) Chèn M-1 DFT X(k)
N điểm
zeros X

IDFT y(n)=x(n)*y(n)
N điểm

Chèn L-1 DFT
N điểm

h(n) zeros
H(k)

¾ Bằng cách tăng chiều dài từng chuỗi (thêm zeros), tích chập vòng sẽ cho kết
quả tương tự tích chập tuyến tính, hay nói cách khác, DFT có thể được dùng
để lọc tuyến tính (tính đáp ứng ngõ ra của hệ thống tuyến tính).

¾ Trường hợp, tín hiệu ngõ vào dài, dùng phương pháp cộng chồng lấp.
Việc tính tốn cho từng khối sẽ thực hiện như trên.

10
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.1.4 Phân tích phổ tín hiệu dùng DFT:

¾ Xét chuỗi tín hiệu cần phân tích x(n), -∞ ≤ n ≤ ∞.

¾ Quan sát tín hiệu trong L mẫu, nghĩa là 0 ≤ n ≤ L-1.Tín hiệu quan sát lúc đó:

xx(n) = x(n)w(n), ⎧1 ,0 ≤ n ≤ L −1
w(n) = ⎨ , otherwise
™ Hiện tượng rò phổ:
⎩0

¾ Giả sử x(n) = cos Ω0n, -∞ ≤ n ≤ ∞. Lúc đó, xx(n) = cos Ω0n, 0 ≤ n ≤ L-1.


ƒ Phổ của tín hiệu (biểu thức giải tích) dùng DTFT:

X (Ω) = πδ (Ω − Ω0 ) + πδ (Ω + Ω0 ) W(Ω)

XX (Ω) = 1 [W (Ω − Ω0 ) +W (Ω + Ω0 )]

2

trong đó, W(Ω) là biến đổi DTFT của hàm cửa sổ w(n). -2π/L 2π/L

W (Ω ) = sin Ω L / 2 e − jΩ ( L −1)/2 11
sin Ω / 2

5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.1.4 Phân tích phổ tín hiệu dùng DFT (tt):

|X(Ω)| XX(Ω)

π

-Ω0 0 Ω0

ƒ Phổ của tín hiệu dùng DFT: dán thêm N-L zeros vào x(n) rồi lấy DFT N
điểmỈ phổ XX(k).


™ Nhận xét:

¾ Phổ XX(Ω) khơng nằm tại một vị trí như X(Ω) mà bị trải ra trong
miền tần số do đặc tính của cửa số w(n)Ỉ hiện tượng rị phổ.

¾ Như vậy, việc cửa sồ hóa (cắt cụt tín hiệu) sẽ làm sai lệch kết quả
ước lượng phổ.

12
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

™ Độ phân giải tần số:

¾ Xét tín hiệu gồm 2 thành phần tần số: x(n) = cos Ω1n + cos Ω2n, -∞ ≤ n ≤ ∞.
Lúc đó, xx(n) = x(n)w(n) = cos Ω1n + cos Ω2n, 0 ≤ n ≤ L-1.
¾ Phổ của tín hiệu (biểu thức giải tích) dùng DTFT:

X (Ω) = πδ (Ω − Ω1) + πδ (Ω + Ω1) + πδ (Ω − Ω2 ) + πδ (Ω + Ω2 )

XX (Ω) = 1 [W (Ω − Ω1) +W (Ω + Ω1) + W (Ω − Ω2 ) + W (Ω + Ω2 )]

2

|X(Ω)|

π


-Ω2 -Ω1 0 Ω1 Ω2 W(Ω - Ω1) và W(Ω - Ω2) sẽ chồng lấn lên nhau
Ỉ khơng phân biệt được 2 vạch phổ
¾ Nếu: | Ω1 − Ω2 |< 2π : W(Ω - Ω1) và W(Ω - Ω2) được hiển thị tách biệt
¾ Nếu: nha phân biệt được 2 vạch phổ
L
5/22/2010 13
| Ω1 − Ω2 |≥ 2π :

L

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

¾ Giá trị : ΔΩ = 2π được gọi là độ phân giải phổ. Như vậy, hàm của sổ có chiều

L dài L chỉ phân biệt được các thành phần tần số cách nhau

một đoạn ít nhất là: ΔΩ = 2π .

L

¾ Phổ tín hiệu dùng DFT: (Ω1 = 0.2π; Ω2 = 0.22π)

‰ Ảnh hưởng của đặc tính cửa sổ:

¾ Độ cao búp phụ: ảnh hưởng đến mức rò phổ. Muốn giảm rò phổ, chọn
loại của sổ có búp phụ thấp.


¾ Độ rộng búp chính: ảnh hưởng đến độ phân giải. Muốn tăng độ phân giải,
chọn loại của sổ có độ rộng búp chính hẹp.

14
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

‰ Quan hệ giữa tần số tương tự và tần số số:

¾ Các biểu thức liên quan đến quá trình lấy mẫu:

Tín hiệu tương tự x(t) được lấy mẫu ở tốc độ fs trong khoảng thời gian T0.

và số mẫu thu được là N. Lúc đó: x(t) T0

T0 = N ×TS = N fS = 1 N = T0 fS
fS TS
0 Ts 2Ts 3Ts …… t

¾ Quan hệ tần số:

ƒ Xét tín hiệu tương tự: x(t) = Acos ωt = Acos 2πft Tần số tương
ƒ Lấy mẫu tín hiệu này: x(nTs)= Acos ωnTs = Acos ωn/Ts tự (rad/s)
ƒ Dạng tín hiệu rời rạc: x(n) = AcosΩn = Acos2πFn
Ω= ω
ƒ Đồng nhất hai biểu thức, ta được: Ω = ω T S hay:
fS

Tần số số (rad/mẫu)
15
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.1.4 Phân tích phổ tín hiệu dùng DFT (tt):

Ví dụ 3: Cho tín hiệu sau: x(t) = sin2πt + sin3πt + sin5πt + sin5.5πt (t:ms)

Tín hiệu này được lấy mẫu ở tốc độ fs = 10Khz. Để việc phân tích phổ dùng DFT
cho 4 đỉnh tách biệt thì thời gian lấy mẫu là bao lâu T0?

Lời giải:

¾ Các thành phần tần số: f1 =1 Khz; f2 =1.5 Khz; f3 =2.5 Khz; f4 =2.75 Khz.
¾ Khoảng cách tần số nhỏ nhất cần được phân biệt:

Δf = 2.75 – 2.5 = 0.25 Khz ΔΩ ≥ 2π
¾ Số mẫu tối thiểu cần phải lấy:
N
N ≥ fS = 10Khz = 40 Ω= ω
Δf 0.25Khz
fS
¾ Thời gian lấy mẫu:
⇒ N ≥ fs
T0 = N ×TS = N = 40 = 4 (ms) Δf
fS 10000

16
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.1.4 Phân tích phổ tín hiệu dùng DFT (tt):

Ví dụ 4: Cho tín hiệu sau: x(t) = sin2πt + sin4πt + sin2πf3t ; 1Khz≤f3≤3Khz (t:ms)
Tín hiệu này được lấy mẫu ở tốc độ fs = 10Khz trong khoảng thời gian 20 ms. Tín

hiệu sau đó được phân tích phổ dùng DFT. Xác định tầm giá trị của f3 để kết
quả cho 3 đỉnh tách biệt?

Lời giải:

¾ Các thành phần tần số: f1 =1 Khz; f2 =2 Khz; f3 Khz
¾ Số mẫu dữ liệu thu được:

N = fS ×T0 = 10×103 × 20×10−3 = 200

¾ Khoảng cách tần số nhỏ nhất có thể phân biệt được:

Δf = fS = 10Khz = 0.05Khz
N 200

¾ Tầm giá trị của f3:

f3 ∈[ f1 +Δf ; f2 −Δf ] =[1+0.05;2−0.05] =[1.05Khz;1.95Khz]


17
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.2 Giải thuật biến đổi Fourier nhanh FFT (Fast Fourier Transform)

¾ FFT là thuật tốn cho phép tính DFT một cách hiệu quả (giảm độ phức tạp/ thời
gian tính tốn).

7.2.1 FFT cơ số 2 phân chia theo thời gian:

¾ Giả sử tín hiệu x(n) có chiều dài N = 2v.

¾ Chia x(n) thành hai chuỗi con: g(n) = x(2n): gồm các mẫu ở vị trí chẵn

h(n) = x(2n+1): gồm các mẫu ở vị trí lẻ

¾ Lấy DFT N điểm:

N −1 N −1 N −1
X ( k ) = ∑ x ( n )W Nkn = ∑ x ( n )W Nkn + ∑ x ( n )W Nkn
n=0 n=0; n=0

n=2l n = 2l +1

∑ ∑ N / 2 −1N / 2 −1


= g ( l )W N2 kl + h ( l )W N( 2 l +1) k

l=0 l=0

N / 2 −1 N / 2 −1
= ∑ g ( l )W N / 2 kl + W Nk ∑ h (l )W N / 2 lk = G ( k ) + W Nk H ( k )
l=0 l=0

18
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.2.1 FFT cơ số 2 phân chia theo thời gian (tt):

Trong đó: G(k): biến đổi DFT N/2 điểm của chuỗi g(l)

H(k): biến đổi DFT N/2 điểm của chuỗi h(l)

Ỉ Như vậy, X(k) có thể được tính từ các DFT N/2 điểm G(k) và H(k). Cụ thể là:

X(0) = G(0) + W80H(0); WNk + N = WNk
X(1) = G(1) + W81H(1); WNk + N /2 = −WNk
……..

X(4) = G(0) + W84H(0)= G(0) - W80H(0);


X(5) = G(1) + W85H(1)= G(1) - W81H(1);

……….. G(k) và H(k): N/2 điểm
Tính X(k) địi hỏi N điểm
ỈDùng tính chất tuần hồn:

G(k+N/2) = G(k)
H(k+N/2) = H(k)

19
5/22/2010

Bài giảng: Xử lý số tín hiệu

Chương 7 BIẾN ĐỔI DFT VÀ GIẢI THUẬT FFT (tt)

7.2.1 FFT cơ số 2 phân chia theo thời gian (tt):
¾ Sơ đồ thực hiện (N = 8)

¾ Tiếp tục thực hiện cho g(l) và h(l) như x(n) cho đến khi chỉ còn tính DFT 2

điểm Ỉ cần log2N lần chia.

20
5/22/2010


×