Bài giảng Tín hiệu và hệ thống - Chương 5: Lấy mẩu tín hiệu

pdf 37 trang phuongnguyen 2980
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tín hiệu và hệ thống - Chương 5: Lấy mẩu tín hiệu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_tin_hieu_va_he_thong_chuong_5_lay_mau_tin_hieu.pdf

Nội dung text: Bài giảng Tín hiệu và hệ thống - Chương 5: Lấy mẩu tín hiệu

  1. CHƢƠNG 7: LẤY MẨU TÍN HIỆU Nội dung 5.1 Định lý lấy mẩu 5.2 Tính biến đổi Fourier: Biến đổi Fourier rời rạc (DFT) 5.3 Biến đổi Fourier nhanh (FFT) 5.4 Phụ chương 5.1 5.5 Tóm tắt Tài liệu tham khảo: B.P. Lathi, Signal Processing and Linear Systems, Berkeley-Cambridge Press, 1998 Lấy mẩu Tín hiệu liên tục có thể được xử lý bằng cách xử lý các mẩu của tín hiệu qua hệ thống rời rạc. Điều cần thiết là phải duy trì tốc độ lấy mẩu tín hiệu đủ lớn để khôi phục tốt tín hiệu (không có sai số hay sai số với độ dung sai chấp nhận được). Điều này có thể thực hiện được dùng định lý lấy mẩu. 5.1 Định lý lấy mẫu Ta sẽ chứng minh là tín hiệu thực có phổ băng thông giới hạn B Hz [F()= 0 với  2 B ] có thể được khôi phục chính xác (không có sai số nào) từ các tốc độ lấy mẩu đồng đều với tốc độ Fs > 2B mẩu/giây. Nói cách khác, tốc dộ lấy mẩu tối thiểu là Fs = 2B Hz. Để chứng minh định lý lấy mẩu, xét tín hiệu f(t) (hình 5.1a) có phổ giới hạn B Hz (hình 5.1b). Để thuận tiện, ta vẽ phổ là hàm theo  cũng như theo F (Hz). Lấy mẩu f(t) với tốc độ Fs Hz (Fs mẩu/giây) có thể thực hiện bằng cách nhân f(t) với chuỗi xung T(t)
  2. (hình 5.1c), gồm các xung đơn vị lặp lại theo chu kỳ T giây, với T =1/Fs. Kết quả là tín hiệu được lấy mẫu f (t) vẽ trong hình 5.1d, là tín hiệu gồm các xung cách nhau từng T giây (thời gian lấy mẫu). Xung thứ n, nằm tại t = nT, có cường độ f(nT), là giá trị của f(t) tại t = nT. f (t) f (t)T (t)  f (nT) (t nT) (5.1) n Để tìm F () , biến đổi Fourier của , ta lấy biến đổi Fourier của vế phải phương trình (5.3) từng thừa số một. Biến đổi của thừa số thứ nhất trong ngoặc là F(). Biến đổi của thừa số thứ hai 2 f (t)cosst là F( –s ) + F( +s ) (xem phương trình (4.41), cho thấy phổ F() dời s và –s. Tương tự, biến đổi Fourier của thừa số thứ ba 2 f (t)cos 2st là F( –2s ) + F( +2s ), cho thấy phổ F() dời 2s và –2s, và tiếp tục cho tới vô hạn. Điều này tức là phổ gồm F() lặp lại theo chu kỳ s = 2 /T rad/s, hay Fs = 1/T Hz, như vẽ trong hình 5.1e. Ngoài ra còn có thêm hằng số nhân 1/T trong phương trình (5.3). Do đó 1 F ()  F( ns ) (5.4) T n Nếu muốn khôi phục f(t) từ , ta phải khôi phục được F() từ . Có thể khôi phục được nếu không có trùng lắp giữa các chu kỳ liên tiếp của . Hình 5.1e cho thấy cần có Fs > 2B (5.5) Đồng thời, thời gian lấy mẩu T =1/Fs. Do đó 1 T (5.6) 2B Thí dụ 5.1 Trong thí dụ này, ta xét ảnh hưởng của tín hiệu khi lấy mẩu theo tốc độ Nyquist, thấp hơn tốc độ Nyquist (lấy mẩu thiếu), cao hơn tốc độ Nyquist (lấy mẩu lố). Xét tín 2  hiệu f (t) sin c (5 t) (hình 5.2a) có phổ F() 0,2 20 (hình 5.2b). Băng thông của tín hiệu là 5 Hz (10 rad/s). Như thế, tốc độ Nyquist là 10Hz; tức là, ta phải lấy mẩu tín hiệu với tốc độ không nhỏ hơn 10 mẩu/s. Khoảng Nyquist là T = 1/2B = 0,1 giây. 2  Nhắc lại là phổ của tín hiệu đã lấy mẩu gồm 1/T F() T 20 lặp lại theo chu kỳ bằng với tần số lấy mẩu Fs Hz. Ta trình bày thông tin này trong bảng sau với tốc độ lấy mẩu Fs = 5Hz (lấy mẩu thiếu). 10Hz (tốc độ Nyquist) và 20Hz (lấy mẩu lố). Tần số lấy mẩu Fs Thời gian lấy mẩu T (1/T)F() Nhận xét  5 Hz 0,2 20 Lấy mẩu thiếu  10 Hz 0,1 2 20 Tốc độ Nyquist  20 Hz 0,05 4 20 Lấy mẩu lố Trong trường hợp đầu (lấy mẩu thiếu), tốc độ lấy mẩu là 5Hz (5 mẩu/giây) , và phổ 1 T F() lặp lại sau mỗi 5Hz (10 rad/s). Các phổ liên tiếp trùng lắp, như vẽ trong hình
  3. 5.2d, và phổ F() không thể được khôi phục từ F () ; tức là f(t) không thể được khôi phục từ các mẩu f (t) trong hình 5.2c. Trường hợp thứ hai, khi dùng tốc độ lấy mẫu Nyquist 1 10Hz (hình 5.2e). Phổ gồm các thành phần phổ T F() không trùng lắp lặp lại từng 10 Hz. Do đó, phổ F() có thể được khôi phục từ dùng mạch lọc thông thấp lý tưởng có băng thông 5 Hz (hình 5.2f). Sau cùng, trường hợp cuối là lấy mẩu lố (tốc độ lấy mẩu 20Hz); phổ F() gồm các gồm các thành phần phổ không trùng lắp (lặp
  4. lại từng 20 Hz) với các băng tần trống giữa các chu kỳ liên tiếp. Do đó, phổ F() có thể được khôi phục từ F () dùng mạch lọc thông thấp lý tưởng hay mạch lọc thực tế cũng được (tín hiệu vẽ chấm trong hình 5.2h). Bài tập E5.1 Tìm tốc độ Nyquist là khoảng Nyquist cho tín hiệu: (a) sinc(100 t) và sinc(100 t) + sinc(50 t) . Đáp số: khoảng Nyquist là 0,01 giây và tốc độ Nyquist là 100Hz cho cả hai tín hiệu.  5.1-1 Khôi phục tín hiệu: Công thức nội suy Quá trình khôi phục tín hiệu liên tục f(t) từ các mẩu còn được gọi là phép nội suy. Trong phần 5.1, ta thấy tín hiệu f(t) có băng thông giới hạn B Hz có thể được khôi phục (nội suy) chính xác từ các mẩu của mình. Quá trình khôi phục bằng cách cho tín hiệu đã lấy mẩu qua mạch lọc thông thấp lý tưởng có băng thông B Hz. Từ phương trình (5.3), tín hiệu đã lấy mẩu chứa các thành phần (1/T)f(t) và để khôi phục được f(t) (hay F()), thì tín hiệu đã lấy mẩu phải qua mạch lọc lý tưởng có băng thông B Hz và độ lợi T. Do đó, hàm truyền của bộ lọc khôi phục (hay nội suy) là:  H() Trect (5.7) 4 B Quá trình nội suy được biểu diễn trong miền tần số như là tác động lọc. Ta xem xét tiếp quá trình này từ quan điểm khác, tức là trong miền thời gian. t Để bắt đầu, ta hảy xét mạch lọc cực kỳ đơn giản có đáp ứng xung là rect T , vẽ trong hình 5.3a. Đây là xung cổng (gate pulse) có tâm tại gốc, có chiều cao đơn vị, và độ rộng T (thời gian lấy mẩu). Ta tìm ngõ ra của bộ lọc khi ngõ vào là tín hiệu đã lấy mẩu f (t) , Từng mẩu của f (t) , đã được biến thành xung, tạo ngõ ra là xung cổng với chiều cao bằng với cường độ của mẩu. Thí dụ, mẩu thứ k là xung có cường độ f(kT) nằm tại t kT và có thể viết thành f (kT)(t kT) . Khi xung qua bộ lọc, tạo ra ngõ ra là xung
  5. cổng có cao độ f(kT), tâm tại t = kT (phần nét gián đoạn trong hình 5.3b). Từng mẩu trong f (t) sẽ tạo ra xung cổng tương ứng tại ngõ ra bộ lọc dạng xấp xỉ hình bậc thang của f(t), vẽ trong phần chấm trong hình 5.3b. Bộ lọc cho ta dạng thô của phép nội suy. t Hàm truyền H() của bộ lọc là biến đổi Fourier của đáp ứng xung rect T . Giả sử, ta dùng tốc độ Nyquist; tức là T = 1/2B. t h(t) rect rect(2Bt) T Và T 1  H() T sin c (5.8) 2 2B 4B Đáp ứng biên độ H() của bộ lọc này, như vẽ trong hình 5.3c, giải thích lý do về tính thô của phép nội suy. Bộ lọc này, còn được gọi là mạch lọc giữ bậc zêrô (zero hold filter), dạng xấu nhất của mạch lọc thông thấp lý tưởng (phần tô bóng trong hình 5.3c) cần có cho phép nội suy chính xác. Ta có thể cải thiện dạng mạch lọc bậc zêrô bằng cách dùng mạch lọc giử bậc một (first order hold filter), cho ta phép nội suy tuyến tính thay vì dạng nội suy theo bậc t thang. Bộ nội suy tuyến tính này, với đáp ứng xung là xung tam giác 2T , cho phép xấp xỉ với đỉnh các mẩu được nối nhau bằng đường thẳng (xem bài tập 5.1-5). Hàm truyền bộ lọc nội suy lý tưởng lấy từ phương trình (5.7) và vẽ trong hình 5.4a. Đáp ứng xung của bộ lọa này là biến đổi Fourier nghịch của H() là h(t) 2BT sin c(2 BT ) (5.9a) Giả sử lấy mẩu với tốc độ lấy mẩu Nyquist; tức là 2BT =1, thì h(t) sin c(2 BT ) (5.9b) f (t)  f (kT)h(t kT) k
  6. f (t)  f (kT)sin c[2 B(t kT)] (5.10a) k f (t)  f (kT)sin c(2 Bt k ) (5.10b) k Phương trình (5.10) là công thức nội suy, tìm các giá trị của f(t) giữa các mẩu là phép cộng dồn (weighted sum) mọi giá trị mẩu. Thí dụ 5.2 Tìm tín hiệu f(t) với băng thông giới hạn B Hz, và có các mẩu là f(0) = 1 và f( T) = f( 2T) = f( 3T) = . . . = 0 trong đó khoảng lấy mẩu là khoảng Nyquist của f(t); tức là T = 1/2B. Dùng công thức nội suy (5.10b) để khôi phục f(t) từ các mẩu. Do tất cả các mẩu Nyquist đều là zêrô, trừ một mẩu (tương ứng với k = 0) trong tổng bên vế phải của phương trình (5.10b). Do đó f(t) = sinc (2 Bt) Tín hiệu này được vẽ trong 5.4b. Quan sát thấy là chỉ tín hiệu có băng thông B Hz và giá trị mẩu là f(0) = 1 và f(nT) = 0 (n 0). Các tín hiệu khác không thỏa được các điều kiện này. 5.1-2 Khó khăn thực tế khi khôi phục tín hiệu Nếu tín hiệu được lấy mẩu với tốc độ Nyquist Fs = 2B Hz, phổ F () bao gồm F() được lặp lại nhiều lần mà không có khoảng hở giữa các chu kỳ kế tiếp, như vẽ trong hình 5.5a. Như đã thấy trong phần 4.5, thì mạch lọc này là dạng không thực hiện được; mà chỉ có thể xấp xỉ gần đúng dùng vô số các khâu trễ trong đáp ứng. Nói cách khác, ta có thể khôi phục lại tín hiệu f(t) từ các mẩu dùng dùng vô số các khâu trễ. Một giải pháp thực tế là lấy mẩu tín hiệu với tốc độ cao hơn tốc độ Nyquist (Fs > 2B hay s 4 B) . Kết quả là , bao gồm F() được lặp lại nhiều lần với một số hữu hạn các khoảng hở giữa các chu kỳ kế tiếp, như vẽ trong hình 5.5b. Có thể khôi phục F() từ dùng mạch lọc thông thấp có đặc tính ngắt chậm (từ từ), vẽ đường chấm trong hình 5.5b. Nhưng ngay cả trong trường hợp này, độ lợi mạch lọc phải là zêrô sau chu kỳ thức nhất
  7. của F() (xem hình 5.5b). Theo tiêu chuẩn Paley-Wiener, thì không thể thực hiện được mạch lọc này. Ưu điểm duy nhất trong trường hợp này là ta có thể xấp xỉ mạch lọc cần có dùng số khâu trễ ít nhất. Điều này cho thấy là trong thực tế không thể khôi phục chính xác được tín hiệu f(t) có băng thông giới hạn từ các mẩu của tín hiệu, ngay cả khi tốc độ lấy mẩu có cao hơn tốc độ Nyquist đi nữa. Tuy nhiên, khi tốc độ lấy mẩu càng tăng thì tín hiệu khôi phục càng gần với tín hiệu mong muốn. Sự bội bạc của trùm phổ (The treachery of aliasing) Trong thực tế, khi khôi phục tín hiệu từ các mẩu còn một khó khăn cơ bản khác. Định lý lấy mẩu vừa chứng minh đã dựa trên giả thiết là tín hiệu có băng thông giới hạn. Các tín hiệu thực tế đều có thời gian giới hạn; tức là có độ rộng xung hữu hạn. Ta có thể chứng minh (xem bài tập 5.1-10) là tín hiệu không thể đồng thời vừa có thời gian giới hạn và băng thông giới hạn. Nếu tín hiệu có thời gian giới hạn, thì không thể có băng thông giới hạn và ngược lại (nhưng tín hiệu có thể có thời gian không giới hạn và băng thông không giới hạn). Rõ ràng, mọi tín hiệu thực tế, cần có thời gian giới hạn, thì băng thông không hạn chế; chúng có băng thông vô hạn, và phổ F () gồm các chu kỳ chồng lắp của F() lặp lại mỗi Fs Hz (tần số lấy mẩu) như vẽ trong hình 5.6. Do có băng thông vô hạn trong trường hợp này, nên chồng lắp phổ là đặc trưng không thay đổi, bất chấp tốc độ lấy mẩu. Do có phần đuôi chồng lắp, nên không còn đủ thông tin về F(), và không còn khả năng, ngay cả trong lý thuyết, để khôi phục f(t) từ các tín hiệu đã lấy mẩu f (t) . Nếu tín hiệu lấy mẩu đi qua mạch lọc thông thấp lý tưởng, thì ngõ ra không phải là F() mà là một phiên bản F() bị méo dạng do hai nguyên nhân riêng biệt sau: 1. Phần đuôi của F() bị mất khi F > Fs/2 Hz; 2. Phần đuôi này tái xuất hiện với dạng gấp lại trong phổ. Chú ý là phổ ngang qua Fs/2 = 1/2T Hz. Tần số này được gọi là tần số gấp lại. Do đó, phổ tự gấp lại tại tần số gấp lại. Thí dụ, thành phần tần số Fs/2+ Fx + Fx lộ diện để “đóng vai” thành phần tần số thấp hơn (Fs/2) – Fx trong tín hiệu khôi phục được. Do đó, thành phần tần số cao hơn (Fs/2) lại tái xuất hiện như là thành phần tần số thấp hơn (Fs/2). Yếu tố đảo phần đuôi được gọi là gấp phổ (spectral folding) hay trùm phổ (aliasing), vẽ phần tô bóng trong hình 5.6. Trong qua trình trùm phổ này, ta không chỉ mất mọi thành phần tần số cao hơn (Fs/2) Hz, nhưng các thành phần này lại tái hiện (trùm phổ) như thành phần tần số thấp. Sự xuất hiện lại này còn phá hủy tính toàn vẹn của các thành phần tần số thấp, như vẽ trong hình 5.6.
  8. Giải pháp: Bộ lọc chống trùm phổ Thực hiện như sau, ta biết nguy cơ tiềm tàng nằm ở các thành phần tần số lớn hơn (Fs/2) = (1/2T) Hz. Ta cần loại bớt (triệt) các thành phần này khỏi f(t) trước khi lấy mẩu f(t). Theo phương pháp này, ta chỉ mất các thành phần lớn hơn tần số gấp (Fs/2)Hz; do đó các thành phần này không thể tái hiện để làm hỏng các thành phần có tần số thấp hơn tần số gấp. Các thành phần tần số cao được lọc nhờ mạch lọc thông thấp lý tưởng có băng thông là (Fs/2)Hz. Bộ lọc này được gọi là bộ lọc trùm phổ. Chú ý là phải thực hiện việc chống trùm phổ trước khi lấy mẩu tín hiệu. Bộ lọc chống trùm phổ là mạch lọc lý tưởng nên không thực hiện được. Trong thực tế, ta dùng mạch lọc có tần số cắt dạng dốc đứng, nhằm làm suy giảm sắc nét các phổ còn sót lại của tần số gấp (Fs/2). Lấy mẩu thực tế Khi chứng minh định lý lấy mẩu, ta giả sử các mẩu lý tưởng có được bằng cách nhân tín hiệu f(t) với chuỗi xung có độ rộng hữu hạn, vẽ trong hình 5.7b. Tín hiệu lấy mẩu được vẽ trong hình 5.7c. Điều kinh ngạc là ta có thể khôi phục hay tái tạo tín hiệu f(t) từ tín hiệu lấy mẩu f (t) trong hình 5.7c. Đáng ngạc nghiên hơn là tốc độ lấy mầu lại không thấp hơn tốc độ Nyquist. Tín hiệu f(t) có thể khôi phục bằng các cho qua lọc thông thấp dù nó đã được lấy mẩu dùng chuỗi xung. Kết quả này có vẽ đáng tin cậy khi ta xét thực tế là việc khôi phục f(t) đòi hỏi kiến thức về giá trị của mẩu Nyquist. Thông tin này có sẳn hay nằm trong tín hiệu lấy mẩu trong hình 5.7c do cường độ của mẩu thứ k là f(kT). Để chứng minh điều này một cách giải tích, ta thấy là chuỗi xung lấy mẩu pT(t) vẽ trong hình 5.7b, là tín hiệu tuần hoàn, có thể biểu diễn thành chuỗi Fourier 2 pT (t) C0 C ncos(nst n ) s n 1 T
  9. Và f (t) f (t) pT (t) f (t) C0 Cn cos(nst n ) n 1 C0 f (t) Cn f (t)cos(nst n ) (5.11) n 1 Tín hiệu đã lấy mẩu f (t) gồm có C0 f (t) , C1 f (t)cos(st 1), C2 f (t)cos(2st 2 ), . Chú ý là thừa số thứ nhất là tín hiệu mong muốn và tất cả các thừa số khác đều là tín hiệu điều chế với phổ có tâm tại s, 2s, 3s, . . . , như vẽ trong hình 5.7e. Rõ ràng tín hiệu f(t) có thể được khôi phục bằng cách cho qua mạch lọc thông thấp, để có s > 4 B ( hay Fs > 2B). Thí dụ 5.3 Để minh họa việc lấy mẩu thực tế, xét tín hiệu f (t) sin c2 (5 t) được lấy mẩu dùng chuỗi xung vuông pT (t) vẽ ở hình 5.8c. Chu kỳ của pT (t) là 0,1 giây, để có tần số cơ bản là 10Hz. Do đó s 20 . Chuỗi Fourier của có thể biểu diễn thành pT (t) C0 Cn cos nst n 1 1 2 n Dùng phương trình (3.66) ta có C0 4 và Cn n sin 4 ; tức là 1 2 1 2 2 C , C , C , C , C 0, C , 0 4 1 2 3 3 4 5 5
  10. Do đó 1 2 1 2 f (t) f (t) p (t) f (t) f (t)cos 20 t f (t)cos 40 t f (t)cos 60 t  T 4 3 Và 1 1 1 F () F() [F( 20 ) F( 20 )] [F( 40 ) F( 40 )] 4 2 2 1 [F( 60 ) F( 60 )]  3 2  Trong trường hợp này F() 0,2 20 . Phổ F () vẽ trong hình 5.8e. Quan sát thấy phổ gồm F() được lặp lại theo chu kỳ 20 rad/s (10Hz). Do đó, không có trùng lắp giữa các chu kỳ, và có thể được khôi phục dùng bộ lọc thông thấp lý tưởng với băng thông 5 Hz. Bộ lọc thông thấp lý tưởng có độ lợi đơn vị (và băng thông 5 Hz) sẽ cho phép thừa số thứ nhất bên vế phải của phương trình trên đi qua đầy đủ và triệt mọi thừa số khác. Do đó, ngõ ra y(t) là 1 y(t) f (t) 4 5.3-1 Một số ứng dụng của định lý lấy mẩu Định lý lấy mẩu rất quan trọng trong phân tích, xử lý và truyền dẫn tín hiệu do cho phép ta thay thế tín hiệu liên tục theo thời gian bằng chuỗi rời rạc các số. Do đó, việc xử lý tín hiệu liên tục tương đương với việc xử lý chuỗi rời rạc các số. Phép xử lý này đưa ta đến lĩnh vực lọc số. Trong lĩnh vực thông tin, việc truyền các bản tin liên tục theo thời gian rút lại thành việc truyền các chuỗi số dùng chuỗi xung. Tín hiệu liên tục theo thời
  11. gian f(t) được lấy mẩu và các giá trị mẩu được dùng thay đổi một số tham số của chuỗi xung tuần hoàn. Ta có thể thay đổi biên độ (hình 5.9b), độ rộng (hình 5.9c), vị trí (hình 5.9d) của xung tỉ lệ với các giá trị mẩu của tín hiệu f(t). Từ đó, ta có phương pháp điều chế biên độ xung (PAM: pulse-amplitude modulation), điều chế độ rộng xung (PWM: pulse-width modulation), hay điều chế vị trí xung (PPM: pulse-position modulation). Dạng điều chế xung quan trọng nhất hiện nay là điều chế xung mã (PCM: pulse-code modulation). Trong mọi trường hợp, thay vì truyền tín hiệu f(t), ta truyền tín hiệu điều chế xung tương ứng. Tại máy thu, ta độc thông tin từ tín hiệu hiệu điều chế xung và khôi phục tín hiệu analog f(t). Một ưu điểm của điều chế xung là cho phép truyền đồng thời nhiều tín hiệu trên cơ sở chia sẻ thời gian (ghép kênh bằng cách phân chia theo thời gian TDM: time-division multiplexing). Do tín hiệu điều chế xung chỉ chiếm một phần thời gian của kênh truyền, nên ta có thể truyền nhiều tín hiệu điều chế xung trên cùng một kênh bằng cách chuyển vị (inter-weaving) chúng. Hình 5.10 vẽ phương pháp ghép kênh hai tín hiệu PAM dùng phương pháp TDM. Dùng phương pháp này, ta có thể ghép kênh nhiều tín hiệu trên cùng một kênh truyền bằng cách giảm độ rộng xung. Một phương pháp khác để truyền đồng thời nhiều tín hiệu analog (baseband) là phương pháp ghép kênh bằng cách phân chia theo tần số (FDM: frequency - division multiplexing), thảo luận trong phần 4.8-4. Trong phương pháp FDM, nhiều tín hiệu được truyền đồng thời dùng phương pháp chia sẻ khổ sóng của kênh truyền. Phổ của từng bản tin được dời đến dải tần đặc thù, chưa bị các tín hiệu khác chiếm. Thông tin của nhiều tín hiệu được đặt trong các dải tần số không trùng lắp của kênh (hình 4.45). Có thể xem TDM và FDM là dạng đối ngẫu của nhau. Điều chế xung mã (PCM: Pulse Code Modulation) PCM rất hữu ích và được dùng rộng rãi nhất trong các phương thức điều chế xung vừa nêu. Về cơ bản PCM là phương pháp chuyển đổi tín hiệu analog thành tín hiệu số (chuyển đổi A/D). Một tín hiệu analog có đặc trưng là biên độ có thể có giá trị bất kỳ trong một tầm liên tục. Do đó, tín hiệu analog có thể có vô hạn các giá trị. Ngược lại, biên độ tín hiệu số chỉ có thể có số hữu hạn các giá trị. Một tín hiệu analog có thể được chuyển đổi thành tín hiệu số bằng cách lấy mẩu và lƣợng tử hóa (làm tròn). Nếu chỉ lấy mẩu tín hiệu analog không, thì cũng chưa có tín hiệu số do tín hiệu đã lấy mẩu vẩn còn có nhiều giá trị bất kỳ trong một tầm liên tục. Để số hóa tín hiệu này thì cần có quá trình lượng tử hóa, để biên độ này nằm trong khoảng lượng tử như vẽ trong hình 5.11a.
  12. Các biên độ của tín hiệu analog f(t) nằm trong tầm (– V, V). Tầm này là được chia thành L khoảng con, có biên độ là v = 2V/L. Tiếp đến, mỗi mẩu biên độ được xấp xỉ dùng giá trị trung điểm của khoảng con của mẩu đang giảm (xem hình 5.11a với L = 16). Rõ ràng là mỗi mẩu được xấp xỉ với một trong L giá trị. Như thế, tín hiệu được số hóa với các mẩu lượng tử là một trong L giá trị. Các tín hiệu này là tín hiệu số L – phân (L – ary ). Theo quan điểm thực tế, tín hiệu nhị phân (là tín hiệu chỉ có hai giá trị) là tín hiệu rất hấp dẫn do tính đơn giản, kinh tế và dễ sử dụng trong kỹ thuật. Ta có thể chuyển đổi tín hiệu L – phân thành tín hiệu nhị phân dùng phương pháp mã hóa xung. Hình 5.11b vẽ mã trong trường hợp L = 16. Mã này, dùng biểu diễn nhị phân của hệ octal từ 0 đến 15, được gọi là mã nhị phân tự nhiên (NBC: natural binary code). Còn có nhiều phương pháp khác để mã hóa nhị phân. Mỗi mức trong 16 mức được truyền đi với một mã nhị phân 4 bit. Để truyền dữ liệu nhị phân này, ta cần định nghĩa các dạng xung riêng biệt để chỉ thị các trạng thái nhị phân. Một khả năng là dùng dạng xung âm cho bit 0 và xung dương cho bit 1 để các mẩu có thể được truyền đi thành nhóm 4 bit nhị phân, như vẽ trong hình 5.11b. Tín hiệu có được là tín hiệu PCM. Tín hiệu analog f(t) được chuyển đỗi thành tín hiệu số (nhị phân). Tín hiệu nhị phân được gọi là bit, hiện đang là dạng viết tắt trong chuẩn công nghiệp. Băng thông của tín hiệu âm thanh vào khoảng 15kHz, nhưng nhiều thử nghiệm cho thấy tín hiệu phát âm rõ (nghe được rõ) không bị ảnh hưởng nếu các thành phần tần số cao hơn 3400Hz bị loại bỏ. Do mục tiêu của thông tin điện thoại là nghe được rõ chứ không trung thực (hi-fi), nên các thành phần có tần số cao hơn 3400Hz được lọc bỏ dùng bộ lọc thông thấp. Tín hiệu sau đó được lấy mẩu với tốc độ 800 mẩu trong một giây (8 kHz). Tốc độ này cố tình cao hơn tốc độ Nyquist là 6,8 kHz để tránh phải có các mạch lọc không thực hiện được khi khôi phục tín hiệu. Sau cùng mỗi mẩu được lượng tử thành 256 mức (L = 256), cần có nhóm 8 xung nhị phân để mã hóa các mẩu (28=256). Do đó, tín hiệu điện thoai số hóa gồm 8 x 8000 = 64000 hay 64 kbits/s dữ liệu, cần có 64.000 xung nhị phân trong một giây khi truyền. Đĩa CD là ứng dụng của PCM. Đây là tình huống dùng cho tín hiệu âm thanh hi-fi có băng thông 15 kHz. Dù tốc độ lấy mẩu Nyquist chỉ là 30 kHz, hiện người ta dùng tốc độ lây mẩu 44,1 kHz như lý do đã trình bày trước đây. Tín hiệu được lượng tử với số lượng lớn các mẩu (L = 65.536) nhằm giảm sai số do lượng tử. Các mẩu được mã hóa nhị phân rồi ghi vào CD. Ƣu điểm của tín hiệu số Một số ưu điển của tín hiệu số so với tín hiệu analog được liệt kê dưới đây: 1. Truyền tín hiệu số ưu việt hơn so với tín hiệu analog do tín hiệu số có tính chống nhiễu kênh truyền và méo tốt hơn nhiều (khi nhiễu và méo nằm trong giới hạn). Bản tin tín hiệu số (nhị phân) trong hình 5.12a bị méo dao kênh truyền, như vẽ trong hình 5.12b. Nếu méo nằm trong giới hạn, ta có thể khôi phục dữ liệu mà không bị lỗi do chỉ cần có quyết định nhị phân khi nhận được xung dương hay xung âm. Hình 5.12c vẽ cùng dữ liệu với méo do kênh truyền và nhiễu. Trường hợp này dữ liệu có thể được khôi phục chính xác bao lâu mà méo và nhiễu kênh truyền cón nằm trong giới hạn. Điều này khác với trường hợp tín hiệu analog, khi với nhiễu hay méo dạng bất kỳ, sẽ làm sái dạng tín hiệu thu được.
  13. 2. Tuy nhiên, ưu điểm lớn nhất của truyền dẫn tín hiệu số so với truyền dẫn analog là khả năng tái tạo lại tín hiệu. Khi truyền dẫn analog, một tín hiệu bản tin khi truyền qua kênh (đường truyền), tín hiệu ngày càng yếu đi, trong khi nhiễu kênh truyền và méo dạng tín hiệu, ngày càng tích lủy và tăng mạnh dần. Tín hiệu sau cùng bị áp đảo do nhiễu và méo dạng càng bị tổn thất lớn. Khuếch đại chỉ giúp rất ít do đồng thời tăng cường tín hiệu và nhiễu theo cùng tỉ lệ. Do đó, cự ly truyền bản tin analog bị giới hạn bởi công suất truyền. Khi truyền đủ dài, méo kênh truyền và nhiễu tích lủy đủ để áp đảo tín hiệu kể cả tín hiệu số. Có thể khắc phục bằng cách thiết lập các trạm lặp (repeater) dọc theo đường truyền với cự ly đủ ngắn để có thể phát hiện xung tín hiệu trước khi nhiễu và méo dạng có thể tích lủy đủ lớn. Mỗi trạm xung phát hiện xung là, sạch xung và truyền tiếp đến trạm lặp kế tiếp, để thực hiện lại các bước vừa nêu. Nếu nhiễu và méo vẫn còn nằm trong giới hạn (điều này thực hiện được do các trạm được đặc tương đối gần nhau), xung sẽ được phát hiện chính xác. Theo phương cách này, bản tin tín hiệu số có thể được truyền trên cự ly dài với độ tin cậy cao. Ngược lại, bản tin analog không thể làm sạch tín hiệu một cách tuần hoàn, nên truyền dẫn có độ tin cậy thấp hơn. Trong PCM thì sai số có ý nghĩa nhất là sai số lượng tử. Sai số này có thể được giảm thiểu bằng cách gia tăng mức lượng tử, với giá phải trả là làm băng thông lớn hơn trong môi trường truyền dẫn (kênh truyền). 3. Thiết lập phần cứng số rât mềm dẽo và cho phép dùng vi xử lý, các máy tính mini, chuyển mạch số, và mạch tích hợp cở lớn LSI. 4. Tín hiệu số có thể được mã hóa để có mức sai số thấp nhất và độ trung thực cao, cũng như tinh bảo mật cao. Đồng thời ta cũng có thể dùng những thuật toán tinh vi để xử lý tín hiệu số. 5. Phương pháp ghép kênh (multiplex) nhiều tín hiệu số thường dễ dàng và hiệu quả. 6. Phương thức lưu trữ tín hiệu số thường tương đối dễ và ít tốn kém. Ngoài ra còn có khả năng tìm kiếm và chọn lọc thông tín từ xa. 7. Việc tái tạo bản tin số thường có độ tin cậy cực lớn mà không bị xấu đi. Bản tin analog như bản photocopy hay phim, suy giảm chất lượng sau mỗi bước của nhiều bước khôi phục, và quá trình di chuyển từ nơi nay đến nơi khác thường tốn kém.
  14. 8. Giá các phần cứng số giảm nửa sau hai hay ba năm, trong khi tính năng và dung lượng tăng đôi với cùng thời gian này. Hiện nay các bước phát triển của công nghệ số ngày càng nhanh và càng tinh vi. Trong những năm gần đây, ta đã thấy đĩa CD, là thiết bị số đã làm cáo chung kỹ thuật ghi âm analog; báo chí truyền hình ảnh được scan theo dạng số; và ngày nay đã làm nước Mỷ phải hướng về các tiêu chuẩn mới cho truyền hình độ nét cao đối chọi lại với các chuẩn truyền hình analog từ Nhật và Châu Âu (?!!). Ngược lại thì công nghệ analog như giấy in, viđêo, âm thanh, và phim vẫn chưa có bước giảm giá nhanh. Dù gì đi nữa thì hiện nay công nghệ số đã và đang thống trị các lĩnh vực như công nghệ thông tin và công nghệ lưu trữ. Như đã nói trên, tín hiệu số có thể được tạo ra từ nhiều nguồn khác nhau. Một số nguồn tín hiệu như máy tính đã là số. Một số nguồn là analog, nhưng đã được chuyển đổi thành dạng số theo nhiều kỹ thuật khác nhau thí dụ như PCM. Bài tập E5.2 Mã ASCII (American Standard Code for Information Interchange) có 128 ký tự dạng nhị phân. Một máy tính tạo ra 100.000 ký tự/giây. Chứng tõ là (a) Cần có 7 bit đễ mã hóa từng ký tự (b) Cần có 700.000 bit/giây để truyền ngõ ra của máy tính.  5.1-3 Đối ngẫu của phép lấy mẩu theo thời gian: Định lý lấy mẩu phổ Tương tự như các trường hợp khác, định lý lấy mẩu cũng có phần đối ngẫu. Trong phần 5.1, ta đã thảo luận về định lý lấy mẩu theo thời gian, và đã chứng tõ được là tín hiệu với băng thông giới hạn B Hz có thể được khôi phục từ tín hiệu được lấy mẩu với tốc độ Fs > 2B mẩu/giây. Chú ý là phổ tín hiệu tồn tại trong tầm tần số từ – B đến B Hz. Do đó, 2B là độ rộng phổ (không phải là băng thông, là B) của tín hiệu. Điều này có nghĩa là tín hiệu f(t) có thể được khôi phục từ các mẩu được lấy với tốc độ Fs lớn hơn độ rộng phổ (tính bằng Hz) của tín hiệu. Đối ngẫu của định lý lấy mẩu theo thời gian là định lý lấy mẩu theo tần số. Định lý này áp dụng cho các tín hiệu có thời gian giới hạn, là đối ngẫu của tín hiệu có băng thông giới hạn. Ta tiếp tục chứng tõ là phổ F() của tín hiệu có thời gian giới hạn là  giây có thể được khôi phục từ mẩu của F() được lấy với tốc độ R >  (độ rộng của tín hiệu) mẩu/Hz. Hình 5.13a vẽ tín hiệu f(t) có thời gian giới hạn  giây cùng biến đổi Fourier F() của nó. Mặc dù F() thường có dạng phức, nhưng ta chỉ chứng minh cho trường hợp F() là hàm thực là đủ.
  15.  F() f (t)e jt dt f (t)e jt dt (5.12) 0 Tạo fTo(t) là tín hiệu tuần hoàn tạo ra bằng cách lặp lại f(t) mỗi T0 giây (T0 > ), như trong hình 5.13b. Tín hiệu tuần hoàn này có thể được biểu diễn theo chuỗi Fourier mủ 2 f (t) D e jn0t  T0  n 0 n T0 Trong đó (giả sử  < T0) T0  1 jn0t 1 jn0t Dn f (t)e dt f (t)e dt 0 0 T0 T0 Phương trình (5.12) cho 1 Dn F(n0 ) T0 Kết quả này cho thấy là các hệ số của chuỗi Fourier của fTo(t) là (1/T0) lần các giá trị mẩu của phổ F() lấy tại các khoảng 0. Điều này tức là phổ của tín hiệu tuần hoàn fTo(t) là phổ F() được lấy mẩu, như vẽ trong hình 5.13b. Bao lâu mà  còn < T0, chu kỳ kế tiếp của f(t) xuất hiện trong fTo(t) không bị trùng lắp, nên có thể khôi phục f(t) từ fTo(t). Khôi phục này gián tiếp hàm ý là F() có thể được khôi phục từ các mẩu của mình. Các mẩu này phân cách với tần số cơ bản F0 =1/T0 Hz của tín hiệu tuần hoàn fTo(t). Điều kiện để khôi phục là T0 ; tức là F0 (1/) Hz Do đó, để có thể khôi phục phổ F() từ các mẩu của F(), thì các mẩu cần được lấy với khoảng tần số không lớn hơn F0 = (1/) Hz. Nếu R là tốc độ lấy mẩu (mẩu/Hz) thì R = (1/F0)  mẩu/Hz (5.13) Nội suy phổ Phổ F() của tín hiệu f(t) giới hạn theo thời gian  giây có thể được khôi phục từ các mẩu của F(), Trong trường hợp này, dùng tính đối ngẫu của công thức nội suy tín hiệu trong phương trình (5.10). ta có công thức nội suy phổ  2 F()  F(n0 )sin c n 0 (5.14) n 2  Thí dụ 5.4 Phổ F() của tín hiệu có độ rộng đơn vị f(t) được lấy mẩu tại các khoảng 1 Hz hay 2 rad/s (tốc độ Nyquist). Các mẩu là: F(0) = 1 và F( 2 n) = 0 (n = 1, 2, 3, . . . ) Dùng công thức nội suy (5.14) để xây dựng F() từ các mẩu của mình. Do tất cả trừ một mẩu Nyquist đều là zêrô, chỉ còn một thừa số (tương ứng với n = 0) trong tổng bên vế phải của phương trình (5.14). Do đó, với F(0) = 1 và  = 1, ta có  F() sin c (5.15) 2 Với tín hiệu có độ rộng đơn vị thì chỉ có một phổ với giá trị mẩu là F(0) = 1 và F( 2 n) = 0 (n 0 ). Các phổ khác không thỏa các điều kiện này.
  16. 5.2 Tìm biến đổi Fourier bằng phƣơng pháp số - Biến đổi Fourier rời rạc DFT Tính toán số biến đổi Fourier của f(t) cần giá trị các mẩu của f(t) do máy tính số chỉ có thể xử lý các dữ liệu dạng rời rạc (chuỗi các số hạng). Do đó, máy tính chỉ có thể tính F() tại các giá trị rời rạc của  [mẩu của F()]. Do đó cần có các mẩu của F() để lấy mẩu f(t). Công việc này được thực hiện dùng kết quả của hai định lý đã phát triển trong phần 5.1. Bắt đầu với tín hiệu hữu hạn theo thời gian f(t) (hình 5.14a) và các phổ F() (hình 5.14b). Do f(t) bị giới hạn theo thời gian, nên F() không có giới hạn về băng thông. Để thuận tiện, ta cho các phổ đều là hàm của biến tần số F (tính theo Hz) thay vì theo . Theo định lý lấy mẩu, thì phổ F () của tín hiệu đã lấy mẩu f (t) gồm có F() được lặp lại theo Fs (Hz) với Fs = 1/T. Điều này được vẽ trong hình 5.14c và 5.14d. Bước tiếp theo, tín hiệu đã lấy mẩu trong hình 5.14c được lặp lại tuần hoàn mỗi T0 giây, như vẽ trong hình 5.14e. Định lý lấy mẩu phổ đòi hỏi phải lấy mẩu phổ với tốc độ T0 mẩu/Hz. Tốc độ này tức là các mẩu cách nhau F0 = 1/T0 Hz , như vẽ trong hình 5.14f. Phần thảo luận trên cho thấy là khi tín hiệu f(t) được lấy mẩu và lặp lại theo chu kỳ thì phổ tương ứng cũng được lấy mẫu và lặp lại theo chu kỳ. Ta cần tìm quan hệ giữa tốc độ lấy mẩu của f(t) với tốc độ lấy mẩu của F(). Số lƣợng mẩu Hình 5.14e và 5.14f cho thấy điều thú vị là số mẩu N0 của tín hiệu trong một chu kỳ / T0 tại hình 5.14e giống hệt số mẩu N0 của phổ trong một chu kỳ Fs tại hình 5.14f. Lý do là: N0 = (T0/T) và = (Fs/ F0) (5.16a) Nhưng, do Fs= 1/T và F0= 1/T0 (5.16b) N0 = (T0/T) = (Fs/ F0) = (5.16c) Trùm phổ và rò phổ khi tính toán số Hình 5.14f cho thấy sự hiện diện của trùm phổ trong các mẩu của phổ F(). Sai số trùm phổ có thể giảm thiểu được bằng cách tăng tần số lấy mẩu Fs (giảm khoảng lấy mẩu T = 1/ Fs). Tuy nhiên, không thể loại trừ hoàn toàn trùm phổ của tín hiệu có thời gian giới hạn f(t), do có phổ F() không giới hạn băng thông. Nếu ta đã bắt đầu với tín hiệu có phổ bị giới hạn về băng thông F(), thì chúng không bị trùm phổ trong phổ ở hình 5.14f. Điều không may là tín hiệu không bị giới hạn về thời gian và các phần lặp lại (trong hình 5.14e) sẽ làm tín hiệu bị chồng khớp (trùm phổ trong miền thời gian). Trong trường hợp này, ta sẽ đấu tranh với sai số khi lấy mẩu tín hiệu. Nói cách khác, khi tính toán biến đổi Fourier trực tiếp hay biến đổi nghịch bằng phương pháp số, ta có thể giảm sai số tủy ý, nhưng không bao giờ có thể loại trừ được sai số. Đây là điều thực tế khi tính toán số biến đồi Fourier thuận và nghịch, bất chấp phương pháp nào được dùng. Thí dụ, nếu xác định biến đổi Fourier bằng cách lấy trực tiếp tích phân bằng phương pháp số, dùng phương trình (4.8), thì sai số do khoảng lấy tích phân t không bao giờ có thể là zêrô. Chú ý tương tự cho trường hợp tìm biến đổi nghịch với phương pháp số. Do đó, ta cần luôn nhớ về bản chất của sai số này trong kết quả của mình. Trong phần thảo luận (hình 5.14) của mình, ta đã giả sử f(t) là tín hiệu có giới hạn về thời gian. Nếu f(t) không bị giới hạn về
  17. thời gian, ta cần phải giới hạn thời gian do tính toán số chỉ hoạt động được với dữ liệu hữu hạn mà thôi. Hơn nữa, việc cắt cụt dữ liệu tạo sai số do việc trãi phổ (nhòe phổ) và rò phổ, như trình bày trong phần 4.9. Rò phổ cũng tạo ra trùm phổ. Có thể giảm thiểu rò phổ bằng cách cắt cụt tín hiệu bằng cửa sổ hình nón. Nhưng lựa chọn này làm tăng yếu tố trãi phổ hay nhòe phổ. Trãi phổ có thể được giảm thiểu bằng cách tăng độ rộng cửa sổ (tức là cho nhiều dữ liệu hơn), điều này làm tăng T0, và làm giảm F0 (tăng độ phân giải tần số hay phổ). Ảnh hƣởng hàng rào (picket fence effect) Phương pháp tính toán số chỉ cho các giá trị mẩu đồng đều của F() [hay f(t)]. Dùng phương pháp này giống như việc nhìn tín hiệu các phổ của nó qua một „hàng rào”. Các đỉnh chủ yếu có thể nằm giữa hai mẩu và vẫn có thể không xuất hiện, tình hình này tạo một hình ảnh sai về thực tế. Các kết quả sai lệch này có thể tránh được khi dùng số lượng mầu N0 đủ lớn, làm tăng độ phân giải. Ta còn có thể dùng công thức nội suy phổ (phương trình 5.14) để xác định giá trị của F() giữa hai mẫu. Tìm biến đổi Fourier rời rạc (DFT: Discrete Fourier Transform) Nếu f(kT) và F(r0) lần lượt là các mẩu thứ k và thứ r, ta định nghĩa các biến mới fk và Fr như sau T0 fk Tf (kT) f (kT) (5.17a) N0 Và Fr F(r0 ) (5.17b) Trong đó 0 = 2 F0 = (2 /T0) (5.17c) Ta sẽ chứng minh fk và Fr quan hệ với nhau theo các phương trình sau: N0 1 jr0k Fr  fk e (5.18a) k 0 N0 1 1 jr0k 2 fk  Fre 0 0T (5.18b) N0 k 0 N0 Các phương trình này định nghĩa biến đổi Fourier rời rạc thuận và nghịch (DFT), với Fr là biến đổi Fourier rời rạc trực tiếp (DFT) của fk, và fk là biến đổi Fourier rời rac nghịch (IDFT: Inverse Fourier Transform) của Fr. Ý niệm
  18. fk Fr còn được dùng để cho thấy fk và Fr là cặp DFT. Xin nhớ rằng fk là (T0/N0) nhân với mẩu thứ k của Fr là mẩu thứ r của F(). Biết giá trị mẩu của f(t), ta có thể tính được giá trị mẩu của F() – và ngược lại – dùng DFT. Tuy nhiên, chú ý là fk là hàm của k (k = 0, 1, 2, . . . , N0 – 1) chứ không phải của t và Fr là hàm của r (r = 0, 1, 2, . . . , N0 – 1) thay vì . Hơn nữa, cả fk và Fr là chuỗi tuần hoàn với chu kỳ N0 (Các hình 4.14e và 5.14f). Các chuỗi này được gọi là chuỗi tuần hoàn N0. Việc chứng minh quan hệ DFT trong phương trình (5.18) lấy trực tiếp từ kết quả của định lý lấy mẩu. Tín hiệu được lấy mẩu f (t) (hình 5.14c) có thể viết thành N0 1 f (t)  f (kT) (t kT) (5.19) k 0 Do (t – kT)  e– jkT , biến đổi Fourier của phương trình (5.19) cho N0 1 F ()  f (kT)e jkT (5.20) k 0 s Nhưng từ hình 5.1e (hay phương trình 5.4), rõ ràng là trong khoảng  2 , với F () là F () biến đổi Fourier cỉa f (t) là T , giả sử trùm phổ có thể bỏ qua, thì N 1 0  F() TF () T  f (kT)e jkT  s k 0 2 Và N0 1 jkr0T Fr F(r0 ) T  f (kT)e (5.21) k 0 Nếu ta đặt 0T 0 , thì từ phương trình (5.16a) và (5.16b) 0 0T 2 F0T = (2 /N0) (5.22) Đồng thời, từ phương trình (5.17a), Tf(kT) = fr Do đó, phương trình (5.21) trở thành N0 1 jr0k 2 Fr  fre 0 (5.23) k 0 N0 Quan hệ của biến đổi nghịch (5.18b) có thể được tìm dùng phương pháp tương tự với vai trò của t và  được đảo ngược lại, nhưng ở đây là dùng cách chứng minh trực tiếp hơn. Để chứng minh quan hệ nghịch trong phương trình (5.18b), ta nhân hai vế của phương trình (5.23) với ejm0r , rồi lấy tổng trong khoảng r theo N0 1 N0 1 N0 1 jm0r jr0k jm0r  Fre   fre e r 0 r 0 k 0 Bằng cách thay đổi thứ tự lấy tổng bên vế phải N0 1 N0 1 N0 1 jm0r j(m r)0k  Fre  fk  fre r 0 r 0 k 0 Phụ chương 5.1 cho thấy tổng bên trong của vế phải là zêrô với k n và tổng là N0 khi k = m. Do đó, tổng bên ngoài sẽ chỉ có một thừa số khác zerô khi k = m, và là
  19. N0 fk N0 fm . Do đó thường ta xác định Fr trong tầm (0, N0 – 1) hơn là trong tầm N0 N0 ( 2 , 2 1). Chọn T, T0 và N0. Khi tính DFT, đầu tiên cần chọn giá trị thích hợp cho T, T0 và N0. Nhằm mục đích này, đầu tiên phải tìm băng thông cơ bản B (Hz) của tín hiệu. Tần số lấy mẩu Fs ít nhất phải bằng 2B; tức là, (Fs/2) B (5.25a) Hơn nữa, khoảng lấy mẩu T = 1/ Fs , (phương trình 5.16b), và T 1/2B (5.25b) Khi đã chọn xong B, ta có thể chọn T từ phương trình (5.25b). Đồng thời F0 =1/T0 (5.26) Với F0 là độ phân giải tần số [mức phân biệt giữa các mẩu của F()]. Do đó, nếu đã có F0 , ta có thể chọn T0 theo phương trình (5.26). Biết được T0 và T, ta xác định N0 từ: N0 = T0/T (5.27) Các điểm gián đoạn (discontinuity) Nếu f(t) có bước nhảy gián đoạn tại điểm lấy mẩu, thì nên lấy giá trị mẩu là trung bình các giá trị hai bên của điểm gián đoạn do biểu diễn Fourier tại điểm gián đoạn hội tụ tại trị trung bình. Đệm zêrô (Zero padding) Nhắc lại khi quan sát Fr thì giống như quan sát phổ F() qua “ hàng rào”. Nếu khoảng tần số lấy mẩu F0 không đủ nhỏ, ta có thể bị mất một số chi tiết quan trọng và có được hình ảnh bị nhòe. Để có số mẩu cao hơn, ta cần giảm F0 . Do F0 = 1/T0, là số mẩu cao nhất cần có để tăng giá trị của T0, chu kỳ lặp lại của f(t). Chọn lựa này làm tăng N0, số mẩu của f(t), bằng cách thêm một số mẩu đệm có giá trị zêrô. Việc thêm các mẩu đệm này được gọi là đệm zêrô. Do đó, các zêrô đệm này làm tăng số mẩu và có thể trợ giúp để có thêm ý tưởng tốt hơn về phổ F() từ các mẩu Fr. Các zêrô đệm không cải thiện tính chính xác hay độ phân giải. Có một điểm cần được hiểu rõ là đệm zêrô thường chỉ cho ta thêm mẩu mà không cải thiện được tính chính xác của các giá trị mẩu này. Đệm zêrô sẽ chỉ hữu ích hơn nếu thời khoảng lấy mẩu đủ nhỏ để có thể bỏ qua sai số trùm phổ. Đệm zêrô không bao giờ có thể cải thiện tính chính xác hay độ phân giải tần số theo nghĩa thực. Chỉ có thể tăng tính chính xác bằng cách giảm trùm phổ (aliasing), điều này đòi hỏi giảm khoảng lấy mẩu tín hiệu T (T < 1/2B, với B là băng thông hiệu quả của tín hiệu). Thí dụ 5.5 Tín hiệu f(t) có độ rộng 2 ms và băng thông cơ bản là 10 kHz. Mong muốn có độ phân giải tần số là 100 Hz khi dùng DFT (F0 = 100). Tìm N0. Độ rộng hiệu quả của tín hiệu T0 là T0 = (1/ F0) = 1/100 = 10ms Do độ rộng tín hiệu chỉ có 2ms, ta cần đệm zêrô trong khoảng 8 ms. Đồng thời, với B = 10.000, nên Fs = 2B = 20.000 và T = 1/ Fs = 50s. Vậy:
  20. N0 = Fs/ F0 = 20.000/100 = 200 Thuật toán biến đổi Fourier nhanh (FFT: Fast Fourier Transform) (thảo luận trong phần 5.3), đã chứng minh là sẽ tiện (dù không phải là cần thiết) để chọn N0 là số mủ lủy thừa 2; n tức là N0 = 2 (n: số nguyên). Ta hảy chọn N0 =256. Tăng N0 từ 200 đến 256 có thể được dùng làm giảm sai số trùm phổ (do giảm T), để cải thiện độ phân giải tần số (bằng cách giảm T0), hay kết hơp cả hai. (i) Giảm sai số trùm phổ: Ta duy trì cùng T0 để F0 = 100, do đó Fs = N0F0 = 256 x 100 =25 600 và T = 1/ Fs =39s Do đó, tăng N0 từ 200 đến 256 cho phép ta giảm khoảng lấy mẩu T từ 50s đến 39s mà vẫn duy trì cùng độ phân giải tần số (F0 = 100). (ii) Cải thiện độ phân giải: Ở đây, ta duy trì cùng T = 50s, làm – 6 T0 = N0T = 256(50 x 10 ) = 12,8 ms và F0 = 1/T0 = 78,125Hz Do đó, tăng N0 từ 200 đến 256 có thể cải thiện độ phân giải tần số từ 100 đến 78,125Hz mà vẫn duy trì cùng sai số trùm phổ (T = 50s). (iii) Kết hơp hai lựa chọn Ta có thể chọn T = 45s và T0 = 11, 5ms để có F0 = 86,96 Hz. Thí dụ 5.6 Dùng DFT để tính biến đổi Fourier của e–2tu(t). Vẽ phổ Fourier tương ứng. –2t Đầu tiên ta xác định T và T0. Biến đổi Fourier của e u(t) là 1/(j+2). Mạch lọc thông thấp này không có băng thông giới hạn. Trong phần 4.6, ta dùng tiêu chuẩn năng lượng để tính băng thông cơ bản của tín hiệu. Ở đây, ta giới thiệu một tiêu chuẩn năng lượng khác, đơn giản nhưng dễ thực hiện hơn. Băng thông cơ bản của tín hiệu sẽ được lấy tại tần số mà F() giảm còn 1% giá trị đỉnh của mình. Trong trường hợp này, trị đỉnh xuất hiện tại  = 0, với F(0) = 0,5. Quan sát thấy 1 1 F()  2  2 4  Đồng thời 1% của trị đỉnh là 0,01 x 0,5 = 0,005. Do đó, băng thông cơ bản B là tại  =2 B, trong đó 1 100 F() 0,005 B Hz 2 B Và từ phương trình (5.25b), 1 T 0,015708 2B 200 Ta đã dùng 1% tiêu chuẩn năng lượng để xác định băng thông cơ bản, theo phương pháp đã dùng trong thí dụ 4.16, ta có B = 20,26, hơi bé hơn giá trị vừa tìm được bằng 1% tiêu chuẩn biên độ. Điểu thứ hai là xác định T0. Do tín hiệu không có thời gian giới hạn, ta phải cắt gọn –8 tín hiệu tại T0 sao cho f(T0) << 1. Một lựa chọn phù hợp là T0 =4 do f(4) = e = 0,000335 << 1. Kết quả là N0 = T0/T =254,6 không phải là lủy thừa của 2. Do đó, ta chọn T0 = 4 và T =0,015625 = 1/64, và có kết quả N0 =256, là lủy thừa của 2.
  21. Chú ý là có sự mềm dẽo lớn khi chọn T và T0, tùy theo độ chính xác mong muốn và khả năng tính toán sẵn có. Ta vừa đã chọn T = 0,03125 và có N0 = 128, cho dù chọn lựa này cho sai số trùm phổ hơi cao. Do tín hiệu có bước nhảy gián đoạn tại t = 0, nên mẩu thứ nhất (tại t = 0) có giá trị là 0,5, là trung bình các giá trị hai bên của gián đoạn, Ta tính Fr (DFT) từ các mẩu của 2t e u(t) từ phương trình (5.18a). Chú ý là Fr là mẩu thứ r của F(), và các mẩu này được cách quảng tại F0 = 1/T0 =0,25 Hz (0 = /2 rad/s). Do Fr là tuần hoàn N0, Fr = F(r+256) sao cho F256 = F0. Do đó, ta cần vẽ Fr trong tầm r = 0 đến 255 (không phải 256). Hơn nữa, do tính chu kỳ này, nên F-r = F(-r+256) và các giá trị của Fr trong tầm r = – 127 đến – 1 giống hệt với các giá trị trong tầm từ r = 129 đến 255. Do đó, F127 = F129, F-129 = F130 . . . F-1 = F255. Hơn nữa, do tính đối xứng liên hợp của biến đổi Fourier, F–r = Fr*, nên F–1 = F1*, F–2 = F2*, . . . , F–128 = F*128. Do đó, ta chỉ cần Fr trong tầm r =0 đến N0/2 (trường hợp này là 128). Hình 5.15 vẽ đồ thị của Fr và Fr và phổ biên độ và pha chính xác (vẽ bằng đường liên tục) để so sánh. Chú ý là hầu như có thỏa thuận hoàn hảo giữa hai tập phổ. Ta đã vẽ hai đồ thị chỏ với 28 điểm thay vì 128 điểm để hình ảnh rõ ràng. Các điểm này nằm tại các khoảng 1/T0 =1/4 Hz hay 0 =1,5708 rad/s. Do đó 28 mẩu này, biểu diễn đồ thị trong tầm  = 0 đến  = 28(1,5708) 44 rad/s hay 7 Hz. Trong thí dụ này, ta biết trước F() nên có thể có lựa chọn thông minh về B (hay tần số lấy mẩu Fs). Trong thực tế, ta thường chưa biết trước được F(). Thực ra, đây là vấn đề ta phải cố xác định. Trong trường hợp này, cần dự đoán một cách thông minh về B hay Fs từ các bằng chứng chi tiết. Bắt đầu giảm giá trị của T và tính toán lại phép biến đổi
  22. cho đến khi có kết quả ổn định trong vòng số hạng cần có. Chương trình MATLAB, có các thiết lập DFT dùng thuật toán FFT, được trình bày trong thí dụ C5.1.  Thí dụ dùng máy tính C5.1 Dùng DFT (được thiết lập dùng FFT, thuật toán biến đổi Fourier nhanh) để tính biến đổi Fourier của e –2tu(t). T = 0.015625; T0 = 4; N0 = T0/T; t = 0:T:T*(N0 – 1); t = t‟; f = T*exp( - 2*t); f(1) = T*0.5; F = fft(f); [Fp, Fm] =cart2pol(real(F), imag(F)); k = 0:N0 – 1; k = k‟; w =2*pi*k/T0; subplot(211), plot (w(1:128),Fm(1:128)) subplot(212), plot (w(1:128),Fp(1:128))  Thí dụ 5.7 Dùng DFT đẻ tìm biến đổi Fourier của 8rect (t). Hàm cổng này và biến đổi Fourier được vẽ trong hình 5.16a và b. Để xác định giá trị thời khoảng lấy mẩu T, trước hết ta cần quyết định băng thông cơ bản B. Trong hình 5.16b, ta thấy F() giảm hơi chậm theo . Do đó, băng thông cơ bản hơi lớn hơn. Thí dụ, tại B = 15,5 Hz (97,39 rad/s), F() = - 0,1643, vào khoảng 2% giá trị đỉnh tại F(0). Do đó, băng thông cơ bản hơi cao hơn 16 Hz nếu ta dùng tiêu chuẩn 1% để tính toán băng thông cơ bàn. Tuy nhiên, ta cố tình chọn B = 4 vì hai lý do: (1) để thấy ảnh hưởng của trùm phổ và (2) dùng B > 4 sẽ cho số mẩu khổng lồ, không hiển thị được trên kích cở giấy của sách mà không bị mất các thông tin cơ bản. Do đó, ta chấp nhận yếu tố xấp xỉ để làm rõ ý niệm DFT trên đồ thị. Việc lựa chọn B = 4 đưa đến thời gian lấy mẩu là T = 1/2B = 1/8. Nhìn lại lần nữa phổ trong hình 5.16b, ta thấy việc lựa chọn độ phân giải tần số F0 = ¼ Hz là hợp lý. Chọn lựa này cho ta bốn mẩu trong mổi búp của F(). Trường hợp này T0 =1/ F0 = 4 giây và N0 =T0/4 = 32. Độ rộng của f(t) chỉ có 1 giây. Ta phải làm lại mỗi 4 giây (T0 = 4), như vẽ trong hình 5.16c, và lấy mẩu trong mỗi 1/8 giây. Chọn lựa này cho 32 mẩu (N0 =32). Đồng thời, 1 f Tf (kT) f (kT) k 8 Do f(t) =8 rect(t), các giá trị của fk là 1, 0 hay 0,5 (tại các điểm gián đoạn) như vẽ trong hình 5.16c. Trong hình, fk được vẽ minh họa là hàm theo t cũng như k, cho thích hợp. Khi tìm DFT, ta giả sừ f(t) bắt đầu tại t = 0 (hình 5.14a), và lấy N0 mẩu trong khoảng (0, T0). Tuy nhiên, trong trường hợp này thì f(t) lại bắt đầu tại t = -1/2. Khó khăn này được giải quyết dễ dàng khi ta thực hiện DFT theo phương pháp này thực ra là DFT của fk được lặp lại tuần hoàn mổi T0 giây. Hình 5.16c rõ ràng cho thấy việc lặp lại tuần hoàn các đoạn trong khoảng từ - 2 đến 2 giây thì giống hệt việc lặp lại các đoạn của fk
  23. trong khoảng từ 0 đến 4 giây. Do đó, bất chấp điểm xuất phát của f(t), ta luôn có thể các mẩu của f(t) và phần mở rộng tuần hoàn trong khoảng từ 0 đến T0. Trong thí dụ này, các giá trị 32 mẩu là 1 0 k 3 and 29 k 31 fk 0 5 k 27 0,5 k 4,28 Quan sát thấy mẩu cuối nằm tại t = 31/8, chứ không phải tại 4, do tín hiệu lặp lại bắt đầu từ t = 4, và mẩu tại t = 4 giống với mẩu tại t = 0. Lúc này, N0 = 32 và 0 = 2 /32 = /16. Do đó [xem phương trình (5.18)]
  24. 31 jr( /16)k Fr  fk e k 0 Giá trị của Fr được tính từ phương trình trên và vẽ trong hình 5.16d. Các mẩu Fr cách nhau bởi F0 = (1/10) Hz. Trong trường hợp T0 = 4, nên độ phân giải tần số F0 là (¼) Hz, như mong muốn. Tần số gấp Fs/2 = B = 4Hz tương ứng với r = N0/2 =16. Do Fr là tuần hoàn N0 (N0 = 32), các giá trị của Fr khi r = - 16 đến n = - 1 thì giống như khi r = 16 đến n = 31. Thí dụ, F17 = F-15, F18 = F-14 , và tiếp tục. DFT cho ta các mẩu của phổ F(). Để so sánh, hình 5.16d còn vẽ đường tô bóng của đặc tuyến 8sinc(/2), chính là biến đổi Fourier của 8rect(t). Các giá trị của Fr được tính từ phương trình DFT cho thấy có sai số trùm phổ, thấy rõ khi ta so sánh hai đồ thị vẽ chồng nhau. Sai số của F2 vào khoảng 1,3%. Tuy nhiên, sai số trùm phổ tăng nhanh theo r. Thí dụ, sai số của F6 vào khoảng 12% và sai số của F10 vào khoảng 33%. Sai số của F14 lên đến 72%. Sai số phẩn trăm tăng nhanh gần tần số gấp (r =16) do f(t) có bước nhảy gián đoạn, làm F() giảm chậm theo 1/. Do đó, ở gần tần số gấp, đuôi của phần nghịch (do trùm phổ) tự thân đã rất gần F(). Hơn nữa, giá trị cuối cùng là sai biệt giữa giá trị chính xác và giá trị gấp lại (rất gần với trị chính xác). Do đó, sai số phần trăm gần tần số gấp (trường hợp này là r =16) là rất cao, cho dù sai số tuyệt đối thì rất bé. Rõ ràng, với tín hiệu có bước nhảy gián đoạn, sai số trùm phổ gần tần số gấp sẽ luôn luôn cao (theo nghĩa phần trăm), bất chấp cách lựa chọn N0. Để đảm bảo bỏ qua được sai số trùm phổ tại trị r bất kỳ, ta phải chắc chắn là N0 >> r. Điều này luôn có giá trị với mọi tín hiệu có bước nhảy gián đoạn.  Thí dụ dùng máy tính C5.2 Dùng DFT (được thiết lập dùng thuật toán FFT) tính biến đổi Fourier của 8rect(t). Vẽ phổ Fourier. Chương trình MATLAB để thiết lập phương trình DFT dùng thuật toán FFT sẽ được trình bày ở phần dưới. Đầu tiên ta viết chương trình MATLAB để tại 32 mẩu của fk, rồi tiếp đến tính DFT. % (c52.m) N0 = 32; k =0:N0 – 1; f = [ones(1,4) 0.5 zeros(1,23) 0.5 ones(1,3)]; Fr =fft(f); subplot(2,1,1), stem(k,f) xlabel(„k‟); ylabel(„fk‟); subplot(2,1,2), stem(k,Fr) xlabel(„r‟); ylabel(„Fr‟);  5.2-1 Một số đặc tính của DFT Biến đổi Fourier rời rạc về cơ bản là biến đổi Fourier của tín hiệu đã lấy mẩu được lặp lại tuần hoàn. Do đó, các đặc tính của biến đổi Fourier cũng dùng được cho DFT. 1. Tính tuyến tính Nếu fk Fr và gk Gr , thì a1 fk a2 gk a1Fr a2Gr (5.28) Phần chứng minh dễ dàng
  25. 2. Tính đối xứng liên hợp F F (5.29) N0 r r * Dựa vào đặc tính đối xứng liên hợp của biến đổi Fourier (Fr =F–r) và đặc tính tuần hoàn của DFT (F–r = FN0–r), nên ta chỉ cần tính phân nửa DFT khi fk là thực, phần còn lại là lượng liên hợp. 3. Dời theo thời gian (Dời vòng) jr0n fk n Fre (5.30) Chứng minh: jr0n Dùng phương trình (5.18b), tìm DFT nghịch của Fre là N0 1 N0 1 1 jr0n jr0k 1 jr0 (k n)  Fre e  Fre fk n N0 r 0 N0 r 0 4. Dời theo tần số jk0 m fk e Fr m (5.31) Chứng minh: tương tự như trường hợp đặc tính dời theo thời gian trừ việc ta bắt đầu với phương trình (5.18a) 5. Tích chập vòng (còn gọi là tích chập tuần hoàn) fk  gk  FrGr (5.23a) và fk gk  (1/N0) Fr Gr (5.32b) Hai chuỗi tuần hoàn N0 là fk và gk có tích chập vòng được định nghĩa theo N0 1 N0 1 fk  gk =  fn gk n  gn fk n (5.33) n 0 n 0 Để chứng minh (5.32a), ta tìm DFT của tích chập vòng của fk  gk là N0 1 N0 1 N0 1 N0 1 N0 1 jr0k jr0k jr0n   fn gn e  fn  gk ne  fn (Gre ) FrGr k 0 n 0 k 0 n 0 n 0 Dùng phương pháp tương tự để chứng minh (5.32b)
  26. Trường hợp chuỗi không tuần hoàn, tích chập có thể được xem theo hai chuỗi, trong đó có một chuỗi cố định và chuỗi kia thì nghịch và di chuyển qua chuỗi cố định, mỗi lần một số hạng. Nếu hai chuỗi đều tuần hoàn N0, cấu hình lặp lại sau khi chuỗi dời N0. Rõ ràng là tích chập fk  gk trở thành tích tuần hoàn N0 (tích vòng N0) (N0 - periodic), và dạng tích chập này được quan sát dễ dàng như vẽ trong 5.17 cho trường hợp N0 = 4. Chuỗi trong (inner sequence) fk theo chiều kim đồng hồ và cố định. Chuỗi ngoài gk là nghịch nên ngược chiều kim đồng hồ. Chiều này quay theo chiều kim đồng hồ mỏi lần một đơn vị. Ta nhân các số trùng lặp (overlapping) và cộng lại. Thí dụ, giá trị fk  gk tại k = 0 là (hình 5.17) f0g0 + f1g3 + f2g2 + f3g1 và giá trị của fk  gk tại k = 1 là (hình 5.17) f0g1 + f1g0 + f2g3 + f3g2 và tiếp tục Ứng dụng của DFT DFT không chỉ hữu ích khi tính biến đổi Fourier trực tiếp và biến đổi Fourier nghịch, mà còn dùng được trong các ứng dụng khác như tích chập, tương quan và lọc. Việc dùng thuật toán FFT hiệu quả được thảo luận trong phần 5.3 càng làm tăng thêm tính hấp dẫn của DFT. Phép tích chập tuyến tính Gọi f(t) và g(t) là hai tín hiệu cần làm tích chập. Thông thường, các tín hiệu này có độ độ rộng theo thời gian khác nhau. Để thực hiện phép tích chập từ các mẩu, ta cần lấy mẩu chúng với cùng tốc độ lấy mẩu (không thấp hơn tốc độ Nyquist của một trong hai tín hiệu). Gọi fk (0 k N1 – 1) và gk (0 k N2 – 1) là chuỗi rời rạc biểu diễn các mẩu này, thì c(t) = f(t) g(t) và nếu ta định nghĩa ba chuỗi này là fk = Tf(kT), gk = Tg(kT) và ck = Tc(kT), thì ck = fk gk với định nghĩa tổng chập tuyến tính của hai chuỗi fk và gk là fk gk  fn gk n n Từ đặc tính chất về độ rộng của tích chập, ck tồn tại với 0 k N1+N2 – 1. Để dùng được kỹ thuật DFT của tích chập vòng, ta cần chắc chắn là tích chập vòng sẽ có cùng kết quả với tích chập tuyến tính. Nói cách khác, tín hiệu có được của phép tích chập vòng phải có cùng độ dài (N1 +N2 – 1) như của tín hiệu có từ phép tích chập tuyến tính. Bước này có thể thực hiện bằng cách cộng thêm N2 – 1 mẩu giả (dummy) có giá trị zêrô vào gk (đệm zêrô). Phương pháp này thay đổi độ dài của fk và gk thành N1+N2 – 1. Vậy tích chập vòng giống hệt tích chập tuyến tính trừ việc lặp lại tuần hoàn với chu kỳ N1+N2 – 1. Phần 10.6-3 sẽ chứng minh nghiêm ngặt tính chất này. Ta có thể dùng DFT để tính tích chập fk gk theo ba bước sau: 1. Tìm các DFT là Fr và Gr tương ứng với fk và gk được đệm zêrô thích hơp. 2. Nhân Fr với Gr.
  27. 3. Tìm IDFT của Fr Gr. Phương pháp tích chập này được thiết lập dùng thuật toán biến đổi Fourier nhanh (sẽ thảo luận sau), được gọi là tích chập nhanh. Lọc Ta thường nghĩ đến lọc theo ý nghĩa là giải pháp thiết lập phần cứng (cụ thể là, xây dựng mạch với các phần tử RCL và mạch khuếch đại thuật toán). Tuy nhiên còn có giải pháp phần mềm [thuật toán từ máy tính nhằm tạo ngõ ra y(t) từ ngõ vào cho trước f(t)]. Mục tiệu này có thể thực hiện dùng DFT. Nếu f(t) là tín hiệu cần lọc, thì tìm được Fr, là DFT của fk. Phổ của Fr được định dạng (lọc) như mong muốn bằng cách nhân Fr với Hr, là các mẩu của hàm truyền mạch lọc H() [Hr = H(r0)]. Sau cùng, ta lấy IDFT của Fr Hr để có ngõ ra mạch lọc yk [yk = Ty(kT)]. Phương pháp này được minh họa trong thí dụ sau. Thí dụ 5.8 Tín hiệu f(t) trong hình 5.18a đi qua mạch lọc thông thấp lý tưởng có hàm truyền H() vẽ trong hình 5,18b. Dùng DFT tìm ngõ ra mạch lọc. Ta đã tìm được DFT 32 điểm của f(t) (xem hình 5.16d). Tiếp đến ta nhân Fr với Hr. Để tìm Fr, ta dùng F0 = ¼ khi tính DFT 32 điểm của f(t). Do Fr là tuần hoàn 32, nên Hr cũng là tuần hoàn 32 với các mẩu cách nhau ¼ Hz. Điều này có nghĩa là Hr phải lặp lại từng 8 Hz hay 16 rad/s (xem hình 5.18c). 32 mẩu của Hr trong khoảng (0  16 ) như sau:
  28. 1 0 r 7 and 25 r 31 H r 0 9 r 23 0,5 r 8,24 Ta nhân Fr với Hr. Các mẩu tín hiệu ngõ ra mong muốn yk tìm bằng cách biến đổi nghịch DFT của Fr Hr. Tín hiệu ngõ ra được vẽ trong hình 5.18d. Bảng 5.1 ghi các giá trị fk , Fr, Hr , Yr và yk .  Thí dụ dùng máy tính C5.3 Giải thí dụ 5.8 dùng MATLAB Đoạn chương trình MATLAB trong thí dụ C5.2, ta đã có Fr 32 điểm, được lưu trong file „c52.m‟. Ta có thể nhập Fr trong môi trường MATLAB dùng lệnh „c53.m‟ C52; N0 = 32; k = 0; N0 – 1; H = [ones(1,8) 0.5 zeros(1,15) 0.5 ones(1,7)]; Yr = H.*Fr; yk = ifft(Yr); stem(k, yk)  5.3 Biến đổi Fourier nhanh (FFT) Có thể giảm thiểu đáng kể số lượng các tính toán cần cho DFT dùng thuật toán do Tukey và Cooley đề ra năm 1965. Thuật toán này được gọi là biến đổi Fourier nhanh 2 (FFT: Fast Fourier Transform), giảm số lượng tính toán từ bậc N0 thành N0logN0. Để tính các mẩu Fr từ phương trinh (5.18a), ta cần N0 phép nhân phức tạp và N0 - 1 phép cộng phức tạp. Để tính N0 cho các giá trị (Fr với r = 0, 1, . . . , N0 - 1), ta cần có tổng là 2 N0 phép tính nhân phức tạp và N0(N0 – 1) phép cộng phức tạp. Khi N0 lớn, các phép tính này tiêu tốn rất nhiều thời gian, ngay cả với các máy tính mạnh đi nửa. N0 fk Fr Hs FrHs yk 0 1 8.000 1 8.000 .9385 1 1 7.179 1 7.179 1.009 2 1 5.022 1 5.027 1.090 3 1 2.331 1 2.331 .9123 4 0.5 0.000 1 0.000 .4847 5 0 -1.323 1 -1.323 0.08884 6 0 -1.497 1 -1.497 -.05698 7 0 -.8616 1 -.8616 -.01383 8 0 0.000 0.5 0.000 .02933 9 0 .5803 0 0.000 .004837 10 0 .6642 0 0.000 -.01966 11 0 .3778 0 0.000 -.002156 12 0 0.000 0 0.000 .01534 13 0 -.2145 0 0.000 .0009828 14 0 -.1949 0 0.000 -.01338 15 0 -.06964 0 0.000 -.0002876 16 0 0.000 0 0.000 .01280
  29. 17 0 -.06964 0 0.000 -.0002876 18 0 -.1989 0 0.000 -.01338 19 0 -.2145 0 0.000 .0009828 20 0 0.000 0 0.000 .01534 21 0 .3778 0 0.000 -.002156 22 0 .6682 0 0.000 -.01966 23 0 .5803 0 0.000 .004837 24 0 0.000 0.5 0.000 .3933 25 0 -.8616 1 -.8616 -.01383 26 0 -1.497 1 -1.497 -.05698 27 0 -1.323 1 -1.323 .08884 28 0.5 0.000 1 0.000 .4847 29 1 2.331 1 2.331 .9123 30 1 5.027 1 5.027 1.090 31 1 7.179 1 7.179 1.090 Tuy có nhiều biến thể từ thuật toán Tukey – Cooley, nhưng có thể chia thành hai nhóm chính: decimation theo thời gian và decimation theo tần số. Thuật toán được đơn giản hóa nếu ta chọn N0 theo lủy thừa bậc 2, cho dù lựa chọn này không bị bắt buột. Để thuận tiện, định nghĩa W e ( j2 / N0 ) e j0 (5.34) N0 Sao cho N0 1 F f W kr 0 r N 1 (5.35a) r  r N0 0 k 0 1 N0 1 Và f F W kr 0 k N 1 (5.35b) r  r N0 0 N0 r 0 Thuật toán decimation theo thời gian Ở đây ta chia chuỗi dữ liệu N0 điểm fk thành hai chuỗi (N0/2) điểm bao gồm các mẩu có số thứ tự lần lượt chẵn và lẻ, như sau: f , f , f ,, f f , f , f ,, f 0 24 N0 1 1 35 N0 1 chuôi gk chuôi hk Vậy, từ phương trình (5.35), N N 0 1 0 1 2 2 F f W 2kr f W (2k 1)r (5.36) r  2k N0  2k 1 N0 k 0 k 0
  30. Đồng thời, do W W 2 (5.37) N0 N0 2 Ta có N N 0 1 0 1 2 2 F f W kr W r f W kr G W r H 0 r N 1 (5.38) r  2k N0 N0  2k 1 N0 r N0 r 0 k 0 2 k 0 2 Trong đó Gr và Hr là các DFT (N0/2) điểm của các chuỗi số chẵn và số lẻ lần lượt là gk và hk. Đồng thời, Gr và Hr đã là DFT (N0/2) điểm, cũng là tuần hoàn (N0/2). Do đó G N Gr và H N H r (5.39) r 0 r 0 2 2 Hơn nữa N0 N r 0 W 2 W 2 W r e j W r W r (5.40) N0 N0 N0 N0 N0 Từ phương trình (5.38), (5.39) và (5.40), ta có r F N Gr WN H r (5.41) r 0 0 2 Đặc tính này có thể dùng để giảm thiểu số lượng tính toán. Ta có thể tính (N0/2) điểm đầu tiên (0 n (N0/2) – 1) của Fr dùng phương trình (5.38) và tính (N0/2) điểm cuối dùng phương trình (5.41) là: N F G W r H 0 r 0 1 (5.42a) r r N0 r 2 r N0 F N Gr WN Hr 0 r 1 (5.42b) r 0 0 2 2 Do đó, có thể tính DFT N0 điểm bằng cách hai DFT (N0/2) điểm, như phương trình (5.42). Các phương trình này có thể được biểu diễn một cách thuận tiện dùng graph tín hiệu như vẽ trong hình 5.19. Câu trúc này được gọi là bƣớm (butterfly). HÌnh 5.20a cho thấy thiết lập của phương trình (5.39) cho trường hợp N0 = 8. Bước kế tiếp là tính các DFT (N0/2) điểm Gr và Hr. Ta lặp lại các bước này bằng cách chia gk và hk thành hai chuỗi (N0/2) điểm tương ứng với các mẩu thứ tự chẵn và lẻ. Tiếp đến ta tiếp tục các bước này cho đến khi có được DFT một điểm. Các hình 5.20a, 5.20b, và 5.20c cho thấy là các DFT hai điểm thì không cần phép nhân. Để đếm số phép tính cần có trong bước đầu tiên, giả sử ta đã biết Gr và Hr. Phương trình (5.42) chỉ rõ là để tính tất cả N0 điểm của Fr, ta cần N0 phép cộng phức tạp và (N0/2) phép nhân phức tạp (tương ứng với W r H ). N0 r Trong bước thứ hai, để tiếp tục tính DFT (N0/2) điểm Gr từ DFT (N0/4), ta cần (N0/2) phép cộng phức tạp và (N0/4) phép nhân phức tạp. Ta cần cùng số lượng tính toán cho Hr. Do đó, trong bước thứ hai, ta có N0 phép cộng phức tạp và (N0/2) phép nhân phức tạp. Số lượng tính toán cần thiết trong mỗi bước là giống nhau. Do cần có tổng là log2N0 bước để đạt được DFT một điểm, ta cần có tổng là N0log2N0 phép cộng phức tạp và (N0/2)log2N0 phép nhân phức tạo, để tính được DFT N0 điểm.
  31. Phương pháp tìm IDFT giống hệt như khi tìm DFT trừ việc dùng W e j(2 / N0 ) thay N0 j(2 / N0 ) vì e (ngoài ra, bộ nhân là 1/N0). Một thuật toán FFT khác, là thuật toán decimation theo tần số, tương tự như thuật toán decimation theo thời gian. Chỉ có một khác biệt là thay vì chia fk thành hai chuỗi thứ tự chẵn và lẻ, ta chia fk thành thành hai chuỗi tạo từ (N0/2) số đầu và (N0/2) số cuối, xử lý với cùng phương pháp cho đến khi
  32. một điểm đơn DFT đạt cá bước log2N0. Tổng số phép tính trong thuật toán này giống như trường hợp decimataion theo thời gian. Đối ngẫu của định lý lấy mẩu cho rằng các tín hiệu có thời gian giới hạn  giây thì có thể khôi phục phổ F() của chúng từ các mẩu của F() lấy tại các khoảng đồng đều không lớn hơn 1/ Hz. Nói cách khác, phổ có thể được lấy mẩu với tốc độ không nhỏ hơn  mẩu/Hz. 5.4 Phụ chƣơng 5.1 Ta chứng minh N0 1 jm k N0 m 0, N0 , 2N0 , e 0 (5.43) k 0 0 otherwise jm0k Nhắc lại 0N0 = 2 và e 1 với m = 0, N0, 2N0, . . ., sao cho N0 1 N0 1 jm0k e 1 N0 với m = 0, N0, 2N0, . . ., k 0 k 0 Để tính tổng của các giá trị khác của m, ta chú ý là tổng của vế trái của phương trình (5.43) là chuỗi hình học với công sai là e jm0 . Do đó (xem phần B.7-4) N 1 0 e jm0N0 1 e jm0k 0 ( e jm0N0 e j2 m 1)  jm0 k 0 e 1 5.5 Tóm tắt Tín hiệu có băng thông giới hạn B Hz có thể được khôi phục chính xác từ các mẩu của chúng nếu tốc độ lấy mẩu Fs > 2B Hz (định lý lấy mẩu). Phương pháp khôi phục này, dù thực hiện được về mặt lý thuyếtm nhưng có nhiều vấn đề trong thực tế như phải cần bộ lọc với độ lơi zêrô trong một dải (nhiều dải) tần số. Các bộ lọc này là không thể thực hiện được hay thực hiện được với vô số các khâu trễ. Do đó, trong thực tế, luôn có sai số khi khôi phục tín hiệu từ các mẩu của chúng. Hơn nữa, các tín hiệu thực tế thường không có băng thông giới hạn, điều này làm tăng sai số (sai số trùm phổ) kh khôi phục tín hiệu từ các mẩu. Sai số trùm phổ có thể được giảm thiệu bằng cách giới hạn băng thông của tín hiệu trong băng thông hiệu quả. Định lý lấy mẩu rất quan trọng trong phân tích, xử lý, và truyền dẫn tín hiệu do cho phép ta thay tín hiệu liên tục theo thời gian bằng chuỗi rời rạc các số hạng. Do đó, việc xử lý tín hiệu liên tục tương được với việc xử lý chuỗi rời rạc các số hạng. Điều này dẫn ta trực tiếp đến lĩnh vực lọc số (hệ thống rời rạc theo thời gian). Trong lĩnh vực thông tin, truyền dẫn bản tin liên tục theo thời gian giảm thiểu thành việc truyền dẫn chuỗi các số hạng. Điều này mở cửa cho nhiều kỹ thuật mới trong thông tin tín hiệu liên túc bằng chuỗi các xung. Tính đối ngẫu của định lý lấy mẩu cho rằng tin hiệu có thời gian giới hạn  giây thì phổ F() có thể được khôi phục từ các mẩu của F() lấy tại các thời khoảng đồng đều không lớn hơn 1/ Hz. Nói cách khác, phổ cần được lấy mẩu với tốc độ không nhỏ hơn  mẩu/Hz. Để tính toán số được biến đổi Fourier trực tiếp hay nghịch, ta cần có quan hệ giữa các mẩu của f(t) và F(). Định lý lấy mẩu và đối ngẫu cung cấp quan hệ định lượng theo
  33. dạng của biến đổi Fourier rời rạc (DFT). Tính toán DFT rất dễ khi dùng thuật toán biến 2 đổi Fourier nhanh (FFT), giảm thiểu số lượng tính toán từ khoảng N0 thành N0log N0. Tham khảo 1. Linden, D. A , “A Discussion of Sampling Theorem.” Proc. IRE, vol. 47. pp 1219 – 1226, July 1959. 2. Bracewell, R.N., The Fourier Transform and Its Applications, 2nd revised ed., McGraw-Hill, New York. 1986. 3. Bennett, W.R., Introduction to Signal Transmission, McGraw-Hill, New York. 1970. 4. Lathi, B.P., Linear Systems and Signals, Berkeley-Cambridge Press, Carmichael, CA, 1992. 5. Cooley, J.W., and J.W., Tukey, “An Algorithm for the Machine Calculation of Complex Fourier Series, “Mathematics of Computation, Vol. 19, p.297 – 301, Aprli 1965. Bài tập 5.1-1 Hình P5.1-1 vẽ phổ Fourier của các tín hiệu f1(t) và f2(t). Tìm tốc độ lấy mẩu 2 3 Nyquist của tín hiệu f1(t), f2(t), f1 (t), f2 (t), và f1(t) f2(t). 5.1-2 Xác định tốc độ lấy mẩu Nyquist và khoảng lấy mẩu Nyquist của các tín hiệu 2 2 2 (a) sinc (100 t) (b) 0,01sinc (100 t) (c) sinc (100 t) + 3sinc (60 t) (d) sinc (50 t) sinc (100 t). 5.1-3 Tín hiệu f(t) = sinc (100 t) được lấy mẩu (dùng xung cách khoảng đồng đều) với các tốc độ (a) 150 Hz (b) 200 Hz (c) 300 Hz. Với mỗi trường hợp (i) Vẽ phổ tín hiệu đã lấy mẩu, (ii) Nếu bạn khôi phục được f(t) từ tín hiệu lấy mẩu, giải thích? (iii) Nếu cho tín hiệu đã lấy mẩu qua mạch lọc thông thấp lý tưởng có băng thông 100 Hz, vẽ phổ của tín hiệu ra. 5.1-4 Hình P5.1-4 vẽ mạch giử bậc zêrô thực tế (a) Tìm đáng ứng xung đơn vị của mạch. Hướng dẫn: Nhắc lạ đáp ứng xung h(t) là ngõ ra của mạch hình P5.1-4 khi ngõ vào f(t) = (t).
  34. (b) Tìm hàm truyền H(), và vẽ  H(). (c) Chứng tõ là khi tín hiệu đã lấy mẩu f (t) là ngõ vào của mạch, thì ngõ ra là xấp xỉ bậc thang của f(t). Thời khoảng lấy mẩu là T. 5.1-5 (a) Mạch giử bậc một còn có thể được dùng để khôi phục tín hiệu f(t) từ các mẩu. Đáp ứng xung của mạch là t h(t) 2T Với T là thời khoảng lấy mẩu. Xét tín hiệu lấy mẩu tiêu biểu f (t) và chứng tõ là mạch này thực hiện phép nội suy tuyến tính. Nói cách khác, ngõ ra của mạch lọc gồm đỉnh các mẩu kết nối bằng các đoạn đường thẳng. Dùng phương pháp thảo luận ở phần 5.1-1 (hình 5.3b). (b) Tìm hàm truyền của mạch lọc nay và đáp ứng biên độ, rồi so sánh với mạch lọc lý tưởng cần thiết để khôi phục tín hiệu. (c) Mạch lọc này là không nhân quả (noncausal) là không thực hiện được. Bằng cách làm trễ đáp ứng xung để mạch lọc thực hiện được. Cho biết khâu trể tối thiểu cần thiết để mạch là thực hiện được? Ảnh hưởng của khâu trễ lên tín hiệu được khôi phục và đáp ứng tần số ra sao? (d) Chứng tõ là mạch lọc trong phần (c) có thể thực hiện từ mạch lọc vẽ trong hình P5.1-4 nối đuôi với một mạch lọc y hệt mạch lọc này. HƯớng dẫn: chứng tõ là đáp ứng xung của mạch là (t/2T). 5.1-6 Tín hiệu f(t) = sinc(200 t) được lấy mẩu dùng chuỗi xung tuần hoàn pT(t) vẽ trong hình P5.1-6. Tìm và vẽ phổ của tín hiệu đã lấy mẩu. Nếu có thể khôi phục f(t). Giải thích? Nếu tín hiệuđã lấy mẩu đi qua mạch lọc thông thâp lý tưởng có năng thông 100 Hz và độ lợi đơn vị, tìm ngõ ra của mạch lọc. Tìm ngõ ra mạch lọc nếu băng thông là B Hz, với 100 < B < 150. Điều gì xảy ra nếu băng thông lớn hơn 150 Hz?
  35. 5.1-7 Trong thí dụ 5.3, ta lấy mẩu tín hiệu f(t) bằng cách nhân tín hiệu này với chuỗi xung pT(t), và có được tín hiệu được lấy mẩu vẽ trong hình 5.8d. Phương pháp này được gọi là lấy mẩu tự nhiên. Hình P5.1-7 vẽ dạng lấy mẩu thường gọi là lấy mẩu dùng đỉnh phẳng (flat top sampling) của cùng tín hiệu f(t) = sinc2(5 t). (a) Chứng tõ là có thể khôi phục f(t) dùng phương pháp lấy mẩu đỉnh phẳng nếu tốc độ lấy mẩu không bé hơn tốc độ Nyquist. (b) Nếu khôi phục tín hiệu f(t) bằng phép lẩy mẩu đỉnh phẳng. Giải thích? (c) Tìm biểu thức của phổ tín hiệu đã lấy mẩu F () và vẽ phát thảo phổ. Hướng dẩn: Đầu tiên hảy chứng tõ là tín hiệu có đỉnh phẳng có thể được sản sinh bằng cách cho tín hiệu f(t) T(t) đi qua mạch lọc có đáp ứng xung là h(t) = pT(t). Để khôi phục tín hiệu từ các mẩu, hảy thực hiện quá trình ngược lại. 5.1-8 Đĩa CD ghi tín hiệu âm thanh được số hóa dùng PCM. Giả sử băng thông của tín hiệu âm thanh là 15 kHz. (a) Cho biết tốc độ lấy mẩu là bao nhiêu? (b) Nếu các mẩu Nyquist được lượng tử hóa thành 65536 mức (L = 65536) rồi được mã hóa nhị phân, cho biết cần bao nhiêu bit để mã hóa các mẩu này? (c) Cho biết số bit/s cần thiết để mã hóa tín hiệu âm thanh ? (d) Với lý do thực tế đã thảo luận trong tài liệu, tín hiệu được lấy mẩu với tốc độ lớn hơn tốc độ Nyquist. Các CD trong thực tế dùng 44.100 mẩu/s. Nếu dùng L = 65 536, xác định số xung/s cần thiết để mã hóa tín hiệu. 5.1-9 Tín hiệu TV (viđêo và âm thanh) có băng thông là 4,5 MHz. Tín hiệu này được lấy mẩu, lượng tử và mã hóa nhị phân để có tín hiệu PCM. (a) Tìm tốc độ lấy mẩu nếu tín hiệu được lấy mẩu với tốc độ cao hơn tốc 9dộ Nyquist 20%. (b) Nếu các mẩu được lượng tử thành 1024 mức, cho biết cần bao nhiêu xung nhị phân để mã hóa các mẩu (c) Tìm tốc độ xung nhị phân (bit/s) của tín hiệu mã hóa nhị phân. 5.1-10 Chứng tõ là tín hiệu không thể đồng thời có giới hạn về thời gian và về băng thông. Hướng dẫn:Hảy chứng tỏ là các giả định ngược đưa đến nghịch lý. Gải sử tín hiệu đồng thời có giới hạn về thời gian và về băng thông nên F() =0 với   2 B . Trong trường hợp này F() F()rect 4 B' với B’> B. Điều này tức là f(t) bằng với f(t)*2B’sinc(2 B’t). Tín hiệu sau này không thể có giới hạn về thời gian do các phần đuôi của hàm sinc tiến về vô cùng. 5.2-1 Tín hiệu có giới hạn về thời gian 10ms và có băng thông cơ bản 10 kHz, xác định số mẩu tín hiệu cần thiết N0 để tính FFT bậc lủy thừa 2 với độ phân giải tần số F0 ít nhất là 50Hz. Giải thích nếu không cần có đểm zêrô (zero padding)? 5.2-2 Để tính DFT của tín hiệu f(t) trong hình P5.2-1, viết chuỗi fk (với k=0 đến N0 –1) nếu độ phân giải tần số F0 không bé hơn 0,25 Hz. Giả sử băng thông cơ bản (tần số gấp) của f(t) ít nhất là 3 Hz. Không cần tính DFT, chỉ viết chuỗi fk thích hợp.
  36. –t 5.2-3 Tìm giá trị N0 và T thích hợp để tính DFT của tín hiệu e u(t). Dùng băng thông là nơi đáp ứng biên độ giảm 1% so với trị định (tại  = 0). Tiếp đến, dùng tiêu chuẩn 99% năng lượng để xác định băng thông (xem thí dụ 4.16). 5.2-4 Làm lại bải tập 5.2-3 với tín hiệu 2 2 f (t) Hướng dẫn: 2 e  t 2 1 t 2 1 5.2-5 Viết chuỗi thích hợp fk và gk cần thiết để tính tích chập của f(t) và g(t)) (vẽ trong hình P5.2-5) dùng DFT. Dùng T = 1/8.