Lấy mẫu tín hiệu - Chương 7

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(w) giảm hơi chậm theo w. 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(w) = - 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ị.

pdf37 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2769 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Lấy mẫu tín hiệu - Chương 7, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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. 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. 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. r 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. s 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(w) của tín hiệu có thời gian giới hạn là t giây có thể được khôi phục từ mẩu của F(w) được lấy với tốc độ R > t (độ 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 t giây cùng biến đổi Fourier F(w) của nó. Mặc dù F(w) thường có dạng phức, nhưng ta chỉ chứng minh cho trường hợp F(w) là hàm thực là đủ. òò - ¥ ¥- - == t www 0 )()()( dtetfdtetfF tjtj (5.12) 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 > t), 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ủ å ¥ -¥= = n tjn nT eDtf 0 0 )( w 0 0 2 T pw = Trong đó (giả sử t < T0) ò ò -- == 0 00 0 0 00 )( 1 )( 1 T tjntjn n dtetfT dtetf T D t ww Phương trình (5.12) cho )( 1 0 0 wnF T Dn = 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(w) lấy tại các khoảng w0. Điều này tức là phổ của tín hiệu tuần hoàn fTo(t) là phổ F(w) được lấy mẩu, như vẽ trong hình 5.13b. Bao lâu mà t 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(w) 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; tức là F0 £ (1/t) Hz Do đó, để có thể khôi phục phổ F(w) từ các mẩu của F(w), 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/t) Hz. Nếu R là tốc độ lấy mẩu (mẩu/Hz) thì R = (1/F0) ³ t mẩu/Hz (5.13) Nội suy phổ Phổ F(w) của tín hiệu f(t) giới hạn theo thời gian t giây có thể được khôi phục từ các mẩu của F(w), 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ổ å ÷ ø ö ç è æ -= n ncnFF pwtww 2 sin)()( 0 t pw 20 = (5.14) ¢ Thí dụ 5.4 Phổ F(w) 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 2p rad/s (tốc độ Nyquist). Các mẩu là: F(0) = 1 và F(±2pn) = 0 (n = 1, 2, 3, . . . ) Dùng công thức nội suy (5.14) để xây dựng F(w) 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à t = 1, ta có ÷ ø ö ç è æ= 2 sin)( ww cF (5.15) 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(±2pn) = 0 (n ¹ 0 ). Các phổ khác không thỏa các điều kiện này. ¢ 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(w) tại các giá trị rời rạc của w [mẩu của F(w)]. Do đó cần có các mẩu của F(w) để 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(w) (hình 5.14b). Do f(t) bị giới hạn theo thời gian, nên F(w) 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 w. Theo định lý lấy mẩu, thì phổ )(wF của tín hiệu đã lấy mẩu )(tf gồm có F(w) đượ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(w). 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 /0N của phổ trong một chu kỳ Fs tại hình 5.14f. Lý do là: N0 = (T0/T) và /0N = (Fs/ F0) (5.16a) Nhưng, do Fs= 1/T và F0= 1/T0 (5.16b) N0 = (T0/T) = (Fs/ F0) = / 0N (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(w). 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(w) 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(w), 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 rt 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ề 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(w) [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(w) 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(rw0) 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 )()( 0 0 kTf N T kTTffk == (5.17a) Và )( 0wrFFr = (5.17b) Trong đó w0 = 2pF0 = (2p/T0) (5.17c) Ta sẽ chứng minh fk và Fr quan hệ với nhau theo các phương trình sau: å - = W-= 1 0 0 0 N k kjr kr efF (5.18a) å - = W= 1 00 0 0 1 N k kjr rk eFN f 0 00 2 N T pw ==W (5.18b) 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 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(w). Biết giá trị mẩu của f(t), ta có thể tính được giá trị mẩu của F(w) – 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ì w. 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 )(tf (hình 5.14c) có thể viết thành å - = -= 1 0 0 )()()( N k kTtkTftf d (5.19) Do d(t – kT) ó e– jkwT , biến đổi Fourier của phương trình (5.19) cho å - = -= 1 0 0 )()( N k TjkekTfF ww (5.20) Nhưng từ hình 5.1e (hay phương trình 5.4), rõ ràng là trong khoảng 2sww £ , với )(wF là biến đổi Fourier cỉa )(tf là TF )(w , giả sử trùm phổ có thể bỏ qua, thì å - = -== 1 0 0 )()()( N k TjkekTfTFTF www 2 sww £ Và å - = -== 1 0 0 0 0)()( N k Tjkr r ekTfTrFF ww (5.21) Nếu ta đặt 00 W=Tw , thì từ phương trình (5.16a) và (5.16b) ==W T00 w 2pF0T = (2p/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 å - = W-= 1 0 0 0 N k kjr rr efF 0 0 2 N p =W (5.23) 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à w đượ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 ejmW0r , rồi lấy tổng trong khoảng r theo å åå - = W - = W- - = W ú û ù ê ë é = 1 0 1 0 1 0 0 0 0 0 0 0 N r rjm N k kjr r N r rjm r eefeF Bằng cách thay đổi thứ tự lấy tổng bên vế phải å åå - = - = W- - = W ú û ù ê ë é = 1 0 1 0 )( 1 0 0 0 0 0 0 N r N k krmj rk N r rjm r effeF 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à mk fNfN 00 = . Do đó thường ta xác định Fr trong tầm (0, N0 – 1) hơn là trong tầm ( 1, 22 00 -- NN ). 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(w)]. 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(w) 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(w) 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 = 50ms. Vậy: 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; tức là N0 = 2n (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 =39ms Do đó, tăng N0 từ 200 đến 256 cho phép ta giảm khoảng lấy mẩu T từ 50ms đến 39ms 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 = 50ms, làm T0 = N0T = 256(50 x 10 – 6) = 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 = 50ms). (iii) Kết hơp hai lựa chọn Ta có thể chọn T = 45ms 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. Đầu tiên ta xác định T và T0. Biến đổi Fourier của e–2tu(t) là 1/(jw+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à )(wF 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 w = 0, với )0(F = 0,5. Quan sát thấy ww w 1 4 1 )( 2 » + =F 2>>w Đồ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 w =2pB, trong đó HzB B F pp w 100005,0 2 1 )( =Þ=» Và từ phương trình (5.25b), 015708,0 2002 1 ==£ p B T 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 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 –8 = 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. 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 )(2 tue t- từ phương trình (5.18a). Chú ý là Fr là mẩu thứ r của F(w), và các mẩu này được cách quảng tại F0 = 1/T0 =0,25 Hz (w0 = p/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 w0 =1,5708 rad/s. Do đó 28 mẩu này, biểu diễn đồ thị trong tầm w = 0 đến w = 28(1,5708) » 44 rad/s hay 7 Hz. Trong thí dụ này, ta biết trước F(w) 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(w). 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 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(w) giảm hơi chậm theo w. 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(w) = - 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(w). 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, )( 8 1 )( kTfkTTffk == 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 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à ï î ï í ì = ££ ££££ = 28,45,0 2750 3129301 k k kandk fk 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à W0 = 2p/32 = p/16. Do đó [xem phương trình (5.18)] å = -= 31 0 )16/( k kjr kr efF p 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(w). Để so sánh, hình 5.16d còn vẽ đường tô bóng của đặc tuyến 8sinc(w/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(w) giảm chậm theo 1/w. 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(w). 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 rk Ff Û và rk Gg Û , thì rrkk GaFagafa 2121 +Û+ (5.28) Phần chứng minh dễ dàng 2. Tính đối xứng liên hợp *- = rrN FF 0 (5.29) 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) njrrnk eFf 0 W- - Û (5.30) Chứng minh: Dùng phương trình (5.18b), tìm DFT nghịch của njrreF 0W- là åå - = - -W - = WW- == 1 0 )( 0 1 00 0 0 0 00 11 N r nk nkjr r N r kjrnjr r feFN eeF N 4. Dời theo tần số mr mjk k Fef - W Û0 (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 fk Ä gk = åå - = - - = - = 1 0 1 0 00 N n nkn N n nkn fggf (5.33) Để chứng minh (5.32a), ta tìm DFT của tích chập vòng của fk Ä gk là åå åå å - = W- - = W- - = - W- - = - = ==÷÷ ø ö çç è æ =÷÷ ø ö çç è æ 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 )( N n rr njr rn N k kjr N n nkn kjr N k N n nn GFeGfegfegf Dùng phương pháp tương tự để chứng minh (5.32b) 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à å -¥= -=* n nknkk gfgf 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. 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(w) [Hr = H(rw0)]. 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(w) 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 16p rad/s (xem hình 5.18c). 32 mẩu của Hr trong khoảng (0 £ w £ 16p) như sau: ï î ï í ì = ££ ££££ = 24,85,0 2390 3125701 r r randr Hr 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 (FFT: Fast Fourier Transform), giảm số lượng tính toán từ bậc N02 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à N0 2 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 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 00 0 )/2( W-- == jNjN eeW p (5.34) Sao cho å - = = 1 0 0 0 N k kr Nrr WfF 10 0 -££ Nr (5.35a) Và å - = -= 1 00 0 0 1 N r kr Nrr WFN f 10 0 -££ Nk (5.35b) 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: 444 344 21 L444 3444 21 L kk hchuôi N gchuôi N ffffffff 15311420 00 ,,,,,,,, -- Vậy, từ phương trình (5.35), åå - = + + - = += 1 2 0 )12( 12 1 2 0 2 2 0 0 0 0 N k rk Nk N k kr Nkr WfWfF (5.36) Đồng thời, do 2 2 00 NN WW = (5.37) Ta có r r Nr N k kr Nk N k r N kr Nkr HWGWfWWfF 0 0 0 0 00 1 2 0 2 12 1 2 0 2 2 +=+= åå - = + - = 10 0 -££ Nr (5.38) 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 đó rN r GG = ÷ ø ö ç è æ+ 2 0 và rN r HH = ÷ ø ö ç è æ+ 2 0 (5.39) Hơn nữa rN r N jr N N N N r N WWeWWW 000 0 0 0 0 22 -=== - ÷ ø ö ç è æ+ p (5.40) Từ phương trình (5.38), (5.39) và (5.40), ta có r r NrN r HWGF 00 2 -= ÷ ø ö ç è æ+ (5.41) Đặ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à: r r Nrr HWGF 0+= 12 0 0 -££ N r (5.42a) r r NrN r HWGF 00 2 -= ÷ ø ö ç è æ+ 1 2 0 0 -££ N r (5.42b) 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 rrN HW 0 ). 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. Phương pháp tìm IDFT giống hệt như khi tìm DFT trừ việc dùng )/2( 0 0 Nj N eW p= thay vì )/2( 0Nje p- (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 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 t giây thì có thể khôi phục phổ F(w) của chúng từ các mẩu của F(w) lấy tại các khoảng đồng đều không lớn hơn 1/t Hz. Nói cách khác, phổ có thể được lấy mẩu với tốc độ không nhỏ hơn t mẩu/Hz. 5.4 Phụ chương 5.1 Ta chứng minh å - = W î í ì ±±= = 1 0 000 0 0 0 ,2,,0N k kjm otherwise NNmN e L (5.43) Nhắc lại W0N0 = 2p và 10 =W kjme với m = 0, ±N0, ±2N0, . . ., sao cho åå - = - = W == 1 0 0 1 0 00 0 1 N k N k kjm Ne với m = 0, ±N0, ±2N0, . . ., Để 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à 0W= jmea . Do đó (xem phần B.7-4) 0 1 1 0 000 0 1 0 = - -= W W- = Wå jm NjmN k kjm e ee ( 1200 ==W mjNjm ee p ) 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 t giây thì phổ F(w) có thể được khôi phục từ các mẩu của F(w) lấy tại các thời khoảng đồng đều không lớn hơn 1/t Hz. Nói cách khác, phổ cần được lấy mẩu với tốc độ không nhỏ hơn t 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(w). Định lý lấy mẩu và đối ngẫu cung cấp quan hệ định lượng theo 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 đổi Fourier nhanh (FFT), giảm thiểu số lượng tính toán từ khoảng N02 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 Nyquist của tín hiệu f1(t), f2(t), f12(t), f23(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 (a) sinc2(100pt) (b) 0,01sinc2(100pt) (c) sinc (100pt) + 3sinc2(60pt) (d) sinc (50pt) sinc (100pt). 5.1-3 Tín hiệu f(t) = sinc (100pt) đượ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) = d(t). (b) Tìm hàm truyền H(w), và vẽ ½ H(w)½. (c) Chứng tõ là khi tín hiệu đã lấy mẩu )(tf 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à ÷ ø ö ç è æD= T t th 2 )( 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 )(tf 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à D(t/2T). 5.1-6 Tín hiệu f(t) = sinc(200pt) đượ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? 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(5pt). (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 )(wF 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) dT(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(w) =0 với Bpw 2> . Trong trường hợp này ( )'4)()( BrectFF pwww = với B’> B. Điều này tức là f(t) bằng với f(t)*2B’sinc(2pB’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. 5.2-3 Tìm giá trị N0 và T thích hợp để tính DFT của tín hiệu e–tu(t). Dùng băng thông là nơi đáp ứng biên độ giảm 1% so với trị định (tại w = 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 1 2 )( 2 + = t tf Hướng dẫn: wp -Û + e t 2 1 2 2 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.

Các file đính kèm theo tài liệu này:

  • pdfLấy mẫu tín hiệu ( chương 7).pdf
Tài liệu liên quan