You are on page 1of 7

Tài liệu Xử lý số tín hiệu Chương 1

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 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ín hiệu số. Do đó cần phải thực hiện chuyển đổi tín hiệu
liên tục thành tín hiệu rời rạc để xử lý. Quá trình này gọi là lấy mẫu tín hiệu
(sampling), đó là thay tín hiệ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ấy mẫu như thế nào để có thể khôi phục lại tín
hiệu gốc. Tín hiệu lấy mẫu của tín hiệ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) = ∑ δ(t − nT)
n = −∞
(1.2)

Phổ của tín hiệu lấy mẫu là tích chập của S(f) và U(f), do đó:
1 ∞ n
Ss(f) = S(f)*U(f) = ∑
T n =−∞
S(f − )
T
(1.3)
s

f
t 0

f
t
0 1/T
Hình 1.1 – Tín hiệu lấy mẫu và phổ
Quá trình lấy mẫu mô tả ở trên là quá trình lấy mẫu lý tưởng. Trong thực tế, do
tín hiệu u(t) là các xung lấy mẫu với chu kỳ T, độ rộng τ và biên độ a nên phổ tín hiệu
thực tế sẽ không chỉ là hàm S(f) mà là:
sin( πfτ)
S(f)aτ (1.4)
πfτ
nT + τ / 2

(do giá trị lấy mẫu là a ∫ s(t )dt )


nT − τ / 2

Trang 1 GV: Phạm Hùng Kim Khánh


Tài liệu Xử lý số tín hiệu Chương 1

Tuy nhiên do τ << T nên sai lệch không đáng kể.

1.1. Tần số lấy mẫu


Xét tín hiệu sin có tần số f và quá trình lấy mẫu với các chu kỳ lấy mẫu khác
nhau.

fs = 16f fs = 8f

fs = 4f fs = 2f

Hình 1.2 – Lấy mẫu tín hiệu với các tần số khác nhau

Như vậy, ta thấy rằng nếu tần số lấy mẫu càng cao thì dạng của tín hiệu càng có
khả năng khôi phục giống như tín hiệ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ấy mẫu sao cho có thể khôi
phục lại gần đúng dạng tín hiệ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ấy mẫu


Định lý lấy mẫ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ín hiệu trước khi lấy mẫu. Như khảo sát ở trên (hình 1.1), phổ của tín
hiệu lấy mẫu là tín hiệ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:
⎧1 fs
0<f <
⎪⎪
H(f) = ⎨ f s 2 (1.5)
⎪0 f
⎪⎩ f≥ s
2
Hay:
sin( πt / T )
h(t) = (1.6)
πt / T
Phổ của tín hiệu sau khi khôi phục là:

Trang 2 GV: Phạm Hùng Kim Khánh


Tài liệu Xử lý số tín hiệu Chương 1

S(f) = Ss(f)H(f) (1.7)


Hay:
⎤ sin(π( t − t ' ) / T)

⎡ ∞
s(t) = ∫−∞⎢⎣n∑
= −∞
s( t ' )δ( t '− nT)⎥
⎦ π( t − t ' ) / T
dt '


sin π( t / T − n )
s(t) = ∑ s(nT)
n = −∞ π( t / T − n )
(1.8)

s
Ss

f
0 fs = 1/T t
h
H

fs/2
f
0 t

t
0

Hình 1.3 - Khôi phục tín hiệu sau khi lấy mẫu

Như vậy, ta có thể khôi phục lại tín hiệu trước khi lấy mẫu khi phổ tín hiệu sau
khi qua mạch lọc phải giống hệt với phổ tín hiệu gốc. Theo hình 1.3, điều kiện này
thoả mãn khi phổ tín hiệu gốc không chứa thành phần tần số lớn hơn fs/2.
Trong trường hợp ngược lại, phổ của tín hiệu lấy mẫu sẽ bị méo dạng nên khi
sử dụng mạch lọc để khôi phục tín hiệu thì tín hiệu này sẽ khác với tín hiệu gốc, hiện
tượng này gọi lài chồng phổ (aliasing).
Ss

Hình 1.4 – Hiện tượng chồng phổ

Trang 3 GV: Phạm Hùng Kim Khánh


Tài liệu Xử lý số tín hiệu Chương 1

Từ đó định lý lấy mẫu phát biểu như sau:


"Một tín hiệ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ị fm 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ấy
mẫu T = 1/2fm"
Như vậy, tần số lấy mẫu phải thoả mãn điều kiện fs ≥ 2fm trong đó fm 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 (-fs/2,fs/2) gọi là khoảng Nyquist. Trong thực tế , tín hiệu trước khi lấy mẫu
sẽ bị giới hạn bằng một mạch lọc để tần số tín hiệu nằm trong khoảng Nyquist.
Ví dụ như tín hiệ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ấy mẫu ở tần số tối thiểu là 6,8 KHz.

1.3. Lấy mẫu tín hiệu sin và tín hiệu ngẫu nhiên
1.3.1. Tín hiệu sin
Xét s(t) = cos(2πft+θ) với 0 ≤ θ ≤ π/2 được lấy mẫu với chu kỳ T = 1. Tín hiệu
lấy mẫu là:
s(n) = cos(2πfn+θ) (1.9)
Nếu tỉ số f/fs = f là số hữu tỉ, nghĩa là f = N1/N2 với N1, N2 là các số nguyên:
s(n + N2) = cos(2πf(n + N2)+θ) = cos(2πfn+θ) = s(n) (1.10)
Như vậy, tập hợp s(n) là tập hợp có chu kỳ N2 Æ không cần phải lấy mẫu toàn
bộ tín hiệu sin mà chỉ cần lấy mẫu một phần.

1.3.2. Tín hiệu ngẫu nhiên


Xét tín hiệu s(t) được lấy mẫu với chu kỳ T, tín hiệ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ín
hiệ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ín hiệu s(t) là:
rxx(τ) = 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ẫu tín hiệu
rxx(τ). 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ín hiệu
rời rạc Φd(f) và tín hiệu liên tục Φxx(f) là:
1 ∞ ⎛ n⎞
Φd(f) = ∑ Φ xx ⎜ f − ⎟ (1.13)
T n = −∞ ⎝ T⎠
Từ đó, nếu tần số tín hiệu lấy mẫu quá nhỏ hay tần số của tín hiệ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ín hiệu có chu kỳ N0 thì:
N 0 −1
1
r(n) =
N0
∑ s(i)s(i − n )
i =0
(1.14)

cũng là chuỗi có chu kỳ N0.


Trang 4 GV: Phạm Hùng Kim Khánh
Tài liệu Xử lý số tín hiệu Chương 1

2. Lượng tử hoá
Lượng tử hoá là quá trình xấp xỉ các giá trị của tín hiệu lấy mẫ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:
5

1
sq(n)

-1

-2

-3

-4

-5
-6 -4 -2 0 2 4 6
s(n)

Hình 1.5 – Hàm lượng tử với bước lượng tử q = 1


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ín hiệ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.
10

-2

-4

-6

-8

-10
0 1 2 3 4 5 6

-1

Hình 1.6 – Lỗi lượng tử

Trang 5 GV: Phạm Hùng Kim Khánh


Tài liệu Xử lý số tín hiệu Chương 1

Như vậy, quá trình lượng tử hóa sẽ làm méo dạng tín hiệu và xem như tồn tị
một tín hiệ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) = sq(n) + e(n) (1.15)
Biên độ của tín hiệ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ín hiệ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à:
q2
σ e2 = (1.16)
12
Tín hiệu được lấy mẫu và 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 2N giá trị khác nhau ứng
với 2N 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 2Nq, bất kỳ biên độ tín hiệu nào vượt quá giá trị này thì sẽ bị cắt bỏ.
Giả sử tín hiệu mã hóa có biên độ trong khoảng [-Am,Am]:
Am = 2Nq/2 (1.17)
Từ đó, giả sử công suất tín hiệu là σ s2 thì tỷ số tín hiệu trên nhiễu lượng tử hóa
(SQNR – Signal to Quantizing Noise Ratio) là:
σ s2 A
SQNR [dB] = 10 log 2 = 6.02(N-1) + 10.79 - 20 log m (1.18)
σe σs

3. Mã hoá
Tín hiệ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ín
hiệu số 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

Trang 6 GV: Phạm Hùng Kim Khánh


Tài liệu Xử lý số tín hiệu Chương 1

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ín hiệu x thành tín hiệu y như sau:
⎧ 16x 0≤ x ≤ 1
64

⎪ 8x + 8 ≤x≤
1 1 1
64 32

⎪ 4 x + 14 1
≤ x ≤ 161

32

y = ⎨ 2x + 83 1
16 ≤ x ≤ 18 (1.19)
⎪ x+1 1
≤x≤ 1
⎪ 2 8 4

⎪21
x + 5
8
1
4 ≤ x ≤ 12
⎪1 x + 3
2 ≤ x ≤1
1
⎩4 4

111 0.9

110 0.8

101 0.7

100 0.6

0.5
011
0.4

010
0.3

001 0.2

0.1
000
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Hình 1.7 – Mô tả luật mã hóa 13 đoạn với biên độ dương

Trang 7 GV: Phạm Hùng Kim Khánh

You might also like