Bài dịch tín hiệu hệ thống trường ĐHBK TPHCM chương 7
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( w )= 0 với B pw 2> ] 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 độ F s > 2B mẩu/giây. Nói cách khác, tốc dộ lấy mẩu tối thiểu là F s = 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 w cũng như theo F (Hz). Lấy mẩu f(t) với tốc độ F s Hz (F s mẩu/giây) có thể thực hiện bằng cách nhân f(t) với chuỗi xung d T (t) (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/F s . Kết quả là tín hiệu được lấy mẫu )(tf 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. å -== n T nTtnTfttftf )()()()()( dd (5.1) Để tìm )( w F , biến đổi Fourier của )(tf , 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( w ). Biến đổi của thừa số thứ hai ttf s w cos)(2 là F( w – w s ) + F( w + w s ) (xem phương trình (4.41), cho thấy phổ F( w ) dời w s và – w s . Tương tự, biến đổi Fourier của thừa số thứ ba ttf s w 2cos)(2 là F( w –2 w s ) + F( w +2 w s ), cho thấy phổ F( w ) dời 2 w s và –2 w s , và tiếp tục cho tới vô hạn. Điều này tức là phổ )( w F gồm F( w ) lặp lại theo chu kỳ ws = 2p/T rad/s, hay F s = 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 đó å ¥ -¥= -= n s nF T F )( 1 )( www (5.4) Nếu muốn khôi phục f(t) từ )(tf , ta phải khôi phục được F( w ) từ )( w F . 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 )( w F . Hình 5.1e cho thấy cần có F s > 2B (5.5) Đồng thời, thời gian lấy mẩu T =1/F s . Do đó B T 2 1 £ (5.6) ¢ 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 hiệu )5(sin)( 2 tctf p = (hình 5.2a) có phổ ( ) p w w 20 2,0)( D=F (hình 5.2b). Băng thông của tín hiệu là 5 Hz (10p 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. Nhắc lại là phổ của tín hiệu đã lấy mẩu gồm ( ) ( ) p w w 20 2 )(/1 D= T FT lặp lại theo chu kỳ bằng với tần số lấy mẩu F s Hz. Ta trình bày thông tin này trong bảng sau với tốc độ lấy mẩu F s = 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 F s Thời gian lấy mẩu T (1/T)F(w) Nhận xét 5 Hz 0,2 ( ) p w 20 D Lấy mẩu thiếu 10 Hz 0,1 ( ) p w 20 2D Tốc độ Nyquist 20 Hz 0,05 ( ) p w 20 4D 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 w F T lặp lại sau mỗi 5Hz (10p rad/s). Các phổ liên tiếp trùng lắp, như vẽ trong hình 5.2d, và phổ F( w ) không thể được khôi phục từ )( w F ; tức là f(t) không thể được khôi phục từ các mẩu )(tf trong hình 5.2c. Trường hợp thứ hai, khi dùng tốc độ lấy mẫu Nyquist 10Hz (hình 5.2e). Phổ )( w F gồm các thành phần phổ )( 1 w F T không trùng lắp lặp lại từng 10 Hz. Do đó, phổ F( w ) có thể được khôi phục từ )( w F 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( w ) gồm các gồm các thành phần phổ )( 1 w F T không trùng lắp (lặp 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( w ) có thể được khôi phục từ )( w 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). ¢ r Bài tập E5.1 Tìm tốc độ Nyquist là khoảng Nyquist cho tín hiệu: (a) sinc(100pt) và sinc(100pt) + sinc(50pt) . Đáp số: khoảng Nyquist là 0,01 giây và tốc độ Nyquist là 100Hz cho cả hai tín hiệu. s 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(w)), 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à: ÷ ø ö ç è æ = B TrectH p w w 4 )( (5.7) 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. Để bắt đầu, ta hảy xét mạch lọc cực kỳ đơn giản có đáp ứng xung là ( ) T t rect , 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 )(tf , Từng mẩu của )(tf , đã đượ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 kTt - và có thể viết thành )()( kTtkTf - d . Khi xung qua bộ lọc, tạo ra ngõ ra là xung 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 )(tf 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. Hàm truyền H(w) của bộ lọc là biến đổi Fourier của đáp ứng xung ( ) T t rect . Giả sử, ta dùng tốc độ Nyquist; tức là T = 1/2B. )2()( Btrect T t rectth = ÷ ø ö ç è æ = Và ÷ ø ö ç è æ = ÷ ø ö ç è æ = BB T cTH 42 1 2 sin)( ww w (5.8) Đáp ứng biên độ )( w 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 thang. Bộ nội suy tuyến tính này, với đáp ứng xung là xung tam giác ( ) T t 2 D , 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(w) là )2(sin2)( BTcBTth p = (5.9a) Giả sử lấy mẩu với tốc độ lấy mẩu Nyquist; tức là 2BT =1, thì )2(sin)( BTcth p = (5.9b) å -= k kTthkTftf )()()( å -= k kTtBckTftf )](2[sin)()( p (5.10a) å -= k kBtckTftf )2(sin)()( pp (5.10b) 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 (2pBt) 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 F s = 2B Hz, phổ )( w F bao gồm F( w ) đượ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 (F s > 2B hay )4 B s pw > . Kết quả là )( w F , bao gồm F( w ) đượ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( w ) từ )( w F 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 của F( w ) (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ổ )( w F gồm các chu kỳ chồng lắp của F( w ) lặp lại mỗi F s 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 )( w F không còn đủ thông tin về F( w ), 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 )(tf . 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( w ) mà là một phiên bản F( w ) bị méo dạng do hai nguyên nhân riêng biệt sau: 1. Phần đuôi của F( w ) bị mất khi |F| > F s /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 F s /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ố F s /2+ F x + F x lộ diện để “đóng vai” thành phần tần số thấp hơn (F s /2) – F x trong tín hiệu khôi phục được. Do đó, thành phần tần số cao hơn (F s /2) lại tái xuất hiện như là thành phần tần số thấp hơn (F s /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 (F s /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. 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 (F s /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 (F s /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à (F s /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 (F s /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 )(tf 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 )(tf 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 )(tf 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 p T (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 å ¥ = ++= 1 0 )cos()( n nsnT tnCCtp qw T s p w 2 = Và ú û ù ê ë é ++== å ¥ =1 0 )cos()()()()( n nsnT tnCCtftptftf qw å ¥ = ++= 1 0 )cos()()( n nsn tntfCtfC qw (5.11) Tín hiệu đã lấy mẩu )(tf gồm có )( 0 tfC , ),cos()( 11 qw +ttfC s ),2cos()( 22 qw +ttfC s …. Chú ý là thừa số thứ nhất )( 0 tfC 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 ±w s , ±2w s , ±3w 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 )(tf qua mạch lọc thông thấp, để có w s > 4pB ( hay F s > 2B). ¢ Thí dụ 5.3 Để minh họa việc lấy mẩu thực tế, xét tín hiệu )5(sin)( 2 tctf p = được lấy mẩu dùng chuỗi xung vuông )(tp T vẽ ở hình 5.8c. Chu kỳ của )(tp T là 0,1 giây, để có tần số cơ bản là 10Hz. Do đó pw 20= s . Chuỗi Fourier của )(tp T có thể biểu diễn thành å ¥ = += 1 0 cos)( n snT tnCCtp w Dùng phương trình (3.66) ta có 4 1 0 =C và ( ) 4 2 sin p p n n n C = ; tức là , 4 1 0 =C , 2 1 p =C , 1 2 p =C , 3 2 3 p =C ,0 4 =C K, 5 2 5 p -=C Do đó L++++== ttfttfttftftptftf T p p p p p p 60cos)( 3 2 40cos)( 1 20cos)( 2 )( 4 1 )()()( Và )]40()04([ 2 1 )]20()20([ 2 1 )( 4 1 )( pwpw p pwpw p ww ++-+++-+= FFFFFF L+++-+ )]60()06([ 23 1 pwpw p FF Trong trường hợp này ( ) p w w 20 2,0)( D=F . Phổ )( w F vẽ trong hình 5.8e. Quan sát thấy phổ gồm )( w F được lặp lại theo chu kỳ 20p rad/s (10Hz). Do đó, không có trùng lắp giữa các chu kỳ, và )( w F 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à )( 4 1 )( tfty = ¢ 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 . 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. 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