Tài liệu Xử lý sốtínhiệuChương1 Trang 1 GV: Phạm Hùng Kim Khánh Chương1SỐHÓATÍNHIỆU–LẤYMẪUVÀMÃHÓA1.LấymẫuTínhiệu tương tự liên tục theo thời gian nhưng trong quá trình xử lý tín hiệu, thông thường ta xử lý trên tínhiệu số. Do đó cần phải thực hiện chuyển đổi tínhiệu liên tục thành tínhiệu rời rạc để xử lý. Quá trình này gọi là lấymẫutínhiệu (sampling), đó là thay tínhiệu liên tục bằng biên độ của nó ở những thời điểm cách đều nhau, gọi là chu kỳ lấy mẫu. Các giá trị này sẽ được chuyển thành số nhị phân để có thể xử lý được. Vấn đề ở đây là phải lấymẫu như thế nào để có thể khôi phục lại tínhiệu gốc. Tín hiệulấymẫu của tínhiệu gốc s(t) biểu diễn là s(nT) với T là chu kỳ lấy mẫu. s(nT) = s(t)u(t) (1.1) trong đó u(t) là chuỗi xung Dirac u(t) = ∑ ∞ −∞= −δ n )nTt( (1.2) Phổ của tínhiệulấymẫu là tích chập của S(f) và U(f), do đó: S s (f) = S(f)*U(f) = ∑ ∞ −∞= − n ) T n f(S T 1 (1.3) Hình 1.1 –Tínhiệulấymẫuvà phổ Quá trình lấymẫu mô tả ở trên là quá trình lấymẫu lý tưởng. Trong thực tế, do tínhiệu u(t) là các xung lấymẫu với chu kỳ T, độ rộng τ và biên độ a nên phổ tínhiệu thực tế sẽ không chỉ là hàm S(f) mà là: S(f)a τ τπ τπ f )fsin( (1.4) (do giá trị lấymẫu là a ∫ τ+ τ− 2/nT 2/nT dt)t(s ) 1/T 0 0 s t t f f Tài liệu Xử lý sốtínhiệuChương1 Trang 2 GV: Phạm Hùng Kim Khánh Tuy nhiên do τ << T nên sai lệch không đáng kể. 1.1. Tần sốlấymẫu Xét tínhiệu sin có tần số f và quá trình lấymẫu với các chu kỳ lấymẫu khác nhau. Như vậy, ta thấy rằng nếu tần sốlấymẫu càng cao thì dạng của tínhiệu càng có khả năng khôi phục giống như tínhiệu gốc. Tuy nhiên, nếu tần số càng cao thì cần phải dùng dung lượng lớn hơn để lưu trữ và đồng thời tốc độ x ử lý sẽ chậm lại do cần xử lý số lượng dữ liệu lớn. Từ đó, ta cần xác định tần sốlấymẫu sao cho có thể khôi phục lại gần đúng dạng tínhiệu với yêu cầu tốc độ xử lý giới hạn trong mức cho phép. 1.2. Định lý lấymẫu Định lý lấymẫu xác định điều kiện để một tập mẫu có thể cho phép khôi phục lại chính xác tínhiệu trước khi lấy mẫu. Như khảo sát ở trên (hình 1.1), phổ của tínhiệulấymẫu là tínhiệu có chu kỳ trên miền tần số. Để khôi phục lại dạng của tín hiệu, ta chỉ cần giới hạn phổ tần của tín hiệu. Quá trình này có thể thực hiện bằng m ột mạch lọc thông thấp với hàm truyền: H(f) = ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ ≥ << 2 f f0 2 f f0 f 1 s s s (1.5) Hay: h(t) = T/t )T/tsin( π π (1.6) Phổ của tínhiệu sau khi khôi phục là: f s = 16f f s = 8f f s = 4f f s = 2f Hình 1.2 – Lấy mẫutínhiệu với các tần số khác nhau Tài liệu Xử lý sốtínhiệuChương1 Trang 3 GV: Phạm Hùng Kim Khánh S(f) = S s (f)H(f) (1.7) Hay: s(t) = ∫ ∑ ∞ ∞− ∞ −∞= −π −π ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ −δ 'dt T/)'tt( )T/)'tt(sin( )nT't()'t(s n s(t) = ∑ ∞ −∞= −π −π n )nT/t( )nT/t(sin )nT(s (1.8) Như vậy, ta có thể khôi phục lại tínhiệu trước khi lấymẫu khi phổ tínhiệu sau khi qua mạch lọc phải giống hệt với phổ tínhiệu gốc. Theo hình 1.3, điều kiện này thoả mãn khi phổ tínhiệu gốc không chứa thành phần tần số lớn hơn f s /2. Trong trường hợp ngược lại, phổ của tínhiệulấymẫu sẽ bị méo dạng nên khi sử dụng mạch lọc để khôi phục tínhiệu thì tínhiệu này sẽ khác với tínhiệu gốc, hiện tượng này gọi lài chồng phổ (aliasing) . f s = 1/T 0 0 s t t f f f S s H S 0 h t Hình 1.3 - Khôi phục tínhiệu sau khi lấymẫu f s /2 f S s Hình 1.4 – Hiện tượng chồng phổ Tài liệu Xử lý sốtínhiệuChương1 Trang 4 GV: Phạm Hùng Kim Khánh Từ đó định lý lấymẫu phát biểu như sau: " Một tínhiệu không chứa bất kỳ thành phần tần số nào lớn hơn hay bằng một giá trị f m có thể biểu diễn chính xác bằng tập các giá trị của nó với chu kỳ lấymẫu T = 1/2f m " Như vậy, tần sốlấymẫu phải thoả mãn điều kiện f s ≥ 2f m trong đó f m là thành phần tần số lớn nhất có trong tín hiệu. Tần số giới hạn này được gọi là tần số Nyquist và khoảng (-f s /2,f s /2) gọi là khoảng Nyquist. Trong thực tế , tínhiệu trước khi lấymẫu sẽ bị giới hạn bằng một mạch lọc để tần sốtínhiệu nằm trong khoảng Nyquist. Ví dụ như tínhiệu âm thanh thường nằm trong khoảng (300,3400) Hz nên người ta sẽ đưa tí hiệu qua mạch lọc thông thấp để loại các thành phần tần số bậc cao và thực hiện lấymẫu ở tần số t ối thiểu là 6,8 KHz. 1.3. Lấy mẫutínhiệu sin vàtínhiệu ngẫu nhiên 1.3.1. Tínhiệu sin Xét s(t) = cos(2πft+θ) với 0 ≤ θ ≤ π/2 được lấymẫu với chu kỳ T = 1.Tínhiệulấymẫu là: s(n) = cos(2πfn+θ) (1.9) Nếu tỉ số f/f s = f là số hữu tỉ, nghĩa là f = N 1 /N 2 với N 1 , N 2 là các số nguyên: s(n + N 2 ) = cos(2πf(n + N 2 )+θ) = cos(2πfn+θ) = s(n) (1.10) Như vậy, tập hợp s(n) là tập hợp có chu kỳ N 2 Æ không cần phải lấymẫu toàn bộ tínhiệu sin mà chỉ cần lấymẫu một phần. 1.3.2. Tínhiệu ngẫu nhiên Xét tínhiệu s(t) được lấymẫu với chu kỳ T, tínhiệu ngẫu nhiên rời rạc tạo ra s(nT) sẽ có hàm phân phối xác suất biên độ giống như s(t). Hàm tự tương quan của tínhiệu rời rạc s(nT) là: r(nT) = E[s(i)s(i-nT)] (1.11) Hàm tự tương quan của tínhiệu s(t) là: r xx (τ) = E[s(t)s(t-τ)] (1.12) Như vậy, chuỗi r(n) cũng chính là chuỗi tạo ra từ quá trình lấy mẫutínhiệu r xx (τ). Tương tự công thức (1.3), quan hệ giữa hàm mật độ phổ công suất của tínhiệu rời rạc Φ d (f) vàtínhiệu liên tục Φ xx (f) là: Φ d (f) = ∑ ∞ −∞= ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ −Φ n xx T n f T 1 (1.13) Từ đó, nếu tần sốtínhiệulấymẫu quá nhỏ hay tần số của tínhiệu ngẫu nhiên vô hạn thì sẽ gây hiện tượng chồng phổ. Nếu s(t) là tínhiệu có chu kỳ N 0 thì: r(n) = ∑ − = − 1N 0i 0 0 )ni(s)i(s N 1 (1.14) cũng là chuỗi có chu kỳ N 0 . Tài liệu Xử lý sốtínhiệuChương1 Trang 5 GV: Phạm Hùng Kim Khánh 2. Lượng tử hoá Lượng tử hoá là quá trình xấp xỉ các giá trị của tínhiệulấymẫu s(nT) bằng bội số của một giá trị q (q gọi là bước lượng tử ). Nếu q không thay đổi thì quá trình lượng tử gọi là đồng nhất. Quá trình này thực hiện bằng hàm bậc thang mô tả như sau: Quá trình lượng tử có thể thực hiện bằng cách định nghĩa giá trị trung tâm của hàm lượng tử. Ví dụ như trong hình 1.5, các giá trị trong khoảng từ (n – ½)q đến (n + ½)q sẽ được làm tròn là n. Phương pháp này sẽ cực tiểu hóa công suất của tínhiệu lỗi. Một phương pháp khác có thể sử dụng là dùng hàm cắt, nghĩa là các giá trị trong khoảng [nq,(n+1)q) sẽ làm tròn thành n. Hình 1.5 – Hàm lượng tử với bước lượng tử q = 1 -6 -4 -2 0 2 4 6 -5 -4 -3 -2 -1 0 1 2 3 4 5 s(n) sq(n) Hình 1.6 – Lỗi lượng tử 0 1 2 3 4 5 6 -10 -8 -6 -4 -2 0 2 4 6 8 10 -1 0 1 Tài liệu Xử lý sốtínhiệuChương1 Trang 6 GV: Phạm Hùng Kim Khánh Như vậy, quá trình lượng tử hóa sẽ làm méo dạng tínhiệuvà xem như tồn tị một tínhiệu nhiễu. Sự méo dạng này gọi là méo lượng tử hay còn gọi là nhiễu lượng tử. s(n) = s q (n) + e(n) (1.15) Biên độ của tínhiệu nhiễu lượng tử sẽ nằm trong khoảng (-q/2,q/2). Do sai số lượng tử không biết trước nên việc mô tả sai số lượng tử mang tính thống kê. Tổng quát, ta có thể xem e(n) là chuỗi các biến ngẫu nhiên trong đó: - Thống kê của e(n) không thay đổi theo thời gian (nhiễu lượng tử hóa là quá trình ngẫu nhiên dừng). - Nhiễu lượng tử e(n) là chuỗi các biến ngẫu nhiên không tương quan. - Nhiễu lượng tử e(n) không tương quan với tínhiệu ngõ vào s(n). - Hàm mật độ xác suất của e(n) phân bố đều trên tầm các giá trị của sai số lượng tử. Như vậy, nhiễu lượng tử được phân bố đều trên khoảng (-q/2,q/2) và có phương sai (công suất nhiễu lượng tử) là: 12 q 2 2 e =σ (1.16) Tínhiệu được lấymẫuvà lượng tử hóa bao gồm một tập hợp các sốvà được lưu trữ ở dạng nhị phân. Đối với số nhị phân N bit sẽ có tối đa 2 N giá trị khác nhau ứng với 2 N mức lượng tử khác nhau. Như vậy, phạm vi lượng tử sẽ bị giới hạn trong khoảng từ q đến 2 N q, bất kỳ biên độ tínhiệu nào vượt quá giá trị này thì sẽ bị cắt bỏ. Giả sử tínhiệumãhóa có biên độ trong khoảng [-A m ,A m ]: A m = 2 N q/2 (1.17) Từ đó, giả sử công suất tínhiệu là 2 s σ thì tỷ sốtínhiệu trên nhiễu lượng tử hóa (SQNR – Signal to Quantizing Noise Ratio) là: SQNR [dB] = 2 e 2 s log10 σ σ = 6.02(N-1) + 10.79 - 20 s m A log σ (1.18) 3. MãhoáTínhiệu ở ngõ ra bộ lượng tử hóa được đưa đến bộ mã hóa, bộ mãhóa sẽ gán một số nhị phân cho mỗi mức lượng tử. Quá trình này gọi là mã hóa. Có nhiều phương pháp mãhóa khác nhau nhưng trong đa số hệ thống xử lý tínhiệusố sử dụng phương pháp bù 2. Một ví dụ đối với N = 3 như sau: Số nhị phân Giá trị Số nhị phân Giá trị 000 0 000 0 001 1/4 001 1/4 010 1/2 010 1/2 Tài liệu Xử lý sốtínhiệuChương1 Trang 7 GV: Phạm Hùng Kim Khánh 011 3/4 011 3/4 111 - 1/4 100 1 110 - 1/2 101 5/4 101 - 3/4 110 3/2 100 -1 111 7/4 Ngoài phương pháp mãhóa tuyến tính như trên (các mức lượng tử có cùng số bit nhị phân bằng nhau), ta còn sử dụng phương pháp mãhóa phi tuyến. Phương pháp này sử dụng các bước lượng tử thay đổi theo biên độ tín hiệu. Một phương pháp được chuẩn hóa bởi CCITT là luật mãhóa 13 đoạn thường dùng trong mạng viễn thông. Luật mãhóa 13 đoạn (13-segment coding law) thực hiện chuyển đổi biên độ của tínhiệu x thành tínhiệu y như sau: y = ⎪ ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎪ ⎨ ⎧ ≤≤+ ≤≤+ ≤≤+ ≤≤+ ≤≤+ ≤≤+ ≤≤ 1xx xx xx xx2 xx4 xx8 x0x16 2 1 4 3 4 1 2 1 4 1 8 5 2 1 4 1 8 1 2 1 8 1 16 1 8 3 16 1 32 1 4 1 32 1 64 1 8 1 64 1 (1.19) Hình 1.7 – Mô tả luật mãhóa 13 đoạn với biên độ dương 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 111 110 101 100 011 010 001 000 . 1xx xx xx xx2 xx4 xx8 x0x16 2 1 4 3 4 1 2 1 4 1 8 5 2 1 4 1 8 1 2 1 8 1 16 1 8 3 16 1 32 1 4 1 32 1 64 1 8 1 64 1 (1. 19) Hình 1. 7 – Mô tả luật mã hóa 13 . Tài liệu Xử lý số tín hiệu Chương 1 Trang 1 GV: Phạm Hùng Kim Khánh Chương 1 SỐ HÓA TÍN HIỆU – LẤY MẪU VÀ MÃ HÓA 1. Lấy mẫu Tín hiệu tương tự liên