You are on page 1of 143

CHƯƠNG I.

KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN


BÀI 1. MÔ HÌNH HỆ THỐNG TRUYỀN TIN

BÀI 2. Thông tin, tín hiệu, dữ liệu


Thông tin là khái niệm trừu tượng, thể hiện sự cảm nhận và hiểu biết của con người
về thế giới xung quanh. Thông tin có thể được biến đổi, lưu trữ và truyền từ điểm
này sang điểm khác. Thông tin được con người thu thập một cách trực tiếp bằng các
giác quan, cũng có thể được thu thập một cách gián tiếp thông qua nhận thức các
thông tin do người khác thu thập và xử lý. Trong trường hợp thứ hai, thông tin do
một người thu thập cần có cách thức để truyền từ điểm này sang điểm khác. Người
thu thập thông tin và truyền cho người khác được gọi là nguồn. Người nhận thông
tin được gọi là đích. Để thực hiện được việc truyền thông tin cần sử dụng một dạng
vật chất nào đó để biểu diễn thông tin. Dạng vật chất này gọi là vật mang thông tin
(hay còn gọi là phương tiện truyền tin).

Thông tin được biểu diễn bằng sự thay đổi của một trong các đại lượng biểu diễn
tính chất cục bộ của vật mang (ví dụ như mức độ dao động của các phần từ trong
tín hiệu cơ học, cường độ từ trường, điện trường của sóng điện từ). Vật mạng có
chứa thông tin trong sự thay đổi của một trong các đại lượng của nó và đây là lần
đầu tiên thông tin được gán vào vật mang, Vật mang có chứa thông tin này sẽ được
gọi là dữ liệu. Nhờ dữ liệu thông tin đã được chứa trong một vật hay có thể nói
thông tin đã trở thành vật chất và có thể truyền qua môi trường vật chất.

Mỗi môi trường lan truyền cho phép một vài loại vật chất nhất định lan truyền qua
nó. Vật mang có chứa thông tin được truyền trong môi trường phù hợp với nó chính
là phương tiện để truyền thông tin và được gọi là tín hiệu. Căn cứ vào thuộc tính của
môi trường truyền tin được sử dụng, có thể có tín hiệu cơ học, tín hiệu điện,tín hiệu
quang, ....

Tín hiệu là vật mang có chứa thông tin và phù hợp với môi trường lan truyền. Tín
hiệu là dạng vật chất của thông tin được lan truyền. Dữ liệu chỉ là dạng vật chất có
chưa thông tin và chưa chắc đã phù hợp với môi trường lan truyền. Trong nhiều
trường hợp bản thân dữ liệu phù hợp để truyền trong môi trường, lúc này nó đóng
cả vai trò là tín hiệu. Trong một số trường hợp, dữ liệu không phù hợp với môi
trường và chúng cần phải được chuyển đổi thành tín hiệu cho phù hợp với môi
trường lan truyền.

Trong thực tế, có thể có các thông tin liên tục và các thông tin rời rạc. Thông tin liên
tục thường là các thông tin nguyên thủy thu được từ thế giới xung quanh. Thông tin
rời rạc thường là các thông tin thu được từ các thông tin nguyên thủy sau khi đã qua
xử lý. Tín hiệu liên tục là các tín hiệu có thể nhận các giá trị liên tục và được định
nghĩa trên miền thời gian liên tục. Thông tin liên tục khi được biểu diễn bằng tín hiệu
liên tục được gọi là dữ liệu liên tục.

1
Bảng KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-1: Ví dụ về thông tin tín hiệu dữ liệu liên tục và rời rạc

Liên tục Rời rạc


BÀI 3.

Thông tin Nội dung của bản Nội dung của văn bản
nhạc
Dữ liệu Âm thanh của bản Văn bản
nhạc
Tín hiệu Âm thanh/Tín hiệu Văn bản/Tín hiệu điều
điện thoại khiển trong máy tính

BÀI 4. Mô hình cơ bản của hệ thống truyền tin


Một hệ thống truyền tin phải có tối thiểu 3 bộ phận: nguồn tin, kênh truyền tin và đích
(bộ phận thu tin). Mô hình này thường được gọi là mô hình 3 khối được biểu diễn
trong Hình KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-1.

Nguồn tin là bộ phận chịu trách nhiệm sản sinh ra thông tin. Chất lượng của nguồn
tin được đánh giá bằng khối lượng thông tin mà nguồn tin có thế sinh ra. Kênh
truyền tin là thành phần chịu trách nhiệm truyền tin từ đầu kênh đến cuối kênh. Đích
(bộ phận thu tin) là nơi tái tạo lại các thông tin ban đầu. Việc tái tạo lại các thông
tinban đầu này được gọi là giải bài toán thu tin.

Hình KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-1: Mô hình hệ thống truyền tin

Nếu chỉ có nguồn tin ban đầu tham gia vào kênh truyền tin, bài toán thu tin được giải
quyết một cách hiển nhiên. Trường hợp này kênh truyền tin được gọi là kênh truyền
tin 2 cửa. Tuy nhiên, trong thực tế không phải chỉ có nguồn tin ban đầu truyền thông
tin vào kênh truyền tin. Có rất nhiều nguồn tin khác có nguồn gốc tự nhiên có khả
năng truyền tin vào kênh. Các nguồn tin này sinh ra thông tin bổ sung, trộn vào
thông tin ban đầu, cản trở việc giải bài toán thu tin. Những thông tin này được gọi là
nhiễu. Các nguồn tin thứ cấp nói trên được gọi là nguồn nhiễu. Giá trị thực sự của
nhiễu là không xác định, tuy nhiên với một hệ thống truyền tin, các tính chất thống
kê của nhiễu được coi là xác định. Sự ảnh hưởng của nhiễu đến đầu ra của kênh
truyền tin có thể được biểu diễn bằng công thức:

I rec = F ( I send , N )

Trong đó I send là thông tin gửi đi, I rec là thông tin nhận được ở đầu ra, N là nhiễu
và F là hàm đặc trưng của kênh truyền tin.

Yêu cầu của hệ thống truyền tin là thông tin phải được truyền đi chính xác, hay nói
cách khác, thông tin đã được gửi đi ở đầu vào phải được xác định ở đầu ra của
kênh truyền tin, với điều kiện có sự tham gia của nhiễu làm tác động lên thông tin
đầu ra. Bài toán xác định I send khi biết I rec = F ( I send , N ) gọi là bài toán thu tin. Như

2
vậy bài toán thu tin là bài toán xác định thông tin đầu vào khi biết thông tin đầu ra đã
bị phá hủy một phần bởi nhiễu.

Ngoài việc đảm bảo có kết quả chính xác cho bài toán thu tin, kênh truyền tin còn
phải đảm bảo giải quyết bài toán truyền tin và thu tin trong khoảng thời gian giới
hạn. Đây là yêu cầu truyền tin nhanh chóng của một hệ thống truyền tin. Tất nhiên,
thời gian truyền tin thực sự phụ thuộc vào yêu cầu của từng bài toán cụ thể. Một
bức thư điện tử được nhận sau khi gửi vài phút được coi là quá chậm, trong khi đó
một bức thư tín thông thường đến tay người nhận sau vài ngày được coi là chấp
nhận được.

Khi thiết kế, xây dựng triển khai một hệ thống truyền tin, việc đảm bảo truyền tin
chính xác, nhanh chóng bị giới hạn bởi lượng tài nguyên về băng thông, về khả
năng xử lý, về kích thước của bộ nhớ đệm. Do đó để có thể sử dụng được trong
thực tế, các hệ thống truyền tin cần đảm bảo sử dụng các tài nguyên hệ thống một
cách có hiệu quả.

Như vậy, 3 yêu cầu chính với một hệ thống truyền tin là truyền tin nhanh chóng,
chính xác và hiệu quả.

Để có thể thực hiện được chức năng truyền tin, các thành phần của hệ thống truyền
tin: nguồn, kênh, đích cần phối hợp với nhau. Giữa các thành phần này cần có sự
đồng bộ về định dạng tín hiệu, khuôn dạng dữ liệu, tốc độ truyền tin và trong trường
hợp cần thiết phải có những cơ chế đồng bộ. Mô hình 3 khối nói trên chưa phản ánh
được tính chất đồng bộ giữa 3 thành phần của kênh truyền tin, đồng thời cũng chưa
phản ánh được cách thức có thể đạt được 3 yêu cầu truyền tin nhanh chóng, chính
xác, hiệu quả.

Hình KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-2: Mô hình hệ thống truyền tin 5 khối

Trong thực tế truyền số liệu, khi quan tâm đến hệ thống vật lý, người ta thường sử
dụng mô hình 5 khối- Hình KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-2. Hai bộ phận
được bổ sung là bộ phận phát tín hiệu và bộ phận thu tín hiệu. Bộ phận phát tín hiệu
có chức năng biến đổi thông tin của nguồn tin thành dạng tín hiêu phù hợp với kênh
truyền tin. Bộ phận thu tín hiệu có chức năng biến đổi tín hiệu đầu ra của kênh
truyền tin thành các thông tin phù hợp với bộ phận thu tin. Ví dụ trong hệ thống điện
thoại, để sử dụng môi trường truyền tin là dây điện, chỉ có khả năng lan truyền tín
hiệu điện, cần biến đổi thông tin phát ra bởi nguồn tin dưới dạng tín hiệu cơ sử dụng
bộ phận phát tín hiệu (micro). Tín hiệu thu được tại đầu ra của kênh truyền tin được
biến đổi thành tín hiệu cơ học để có thể đưa vào đích (tai) bằng thiết bị thu tín hiệu

3
(loa). Một ví dụ khác là trường hợp phát thanh radio. Để có thể truyền tín hiệu điện
từ đi xa, cần có các tín hiệu với tần số đủ lớn. Các tín hiệu điện biểu diễn tiếng nói
có tần số thấp (4Khz) do đó cần được biến đổi bởi một bộ phát tín hiệu để có tần số
cao hơn. Tại đích, tín hiệu có tần số cao hơn này được bộ thu tín hiệu biến đổi về tín
hiệu có tần số thấp.

BÀI 5. Mô hình truyền thông tin


Để có thể nghiên cứu, tìm hiểu hệ thống truyền tin đảm bảo các yêu cầu truyền tin
nhanh chóng, chính xác, hiệu quả, cần có một mô hình bao gồm các thành phần
thực hiện các yêu cầu nói trên một cách riêng biệt.

Khi có nhu cầu vận chuyển hàng hóa từ điểm này sang điểm khác, thao tác đầu tiên
cần thực hiện là đóng gói hàng hóa vào các vật chứa cho trước. Thao tác tiếp theo
là vận chuyển các vật đựng đến đích. Tại đích, hàng hóa sẽ được đưa ra khỏi các
thiết bị vận chuyển và dỡ ra khỏi các vật chứa. Có thể thấy khi đóng gói hàng hóa
vào các vật chứa, mục tiêu hướng tới sẽ là đảm bảo để số vật chứa cần sử dụng là
nhỏ nhất. Ngược lại, trong quá trình vận chuyển, yêu cầu đặt ra là vận chuyển các
vật chứa để không ảnh hưởng, hỏng hóc các hàng hóa chứa bên trong.

Hình KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-3: Mô hình truyền tin 7 khối

Quá trình truyền tin cũng diễn ra tương tự như vậy. Trước khi truyền tin, cần tìm
cách đóng gói các thông tin cần truyền với một lượng tài nguyên tối thiểu. Trong quá
trình truyền tin, mục tiêu sẽ là đảm bảo để thông tin bị ảnh hưởng các ít các tốt trong
quá trình vận chuyển thông tin. Có thể sử dụng các phương pháp phát hiện thông tin
lỗi, sửa thông tin hỏng, truyền lại các thông tin bị hỏng, ..v..v... Phân tích trên dẫn
đến việc biểu diễn hệ thống truyền tin bằng mô hình 7 khối như trong Hình KHÁI
NIỆM VỀ HỆ THỐNG TRUYỀN TIN-3. Trong mô hình này chúng ta không quan tâm
đến vấn đề truyền nhận vật mang thông tin (truyền nhận tín hiệu, dữ liệu).

Trong mô hình này, trước khi được truyền lên kênh truyền tin, thông tin được biểu
diễn một cách tối ưu nhất, sử dụng lượng tài nguyên tối thiểu. Quá trình này được
gọi là quá trình nén dữ liệu. Tất nhiên tại điểm đến của thông tin, cần thực hiện quá
trình ngược lại là quá trình giải nén dữ liệu. Việc nén dữ liệu chủ yếu dựa vào tính
chất, đặc điểm của nguồn tin từ đó đưa ra cách thức biểu diễn tối ưu nhất. Chính vì
vậy, nén dữ liệu còn được gọi là mã hóa nguồn, giải nén gọi là giải mã nguồn.

4
Sau khi đã được biểu diễn một cách tối ưu, thông tin cần được bảo vệ khi truyền
qua kênh truyền tin. Quá trình biến đổi này phụ thuộc vào tính chất của kênh truyền
tin. Nếu kênh truyền tin có tính chất nhiễu tác động mạnh đến thông tin, khi đó sẽ
cần lượng tài nguyên lớn để thực hiện các biện pháp bảo vệ thông tin. Nếu nhiễu có
tác động yếu đến thông tin, khi đó có thể lựa chọn các giải pháp ít tốn kém tài
nguyên hơn để bảo vệ thông tin. Bộ phận thực hiện nhiệm vụ này được gọi là bộ
phận mã hóa chống nhiễu. Vì việc mã hóa chống nhiễu chỉ phụ thuộc vào kênh
truyền tin do đó bộ phận này còn được gọi là mã hóa kênh. Thành phần đối xứng
tương ứng được gọi là bộ phận giải mã kênh hay giải nén.

Mô hình 7 khối và 5 khối trong các hình vẽ trên phản ánh tính chất của một hệ thống
truyền tin chưa quan tâm đến khía cạnh tín hiệu hoặc dữ liệu. Kênh truyền tin trong
mô hình 7 khối thực chất không quan tâm đến biểu diễn tín hiệu của thông tin. Có
thể kết hợp các mô hình này để tạo thành mô hình 9 khối (Hình KHÁI NIỆM VỀ HỆ
THỐNG TRUYỀN TIN-4: Mô hình hệ thống truyền tin 9 khối).

Hình KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-4: Mô hình hệ thống truyền tin 9 khối

Trong các mô hình nói trên, hầu hết các thành phần của hệ thống đều có tính chất
xác định: khi biết đầu vào, chắc chắn sẽ xác định được đầu ra. Riêng 2 thành phần
là nguồn tin và kênh truyền tin, không bao giờ có thể xác định được trước thông tin
mà các thành phần này sẽ sản sinh ra. 2 thành phần này được gọi là 2 yếu tố bất
định của hệ thống truyền tin. Việc nghiên cứu, đánh giá các thành phần này chủ yếu
dựa vào các mô hình xác suất thống kê

BÀI 6. Mô hình nguồn tin


Nguồn tin là tập hợp những tin nguyên thủy (chưa qua một phép biến đổi nhân tạo
nào) ví dụ như tiếng nói, âm nhạc, hình ảnh, các biến đổi khí tượng … Các tin
nguyên thủy phần nhiều là những hàm liên tục theo thời gian f (t ) hoặc là những
hàm biến đổi theo thời gian và một hoặc nhiều thông số khác như hình ảnh đen
trắng h( x, y, t ) , trong đó x, y là các toạ độ không gian của hình, hoặc như các thông

5
tin khí tượng: g (li , t ) trong đó li , (i = 1, 2,..., n) là các thông số khí tượng như nhiệt
độ, độ ẩm tốc độ gió…

Thông thường các tin nguyên thủy mang tính chất liên tục theo thời gian và theo
mức, nghĩa là có thể biểu diển một thông tin nào đó dưới dạng một hàm s (t ) tồn tại
trong quãng thời gian T và lấy các giá trị bất kỳ trong phạm vi ( smin , smax )

Những tin nguyên thủy có thể đưa trực tiếp vào kênh để truyền đi. Cũng có thể bằng
những phép biến đổi nhân tạo như rời rạc hoá theo thời gian và theo mức rồi đưa
vào kênh truyền. Lúc này tin trước khi vào kênh đã trở thành tin rời rạc. Nguồn tin
lúc này gọi là nguồn tin rời rạc và kênh tin được gọi là kênh tin rời rạc để phân biệt
với trường hợp đưa tin liên tục vào kênh gọi là nguồn tin liên tục và kênh tin liên tục.
Bảng chữ của một ngôn ngữ, các tin trong hệ thống điện tín, các lệnh điều khiển
trong hệ thống điều khiển là những tin nguyên thủy có tính chất rời rạc.

Sự phân biệt về bản chất của nguồn rời rạc với nguồn liên tục là số lượng các tin
trong nguồn rời rạc là hữu hạn và số lượng các tin trong nguồn liên tục không đếm
được.

Nói chung các tin rời rạc, hoặc nguyên thủy rời rạc, hoặc nguyên thủy liên tục đã
được rời rạc hoá, trước khi đưa vào kênh thông thường đều qua thiết bị mã hoá.
Thiết bị mã hoá biến đổi táp hợp tin nguyên thủy thành tập hợp những tin thích hợp
với đặc điểm cơ bản của kênh như khả năng cho qua (thông lượng), tính chất tín
hiệu (dạng, cấu trúc phổ, tính thống kê…) và tạp nhiễu. Tóm lại mã hoá là phép biến
đổi tính thông kê và tính chống nhiễu của nguồn tin.

Một bảng các tin xuất phát từ một nguồn tin nào đó đều phản ánh tính chất thống kê
của nguồn đó. Bảng tin càng dài sự phản ánh càng trung thực. Chúng ta có thể xem
một bảng tin cụ thể là một thể hiện cụ thể của một nguồn. Vì tại một thời điểm xác
định nguồn có thể tạo ra một tin ngẫu nhiên đối với người quan sát, nên theo quan
điểm toán học có thể xem nguồn tin (nguồn tạo ra các tin) là cấu trúc thống kê của
một quá trình ngẫu nhiên. Như vậy để xác định một nguồn tin, hay nói cách khác để
xác định cấu trúc thống kê của một quá trình ngẫu nhiên, chúng ta cần phải biết
được các quy luật thống kê qủa quá trình.

Trường hợp một nguồn rời rạc, bảng tin là một dãy các ký hiệu kế tiếp của một bộ
chữ (bộ ký hiệu ) gồm một số m ký hiệu có hạn gọi là bộ chữ A:

A = { ai } , i = 1, 2,..., m.

Bảng tin là một dãy vô hạn hay hữu hạn ở hai phía:

x = ( ...x-2 x-1 x0 x1 x2 ...)

x-2 x-1 x0 x1 x2 ... là ký hiệu ai , i = 1, 2,..., m bất kỳ của bộ chữ A được phát đi ở thời điểm
t-2 , t-1 , t0 , t1 , t2 ...

6
Trong thực tế bảng tin có bắt đầu và kết thúc cho nên bảng tin là một dãy các ký
hiệu hữu hạn:

x* = ( x1 x2 ...xn )

x* được gọi là một khối n chiều với các đặc tính thống kê của chúng sẽ xác địng cấu
trúc thống kê của nguồn tin. Nói cách khác biết được tập hợp các x* (ký hiệu bằng
X) và xác suất xuất hiện của các bảng tin p ( x* ) sẽ quyết định được tính chất thống
kê của nguồn. Do vậy trong trường hợp này nguồn tin là một trường xác xuất hữu
hạn { X * , p ( x* ) } . Trong một trường hợp hẹp hơn, nếu xác suất xuất hiện các ký
hiệu trong bảng tin độc lập với nhau, chỉ cần biết bộ chữ A và xác suất xuất hiện của
các ký hiệu p ( ai ) , ai �A cũng đủ để xác định tính chất thống kê của nguồn, lúc đó
nguồn là trường xác suất hữu hạn { A, p} , ( p viết tắt cho p ( ai ) , ai �A, i = 1, 2,..., m ).

Khi chúng ta rời rạc hóa một nguồn liên tục, chúng ta thay một thể hiện x ( t ) của
*
nguồn (một bảng tin liên tục) bằng một dãy hay một khối n chiều x nếu thời gian
quan sát là hữu hạn. Trong đó bộ chữ A của khối là tập hợp các giá trị lượng tử hoá
được của x ( t ) . Như vậy sự rời rạc hoá được thực hiện thông qua hai khâu: gián
đoạn hoá theo thời gian và lượng tử hoá theo mức.

Theo những điều đã trình bày ở trên nguồn tin có cấu trúc thống kê của một quá
trình ngẫu nhiên. Mỗi nguồn tin (quá trình ngẫu nhiên ) được xác định bởi một tập
giá trị x* và cấu trúc thống kê của chúng p ( x ) . Những nguồn tin thường gặp
*

thường có tính chất của một quá trình ngẫu nhiên dừng và nhiều khi lại có tính
ergodic. Đối với các nguồn tin ergodic mỗi thể hiện (mỗi bảng tin ) ghi nhận được
trong một thời gian đủ dài có thể tiêu biểu cho nguồn và chúng ta có thể căn cứ vào
một thể hiện để xác định cấu trúc thống kê của nguồn. Điều này có một ý nghĩa
quan trọng trong thực tiễn.

Để nghiên cứu định lượng nguồn tin cũng như hệ thống truyền tin, chúng ta có thể
mô hình hoá toán học nguồn tin bằng bốn loại quá trình ngẫu nhiên sau :

- Quá trình ngẫu nhiên liên tục: Nguồn tiếng nói, âm nhạc, hình ảnh là tiêu biểu cho
quá trình này. Trong các hệ thống thong tin thoại, truyền thanh truyền hình với các
tín hiệu điều biên, điều tần thông thường chúng ta gặp các nguồn như vậy.

- Quá trình ngẫu nhiên rời rạc: Một quá trình ngẫu nhiên liên tục sau khi được lượng
tử hoá theo mức sẽ trở thành quá trình này. Một ngôn ngữ, tín hiệu điện tín, các lệnh
điều khiển là nguồn rời rạc loại này.

- Dãy ngẫu nhiên liên tục: Đây là trường hợp một nguồn liên tục đã được gián đoạn
hoá theo thời gian, như thường gặp trong các hệ thông tin xung điều biên xung
(PAM - Pulse Amplitude Modulation), điều pha xung (PPM), điều tần xung (PFM)…

7
- Dãy ngẫu nhiên rời rạc: Trong các hệ thống thông tin xung có lượng tử hoá như
điều biên (pha , tần) xung lượng tử hoá, điều xung mã (PCM).

BÀI 7. Mô hình kênh truyền tin


Kênh tin có thể được xem xét theo nhiều góc độ. Ở góc độ truyền các tin hiêu, kênh
tin được coi là một hệ thống biến đổi tín hiệu với các đặc trưng tần số và đặc tính
xung. Các đại lượng để đánh giá kênh truyền tin trong trường hợp này sẽ là các đại
lượng như: giải thông; độ trễ; độ suy hao; độ méo và sự thay đổi của của đại lượng
đó. Ở góc độ truyền thông tin cần mô hình hoác các đặc điểm của kênh truyền tin
khi truyền một thông tin đầu vào thành một thông tin đầu ra. Các đại lượng để đánh
giá trong trườn hợp này sẽ là tỷ suất lỗi, tốc độ truyền tin, thông lượng kênh, ....

Mặc dù có rất nhiều loại môi trường truyền tin khác nhau, tuy nhiên trong thực tế
thường sử dụng các loại môi trường truyền tin sau đây:

- Dây dẫn đôi

- Dây dẫn đồng trục

- Cáp quang

- Môi trường truyền tin không dây

Các môi trường truyền tin này được đặc trưng bởi các tính chất như: Băng thông,
Độ trễ/sự thay đổi của độ trễ, độ suy hao, méo, nhiễu. Bảng sau liệt kê thông số của
một số loại môi trường truyền tin
Bảng KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-2: Một số môi trường truyền tin thông dụng

Giải thông Suy hao Trễ


Dây dẫn đôi 4kHz-1MHz Lớn Lớn
Dây dẫn 500MHz Lớn Lớn
đồng trục 1GHz
Cáp quang Rất lớn Không đáng Không đáng
kể kể
Không dây 2.4-5GHz Thay đổi Thay đổi

Mô hình tín hiệu của kênh truyền tin

Khi quan tâm đến việc tín hiệu truyền qua kênh truyền tin như thế nào, kênh truyền
tin được đặc trưng bởi đặc tính tần số và đặc tính xung. Trong miền thời gian, tín
hiệu đầu ra được xác định bằng tích chập của tín hiệu đầu vào và đặc tính xung. Cụ
thể là:

Sr ( t ) = N n ( t ) Sv ( t ) * H (t ) + N c ( t )

Trong đó là tín hiệu nhận được ở đầu ra, là tín hiệu đầu vào, là đặc tính
xung, là phép nhân chập được định nghĩa:

8

S ( t) * H ( t) = S ( t - t ) H ( t ) dt

-�

Thành phần là các tín hiệu do các nguồn tin khác truyền vào kênh truyền tin,
được gọi là nhiễu cộng do tính chất cộng vào đầu ra của nó. Nhiễu cộng có thể có
nguồn gốc bất kỳ, do đó thông thường nhiễu cộng bao trùm miền tần số lớn, và có
phổ công suất đều. Do đó nhiễu cộng còn được gọi là nhiễu trắng.

Thành phần phản ánh sự thay đổi tính chất của kênh truyền tin theo thời gian,
ảnh hưởng đến tín hiệu đầu ra bằng hệ số khuếch đại, do đó gọi là nhiễu nhân.
Nhiễu nhân thường thay đổi chậm hơn so với nhiễu cộng. Trong các hệ thống truyền
tin thực tế thường người ta chỉ xem xét nhiễu nhân.

Mô hình tín hiệu của kênh truyền tin thích hợp khi thao tác với các tín hiệu. Trường
hợp muốn nghiên cứu, phân tích đánh giá kênh truyền tin về mặt thông tin, mô hình
tín hiệu sẽ đem lại những tính toán không cần thiết. Do đó trong các trường hợp này
thường sử dụng mô hình thông tin của kênh truyền tin. Mô hình này chỉ quan tâm
đến việc có xuất hiện hay không xuất hiện các thông tin được xem xét với các điều
kiện của kênh truyền tin đã được “thông tin hóa”.

Xét một ví dụ về kênh truyền tin, đầu vào có thể phân biệt 2 ký hiệu 0 và 1, đầu ra
cũng có thể sản sinh ra 2 ký hiệu 0 và 1. Trong trường hợp lý tưởng, nếu kênh
không có nhiễu, khi ký hiệu 0 được truyền đi, trong tất cả các trường hợp đều nhận
được ký hiệu 0. Tương tự như vậy, xác suất nhận được ký hiệu 1 khi gửi ký hiệu 1
đi là 100%. Xác suất để kênh nhầm lẫn, nhận được 0 khi gửi 1 và nhận được 1 khi
gửi 0 là 0%. Trường hợp kênh có nhiễu, sẽ có khả năng kênh nhầm lẫn, đưa ra ký
hiệu 0 ở đầu ra khi nhận được ký hiệu 1 hoặc ngược lại. Tính chất nhiễu, mức độ
nhầm lẫn của kênh được phản ảnh bởi các xác suất này. Như vậy, tác động tính
chất điện, tính chất nhiễu của kênh được tổng hợp thông qua các xác suất nhận
được một ký hiệu khi gửi một ký hiệu khác. Các xác suất này được gọi là xác suất
chuyển đổi. Trong ví dụ nói trên, kênh truyền tin được biểu diễn bởi 4 xác suất.

P ( Y = 0 | X = 1) = P(Y = 1 | X = 0) = p
P(Y = 1 | X = 1) = P(Y = 0 | x = 0) = 1 - p

Hình KHÁI NIỆM VỀ HỆ THỐNG TRUYỀN TIN-5: Kênh nhị phân đối xứng

Trong trường hợp tổng quát, nếu đầu vào và đầu ra của kênh đều là các nguồn tin
rời rạc. Nếu đầu vào có m tin và đầu ra có n tin thì khi đó tính chất của kênh được
biểu diễn bởi các xác suất chuyển đổi và được gọi là ma trận nhiễu của kênh.

Trở lại với ví dụ về kênh có đầu vào và đầu ra là 0 và 1, trường hợp lý tưởng xác
suất chuyển đổi 0 thành 0 và 1 thành 1 là 1, 0 thành 1 và 1 thành 0 là 0. Một trường

9
hợp lý tưởng khác, xác suất chuyển đổi 1 thành 0 là 1 và 0 thành 1 là 0, khi nhận
được ký hiệu nào ở đầu ra cũng có thể xác định được ký hiệu đầu vào. Trường hợp
xấu nhất, cả 4 xác suất đều bằng ½, khi đó nhận được ký hiệu 0 hay 1 ở đầu ra
cũng không thể xác định được đã gửi đi ký hiệu nào ở đầu vào.

10
BÀI 8. CÁC PHÉP BIẾN ĐỔI THÔNG TIN

BÀI 9. Độ đo thông tin


Trong những mục về sau của phần lý thuyết thông tin, chúng ta sẽ khảo sát lượng
đo thông tin của các đại lượng một cách chi tiết hơn. Ở đây chúng ta chỉ nêu ra một
khái niệm ban đầu về lượng tin nhằm vật thể hóa thông tin, và cho chúng ta một
phương tiện để có thể so sánh định lượng các thông tin với nhau. Từ đấy cũng giúp
cho chúng ta dễ nhận thức hơn những chỉ tiêu chất lượng đề ra trong khi xây dựng
các phương pháp xử lý thông tin (ví dụ phép mã hóa).

Độ đo (Metric) của một đại lượng một giá trị số cho phép xác định độ lớn của đại
lượng đó. Một độ đo phải thỏa mãn 2 tính chất:

- Độ đo không âm.

- Phản ánh thực tế: Đại lượng cần đo càng có ý nghĩa thì giá trị của độ đo càng
lớn.

- Tuyến tính: Độ đo của 2 thực thể phải bằng tổng của 2 độ đo nếu ý nghĩa của
chúng là độc lập.

Để xác định độ đo thông tin, chúng ta nhận thấy rằng thông tin càng có ý nghĩa khi
nó càng hiếm gặp, nên độ lớn của nó phải tỷ lệ nghịch với xác suất xuất hiện của tin.
Ví dụ điểm số 7/10 cho một thông tin kém ý nghĩa hơn điểm số 70/100, xác suất
xuất hiện của điểm sổ 7/10 là 1/11 lớn hơn nhiều so với xác suất xuât hiện của điểm
số 70/100/ Vậy độ đo thông tin phải là một hàm tỷ lệ nghịch với xác suất xuất hiện
tin, hay nó là hàm f (1/ p ( xi )) cho tin xi có xác suất xuất hiện p( xi ) .

Một tin không cho chúng ta lượng tin nào khi chùng ta đã biết trýớc về nó hay nó có
xác suất (lớn nhất) bằng 1. Ðể xác ðịnh dạng hàm này, chúng ta sử dụng tính chất
thứ 3 của ðộ ðo. Chúng ta giả sử rằng có hai tin xi và x j là độc lập thống kê để mỗi
tin không chứa thông tin về tin còn lại. Nếu hai tin có xác suất xuất hiện là p( xi ) và
p ( x j ) , lượng tin của mỗi tin sẽ là f (1/ p ( xi )) , f (1/ p ( x j )) . Giả sử hai tin này cùng

đồng thời xuất hiện, ta có tin ( xi , x j ) , lượng tin chung của chúng phải bằng tổng
lượng tin của từng tin. Khi hai tin đồng thời xuất hiện, xác suất xuất hiện đồng thời
của chúng là p( xi , x j ) , và ta có :

f (1 / p( xi , x j )) = f (1 / p ( xi )) + f (1 / p ( x j ))

Vì hai tin độc lập thống kê nên:

p ( xi , x j ) = p ( xi ). p( x j )

Vậy:

11
� 1 � �1 � � 1 �
f� = f + f
�p( x ). p( x ) �
� �p( x ) � � �p( x ) �

� i j � � i � � j �

1
Trong trường hợp này, hàm f phải là hàm dạng loga. Vậy hàm log là dạng
p ( xi )
hàm có thể chọn làm độ đo thông tin. Ta cần kiểm tra tính không âm của hàm này. Vì
0 �p( x) �1 , nên 1/ p ( xi ) �1 hay log (1/ p( xi )) không âm.

Thêm nữa khi một tín hiệu luôn luôn xuất hiện thì lượng tin nhận được khi này bằng
không, ta cần kiểm tra điều kiện này. Rõ ràng khi p( xi ) = 1 thì log(1 / p( xi )) = 0 .

Vậy hàm log(1 / p( xi )) được chọn làm độ đo thông tin của một tin của nguồn. Lượng
đo thông tin của một tin xi của nguồn thường được ký hiệu là I ( xi ) :

I ( xi ) = log(1 / p( xi ))

Tùy vào cơ số của hàm loga này ta sẽ có các đơn vị đo độ lớn thông tin xác định.

Nếu cơ số là 2, đơn vị của độ đo là bít:

I ( xi ) = log 2 (1 / p ( xi ) ) (bit )

Nếu cơ số là e, đơn vị của độ đo là nat

I ( xi ) = ln(1 / p ( xi ) ) (nat )

Nếu cơ số là 10, đơn vị của độ đo là Hartley

I ( xi ) = lg (1 / p ( xi ) ) (bit )(hartley )

Hiện nay người ta thường dùng đơn vị đo là bit với cơ số của loga là 2 khi làm việc
với các hệ thống xử lý thông tin rời rạc. Với các hệ thống xử lý thông tin liên tục,
hoặc khi cần tính đạo hàm, đơn vị nat với cơ số tự nhiên là lựa chọn phù hợp. Cơ số
10 với đơn vị Hartley chỉ có ý nghĩa lịch sử.

BÀI 10. Mã hóa


Mã hoá là một phép biến đổi cấu trúc thống kê của nguồn. Phép biến đổi ấy tương
đương trên quan điểm thông tin, và nhằm mục đích cải tiến các chỉ tiêu kỹ thuật của
hệ thống truyền tin, tức là giải quyết hai vấn đề cơ bản trong truyền tin. Với khái
niệm mã hoá như trên, thì phép rời rạc hoá là một ví dụ mã hoá đơn giản, biến đổi
tin liên tục ở đầu vào thành một lớp tương đương tin rời rạc ở đầu ra. Chúng ta luôn
lưu ý là tương đương ở đây cớ nghĩa là phép biến đổi không thay đổi lượng tin. Ví
dụ chúng có một nguồn tin có bốn tin đẳng xác suất với sơ đồ thông kê như sau:

12
�a1a2 a3 a4 �
A = �1 1 1 1 �

� �

�4 4 4 4 �

Lượng tin I (ai ) chứa trong một tin của A bằng: I (ai ) = 1.(-log1 / 4) = 2 bit

Bằng một phép mã hóa như sau:

a1 � b1b1
a2 � b1b2
a3 � b2b1
a4 � b2b2

Chúng ta đổi thành một nguồn tin mới gồm có hai ký hiệu đẳng xác suất:

�b1b2 �
B= 1 1�


� � �
�2 2 �

Lượng tin chứa trong một tin của B cũng vẫn bằng lượng tin chứa trong tin tương
ứng của A ví dụ tin b1b1 tương ứng với tin a1 trong A.

Một phép biến đổi thông tin như vậy còn gọi là phép biến đổi bảo toàn lượng tin.

Có thể tổng quát hóa ví dụ trên thành bài toán mã hóa nguồn tin rời rạc với m tin,
bảng tin có chiều dài n. Cần biến đổi nguồn tin thành một nguồn tin khác với m’ tin
các bảng tin có chiều dài n’. Để có thể biểu diễn nguồn tin, cần có m’*n’ các bộ so
sánh. Tính chất bảo toàn lượng tin được thể hiện bằng quan hệ:

mlogn = m 'logn '

Bằng đạo hàm có thể thấy 2 giá trị thích hợp của m’ là 2 và 3. Đây cũng là một lý do
giải thích tại sao các hệ thống thông tin số lại sử dụng cơ số 2 để biểu diễn các
thông tin.

BÀI 11. Rời rạc hóa nguồn liên tục


Trong các hệ thống truyền tin mà đầu cuối (đầu thu) là những thiết bị xử lý thông tin
rời rạc(ví dụ máy tính số) như các hệ thống truyền số liệu, hay là các hệ thống thông
tin chuyển tiếp điều mã xung, nguồn tin có thể là rời rạc hoặc liên tục. Nếu các
nguồn tin là liên tục, nhất thiết trước khi đưa tin vào kênh phải thông qua một phép
biến đổi liên tục thành rời rạc. Sau đó sẽ áp dụng các phương pháp mã hoá để đáp
ứng được các chỉ tiêu kỹ thuật của hệ thống truyền tin cụ thể.

Phép biến đổi nguồn tin liên tục thành rời rạc gồm hai khâu cơ bản: một là khâu rồi
rạc hoá theo thời gian hay còn gọi là khâu lấy mẫu, hai là khâu lượng tử hoá theo

13
mức viết tắt lượng tử hóa). Cơ sở lý thuyết của phép biến đổi này gồm các định lý
lấy mẫu và luật lượng tử hoá.

Lấy mẫu

Lấy mẫu một hàm tin, có nghĩa là trích từ hàm đó ra các mẫu tại những thời điểm
thời gian nhất định. Nói một cách khác thay hàm tin liên tục bằng một hàm rời rạc là
những mẫu của hàm trên lấy tại những thời điểm gián đoạn. Vấn đề đặt ra ở đây là
xét các điều kiện để cho sự thay thế đó là một sự thay thế tương đương (tương
đương ở đây là về ý nghĩa thông tin, nghĩa là hàm thay thế không bị mất mát thông
tin so với hàm được thay thế).

Một cách trực quan, tín hiệu hình sin được đặc trưng bởi 3 thông số: biên độ, tần số,
góc pha. Sau khi lấy mẫu số mẫu trong một chu kỳ phải đảm bảo đủ để xác định 3
thông số nói trên. Như vậy trong một chu kỳ cần có tối thiểu 3 mẫu, hay nói cách
khác, tần số lấy mẫu phải lớn hơn 2 lần tần số của tín hiệu hình sin. Trường hợp tần
số lấy mẫu nhỏ hơn, sẽ có những hình sin khác có tần số nhỏ hơn có các giá trị mẫu
tương tự. Như vậy nếu lấy mẫu với tần số nhỏ hơn tần số lấy mẫu tối thiểu, ngoài
việc không phản ánh được chính xác tín hiệu hình sin, còn tạo ra một số các thông
tin thứ cấp khác ảnh hưởng đến các tín hiệu hình sin khác.

Tổng quát, với tín hiệu bất kỳ, để có thể lấy mẫu chính xác, tần số lấy mẫu phải lớn
hơn 2 lần tần số của thành phần có tần số lớn nhất.

Một cách hình thức hơn. một hàm s(t) có phổ hữu hạn, không có thành phần tần số
lớn hơn w max có thể được thay thế bằng các mẫu của nó lấy tại những thời điểm
cách nhau một khoảng Dt �p / w max

Lượng tử hóa

Kết quả của quá trình lấy mẫu là một chuỗi các giá trị liên tục. Các giá trị này chưa
thể lưu trữ trong máy tính. Để có thể lưu trữ trong các hệ thống thông tin số, cần ánh
xạ các giá trị này về các giá trị nguyên. Quá trình này gọi là quá tình lượng tử hóa.
Giả sử hàm s(t) là một thể hiện của một nguồn tin liên tục, có biên độ biến đổi liên
tục trong phạm vi ( smin , smax ) . Ta phân chia phạm vi đó thành một số mức nhất định
đánh số các mức từ smin = s0 , s1 , s2 ,..., sn = smax . Việc gián đoạn hóa sự biến đổi biên độ
của s(t) là cho biên độ lấy mức si nhất định khi nó tăng hoặc giảm gần đến mức đó.
Như vậy s(t) sẽ trở thành một hàm biến đổi theo bậc thang gọi là hàm lượng tử hóa
s’(t). Khi số thứ tự các mức đã có quy ước trước, việc gửi đi một hàm liên tục trở
thành gửi đi những con số ở những thời điểm tương ứng.Theo các con số đó có thể
dễ dàng khôi phục lại hàm lượng tử hoá s’(t). Sự chọn lựa các mức thích đáng sẽ
làm giảm sự khác nhau giữa s’(t) và s(t), gọi là sai số lượng tử, đồng thời giảm sai
nhầm trong quá trình truyền tin.

14
Với phép lượng tử hoá, nguồn tin liên tục trở thành rời rạc với bộ chữ A là tập hợp
hữu hạn các mức lượng tử. Một tin (bảng ghi) gửi đi của nguồn sẽ trở thành một dãy
hữu hạn các mức (dưới dạng các con số hoặc các ký hiệu).

Một nguồn tin liên tục sau khi được lấy mẫu và lượng tử hóa sẽ trở thành một nguồn
rời rạc. Trong quá trình truyền tin sự tồn tại của tạp nhiễu gây tổn thất thông tin là
một điều hiển nhiên. Do vậy sự phân biệt giữa các mức của các trị tức thời của tin
s (t ) đều bị giới hạn bởi ảnh hưởng của tạp nhiễu lớn hoặc bé. Nếu chúng ta cho trị
bé nhất của s (t ) là mức mà ở đầu thu còn có thể phân biệt được trong nền tạp
nhiễu, thì mức đó gọi là mức ngưỡng và phải thoả mãn ðiều kiện lớn hõn mức tạp
nhiễu trong kênh. Nhý vậy ðể phân biệt ðýợc hai trị tức thời ở những mức kế cận
của s(t) cũng phải thoả mãn điều kiện như vậy, nghĩa là chúng phải lớn hơn nhau
một đại lượng lớn hơn hoặc bằng mức ngưỡng, nói cách khác bước lượng tử tối
thiểu phải lớn hơn mức tạp nhiễu trong kênh. Khi đã thoả mãn điều kiện này rồi,
đứng về quan điểm thông tin nói, việc rời rạc hóa nguồn tin liên tục hoàn toàn là một
phép biến đổi tương đương nghĩa là không gây một sự thiệt hại nào về thông tin.

Với quá trình lấy mẫu tần số , lượng tử hóa với mức, sau khi lấy mẫu, trong mỗi
đơn vị thời gian sẽ có , giá trị nguyên, mỗi giá trị nguyên cần bít để biểu
diễn, như vậy cần bít trong một đơn vị thời gian để có thể biểu diễn chính
xác nguồn tin. Đây chính là số đo lượng tài nguyên tối thiểu để biển diễn, lưu trữ,
truyền nguồn tin ban đầu đi sau khi đã được rời rạc. Giá trị này càng lớn, nguồn tin
rời rạc càng phản ánh chính xác nguồn tin ban đầu. Tuy nhiên, điều này cũng tương
đương với việc chi phí lưu trữ, truyền, xử lý nguồn tin sẽ tăng lên.

Tín hiệu tiếng nói có phổ tần số từ 0 đến 4000 Hz. Sai số chấp nhận được khi lượng
tử hóa là 1/100. Như vậy để rời rạc hóa nguồn tin tiếng nói sẽ cần =
56000 bit. Để truyền một nguồn tin rời rạc này sử dụng các xung, giải thông tối thiểu
là 28kHz. Tuy nhiên, khi truyền thông tin bằng các tín hiệu rời rác, nếu tín hiệu bị suy
hao, các bộ lặp sẽ tái tạo lại các thông tin ban đầu, loại bỏ hoàn toàn ảnh hưởng của
nhiễu. Ngược lại, với các nguồn tin liên tục, khi tín hiệu suy hao, các bộ khuếch đại
sẽ khuếch đại các nhiễu và tín hiệu. Do đó tỷ lệ nhiễu sẽ càng ngày càng tăng lên.
Mặt khác, bộ lặp có độ trễ cao hơn so với bộ khuếch đại, do đó ảnh hưởng nhiều
hơn đến các tính chất thời gian thực của thông tin.

BÀI 12. Điều chế và giải điều chế


Trong các hệ thống truyền tinh liên tục, các tin hình thành từ nguồn tin liên tục được
biến đổi thành các đại lượng điện (áp, dòng) và chuyển vào kênh ví dụ như trường
hợp điện thoại trong thành phố. Khi muốn chuyển các tin ấy qua một cự ly lớn, phải
cho qua một phép biến đổi khác gọi là điều chế. Điều chế có nghĩa là chuyển thông
tin thành một dạng năng lượng thích hợp với môi trường truyền lan, trong đó dạng
năng lượng được dùng ít bị tổn hao và ít bị biến dạng do tác động của nhiễu. Thực
chất của phép điều chế là biến đổi một hoặc nhiều năng lượng đã chọn theo quy luật
đặc trưng của thông tin. Ví dụ sự thông thoại giữa các thành phố với nhau được
thực hiện bằng các đường tải ba, trong đó quy luật thông tin điều khiến sự biến đổi

15
của một thông số (biên độ, tần số) của năng lượng dòng điện xoay chiều tần số thấp
(vào khoảng vài chục KHz). Thông tin với cự ly xa hơn sẽ được thực hiện bằng các
đường thông tin vô tuyến điện, ở đây quy luật thông tin điều khiển một hoặc nhiều
thông số của năng lượng trường điện từ cao tần.

Đối với các hệ thống truyền tin rời rạc, quy luật mã hiệu điều khiển một hoặc nhiều
thông số của năng lượng được dùng để mang tin. Ví dụ trong trường hợp điện báo
thông thường, quy luật mã hiệu điều khiển biên độ dòng một chiều. Với các dạng
năng lượng khác như dòng điện xoay chiều hay sóng điện từ, chúng ta sẽ có các hệ
thống truyền tin bằng điện báo tải ba hoặc thông tin vô tuyến điện điều chế mã.

Phép điều chế ,ngoài việc chọn năng lượng thích hợp với sự truyền lan trong môi
trường (sóng điện từ) còn có nhiệm vụ là tuỳ theo tính chất của tạp nhiễu trong kênh
mà xây dựng một hệ thống tín hiệu có độ phân biệt với nhau rõ ràng, để quá trình
giải điều chế có thể dễ dàng hơn dù tín hiệu có bị tạp nhiễu biến dạng đi phần nào.

Các phương pháp điều chế thường dùng đối với tin liên tục là điều chế biên độ (AM
- Amplitude Modulation), điều chế đơn biên (SSB-Single Side Bande), điều chế tần
số (FM - Frequency Modulation) và điều chế góc pha (PM – Phase Modulation) cao
tần. Để tăng tính chống nhiễu người ta còn dùng đến những phương pháp điều chế
kép. Ngoài phép điều chế cao tần có thêm một điều chế phụ như điều chế xung,
(điều chế các thông số của một dãy xung tuần hoàn, có chu kỳ lặp lại thoả mãn điều
kiện đã nêu ra trong định lý lấy mẫu) như điều chế góc pha xung (PPM - Pulse
Duration Modulation), điều chế tần số xung (PFM - Pulse Frequency Modulation) và
điều chế biên độ xung (PAM - Pulse Amplitude Modulation). Một phương pháp điều
chế phụ được thường dùng là điều chế mã xung (PCM - Pulse Code Modulation) và
điều chế delta (DM - Delta Modulation). Khi đó đã biến tin liên tục thành tin rời rạc và
việc điều chế cao tần hoàn toàn giống như trường hợp các hệ thống truyền tin rời
rạc.

Những năm gần đây, do sự phát triển của lý thuyết thông tin và lý thuyết tín hiệu,
người ta bắt đầu dùng các tín hiệu dải rộng (tín hiệu giả nhiễu, có phổ và hàm tương
quan giống nhiễu trắng). Một phương pháp điều chế được nghiên cứu và áp dụng
trong kỹ thuật thông tin một cách có hiệu quả là phương pháp điều chế giả nhiễu.

Đối với tin rời rạc, các phương pháp điều chế cao tần cũng giống như trường hợp
thông tin liên tục, nhưng làm việc gián đoạn theo thời gian, gọi là maníp hay khoá
dịch. Cụ thể có các phương pháp maníp biên độ (ASK - Amplitude Shift Key), maníp
pha (PSK - Phase Shift Key) và maníp tần số (FSK - Frequency Shift Key). Với
PSK và FSK còn có phương pháp maníp pha tương đối (DPSK - Differential PSK),
hoặc là điều chế pha khác với quy luật maníp (hằng số trong độ rộng một xung), ví
dụ luật tuyến tính hay bình phương trong độ rộng một xung. Điều chế nhiễu cũng
được dùng như một điều chế phụ đối với tin rời rạc để tăng cường tính chống nhiễu
của tín hiệu.

16
Giải điều chế là phép biến đổi ngược của phép điều chế, điều khác là tín hiệu vào
của thiết bị giải điều chế không phải chỉ là tín hiệu đầu ra của thiết bị điều chế, mà là
một hỗn hợp tín hiệu điều chế và tạp nhiễu. Nhiệm vụ của thiết bị giải điều chế là từ
trong hỗn hợp đó lọc ra được thông tin dưới dạng một hàm điện áp liên tục hoặc là
một dãy xung điện rời rạc giống như thông tin ở đầu vào thiết bị điều chế, với sai số
trong phạm vi cho phép.

Về phương pháp giải điều chế, nói cách khác phép lọc tin, tuỳ theo hỗn hợp tín hiệu
nhiễu và các chỉ tiêu tối ưu về sai số (độ chính xác) phải đạt được mà chúng ta có
các phương pháp lọc tin thông thường như tách sóng biên độ, tách sóng tần số,
tách sóng pha, tách sóng đồng bộ, lọc tin (xác định) liên kết (coherent), lọc tin bằng
phương pháp tương quan, lọc tối ưu…

17
CHƯƠNG II. XÁC SUẤT VÀ QUÁ TRÌNH NGẪU NHIÊN
Bài 1. Xác suất

I. Phép thử và sự kiện


Xác suất là đại lượng để đo khả năng xuất hiện của một sự kiện. Việc xác định một
sự kiện có thể xảy ra hay không được thực hiện bằng các phép thử. Các phép thử
có thể là lặp lại hoặc không lặp lại. Các phép thử lặp lại là các phép thử mà điều
kiện để thực hiện phép thử có thể thiết lập lại mà không ảnh hưởng đến kết quả của
phép thử. Trong xác suất thống kê chỉ quan tâm đến các phép thử lặp lại. Ví dụ: đo
điện trở của một mạch điện, đo điện áp, ...

Khi các phép thử lặp đi lặp lại, các kết quả thu được tạo thành một tập hợp các kết
quả có thể đạt được. Tập hợp này gọi là tập mẫu. Một sự kiện xảy ra khi kết quả của
phép thử thỏa mãn một tính chất nào đó. Một tính chất của các phần tử của tập hợp
có thể được biểu diễn bởi một tập con của tập hợp đó. Ngược lại, một tập hợp con
tương ứng với một tính chất của phép thử. Như vậy mối quan hệ giữa sự kiện và
tập hợp con là một quan hệ 1-1. Ví dụ khi gieomột con xúc xắc để mô tả cho định
nghĩa xác suất cổ điển. Gọi S = {1, 2,3, 4,5, 6} là tập các giá trị có thể xuất hiện (số
lượng các chấm trên xúc xắc). S được gọi là không gian kết quả của phép thử. Ta
gọi sự xuất hiện các giá trị của con xúc xắc khi gieo một hay nhiều xúc xắc là 1 sự
kiện.

Các phép toán trên sự kiện tương tự như các phép toán trên tập con. Cụ thể có thể
có các quan hệ saugiữa các sự kiện:

- Bù nhau: Ā = S \ A

- Loại trừ nhau: A �A = �; A �A = S

- Phép hợp hai sự kiện A  B = C

- Phép giao hai sự kiện A  B = C

Sự kiện A và Ā có tính chất là cùng một thời điểm chỉ có đúng một sự kiện xảy ra.
Các sự kiện như vậy gọi là các sự kiện loại trừ lẫn nhau. Mở rộng cho nhiều hơn 2
sự kiện. ta có: A1 , A2 , A3 , � An là các sự kiện loại trừ lẫn nhau nếu
n

UA i = S ; Ai �Aj = �" i �j
1

Các sự kiện một nguồn tin sinh ra một tin trong bảng tin tạo thành các sự kiện loại
trừ lẫn nhau.

18
II. Khái niệm xác suất
Xác suất của một sự kiện

Ký hiệu: xác suất sự kiện A là P(A) là khả năng xuất hiện sự kiện A khi thực hiện một
phép thử có liên quan đến A. Trong thống kê, xác suất được tính bằng công thức:

NA
P ( A ) = lim
N �� N

Trong đó N là số lần tiến hành phép thử, N A là số lần sự kiện A xuất hiện.

Từ công thức trên, một vài tính chất của xác suất trở thành hiển nhiên

0 �P ( A ) �1

P( S) =1

P ( �) = 0

P ( A �B ) = P ( A ) + P ( B ) ; A �B = �

Với các sự kiện loại trừ lẫn nhau A1 , A2 , A3 , � An ta có


n

�P( A ) = 1
1
i

Xác suất đồng thời

Sự kiện đồng thời của hai sự kiện A và B là sự kiện xuất hiện khi và chỉ khi A và B
xuất hiện. Xác suất của sự kiện đồng thời được gọi là xác suất đồng thồng của A và
B và ký hiệu là P( A, B ) hay P ( AB ) nếu có thể. Một vài tính chất của xác suất đồng
thời với các sự kiện loại trừ lẫn nhau A1 , A2 , A3 , � An và B1 , B2 ,...Bn

�P ( A , B ) = P ( B )
i =1
i j j

�P ( A , B ) = P ( A )
j =1
i j i

n m

��P ( A , B ) = 1
i =1 j =1
i j

Hai tính chất đầu tiên cho phép chuyển đổi từ xác suất riêng thành các xác suất
đồng thời và ngược lại.

19
Xác suất có điều kiện. Có nhiều trường hợp cấn xác định xác suất của các sự kiện
với điều kiện một hoặc nhiều sự kiện khác đã xảy ra. Khi có một sự kiện nào đó đã
xảy ra, khả năng xuất hiện của các sự kiện khác bị thay đổi. Xác suất xuất hiện trong
trường hợp này được gọi là xác suất có điều kiện P ( A | B ) - Xác suất để cho sự kiện
A xuất hiện với điều kiện là sự kiện B đã xuất hiện. Để tính xác suất này, giả định là
tiến hành N phép thử đồng thời với N rất lớn. Phép thử có điều kiện là phép thử thỏa
mãn điều kiện B xuất hiện. Như vậy số lượng các phép thử có điều kiện là N * P( B) .
Trong số các phép thử có điều kiện này, số lần sự kiện A xuất hiện là N * P ( A, B ) .
Xác suất có điều kiện P( A, B ) có thể được tính như sau :

P ( A, B ) * N P ( A, B )
P ( A|B ) = lim =
n�� P ( B) * N P ( B)

Nguyên lý xâu chuỗi :

P ( A1 , A2 , � An ) = P ( A1 |A2 , A3 , � An ) P ( A2 , A3 , � An )
= P ( A1 |A2 , A3 , � An ) P ( A2 | A3 , � An ) P ( A2 , � An )
= P ( A1 |A2 , A3 , � An ) P ( A2 | A3 , � An ) � P ( An )

Tính chất này được gọi là nguyên lý xâu chuỗi của xác suất.

Hai sự kiện độc lập thống kê là hai sự kiện mà việc xuất hiện hay không của một sự
kiện này không ảnh hưởng đến sự xuất hiện của sự kiện còn lại. Nói theo ngôn ngữ
xác suất:

P ( A) = P ( A|B ) � P ( A ) * P ( B ) = P ( A, B )

Mở rộng cho n sự kiện, A1 , A2 � An là độc lập thống kê khi và chỉ khi :


n
P ( A1 , A2 � An ) = �P( An )
1

III. Định lý Bayes


Trong một hệ thống truyền tin rời rạc, kênh truyền tin được biểu diễn bởi một ma
trận nhiễu. Đầu vào của hệ thống truyền tin được biểu diễn bởi một tập hocpj các sự
kiện loại trừ lẫn nhau, mỗi sự kiện tương ứng với việc nguồn tin gửi đi một tin trong
bảng tin. Đầu ra của hệ thống xác định bằng tập các sự kiện loại trừ lẫn nhau tương
ứng với các sự kiện đầu ra. Cụ thể:

A1 , A2 ,� An là các sự kiện đầu vào.

B1 , B2 ,� Bn là các sự kiện đầu ra.

Kênh truyền tin được biểu diễn bằng ma trận nhiễu bao gồm các xác suất chuyển
đổi từ một tin đầu vào thành một tin đầu ra, hay nói cách khác, chính là xác suất để

20
B j xảy ra khi Ai đã xảy ra. Ký hiệu P ( B j | Ai ) . Các xác suất này gọi là xác suất tiên
nghiệm.

Một quá trình truyền tin được xác định bởi phân bố thống kê đầu vào ( P ( Ai ) ) và tính
chất của kênh truyền tin P ( B j | Ai ) . Khi nhận được một sự kiện B j ở đầu ra, để có
thể xác định được các sự kiện nào đã xảy ra ở đầu vào, cần xác định các xác suất
P ( Ai | B j ) . Các xác suất này gọi là xác suất hậu nghiệm.

Để có thể giải bài toán thu tin trong trường hợp tổng quát, cần xác định được các
xác suất hậu nghiệm từ các xác suất tiên nghiệm và phân bố xác suất đầu vào, Điều
này được thực hiện bởi công thức Bayes :

P( Ai , B j ) P ( B j |Ai ) P ( Ai ) P ( B j |Ai ) P ( Ai )
P ( Ai |B j ) = = =
�P ( B |A ) P( A )
n n
P( B j ) �P( A , B )
1 k j 1 j k k

21
Bài 2. Biến ngẫu nhiên

I. Khái niệm biến ngẫu nhiên


Để có thể sử dụng các công cụ toán học trên các sự kiện, cần loại bỏ sự ràng buộc
của các kết quả thử nghiệm và tập mẫu với các giá trị tùy ý. Các giá trị tùy ý này cần
được ánh xạ về các giá trị số để có thể biểu diễn phép thử bằng các giá trị số với
các xác suất. Một biến có thể nhận các giá trị số với các xác suất khác nhau gọi là
biến ngẫu nhiên. Một biến ngẫu nhiên thường gắn với một phép thử.

Giả thiết rằng một phép thử có tập giá trị S và s là một phần tử của nó, s  S, chúng
ta sẽ định nghĩa một hàm X(s) có miền xác định là S và miền giá trị của nó là một
khoảng trên trục thực. Hàm X(s) được gọi là một biến ngẫu nhiên. Ví dụ như nếu
chúng ta tung một đồng xu có 2 mặt sấp (H) và ngửa (T), tập S={H,T}. ta định nghĩa
một hàm như sau:

�X ( S ) = 1 ; H

�X ( S ) = 0 ;T

Đây chính là một biến số ngẫu nhiên có thể lấy giá trị 1 hoặc 0 hoặc tùy theo kết quả
tung đồng tiền.

Có thể mở rộng cho các phép thử có số lượng kết quả hữu hạn. Mỗi kết quả Si sẽ
tương ứng với một giá trị thực xi . Biến ngẫu nhiên X(S) khi đó được biểu diễn bằng
tập các giá trị xi xuất hiện với các xác suất p( xi ) . Trường hợp này X(S) được gọi là
một biến ngẫu nhiên rời rạc, còn xác suất p( xi ) được gọi là phân bố thống kê của X.

X ( S ) = xi ; p ( xi )

Trong nhiều trường hợp vật lý, các thực nghiệm sẽ cho một biến có giá trị liên tục
như trong trường hợp đo điện áp nhiễu của bộ khuếch đại điện tử chẳng hạn. lúc
này tập giá trị S là liên tục và ta có thể định nghĩa hàm X ( s ) = s là một biến ngẫu
nhiên liên tục.

Giả thiết chúng ta đã có biến ngẫu nhiên X, và sự kiện để cho biến ngẫu nhiên X
nhỏ hơn một giá trị ( X �x ) sẽ có một xác suất xuất hiện nhất định:

FX ( x ) = P ( X �x ) , -��x ��

Hàm FX ( x ) được gọi là hàm phân bố xác suất của biến ngẫu nhiên X. Vì FX ( x ) là
xác suất xuất hiện nên giá trị của nó cũng nằm trong dải [0,1]; 0 �FX ( x ) �1 , đồng

22
thời FX ( -�) = 0, FX ( �) = 1 . Hàm này là một hàm không giảm. Hàm phân bố xác
suất của biến ngẫu nhiên liên tục là một hàm trơn, không giảm theo x.

Đạo hàm p(x) của hàm phân bố xác suất được gọi là hàm mật độ phân bố xác suất
của biến ngẫu nhiên X. vậy chúng ta sẽ có:

�FX ( x )
pX ( x ) =

x

Từ đó có :

p ( x ) dx = 1
� X
-�

u
p ( x ) dx = F
� X X (u )
-�

x2

p ( x ) dx = P( x
� X 1 �X �x2 )
x1

Với các biến ngẫu nhiên rời rạc, hàm mật độ phân bố xác suất được định nghĩa:
n
p X ( x ) = �p ( xi ) d ( x - xi )
1

Trong đó d ( t ) = 0, "t �0, �


d ( t ) dt = 1 là hàm xung chuẩn
-�

II. Biến ngẫu nhiên nhiều chiều


Đặc trưng thống kê của biến ngẫu nhiên nhiều chiều

Khi thực hiện đồng thời nhiều phép thử hay một phép thử phức tạp, để hình thức
hóa các phép thử này một biến ngẫu nhiên nhiều chiều. Phân bố thống kê của biến
ngẫu nhiên nhiều chiều này sẽ phản ánh sự liên hệ giữa các phép thử. Các kết quả
thu được sẽ được ánh xạ vào một bộ các giá trị thực X 1 ( S1 ), X 2 ( S 2 ), ... Hàm phân
bố xác suất và hàm mật độ phân bố xác suất của biến này được gọi là hàm phân bố
xác suất nhiều chiều và hàm mật độ phân bố xác suất nhiều chiều. Với biến ngẫu
nhiên hai chiều các đặc trưng thống kê trên được định nghĩa như sau:

Hàm phân bố xác suất:

FX1 X 2 ( x1 , x2 ) = P( X 1 �x1 , X 2 �x2 )

Hàm mật độ phân bố xác suất:

23
dFX1 X 2 ( x1 , x2 )
p X1 X 2 ( x1 , x2 ) =
dx1dx2

Các tính chất của biến ngẫu nhiên nhiều chiều:



p(x , x )dx
-�
1 2 1 = p( x2 )


p(x , x )dx
-�
1 2 2 = p ( x1 )

x1 x2

F ( x1 , x2 ) = P ( X 1 �x1 , X 2 �x2 ) = ��p(u , u


-�-�
1 2 )du1du 2

Hàm phân bố xác suất có điều kiện Xét 2 biến ngẫu nhiên X1 và X2 có hàm mật độ
phân bố xác suất đồng thời p(x 1,x2). Giả sử chúng ta muốn xác định xác suất để biên
ngẫu nhiên X1  x1 với điều kiện :

x2 - Dx2 < X2  x2

Trong đó Dx2 > 0. Điều đó có nghĩa là chúng ta muốn xac định xác suất của sự kiện:
(X1  x1|x2 - Dx2 < X2  x2). Xác suất của sự kiện: (X1 £x1 | x 2 - Dx 2 < X 2 £x 2 ) (X1  x1|x2
- Dx2 < X2  x2) sẽ bằng xác suất của sự kiện đồng thời :(X 1  x1,x2 - Dx2 < X2  x2)
chia cho xác suất của sự kiện (x2 - Dx2 < X2  x2)
x1 x2

��p(u , u )du du
-�x2 -Dx2
1 2 1 2
F ( x1 , x2 )-F ( x1 , x2 - Dx2 )
x2 - Dx2 < X 2 �x2 ) =
P ( X 1 �x1 � =
x2
F ( x2 ) - F ( x2 - Dx2 )
�p(u )du
x2 -Dx2
2 2

Chia cả tử số và mẫu số của cho Dx2 và lấy giới hạn khi Dx2  0 và nhận được:

�x1 x2 �
��� � p (u 1 , u 2 ) du1 du 2 �/ �
x2

F ( x1 , x2 ) / �x2 �-�-� �
X 2 =x2 ) = F ( x1�
P ( X 1 �x1 � x2 ) = = =
�F ( x2 ) / � x2 �x2 �
��� p (u2 )du2 �/ � x2
� -� �
x1

�p(u , x )du
1 2 1

= -�
p ( x2 )

Đây là hàm phân bố xác suất của biến ngẫu nhiên X 1 trong điều kiện biến X2 đã xác
định. Mặt khác F(-|x2) = 0 và F(|x2) = 1. Lấy đạo hàm của biểu thức trên theo x 1
được hàm mật độ phân bố xác suất tương ứng p(x 1,x2) như sau:

24
p ( x1 , x2 )
p ( x1 | x2 ) =
p ( x2 )

p ( x1 , x2 ) = p( x1 | x2 ) p ( x2 ) = p ( x2 | x1 ) p ( x1 )

Các biến ngẫu nhiên độc lập thống kê: Nếu các biến ngẫu nhiên là kết quả của
phép thử chung mà trong đó các phép thử không phụ thuộc lẫn nhau thì gọi là các
biến ngẫn nhiên độc lập thống kê. Trong trường hợp này, sự xuất hiện giá trị một
biến này không phụ thuộc và sự xuất hiện giá trị nào của tất cả các biến ngẫu nhiên
khác. Theo ngôn ngữ xác suất có :

F ( x1 , x2 �, xn ) = F ( x1 ) F ( x2 ) � F ( xn )
p ( x1 , x2 �, xn ) = p ( x1 ) p ( x2 ) � p ( xn )

III. Các giá trị trung bình


Xét biến ngẫu nhiên X được mô tả bởi hàm mật độ phân bố xác suất p(x). Trị trung
bình hay kì vọng toán học của X được định nghĩa như sau:
¥
E ( X ) = mx = �
xp( x)dx

Ở đây E[.] ký hiệu của toán tử kỳ vọng toán học (trung bình thống kê), nó cũng là
mômen cấp đầu tiên của biến ngẫu nhiên X. Một cách tổng quát, mômen cấp n
được định nghĩa như sau:


E(X n ) = �
n
x p ( x)dx
-�

(X - mx ) , ở đây mx là giá trị trung bình của X, thì:


n
Nếu Y =

¥
E (Y ) = E [ ( X - mx ) ] = �
n n
(x - m ) x p( x) dx

Giá trị này được gọi là mômen trung tâm cấp n của biến ngẫu nhiên X. Khi n=2 thì
mômen trung tâm được gọi là độ lệch trung bình bình phương hay sai phương của
biến ngẫu nhiên và được ký hiệu x2:

 x2 = �
(x - m ) x
2
p ( x )dx
-�

Chú ý rằng kỳ vọng toán học của một hằng số chính là hằng số đó, chúng ta thu
được:

25
 x2 =E ( X 2 ) - �
� �= E ( X ) - mx
E ( X )2 � 2 2

Trong trường hợp 2 biến ngẫu nhiên X 1 và X2 với hàm mật độ phân bố xác suất
đồng thời là p(x1,x2), mômen hợp được định nghĩa là:
� �
E ( X 1h X 2n ) = ��
h n
x x 1 2 p( x1 , x2 )dx1dx2
-�-�

và mômen trung tâm hợp:


� �
E[( X 1 - m1 ) ( X 2 - m2 ) ] = �� - m1 )k ( x2 - m2 ) n p( x1 , x2 )dx1dx2
k n
(x 1
-�-�

Ở đây mi = E ( X i ) . Đặc biệt quan trọng là mômen hợp và mômen trung tâm hợp
ứng với k = n = 1 . Các mômen hợp này được gọi là tương quan và hiệp biến giữa 2
biến ngẫu nhiên X 1 và X 2 .

Ma trận hiệp biến là ma trận có kích thước n �n và các thành phần là mij . Hai biến
ngẫu nhiên được gọi là không tương quan với nhau nếu
E ( X i X j ) = E ( X i ) E ( X j ) = mi m j . Trong trường hợp đó giá trị hàm hiệp biến mij = 0

Khi X i , X j độc lập thống kê với nhau thì chúgn không tương quan, nhưng ngược lại
nếu chúng không tương quan thì không nhất thiết là chúng sẽ độc lập thống kê với
nhau.

Hai biến ngẫu nhiên được gọi là trực giao nếu E ( X i X j ) = 0 . Điều này xảy ra khi X i
và X j là không tương quan với nhau và có ít nhất một biến có trị trung bình bằng 0.

IV. Các biến ngẫu nhiên thường gặp


Phân bố nhị phân Biến ngẫu nhiên X nhận 2 giá trị 0 và 1 với xác suất là p và 1-p
được gọi là biến ngẫu nhiên nhị phân. Đây là một biến ngẫu nhiên có phân bố xác
suất đơn giản tuy nhiên được sử dụng rộng rãi để biểu diễn các nguồn tin trong các
hệ thống thông tin số.

P( X = 0) = p
P( X = 1) = 1 - p

Giá trị trung bình của biến ngẫu nhiên nhị phân:

mX = E[ X ] = 1 - p
E[ X 2 ] = 1 - p
 x 2 = p (1 - p )

26
Phân bố nhị thức Cho X là
1 biến ngẫu nhiên rời rạc có phân bố nhị phân. Vấn đề đặt ra là xác định hàm phân
n
bố xác suất của Y = �X i , trong đó . Trước hết chúng ta có nhận xét rằng Y là một
i =1

tập hợp các số nguyên từ 0 tới n vì nó là tổng của n số, mà mỗi số là 0 hoặc 1, và ta
chứng minh dễ dàng rằng hàm mật độ phân bố xác suất của Y có thể được xác định
như sau:
n n
�n � k
P( y) = �
k =0
P (Y = k )d ( y - k ) = �
k =0
� �p (1 - p) d ( y - k )
�k �
n-k

Hàm phân bố xác suất của Y là:


y
�n � k
F ( y ) = P(Y �y ) = �� �p
�k �
k =0
(1 - p) n-k

Ở đây | y | là phần nguyên của y. Hai mô men đầu tiên của Y là:

E [ Y ] = np
E� � = np ( 1 - p ) + n p
Y2� 2 2

 Y 2 = np ( 1 - p )

và hàm đặc tính là:

y ( jv ) = ( 1 - p + pe jv )
n

Phân bố đều Hàm mật độ phân bố xác suất và hàm phân bố xác suất của biến
ngẫu nhiên X phân bố đều được trình bày trên hình vẽ. Hai mô men đầu tiên của X
là:

1
E[ X ] = ( a + b)
2
1
E[ X 2 ] = ( a 2 + b 2 + ab )
3
1 1
( a - b ) p( x) =
2 2 2
d2 = e - ( x -mx ) /2
12 2p

và hàm đặc tính là:

e jvb - e jva
y (jv) =
jv(b - a)

Phân bố Gaussian (phân bố chuẩn) Hàm mật độ phân bố xác suất của một biến
ngẫu nhiên phân bố gaussian là:

27
1 2 2
p( x) = e - ( x-mx ) /2
2p

Trong đó mx là trị trung bình là 2 là sai phương của biến ngẫu nhiên. Các mô men
trung tâm của biến ngẫu nhiên gaussian là:

1.3... ( k - 1)  k ( 2 | k )


E ( X - mx ) �mk = �
� �
k
� � 0 ( 2 | k - 1)

Và mô men có thể được biểu diễn qua mô men trung tâm như sau:
k
E ( X k ) = �Cki mxi m k -i
i =0

Tổng của n biến ngẫu nhiên gaussian độc lập thống kê cũng là một biến ngẫu nhiên
gaussian và điều này có thể được giải thích như sau. Đặt:
n
Y = �X i
i =1

Với X i , i = 1, 2, ..., n là những biến ngẫu nhiên gaussian độc lập thống kê với trị
trung bình mi và sai phương i2. Ta tìm ra hàm đặc tính của Y là:
n n
y Y ( jv ) = �y X i ( jv ) = �e jvmi -v di /2 = e jvmY -v d
2 2 2 2
y /2

i =1 i =1

Trong đó:
n n
m y = �mi , d 2 y = �d i2
i =1 i =1

Vậy Y cũng là phân bố gaussian với trị trung bình m y và sai phương 2y.

V. Giới hạn trên của xác suất ngưỡng


Khi đánh giá hiệu quả của một hệ thống thông tin số, thông thường cần phải xác
định miền dưới ngưỡng của hàm mật độ phân bố xác suất. Chúng ta gọi miền này là
xác suất ngưỡng. Trong phần này chúng ta xét 2 giới hạn trên của xác suất ngưỡng.
Giới hạn thứ nhất thu được từ bất đẳng thức Chebyshev, có độ chính xác không
cao. Giới hạn thứ 2 là giới hạn Chernoff có độ chính xác cao hơn.

Bất đẳng thức Chebyshev Giả thiết X là một biến ngẫu nhiên tùy ý với trị trung
bình xác định mx và độ lệch trung bình bình phương xác định x2, với mọi d > 0 ta có:

d2
P (| X - mx |�d ) � x2
d

28
Bất đẳng thức này gọi là bất đẳng thức Chebyshev. Với biến ngẫu nhiên có trị trung
bình bằng không Y = X – mx , định nghĩa một hàm g(Y) như sau:


1
� (Y �d )
g (Y ) = �
0

� (Y <d)

Do g (Y ) chỉ nhận giá trị 1 hoặc 0 với các xác suất tương ứng P (/Y / < 0) và
P(/Y / > d ) , nên giá trị trung bình của nó là:

E[ g (Y )] = P (| Y |�d )

Bây giờ ta giả thiết rằng hàm g(Y) bị chặn trên bởi hàm toàn phương (Y|d)2, nghĩa là:

g (Y ) �(Y / d ) 2

Ta có:

Y2 E ( Y 2 ) d y2 d x2
E[ g (Y )] �E /( 2 ) = = 2 = 2
d d2 d d

Do E[ g (Y )] là xác suất ngưỡng nên ta nhận được bất đẳng thức Chebyshev.

Trong nhiều ví dụ thưc tế, việc sử dụng giới hạn Chebyshev gây ra nhiều sai số. Lý
do chủ yếu là do ta đã sử dụng hàm (Y/d )2 không sát với hàm g (Y ) để chặn trên
hàm g (Y ) .

Giới hạn Chernoff Giới hạn Chebyshev đề cập ở trên có tính tới hàm mật độ phân
bố xác suất ngưỡng theo cả 2 phía. Trong nhiều ứng dụng thực tế, chúng ta chỉ
quan tâm tới miền dưới một ngưỡng, trong khoảng (d,) hoặc trong khoảng (-,-d).
Trong trường hợp như vậy, chúng ta có thể thu được một giới hạn trên chặt nhờ
chặn trên hàm g (Y ) bằng một hàm mũ, hàm mũ này có một tham số được sử dụng
khi tối ưu hóa để tìm giới hạn trên chặt. Trong trường hợp chúng ta quan tâm tới xác
suất ngưỡng trong khoảng (d,), hàm g (Y ) được chặn trên như sau:

g (Y ) �ev( Y -d )

trong đó g(Y) được định nghĩa là :


1
� ( Y �d )
g (Y ) = �
0
� (Y <d )

với v  0 là tham số dùng để tối ưu hóa. Giá trị trung bình của g (Y ) là:

(
E[ g (Y )] = P (Y �d ) �E e v( Y -d ) )

29
Giới hạn này đúng với mọi v  0. Giới hạn trên chặt nhất thu được bằng cách lựa
chọn giá trị của v để cực tiểu hóa E (ev (Y -d ) ) . Điều kiện cần thiết để hàm đạt cực tiểu

là:
d
dv
( )
E e ( ) =0
v Y -d

Thứ tự lấy vi phân và lấy trung bình có thể hoán vị cho nhau, do đó:

d �d v Y -d �
( Y - d ) ev( Y -d ) �
E (e ( ) ) = E � e ( ) �= E � E ( e ) - d E ( e ) �= 0
= e - vd �
v Y -d vY vY

dv �dv � � � � �

Từ đó giá trị của v cho ta giới hạn trên chặt thỏa mãn phương trình:

� ( )
E Ye - d E ( evY ) �= 0
� vY

Gọi v̂ là nghiệm của . Như vậy từ giới hạn trên của xác suất ngưỡng một phía là:

P ( y �d ) �e - vˆd .E ( e vY
ˆ
)
Đây là giới hạn Chernoff cho xác suất ngưỡng trên của các biến ngẫu nhiên rời rạc
hay liên tục có trị trung bình bằng không. Có thể thu được theo cách tương tự giới
hạn trên ở vùng xác suất ngưỡng dưới. Kết quả là:

P (Y �d ) �e- vˆd .E ( evY


ˆ
)
Trong đó v̂ là nghiệm của và d < 0 .

VI. Tổng các biến ngẫu nhiên và định lý giới hạn trung tâm
Các vấn đề chúng ta xét ở trên chú trọng đến việc xác định hàm mật độ xác suất
của một tổng gồm n biến ngẫu nhiên độc lập thống kê. Trong phần này chúng ta vẫn
quan tâm tới tổng các biến ngẫu nhiên độc lập thống kê, nhưng không quan tâm tới
hàm mật độ xác suất của từng biến ngẫu nhiên trong tổng. Cụ thể hơn, giả thiết rằng
X i (i = 1, 2,�n) là những biến ngẫu nhiên độc lập thống kê và phân bố đồng nhất.
Mỗi biến có một trị trung bình hữu hạn m x và sai phương x2. Biến ngẫu nhiên Y
được định nghĩa như là tổng các biến ngẫu nhiên X i được chuẩn hóa, được gọi là
mẫu trung bình:

1 n
Y = �X i
n i =1

Trước hết chúng ta xác định giới hạn trên của xác suất ngưỡng của Y , sau đó
chúng ta sẽ chứng minh một định lý quan trọng đối với hàm mật độ phân bố xác
suất của Y trong trường hợp giới hạn khi n dần tới vô hạn.

30
Biến ngẫu nhiên Y được định nghĩa trong thường gặp trong việc định lượng trị trung
bình của một biến ngẫu nhiên X từ nhiều quan sát cụ thể X i (i = 1, 2,�n) . Nói cách
khác, X i (i = 1, 2, �n) được coi như các mẫu độc lập thu được từ một hàm phân bố
FX ( x) và Y là ước lượng trung bình mx .

Trị trung bình của Y là:

1 n
E ( Y ) = my = �E ( Xi ) = mx
n i =1

và độ lệch trung bình bình phương của Y là:

 x2
 y2 = E ( Y 2 ) - m y2 =
n

Với Y được coi như một ước lượng giá trị trung bình m x, chúng ta thấy rằng kỳ vọng
toán học của nó bằng mx và độ lệch trung bình bình phương d y tiến tới không. Phép
2

ước lượng một tham số (trong trường hợp này là mx ), mà tham số ấy hội tụ về giá trị
đúng của nó và sai phương hội tụ về khôngkhi n tiến tới vô cùng được gọi là một
ước lượng chặt.

Xác suất ngưỡng của biến ngẫu nhiên Y có thể được chặn trên nhờ sử dụng các
giới hạn đã được nêu treen. Áp dụng bất đẳng thức Chebyshev cho Y ta có:

 y2
(
P Y - my �d � 2
d
)
�1 �  x2
P � �X i - m �d �� 2
�n � nd

Khi cho n dần tới vô cùng, sẽ trở thành:

�1 n �
lim P � �X i - mx �d �= 0
�n i =1 �
n ��

Như vậy, xác suất để giá trị trung bình ước lượng sai khác với giá trị trung bình thật
lớn hơn hay bằng d (d>0) tiến tới không khi n dần tới vô hạn. Đây là luật số lớn. Giới
hạn trên hội tụ về không khá chậm (tỉ lệ nghịch với n) nên được gọi là luật suy yếu
của các số lớn.

Giới hạn Chernoff áp dụng cho biến ngẫu nhiên Y thu được một hàm mũ theo n cho
ta giới hạn trên chặt của xác suất ngưỡng một phía. Chúng ta có thể xác định được
xác suất ngưỡng của Y là:

31
�1 n �
P ( Y - m y �d ) = P � �X i - mx �d �
�n i =1 �
� n
� � ��n �
��
= P� �
�i =1
X i �nd m��E �
exp �
v�
� � ��i =1
�X i - nd m �




Ở đây d m = mx + d và d > 0 . Mặt khác các biến $X_i$ độc lập thống kê và phân bố
đồng nhất, do đó:

� ��n �
�� - vnd m � � n �

E�
exp �
v�� X i - nd �
m ��= e E� v �X i �
exp � �
� ��i =1 �
�� � � i =1 �

n

( )
e - vd m E ( evX ) �
n
= e - vnd m �E e vX i = �
� �
i =1

Ở đây X biểu thị một biến X i bất kỳ. Tham số v ứng với giới hạn trên chặt thu được
nhờ lấy đạo hàm rồi cho đạo hàm bằng 0, từ đó ta thu được phương trình:

E ( Xe vX ) - d m E ( e vX ) = 0

Giải phương trình ta thu được nghiệm v̂ . Giới hạn trên của xác suất ngưỡng trên là:

�1 n � - vˆd m
e E ( evX )
n
P � �X i �d m ���

ˆ
�, d m > mx

�n i =1 �

Tương tự ta tìm được giới hạn trên của xác suất ngưỡng dưới là:
n
P ( Y �d m ) ��
e - vˆd m E ( )
ˆ
vX
�, d m < mx
� �

Định lý giới hạn trung tâm Phần này chúng ta xét một định lý quan trọng được sử
dụng nhiều trong thực tế. Định lý này nói tới hàm phân bố xác suất của tổng các
biến ngẫu nhiên khi số biến ngẫu nhiên tiến tới vô hạn. Có nhiều dạng của định lý
này, chúng ta sẽ chứng minh định lý trong trường hợp các biến ngẫu nhiên X i, i=1, 2,
..., n độc lập thống kê và có phân bố giống nhau, mỗi biến sẽ có một trị trung bình
hữu hạn mx và độ lệch trung bình bình phương xác định x2. Để tiện tính toán, chúng
ta định nghĩa một biến ngẫu nhiên chuẩn hóa như sau:

X i - mx
Ui = , i = 1, 2,..., n
x

Ui có trị trung bình bằng không và độ lệch trung bình bình phương bằng một. Đặt:
n
1
Y=
n
�U
i =1
i

32
Mỗi số hạng trong tổng có trị trung bình bằng không và độ lệch trung bình bình
phương bằng một, như vậy biến ngẫu nhiên chuẩn hóa Y (bởi 1 n ) cũng sẽ có trị
trung bình bằng không và độ lệch trung bình bình phương bằng một. Chúng ta muốn
xác định hàm phân bố xác suất của Y trong trường hợp giới hạn khi n  .

Hàm đặc tính của Y như sau:

� � n �

� �jv �U i � n
� �jv � � �jv �

n

y Y ( jv ) = E ( e jvY
) = E�
exp � i =1 �= �y U � �=
� yU � �
� �
� � n � i =1
� i
�n� � �n� �
� � �

� � �

ở đây ký hiệu U biểu thị cho các biến U i có phân bố giống nhau. Bây giờ chúng ta
khai triển hàm đặc trưng dưới dạng chuỗi Taylor như sau:

( jv )
3
�jv � v v2
y U � �= 1 + j E (U ) - E (U 2 ) + E ( U 3 ) - ...
( n)
3
�n� n n 2! 3!

Từ E (U ) = 0 và E (U 2 ) = 1 , công thức trên có thể được viết đơn giản như sau:

�jv � v2 1
y U � �= 1 - + R ( v, n )
�n� 2n n

Ở đây R(v,n)/n biểu thị cho các số hạng bậc cao. Chúng ta chú ý rằng R(v,n) tiến tới
không khi n � �, ta thu được hàm đặc tính của Y dưới dạng:

� v 2 R ( v, n ) �
n

yY ( jv ) = �
1- + �
� 2n n �

Lấy loga tự nhiên 2 vế của ta thu được:

� v 2 R ( v, n ) � � v 2 R ( v , n ) 1 � v 2 R ( v , n ) � �
n

lny Y ( jv ) = n ln �
1- + -
��n � + - �- + �+ ...�
� 2n n � � 2n

n 2 � 2n n � �

Cuối cùng ta lấy giới hạn khi n � �, trở thành:

limy Y ( jv ) = e -v
2
2

Đây là hàm đặc tính của một biến ngẫu nhiên gaussian với trị trung bình bằng không
và độ lệch trung bình bình phương bằng một. Như vậy, chúng ta đã có một kết quả
quan trọng là tổng các biến ngẫu nhiên độc lập thống kê và phân bố giống nhau với
trị trung bình và độ lệch trung bình bình phương hữu hạn tiến tới một biến ngẫu
nhiên gaussian khi n � �. Vậy định lý giới hạn trung tâm đã được chứng minh.

33
Bài 3. Quá trình ngẫu nhiên

I. Khái niệm quá trình ngẫu nhiên


Một thực nghiệm cho chúng ta một kết quả nào đó trong tập hợp các kết quả có thể :
tung đồng xu, gieo con xúc xắc, ...... ; Trong trường hợp này, chúng ta dùng lý thuyết
xác suất để đánh giá kết quả thực ngh

iệm (biến ngẫu nhiên, các giá trị trung bình, phân bố xác suất, ......). Một thực
nghiệm phức tạp hơn, cho chúng ta một các giá trị tại một tập hợp các thời điểm nào
đó. Tại mỗi thời điểm, giá trị của thực nghiệm là một biến ngẫu nhiên. Giá trị của một
thời điểm có thể có liên quan đến giá trị tại thời điểm khác. Trong trường hợp này,
chúng ta không quan tâm nhiều đến các giá trị riêng rẽ tại từng thời điểm, mà quan
tâm đến các giá trị đồng thời tại tất cả các điểm. Để thực hiện việc này có thể theo
các cách tiếp cận:

Cách tiếp cận hàm số. Hàm số theo thời gian khoảng thời gian nào đó. Mỗi lần tiến
hành phép thử, thu được một hàm, gọi là hàm mẫu. Tập hợp tất cả các hàm mẫu
gọi là không gian mẫu. Quá trình ngẫu nhiên được biểu diễn bằng tập hợp tất cả các
hàm mẫu có thể, mỗi hàm mẫu có một xác suất xuất hiện. Cách tiếp cận này mở
rộng khái niệm biến ngẫu nhiên, cho phép biến ngẫu nhiên có thể nhận các giá trị là
các hàm số.

Nếu xem xét quá trình ngẫu nhiên theo thời gian, tại mỗi thời điểm thời gian xác định
so với mốc đánh giá, trong các phép thử khác nhau sẽ thu được các giá trị khác
nhau. Như vậy giá trị của quá trình ngẫu nhiên tại mỗi thời điểm thời gian có thể coi
như một biến ngẫu nhiên. Quá trình ngẫu nhiên được xem xét như một hàm theo
thời gian, nhận giá trị là các biến ngẫu nhiên.

Như vậy có thể định nghĩa quá trình ngẫu nhiên như một tập(họ) các biến ngẫu
nhiên tại các thời điểm khác nhau. Khi gán các giá trị cụ thể cho từng biến ngẫu
nhiên trong họ ngẫu nhiên nói trên, ta thu được một hàm theo thời gian gọi là hàm
mẫu. Tập hợp tất cả các hàm mẫu có thể gọi là không gian mẫu. Khi cố định giá trị
thời gian t quá trình ngẫu nhiên trở thành một biến ngẫu nhiên. Khi cố định thời gian
và hàm mẫu, giá trị của quá trình ngẫu nhiên là một giá trị số.

II. Đặc trưng thống kê của quá trình ngẫu nhiên


Tính chất thống kê của quá trình ngẫu nhiên trước hết phản ánh trong giá trị của quá
trình ngẫu nhiên tại mỗi thời điểm. Giá trị này là một biến ngẫu nhiên có phân bố xác
xuất phụ thuộc thời gian. Hàm mật độ phân bố xác suất của biến ngẫu nhiên này
được gọi là thống kê bậc 1 của quá trình ngẫu nhiên p X ( xt , t ) . Để phản ánh mối liên
hệ giứa 2 giá trị của quá trình ngẫu nhiên tại hai thời điểm thời gian khác nhau, cần
sử dụng hàm mật độ phân bố xác suất đồng thời của 2 biến ngẫu nhiên đó. Hàm
này gọi là thống kê bậc 2 của quá trình ngẫu nhiên. Tổng quát, nếu xem xét giá trị

34
của biến ngẫu nhiên tại n thời điểm khác nhau, sẽ có một hàm mật độ phân bố xác
suất đồng thời của n biến ngẫu nhiên. Hàm này sẽ có 2n biến, trong đó có n biến tự
do và n biến thời gian. Hàm số này được gọi là thống kê bậc n của quá trình ngẫu
nhiên: p( xt , xt , �, xt ) .
1 2 n

Các thống kê bậc cao thường rất phức tạp. Sự có mặt của các biến thời gian càng
làm cho việc nghiên cứu quá trình ngẫu nhiên trở thành khó khăn hơn. Trong thực
tế, các quá trình ngẫu nhiên thường có tính chất không phụ thuộc vào mốc thời gian
xem xét. Tính chất thống kê khi tiến hành xem xét, đánh giá thực hiện các phép thử
tại một thời điểm không phụ thuộc vào giá trị thời gian tại điểm đó.

Một cách hình thức nếu:

p ( X t1 , X t2 , �, X tn ) = p( X t1 +t , X t2 +t , �, X tn +t )"t , n

Thì quá trình ngẫu nhiên được gọi là quá trình ngẫu nhiên dừng chặt.

III. Giá trị trung bình của quá trình ngẫu nhiên
Giá trị trung bình của quá trình ngẫu nhiên tại một thời điểm chính là giá trị trung
bình của biến ngẫu nhiên thể hiện quá trình ngẫu nhiên tại thời điểm đó:

mxt = E[ xt ]

Nếu quá trình ngẫu nhiên dừng, giá trị trung bình không phụ thuộc thời gian t.

Để phản ánh mối tương quan giữa giá trị của quá trình ngẫu nhiên tại hai thời điểm
khác nhau, sử dụng giá trị tương quan giữa 2 biến ngẫu nhiên tương ứng.
� �
f (t1 , t2 ) = E ( X t1 X t 2 ) = ��x x p ( x
t1 t 2 t1 , xt 2 ) dxt1 xt 2
-�-�

Hàm số thu được gọi là hàm tự tương quan của quá trình ngẫu nhiên. Trường hợp
quá trình ngẫu nhiên dừng, hàm tự tương quan chỉ phụ thuộc vào khoảng cách giữa
2 thời điểm thời gian:

f (t1 , t2 ) = f (t1 - t 2 ) = f (t )

Chú ý: f (t ) = f (-t ) , như vậy hàm tự tương quan của quá trình ngẫu nhiên dừng là
hàm chẵn. Ngoài ra khi t1 = t2 hoặc t = t1 - t2 = 0 , f (0) = E ( X t ) đượcc gọi là công
2

suất trung bình của quá trình ngẫu nhiên.

Một số quá trình ngẫu nhiên không dừng vẫn có f (t1 , t2 ) = f (t1 - t2 ) = f (t ) gọi là dừng
theo nghĩa rộng.

Hàm tự hiệp biến của quá trình ngẫu nhiên được định nghĩa tương tự như hàm tự
tương quan.

35
m ( t1 , t2 ) = E { [ X t1 - m(t1 )] . [ X t 2 - m(t2 ) ] } = f ( t1 , t2 ) - m ( t1 ) m ( t2 )

Trường hợp quá trình ngẫu nhiên dừng:

m ( t1 , t2 ) = m ( t1 - t2 ) = m ( t ) = f ( t ) - m 2

Công suất của quá trình ngẫu nhiên dừng được biểu diễn bằng hàm tự tương quan
tại 0 f (0) . Áp dụng biến đổi Furrier cho hàm tự tương quan có:

F( f ) = f ( t )e

- j 2p f t
dt
-�

Hàm tự tương quan nhận được khi biến đổi ngược:



f (t ) = F ( f )e

j 2p f t
df
-�

Từ đó

f ( 0) = F ( f ) df = E ( X 1 (t ) ) �0
2

-�

Trong , f (0) biểu diễn công suất trung bình của quá trình ngẫu nhiên, nên F ( f ) gọi
là phổ mật độ công suất của quá trình ngẫu nhiên.

Khi xem xét hai quá trình ngẫu nhiên đồng thời, có thể xem xét 2 biến ngẫu nhiên
đại diện cho 2 quá trình ngẫu nhiên tại các thời điểm khác nhau. Các hàm tự tương
quan, tự hiệp biến trở thành các hàm tương quan chéo, hàm hiệp biến chéo. Công
suất trung bình và phổ mật độ công suất trở thành công suất trung bb́ nh và phổ mật
độ công suất chéo. Các biểu thức định nghĩa hoàn toàn tương tự.

36
CHƯƠNG III. THÔNG TIN VÀ ĐỊNH LƯỢNG THÔNG TIN
Bài 4. Tốc độ lập tin nguồn rời rạc dừng không nhớ

I. Mô hình nguồn rời rạc


Nguồn tin rời rạc là nguồn sinh ra các thông tin rời rạc. Các thông tin rời rạc được
gọi là các tin. Các tin còn được gọi là các ký hiệu nguồn. Tập hợp tất cả các tin
nguồn tin có thể sinh ra gọi là bảng tin hay bảng ký hiệu. Tập hợp các tin nguồn tin
sinh ra trong quá trình phát tin gọi là bản tin. Nguồn tin rời rạc phát các thông tin vào
các thời điểm thời gian rời rạc ...t1 , t2 , t3 ..., tn ,... . Thông thường chỉ có một số hữu hạn
thời điểm có thể quan sát được t1 , t2 , t3 ..., tn . Các thời điểm thường được chọn cách
đều nhau. Số các tin (ký hiệu) mà nguồn tin sinh ra trong một đơn vị thời gian gọi là
tốc độ ký hiệu. Các bản tin sinh ra có dạng u = ...xt , xt ,..., xt ,... , trong đó
1 2 n

xt1 �X = {x1 ,x 2 ,...,x m } .

Trong trường hợp tổng quát, nguồn tin được biểu diễn bằng bộ đôi
< U = {u}, P = {p(u)} > , trong đó u là các bản tin, còn P (u ) là xác suất xuất hiện của
các bản tin đó. Việc biểu diễn các nguồn tin một cách tổng quát như vậy đòi hỏi một
không gian lưu trữ lớn, do số lượng các bản tin là rất lớn. Chính vì thể, nguồn tin
thường được xem xét trong một số trường hợp đặc biệt để có các biểu diễn đơn
giản hơn.

Mô hình nguồn rời rạc dừng không nhớ Nguồn rời rạc dừng không nhớ là nguồn mà
xác suất xuất hiện của các ký hiệu tại các thời điểm không phụ thuộc vào các ký
hiệu xuất hiện tại các thời điểm khác (đặc biệt là các thời điểm ngay sát thời điểm
đang xem xét)., đồng thời tính chất thống kê của nguồn không phụ thuộc thời gian.
Trong trường hợp này, nguồn tin được biểu diễn bằng bộ < X = {x i }, P = {P(x i )} > .
Đây là một mô hình đơn giản, tuy nhiên không phải ánh được ràng buộc giữa các ký
hiệu sinh ra tại các thời điểm khác nhau.

Mô hình nguồn rời rạc dừng, có nhớ với bộ nhớ hữu hạn. Để có thể mở rộng mô
hình nguồn không nhớ, có thể bỏ qua không xem xét các ký hiệu xuất hiện tại các
thời điểm quá xa nhau. Như vậy chỉ cần xem xét các k-1 ký hiệu liên tiếp nhau tác
động thế nào đến ký hiệu xuất hiện ở thời điểm k. Trường hợp này nguồn được coi
là có bộ nhớ k. Các ràng buộc thống kê không phụ thuộc thời gian do tính chất dừng
của nguồn. Cho biết phân bố xác suất của nguồn khi bắt đầu phát tin, đồng thời biết
được các ràng buộc thống kê của ký hiệu tại một thời điểm với k - 1 thời điểm trước
đó, có thể xác định xác định phân bố xác suất tại thời điểm hiện tại. Cách thức biểu
diễn này phức tạp hơn cách thức biểu diễn nguồn dừng không nhớ, nhưng số lượng
thông tin cần lưu trữ là chấp nhận được.

37
Một trường hợp thường gặp là nguồn có bộ nhớ 1. Xác suất xuất hiện của các ký
hiệu chỉ phụ thuộc vào các ký hiệu xuất hiện ngay trước:

p( xin | x jn -1 , xkn - 2 ...) = p ( xin | x jn-1 )

Các xác suất này được biểu diễn bởi ma trận chuyển đổi Tm*m = pij = P( xi ( k ) | x j ( k -1) ) .
Gọi xác suất xuất hiện của các ký hiệu tại thời điểm xuất phát là
P0 =< P ( x0i ), i = 1...m > . Cần xác định xác suất xuất hiện của các ký hiệu tại thời điểm
k Pk =< P ( xki ), i = 1...m > . Thực hiện biến đổi với mỗi xác suất:

P( xki ) = P ( xki | x( k -1) j ) P ( x( k -1) j )


= pij * P ( x( k -1) j )

Từ công thức nói trên có thể rút ra

Pk = Pk -1 * T = P0 * T k

Như vậy trong trường hợp nguồn tin có nhớ, có thể xác định được phân bố xác suất
của các ký hiệu tại mỗi thời điểm, từ đó áp dụng các kết quả đã có với nguồn tin rời
rạc dừng không nhớ.

II. Các loại lượng tin


Trong chương 1 đã khẳng định nếu hai sự kiện A,B là độc lập thống kê thì lượng tin
của sự kiện đồng thời bằng tổng lượng tin của hai sự kiện. Trường hợp nếu 2 sự
kiện không độc lập thống kê với nhau, trong thông tin thu được của sự kiện này có
thông tin về sự kiện còn lại. Có thể biểu diễn mối quan hệ giữa thông tin của các sự
kiện như hình vẽ

38
THÔNG TIN VÀ ĐỊNH LƯỢNG THÔNG TIN-6: Các loại lượng tin của sự kiện

Tương quan giữa lượng tin của A, lượng tin của B và lượng tin của AB tạo ra 3 vùng
lượng tin mới. Vùng lượng tin chung giữa A và B được ký hiệu là I(A;B), được gọi là
lượng tin tương hỗ của A và B. Lượng tin này phản ánh lượng thông tin về A nhận
được khi B xảy ra và ngược lại, về B nhận được khi A xảy ra. Hay nói cách khác,
đây chính là lượng thông tin chung giữa hai sự kiện A và B. Lượng tin này càng lớn
thì hai sự kiện A và B càng ràng buộc lẫn nhau. Lượng tin tương hỗ có các tính chất
sau đây

I ( A; B ) �0; I ( A; B) = 0 nếu A và B độc lập thống kê

I ( A; B) �I=(‫ۮ‬A); I ( A; B ) I ( A) (A B)

Lượng tin về A nhưng không nằm trong B chính là lượng tin còn lại chưa có về A khi
B đã xảy ra. Đây chính là lượng tin về A với điều kiện là B đã xảy ra. Tương tự như
với xác suất, lượng tin này được gọi là lượng tin có điều kiện, ký hiệu là I ( A | B) .

Như vậy chúng ta đã định nghĩa các lượng tin đồng thời, lượng tin riêng, lượng tin
tương hỗ, lượng tin rời rạc. Quan hệ giữa các lượng tin này như sau:

I ( A; B) = I ( A) - I ( A | B ) = I ( B) - I ( B | A) = I ( A) + I ( B ) - I ( AB )
I ( A | B) = I ( AB) - I ( B ); I ( B | A) = I ( AB ) - I ( A)

III. Lượng tin trung bình/Entropy nguồn rời rạc


Xét một nguồn tin rời rạc dừng không nhớ. Nguồn có thể phát ra m ký hiệu
x1 , x2 , x3 ,..., xm với các xác suất p( x1 ), p ( x2 ),..., p( xm ). Giả sử nguồn phát ra một ký hiệu
Lượng tin nguồn sinh ra khi phát ra ký hiệu xi gọi là lượng tin riêng của ký hiệu và
được tính bằng công thức:

I ( xi ) = - log 2 ( p ( xi ))(bit )

Lượng tin này cung cấp thông tin về từng ký hiệu, không cung cấp thông tin chung
về nguồn tin. Để có được tiêu chí về chất lượng thông tin do nguồn tin sinh ra, cần
lấy giá trị trung bình:

39
m
I ( X ) = - �p( xi ) log 2 ( p( xi ))(bit / kh)
1

Đại lượng này được gọi là lượng tin trung bình của nguồn tin rời rạc, phản ánh
lượng tin trung bình mà nguồn tin sinh ra mỗi khi tạo ra một ký hiệu.

Tính chất của lượng tin trung bình:

- Không âm. Có thể thấy "i, p( xi ) �0 . Do đó I ( X ) �0 . Trường hợp nếu một ký


hiệu nào đó có xác suất xuất hiện 0, ký hiệu này sẽ được loại khỏi biểu thức tính
lượng tin trung bình. Do đó lượng tin trung bình của một nguồn tin đạt giá trị nhỏ
nhất là 0, khi tất cả các ký hiệu đều có xác suất bằng 0 và duy nhất 1 ký hiệu có xác
suất bằng 1.

I ( X ) �0, I ( X ) = 0 � $i : p( xi ) = 1, p( x j ) = 0"j �i

Trong trường hợp này, nguồn sinh ra đúng 1 ký hiệu, do đó luôn luôn có thể biết
trước được ký hiệu nguồn sẽ sinh ra. Do đó lượng tin trung bình của nguồn tin là
0.

Giá trị lớn nhất của lượng tin trung bình. Ta có:

m m � 1 � m �1 �
-�p( xi ) ln( p( xi )) = �p( xi ) ln(
� m ) + ln m ��p( xi )
� � m ) - 1�+ ln m =
1 1 � p ( xi ) � 1 �p( xi ) �
� � � �
1 1
= - + ln m
m m

Từ đó:
m m
-�p( xi ) ln( p( xi )) �ln m � -�p( xi ) log 2 ( p( xi )) �log 2 m
1 1

Dấu bằng xảy ra khi

1
p ( xi ) = , "1 �i �m
m

Như vậy có thể thấy cùng một số lượng ký hiệu trong bảng ký hiệu, nguồn tin có
lượng tin trung bình lớn nhất khi các ký hiệu xuất hiện với xác suất bằng nhau và
bằng 1/m. Trường hợp này nguồn tin được gọi là nguồn tin đẳng xác suất. Số lượng
các ký hiệu của bảng ký hiệu càng lớn thì lượng tin trung bình lớn nhất càng lớn.

Trong nhiều trường hợp, cần xem xét một chuỗi u gồm J ký hiệu liên tiếp của nguồn
tin. Mỗi chuỗi J ký hiệu có thể coi như một ký hiệu của nguồn tin mới có m j ký hiệu.
Lượng tin trung bình của nguồn tin mới sẽ là:

40
mj
I (U ) = -�1 p(u ) log 2 ( p(u )) = - JI ( X )(bit / kh)

Theo một quan điểm khác, trước khi nguồn tin sinh ra một ký hiệu, tồn tại một độ
mập mờ về ký hiệu sẽ đýợc sinh ra, đồng thời lýợng tin về ký hiệu đó là 0. Sau khi
ký hiệu đã được tạo ra, độ mập mờ này bằng 0 và nhận được một lượng tin bằng
lượng tin của ký hiệu. Như vậy độ mập mờ và lượng tin có ư nghĩa ngược nhau,
nhưng có cùng một số đo. Mở rộng cho nguồn tin, khái niệm lượng tin trung bình
được thay thế bằng độ bất định trung bình-entropy của nguồn tin rời rạc:
m
H ( X ) = -�p( xi ) log 2 ( p ( xi ))(bit / kh)
1

IV. Tốc độ lập tin và độ dư


Thông số thống kê cơ bản thứ nhất của nguồn tin là entrôpi, tuỳ thuộc vào cấu trúc
thống kê của nguồn. Nhưng sự hình thành tin nhanh hay chậm để đưa vào kênh lại
tuỳ thuộc vào tính chất vật lý khác của nguồn như quán tính, độ phân biệt, v.v..., cho
nên số ký hiệu lập được trong một đơn vị thời gian rất khác nhau.

Thông số cơ bản thứ hai của nguồn là tốc độ tạo thông tin-tốc độ lập tin:

R = n0 H ( X ) ( bit / sec )

Tốc độ lập tin đạt giá trị lớn nhất khi H(X) đạt giá trị lớn nhất ( log 2 m )

R = n0 log 2 m ( bit / sec )

Độ dư tuyệt đối của nguồn là tỉ số giữa độ dư của nguồn và giá trị cực đại của
entrôpi:

D = H ( X ) max - H ( X )

Độ dư tương đối của nguồn là tỉ số giữa độ dư của nguồn và giá trị cực đại của
entrôpi:

d = 1 - H ( X ) / H ( X ) max

41
Bài 5. Thông lượng kênh rời rạc

I. Mô hình kênh truyền tin


Kênh truyền tin là kênh liên tục hoặc kênh rời rạc phụ thuộc vào tính chất liên tục
hay rời rạc của đầu vào và đầu ra của kênh. Kênh rời rạc là kênh mà cả đầu vào và
đầu ra đều là rời rạc. Kênh rời rạc dừng không nhớ là kênh rời rạc trong đó các tính
chất cúa kênh không phụ thuộc vào thời gian và không phụ thuộc vào giá trị của đầu
vào và đầu ra tại các thời điểm khác.

Chương 1 đã trình bày 2 loại mô hình của kênh truyền tin, mô hình tín hiệu và mô
hình thông tin. Mô hình tín hiệu biểu diễn liên hệ về tín hiệu giữa đầu vào và đầu ra.
Mô hình thông tin biểu diễn mối liên hệ giữa các ký hiệu đầu vào và đầu ra thông
qua ma trận nhiễu. Ví dụ sau đây cho thấy sự liên hệ giữa 2 mô hình này. Một nguồn
tin có 2 ký hiệu 0 và 1 được truyền trên một kênh truyền tin bằng mã hóa NRZ. Ký
hiệu 0 tương ứng với mức điện áp 5v, ký hiệu 1 tương ứng với mức điện áp -5v.
Trong quá trình truyền, tín hiệu bị ảnh hưởng bởi nhiễu có giá trị là một biến ngẫu
nhiên có mật độ phân bố xác suất p(x).

Tại đầu ra của kênh truyền tin, căn cứ vào mức tín hiệu nhận được, bộ phận thu sẽ
phải ra quyết định xác định ký hiệu đầu ra là 0 hay 1. Phương án đơn giản nhất là
lựa chọn điện áp ra nếu >0 thì ký hiệu đầu ra là 0, nếu <0 thì ký hiệu đầu ra là 1.

Xét trường hợp gửi ký hiệu 0 đi. Tín hiệu đầu ra sẽ là một biến ngẫu nhiên có phân
bố chuẩn Gauss, có giá trị trung bình là 5. Xác suất để tín hiệu đầu ra lớn hơn 0 là:

P (VO > 0) = �p( x) dx
-5

Xác suất để tín hiệu đầu ra nhỏ hơn 0 là:


-5
P (VO < 0) = �p( x)dx
-�

Xét trường hợp gửi ký hiệu 1 đi. Tín hiệu đầu ra sẽ là một biến ngẫu nhiên có phân
bố chuẩn Gauss, có giá trị trung bình là -5. Xác suất để tín hiệu đầu ra lớn hơn 0 là:

P(VO > 0) = �
p( x)dx
5

Xác suất để tín hiệu đầu ra nhỏ hơn 0 là:


5
P (VO < 0) = �p( x)dx
-�

42
Ma trận nhiễu của kênh truyền tin sẽ có dạng:
-5
�� �
�� p ( x)dx � �
p ( x ) dx
�-5 -� �
�5 5 �
�� p ( x )dx � �
p ( x ) dx

�-� -� �

Mặc dù ví dụ này tương đối đơn giản, tuy nhiên có thể thấy từ mô hình tín hiệu có
thể tính toán để đưa ra được ma trận nhiễu đặc trưng cho kênh truyền tin.

II. Thông lượng kênh


Đặc trưng của quá trình truyền tin Quá trình truyền tin được biểu diễn bằng một
chuỗi các thao tác gửi các ký hiệu đi ở đầu vào và nhận ký hiệu ở đầu ra. Liên hệ
giữa đầu vào và đầu ra được thể hiện bằng ma trận nhiễu. Quá trình truyền tin được
đặc trưng bởi phân bố xác suất của nguồn.

Xét một kênh truyền tin rời rạc dừng không nhớ, có m đầu vào x1 , x2 , x3 ,..., xm và n
đầu ra y1 , y2 ,..., yn . Tại mỗi thời điểm, khi nguồn gửi một ký hiệu, ký hiệu này sẽ được
biến đổi thành một ký hiệu đầu ra. Quá trình biến đổi bị tác động bởi nhiễu, do đó ký
hiệu nhận được có thể không tương ứng với ký hiệu đã gửi đi. Đứng trên góc độ
thông tin, ký hiệu gửi đi chứa một lượng thông tin bằng với lượng tin riêng của ký
hiệu. Trong quá trình truyền, lượng tin này bị phá hủy một phần, chỉ có một phần
đến được đích. Lượng tin bị phá hủy một phần chính là lượng tin về ký hiệu đầu vào
còn chưa nhận được khi nhận được ký hiệu đầu ra. Lượng tin về ký hiệu đầu vào
nhận được ở đầu ra chính là lượng tin tương hỗ. Hình vẽ chỉ ra sự thay đổi về lượng
tin trong một quá trình truyền đi một ký hiệu.

THÔNG TIN VÀ ĐỊNH LƯỢNG THÔNG TIN-7: Sự thay đổi lượng tin khi truyền một ký hiệu qua kênh
truyền tin

Trong việc truyền 1 ký hiệu, lượng tin được truyền qua kênh truyền tin là: I(x;y).
Lượng tin này thay đổi khi ký hiệu được truyền và ký hiệu nhận được thay đổi, do đó
nó chỉ phản ánh cho quá trình truyền tin tại một thời điểm cụ thể, với một cặp ký hiệu
đầu vào và đầu ra. Để có thể phản ánh cho cả quá trình truyền tin, cần lấy trung
bình trên các cặp ký hiệu:
m n
I ( X ; Y ) = ��p ( xi , y j ) I ( xi ; y j )(bit / kh)
1 1

43
Đại lượng này được gọi là lượng tin tương hỗ trung bình của hai nguồn tin X và Y.
Để có thể tính được lượng tin tương hỗ, cần định nghĩa lượng tin đồng thời trung
bình:
m n
I ( X , Y ) = ��p ( xi , y j ) log 2 p ( xi , y j )(bit / kh)
1 1

Và lượng tin có điều kiện trung bình


m n
I ( X | Y ) = ��p ( xi , y j ) log 2 p( xi | y j )(bit / kh)
1 1
m n
I (Y | X ) = ��p( xi , y j ) log 2 p( yi | x ji )(bit / kh)
1 1

Quan hệ giữa các lượng tin trung bình cũng tương tự như quan hệ các lượng tin, vì
phép toán trung bình là phép toán tuyến tính.

THÔNG TIN VÀ ĐỊNH LƯỢNG THÔNG TIN-8: Quan hệ giữa các lượng tin trung bình

Các ràng buộc giữa các lượng tin trung bình được biểu diễn bởi:

I ( X ; Y ) = I ( X ) - I ( X | Y ) = I (Y ) - I (Y | X ) = I ( X ) + I (Y ) - I ( XY )
I ( X | Y ) = I ( XY ) - I (Y ); I (Y | X ) = I ( XY ) - I ( X )

Tương tự như với entropy của một nguồn tin, các entropy đồng thời và entropy có
điều kiện của các nguồn tin cũng được tính bằng độ đo giống như lượng tin, nhưng
với ý nghĩa trái ngược. Quan hệ giữa các entropy đồng thời, entropy có điều kiện
trong THÔNG TIN VÀ ĐỊNH LƯỢNG THÔNG TIN-8: Quan hệ giữa các lượng tin
trung bình được giữ nguyên. Công thức trở thành:

I ( X ; Y ) = H ( X ) - H ( X | Y ) = H (Y ) - H (Y | X ) = H ( X ) + H (Y ) - H ( XY )
H ( X | Y ) = H ( XY ) - H (Y )
H (Y | X ) = H ( XY ) - H ( X )

Tốc độ truyền tin của quá trình truyền tin được tính bởi công thức:

44
Rout = n0 I ( X ; Y )

Trong đó R out là tốc độ truyền tin, n0 là tốc độ ký hiệu, I ( X ; Y ) là lượng tin tương hỗ
trung bình, phản ánh lượng tin mà kênh truyền tin cho qua mỗi khi truyền đi một ký
hiệu.

Thông lượng kênh là lượng tin lớn nhất mà kênh có thể cho qua trong một đơn vị
thời gian. Thông lượng kênh được tính bằng giá trị lớn nhất có thể của tốc độ truyền
tin

C = maxRout = max n0 I ( X ; Y )
X X

Tỷ lệ giữa tốc độ truyền tin và thông lượng kênh được gọi là hiệu quả sử dụng kênh:

Rout
H=
C

Thông lượng kênh không nhiễu Nếu kênh không có nhiễu, tất cả thông tin đều
được chuyển tới đầu ra.

I ( X ;Y ) = I ( X )

Rout = n0 I ( X )

C = maxRout = max n0 I ( X ; Y ) = maxn0 I ( X ) = n0 log 2 m


X X X

Hiệu quả sử dụng kênh:

R I(X )
H= =
C log 2 m

Nếu tốc độ truyền tin chưa bằng thông lượng của kênh, có thể sử dụng các phép mã
hóa để tăng hiệu quả của kênh. Xét ví dụ sau:

Một nguồn X có 4 ký hiệu và có phân bố xác suất

X = x1 , x2 , x3 , x4 , p ( x1 ) = 1/ 2, p( x2 ) = 1/ 4, p( x3 ) = 1/ 8, p( x4 ) = 1/ 8

Entropi của X là

H ( X ) = - �p ( x) log p ( x) = 7 / 4
X

Để có Entropi cực đại H ( X ) max = log 2 4 = 2 cần có phân bố xác suất đều cho các ký
hiệu. Thực hiện liên tiếp hai phép biến đổi. Phép biến đổi thứ nhất

45
x1 � y0
x2 � y1 y0
x3 � y1 y1 y0
x4 � y1 y1 y1

Xác suất của y0 và y1 là bằng nhau: (7 / 8) / (7 / 4) = 1 / 2

Biến đổi nguồn tin thu được thành một nguồn có 4 ký hiệu

y0 y0 � z1
y1 y0 � z2
y0 y1 � z3
y1 y1 � z4

Cả hai phép biến đổi đều bảo toàn lượng tin cho các bản tin. Qua việc thực hiện 2
phép mã hóa này, thông lượng của kênh được sử dụng tối đa, hiệu quả sử dụng
kênh bằng 1. Điều này được giải thích bởi việc phân bố xác suất của nguồn gồm
toàn các xác suất « chẵn«, nên có thể sử dụng số ký hiệu nhị phân đúng bằng
lượng tin của từng ký hiệu. Khi các xác suất không phải là lũy thừa của 2, không thể
làm như vậy. Vấn đề đặt ra là hiệu quả tối đa của kênh khi sử dụng các phép biến
đổi. Định lý Shannon cho kênh không nhiễu xác định giới hạn của việc mã hóa.

Cho kênh truyền tin không nhiễu có thông lượng C, nguồn tin có lượng tin trung bình
Ià H ( X ) (bit/kh). Như vậy C = Rmax = n0 H ( X ) max (bit / sec) . Khi đó:

C
- Không thể truyền tin nhanh hơn (kh/s)
H

C
- "�> 0 , có thể mã hóa nguồn để truyền tin với tốc độ trung bình - �(ký
H
hiệu/s)

C
Như vậy sau khi mã hóa tốc độ truyền tin tối đa có thể đạt được không vượt qua
H
(kh/s). Trong nhiều trường hợp, không thể đạt được đúng tốc độ lập tin này, tuy
nhiên luôn luôn có thể tiệm cận với giá trị đó. Phép mã hóa tương ứng gọi là phép
mã hóa tối ưu.

Thông lượng kênh có nhiễu Khi kênh có nhiễu, vấn đề đặt ra là khi nào có thể
truyền tin một cách tin cậy. Định lý Shannon cho kênh không nhiễu thể hiện điều này.

Định lý Shannon cho kênh có nhiễu:

Cho nguồn tin có tốc độ lập tin R ,truyền tin vào kênh tin có thông lượng C ,

46
- Nếu R < C , "�> 0 có thể có phương pháp mã hóa để truyền tin với độ sai
nhầm �(bit/s).

- Nếu R > C

o "�> 0 có thể mã hóa nguồn với sai số R - C + �.

o Không tồn tại cách mã hóa với sai số nhỏ hơn R - C

Như vậy nếu R < C phần dư của nguồn được dùng để bổ sung các thông tin chống
nhiễu. Cần truyền lượng tin lớn hơn so với lượng tin cần truyền. Nếu R > C , phần
thông tin không được truyền đi sẽ trở thành sai số (tối thiểu). Tồn tại cách mã hóa
để có(tiệm cận) sai số tối thiểu

III. Khảo sát một số kênh truyền tin thông dụng


Kênh nhị phân đối xứng là kênh có đầu vào và đầu ra gồm 2 ký hiệu 0 và 1, có ma
trận nhiễu đối xứng:

�p 1 - p�

1- p p �
� �

Giả sử nguồn tin đầu vào có phân bố xác suất (q,1 - q ) . Giả sử kênh truyền tin có
tốc độ ký hiệu là n0 . Cần xác định tốc độ truyền tin, thông lượng kênh, hiệu quả sử
dụng kênh. Chú ý là tốc độ truyền tin và hiệu quả sử dụng kênh là các đặc điểm của
một quá trình truyền tin còn thông lượng kênh là đặc điểm của kênh

Để có thể tính được tốc độ truyền tin, cần tính được lượng tin tương hỗ và lượng tin
tương hỗ trung bình. Theo liên hệ giữa các lượng tin, lượng tin tương hỗ trung bình
có thể được tính theo công thức , cụ thể là:

I ( X ;Y ) = I ( X ) - I ( X | Y )
I ( X ; Y ) = I (Y ) - I (Y | X )
I ( X ; Y ) = I ( X ) + I (Y ) - I ( XY )

Công thức thứ 2 có thể tính được lượng tin tương hỗ nhanh nhất.

Trước hết biểu diễn các thông số liên quan đến quá trình truyền tin trong một bảng.
Kên truyền tin được đặc trưng bởi các xác suất chuyển đổi, tức là các xác suất có
điều kiện của đầu ra với đầu vào đã biết p ( y j | xi ) .

P(Y|X) Đầu vào 0 1


Đầu 0 p 1-p
ra 1 1-p p
P(X) q 1-q
Sau đó tính các xác suất đồng thời. Từ các xác suất đồng thời tính được xác suất
của đầu ra.

47
P(XY) Đầu vào 0 1 P(Y)
Đầu 0 pq (1-p)(1-q) 2pq-p-q+1
ra 1 (1-p)q p(1-q) p+q-2pq
Đặt 2 pq - p - q + 1 = r . Lượng tin trung bình của đầu ra là:

I (Y ) = -log 2 (r ) - log 2 (1 - r ) = H 2 ( r )

Trong đó H 2 (r ) là hàm số xác định lượng tin trung bình của nguồn tin nhị phân với
phân bố xác suất < r ,1 - r > . Lượng tin có điều kiện trung bình I (Y | X ) :
2 2
I (Y | X ) = ��p( xi , y j )log 2 ( p ( y j | xi )) =
1 1

= pqlog 2 p - (1 - p)(1 - q )log 2 (1 - p) - (1 - p )qlog 2 (1 - p ) - p(1 - q)log 2 p


= - p log 2 p - (1 - p ) log 2 (1 - p) = H 2 ( p)

Lượng tin tương hỗ trung bình là:

I ( X ; Y ) = I (Y ) - I (Y | X ) = H 2 (r ) - H 2 ( p )

Tốc độ lập tin:

Rout = n0 ( H 2 ( r ) - H 2 ( p ))

Thông lượng kênh được xác định bằng tốc độ lập tin lớn nhất:

C = max Rout = n0 max( H 2 ( r ) - H 2 ( p)


X q

H 2 (r ) đạt giá trị lớn nhất khi r = 1 / 2 hay

1
2 pq - p - q + 1 = � (2 p - 1)(2q - 1) = 0
2

Nếu p = 1/ 2 khi đó r = 1/ 2 , tốc độ truyền tin và thông lượng kênh đều bằng 0.
Trường hợp này kênh là vô dụng

H 2 (r ) - H 2 ( p )
Nếu p �1/ 2 khi đó C = n0 (1 - H 2 ( p ) . Hiệu quả sử dụng kênh H =
1 - H 2 ( p)

Kênh xóa một ký hiệu là kênh truyền tin có 2 ký hiệu đầu vào 0,1 và 3 ký hiệu đầu
ra 0,1,E. Ký hiệu E được tạo ra ở đầu ra để báo là thiết bị thu không xác định được
ký hiệu nào là ký hiệu đầu vào. Bảng các xác suất chuyển đổi của E có dạng:

P(Y|X) Đầu 0 1
vào
Đầu 0 p 0
ra 1 0 P
E 1-p 1-p
P(X) q 1-q

48
Bảng các xác suất đồng thời

P(XY) Đầu vào 0 1 P(Y)


Đầu ra 0 pq 0 pq
1 0 p(1-q) p(1-q)
E (1-p)q (1-p)(1- 1-p
q)
P(X) q 1-q
Bảng các xác suất có điều kiện của đầu vào khi biết đầu ra:

P(X|Y) Đầu vào 0 1


Đầu ra 0 1 0
1 0 1
E q (1-q)
P(X) q 1-q
Lượng tin tương hỗ:

I ( X ;Y ) = I ( X ) - I ( X | Y ) =
= - qlog 2 q - (1 - q)log 2 (1 - q ) - ( -(1 - p )qlog 2q - (1 - p )(1 - q )log 2 (1 - q ) )
= pH 2 ( q)

Tốc độ truyền tin

Rout = n0 pH 2 (q )

Thông lượng kênh

C = max Rout = p
X

Hiệu quả sử dụng kênh

Rout
H= =p
C

49
Bài 6. Tốc độ lập tin nguồn và thông lượng kênh liên tục

I. Tốc độ lập tin nguồn liên tuc


Biểu diễn nguồn liên tục dừng, không nhớ Nguồn liên tục là một quá trình ngẫu
nhiên liên tục. Để có thể nghiên cứu, xem xét nguồn liên tục cần rời rạc hóa nguồn
liên tục. Với điều kiện nguồn có phổ hữu hạn, có thời gian tồn tại hữu hạn, nguồn
liên tục có thể được lấy mẫu với tần số 2Df tại các điểm {ti }, i = 1�n

Nguồn liên tục được biểu diễn bằng tập hợp các thể hiện, mỗi thể hiện là một hàm
x(t ) theo thời gian, được đặc trưng bởi n giá trị tức thời {xi }, i = 1�n , được đặc
trưng bởi phân bố xác suất đồng thời p( x1 , x2 �, xn ) , trong đó với nguồn dừng, phân
bố xác suất này không phụ thuộc thời gian

p ( xti ) = p ( xti +t )

Để đánh giá chất lượng thông tin của một nguồn tin liên tục, cần có các tiêu chí
đánh giá như tốc độ lập tin, lượng tin trung bình. Tuy nhiên, các khằng định sau luôn
đúng với nguồn tin liên tục

- Tại mỗi một thời điểm, giá trị của nguồn liên tục là một biến ngẫu nhiên liên
tục có thể nhận vô số giá trị, các giá trị này có xác suất xuất hiện cực nhỏ, do
đó có lượng tin lớn vô hạn

- Số lượng các giá trị mà nguồn tin có thể sinh ra trong một đơn vi thời gian là
vô hạn.

Như vậy lượng tin vô hạn của nguồn liên tục là vô hạn. Nói cách khác, xác suất để
có thể có lại được một thể hiện của nguồn liên tục là cực nhỏ. Như vậy việc định
nghĩa lượng tin, lượng tin trung bình, tốc độ lập tin, thông lượng tin không có ý nghĩa
vật lý với kênh liên tục.

Tuy nhiên, hầu hết các kênh truyền tin liên tục đều được sử dụng để truyền tải các
thông tin rời ra. Do đó vẫn cần có một độ đo, cho dù không có ý nghĩa vaantj lý,
nhưng vẫn có khả năng sử dụng để so sánh các kênh truyền tin liên tục với nhau về
khả năng truyền các thông tin rời rạc.vấn đề

Tốc độ lập tin của nguồn tin rời rạc được tính theo công thức

R = no I ( X )

Lượng tin của một nguồn tin rời rạc được tính theo công thức:
m
I ( X ) = -�p( xi ) log 2 ( p( xi ))(bit / kh)
1

50
Với các nguồn tin công thức trên có thể được mở rộng bằng:

( p ( x ) log 2 ( x)dx
I(X ) = - �
-�

Giá trị nhỏ nhất của lượng tin là 0. Lượng tin của nguồn tin liên tục bằng 0 khi nguồn
phát duy nhất 1 giá trị.

Giá trị lớn nhất của nguồn tin liên tục phụ thuộc vào tính chất của nguồn tin. Nếu tồn
tại các giới hạn trên và dưới của nguồn tin, nguồn tin được gọi là nguồn có công
suất cực đại hữu hạn, có lượng tin trung bình lớn nhất khi nguồn tin có phân bố
đều.. Nếu không có cận trên hoặc cận dưới, nguồn tin được gọi là có công suất
trung bình hữu hạn và có lượng tin trung bình lớn nhất khi nguồn có phân bố chuẩn
Gauss

Lượng tin lớn nhất của nguồn có công suất cực đại hữu hạn:
xmax

I(X ) = - �p( x) log


xmin
2 p ( x) dx

1
= - log 2 (bit )
b-a

Có thể thấy mặc dù có ý nghĩa vật lý, nhưng lượng tin trung bình có thể dùng để so
sánh các nguồn tin liên tục. Trong trường hợp này, nguồn tin nào có biên độ dao
động của tín hiệu lớn hơn sẽ có lượng tin lớn hơn.

Với lượng tin của nguồn có công suất trung bình hữu hạn Pav , �
x 2 p ( x )dx = Pav =  2 ,

lượng tin trung bình lớn nhất có giá trị khi nguồn có phân bố chuẩn Gauss. Hàm mật
ðộ phân bố xác suất của nguồn có dạng:

1 2
p ( x) = e - ( x - mx )
2p Pav

Lượng tin lớn nhất sẽ là



x2
I ( X ) = I ( X ) max = �
p ( x)[ + ln 2p Pav ]dx

2 Pav
� �
1
= �
x p ( x) dx + ln
2
2p Pav �
p( x)dx
2 Pav � �

1
= + ln 2p Pav = ln 2p ePav
2

Tốc độ lập tin của nguồn

51
R = n0 H ( X ) = 2DfH ( X )

Chú ý là khái niệm tốc độ ký hiệu của nguồn tin rời rạc đã được thay thế bằng khái
niệm 2Df . Tốc độ ký hiệu của nguồn càng lớn, tương ứng với việc tốc độ thay đổi
tín hiệu càng nhanh, hay nói cách khác, tần số của tín hiệu càng lớn. Với một số
nguồn tin trong khi điều chế tần số tín hiệu bị thay đổi, để phản ánh tần số tín hiệu
mang thông tin không thể sử dụng tần số tuyệt đối, do đó đại lượng băng thông tín
hiệu 2Df được sử dụng.

Tương tự như lượng tin trung bình của nguồn tin, với 2 nguồn tin có thể mở rộng
các khai niệm lượng tin trung bình đồng thời, có điều kiện, tương hỗ

Lượng tin đồng thời


��
I ( X , Y ) = -�
�p( x, y) log p( x, y)
�-�

Lượng tin có điều kiện


��
I ( X | Y ) = -�
�p( x, y) log p( x | y)
�-�
��
I (Y | X ) = - �
�p( x, y) log p( y | x)
�-�

Lượng tin tương hỗ


��
p( x | y)
I ( X ; Y ) = -�
�p( x, y) log dxdy
�-�
p ( x)

Quan hệ giữa các lượng tin vẫn được bảo toàn như theo THÔNG TIN VÀ ĐỊNH
LƯỢNG THÔNG TIN-8: Quan hệ giữa các lượng tin trung bình và công thức .

Cũng tương tự như nguồn tin và kênh tin rời rạc, với nguồn tin và kênh tin liên tục,
các khái niệm entropy đồng thời và có điều kiện cũng có độ đo giống như lượng tin.
Các quan hệ giữa entropy đồng thời, có điều kiện với lượng tin tương hỗ vẫn tuân
theo THÔNG TIN VÀ ĐỊNH LƯỢNG THÔNG TIN-8: Quan hệ giữa các lượng tin
trung bình và công thức .

Như vậy, các khái niệm tốc độ lập tin, lượng tin trung bình, entropy đồng thời,
entropy có điều kiện của nguồn tin liên tục là các khái niệm mở rộng từ các khái
niệm tương ứng của nguồn tin rời rạc, không có ý nghĩa vật lý tuy nhiên có thể dùng
để so sánh các nguồn tin liên tục với nhau.

II. Thông lượng kênh liên tục


Thông lượng kênh liên tục được tính bằng tốc độ truyền thông tin lớn nhất truyền
qua kênh. Tốc độ truyền tin được tính bằng công thức:

52
Rout = 2DfI ( X ; Y )

Do đó thông lượng kênh được tính bằng công thức:

C = max Rout = 2Df max I ( X ; Y )


X X

Bài toán tính toán thông lượng kênh là rất phức tạp. Ở đây chúng ta chỉ xem xét một
ví dụ đơn giản. Xét kênh truyền tin có nhiễu cộng. Tín hiệu đầu ra là

y (t ) = x(t ) + n(t ), x �X , y �Y , n �N

giả thiết X và N độc lập thống kê, các nguồn tin đều có công suất trung bình hữu
hạn. Kênh truyền tin này tuy đơn giản nhưng có thể phản ánh rất nhiều trường hợp
của các kênh truyền tin liên tục trong thực tế.

Vậy

I ( X ,Y ) = I ( X , X + N ) = I ( X , N ) = I ( X ) + I (N )

Mặt khác

I ( X , Y ) = I ( X ) + I (Y | X )

Vậy I ( N ) = I (Y | X )

Tốc độ lập tin

R = n0 [ I (Y ) - I (Y | X )] = 2Df [ I (Y ) - I ( N )]

Thông lượng kênh bằng tốc độ lập tin cực đại đầu ra. Cần có I (Y ) cực đại để có
thông lượng cực đại do đó Y có phân bố chuẩn. Nhiễu có quá trình phân bố chuẩn,
vậy X phải có quá trình phân bố chuẩn. Khi đó

I (Y ) = I (Y ) max = ln 2p e( PX + PN ), I ( N ) = ln 2p ePN
PX
C = Rmax = 2Df ( I (Y ) - I ( N )) = Df (1 + )
PN

Đây là công thức Shannon cho kênh liên tục. Muốn tăng thông lượng của kênh cần
tăng giải thông Df hoặc tăng công suất tín hiệu. Tuy nhiên, giải thông không thể tăng
vô hạn. Khi giải thông tăng, công suất nhiễu cũng tăng theo

PN = DfN 02

Khi đó

PS 2
C = Df log 2 (1 + N0 )
Df

53
Giới hạn của thông lượng

PX P
lim (C ) = 2
log 2 e = 1.443 X2
Df �� N0 N0

Gọi là giới hạn Shannon cho kênh liên tục. Các hệ thống truyền tin trong thực tế còn
cách rất xa giới hạn trên.

54
CHƯƠNG IV. MÃ HIỆU
Bài 7. Cơ sở lý thuyết của mã hiệu

I. Khái niệm mã hiệu


Quá trình xử lí thông tin thường bao gồm các giai đoạn:

- Thu thập các thông tin từ một nguồn tin nguyên thủy

- Biến đổi nguồn tin nguyên thủy cho phù hợp với các quá trình xử lí thành các
nguồn tin trung gian khác

- Biến đổi ngược từ các nguồn tin thành nguồn tin có dạng ban đầu

Trong suốt quá trình biến đổi của thông tin, luôn luôn cần biểu diễn thông tin dưới
một hình thức nào đó. Để có thể biểu diễn thông tin, ngoài việc phải có môi trường
vật lý, còn cần có các quy tắc để biểu diễn thông tin. Các qui tắc này cần được
thống nhất giữa các bộ phận trong quá trình xử lý thông tin. Chương 1 đã đề cập
đến phép biến đổi các nguồn tin nói chung sử dụng các qui tắc này. Phép biến đổi
được gọi là phép mã hóa theo nghĩa rộng, các qui tắc biến đổi được gọi chung là
mã. Ví dụ về mã có thể liệt kê: mã NRZ, Manchester, ....

Trong các hệ thống xử lý thông tin số, các mạch điện chỉ có thể lưu trữ các ký hiệu
rời rạc, thông thường là 2 ký hiệu 0 và 1. Do đó để có thể đưa vào xử lý, thông tin
cần được biểu diễn bằng các ký hiệu số. Các qui tắc biểu diễn thông tin bằng các ký
hiệu số gọi là mã hiệu. Quá trình biến đổi nguồn tin ban đầu thành nguồn tin sử
dụng các ký hiệu số gọi là phép mã hóa theo nghĩa hẹp. Quá trình biến đổi nguồn tin
sử dụng các ký hiệu số thành nguồn tin ban đầu gọi là quá trình giải mã. Về nguyên
tắc quá trình mã hóa và quá trình giải mã đều là các phép mã hóa, tuy nhiên trong
trường hợp biểu diễn thông tin bằng ký hiệu số 2 quá trình này có sự khác nhau cơ
bản.

Quá trình mã hóa được thực hiện khi thiết bị mã hóa nhận các ký hiệu nguồn và
biến đổi thành các chuỗi ký hiệu số. Thông thường số lượng các ký hiệu trong bảng
ký hiệu của nguồn tin lớn hơn nhiều so với số lượng các ký hiệu số sử dụng. Do đó
mỗi ký hiệu nguồn được ánh xạ với một chuỗi ký hiệu số. Thiết bị mã hóa cần có
bảng mã hóa lưu trữ các ánh xạ này. Quá trình mã hóa là quá trình ánh xạ các ký
hiệu nguồn thành các chuỗi ký hiệu số và ghép lại với nhau.

Quá trình giải mã xảy ra theo trình tự ngược lại. Chuỗi ký hiệu số nhận được sẽ
được chia thành các chuỗi ký hiệu con, sau đó các chuỗi ký hiệu con sẽ được ánh
xạ theo bảng ánh xạ để trở thành ký hiệu nguồn. Sự khác biệt nằm ở chỗ: quá trình
ghép các chuỗi ký hiệu số thành một chuỗi dài hơn là quá trình hiển nhiên, còn quá
trình ngược lại, phân táchchuỗi ký hiệu số thành các chuỗi ký hiệu con có thể có

55
nhiều lời giải. Trường hợp có nhiều lời giải, mã hiệu được gọi là không phân tách
được. Nếu bài toán phân tách luôn luôn chỉ có một lời giải, mã hiệu được gọi là
phân tách được.

Để có thể nghiên cứu sâu hơn về mã hiệu cần có các định nghĩa hình thức hơn về
cách thức xây dựng mã hiệu cũng như xác định tính phân tách được của mã hiệu.

II. Thành phần của mã hiệu


Mã hiệu gồm một tập hữu hạn các ký hiệu số, gọi là dấu mã, hay ký hiệu mã. Tập
hợp một chuỗi nào đó các dấu mã gọi là tổ hợp mã. Trong tập hợp tất cả các tổ
hợp mã,

Một tập hợp các tổ hợp mã được xây dựng theo một luật nào đó, gọi là tổ hợp mã
có thể (hợp lệ). Luật này thường được định ra bởi hệ thống thông tin trung gian. Giả
sử thông tin nào đó được truyền qua một đường truyền quay số theo 8 bit, thì tại
đầu ra, cho dù quá trình truyền tin có lỗi hay không có lỗi, luôn luôn thu được các
chuỗi ký hiệu có chiều dài 8 bít.

Trong bảnh ánh xạ, mỗi tin của nguồn nguyên thủy được ánh xạ vào đúng một tổ
hợp mã. Một tổ hợp mã như vậy gọi là từ mã. Những tổ hợp có thể khác gọi là tổ
hợp cấm (tổ hợp không sử dụng). Một dãy từ mã bất kỳ tạo thành một từ thông tin

Ví dụ: Trong mã BCD Binary Coded Decimal ðóng gói, nguồn tin nguyên thủy gồm
các tin là các ký hiệu từ 0 - 9 . Để thuận tiên hơn cho việc biểu diễn các số thập phân
trong máy tính mà không cần phải thực hiện thuật toán chuyển cơ số, mã BCD cho
phép biểu diễn trực tiếp các chữ số thập phân bằng các chữ số nhị phân, sử dụng
các từ mã có chiều dài 4. Tổ hợp mã có thể là một chuỗi ký hiệu nhị phân bất kỳ, tuy
nhiên tổ hợp mã hợp lệ chỉ bao gồm các tổ hợp mã có chiều dài 4. Có tất cả 16 tổ
hợp mã như vậy. Khi ánh xạ các tổ hợp mã này với các ký hiệu nguồn, có 10 tổ hợp
mã (ví dụ 0000-1001) tương ứng với 10 ký hiệu nguồn được gọi là từ mã, còn lại 6
tổ hợp ,ã (1010 đến 1011) không tương ứng với ký hiệu nguồn nào cả, gọi là tổ hợp
mã bị cấm. Khi mã hóa một chuỗi ký hiệu nguồn, ví dụ 2011 khi đó chúng ta có
chuỗi từ mã 0010, 0000, 0001, 0001 tạo thành từ thông tin 0010000000010001.
Bảng 3: Thành phần của mã BCD

Ký hiệu nguồn Tổ hợp mã hợp lệ


0 0000
1 0001
2 0010
3 0011
4 0100
Các từ mã
5 0101
6 0110
7 0111
8 1000
9 1001
1010 Tổ hợp mã bị cấm

56
1011
1100
1101
1110
1111

III. Thông số của mã hiệu


Giả sử nguồn tin ban đầu gồm n ký hiệu x1 , x2 , �, xn với các xác suất tương ứng. Số
lượng ký hiệu số trong bảng ký hiệu gọi là cơ số. Số lượng ký hiệu số sử dụng trong
mỗi từ mã được gọi là chiều dài của từ mã. Nếu các từ mã có chiều dài bằng nhau,
mã hiệu được gọi là mã đều. Nếu không, mã hiệu gọi là mã không đều và có chiều
dài trung bình của từ mã được tính bằng công thức:
L
n = �p ( xi )ni
i =1

Ký hiệu L là tổng số từ mã. M là số các tổ hợp mã hợp lệ. Nếu L = M , mã hiệu gọi
là mã đều, nếu L < M mã hiệu gọi là mã vơi. R = M - L : số các tổ hợp bị cấm
(không sử dụng). Khi chuyển một từ mã qua một kênh truyền tin, luôn luôn thu được
một tổ hợp mã hợp lệ. Nếu thu được một tổ hợp bị cấm, quá trình truyền tin đã có
lỗi. Nếu thu được một từ mã. Nếu thu được một từ mã, có thể quá trình truyền tin
R
không có lỗi hoặc có lỗi xảy ra biến một từ mã thành một từ mã khác. Tỷ lệ còn
M
được sử dụng để đánh gái khả năng phát hiện lỗi của mã hiệu.

Để thuận tiện cho việc tìm kiếm các từ mã trong quá trình thực hiện mã hóa và giải
mã mỗi từ mã được gán cho một trọng số. Trọng số trực quan nhất của các từ mã là
trọng số hệ đếm vị trí.

Mỗi ký hiệu được gán cho một giá trị gọi là giá trị riêng hay trị của ký hiệu. Ví dụ m
ký hiệu có thể được gán các trị tương ứng là 0,1, 2�m - 1 . Chỉ số vị trí là số thứ tự
của mỗi ký hiệu trong từ mã. Ví dụ: đánh số từ 0, từ phải qua trái. Trọng số vị trí wk :
hệ số nhân của từng vị trí ký hiệu k . Ví dụ: trong hệ đếm cơ số 10, trọng số của vị trí
đầu tiên là 1, thứ 2 là 10, 100, ..... Trọng số (giá trị) của từ mã được tính bằng công
thức:
n
P (w) = �ak wk
k =1

Trong đó w = a1a2 ...an là từ mã, wk là trọng số của vị trí thứ k.

Trong hệ đếm cơ số m
n -1
P(w) = �ak m k
k =0

57
Trọng số Hamming của các từ mã được đo bằng số lượng các chữ số khác 0:

H ( w) = | {ai �0} |

Khoảng cách giữa hai từ mã có thể đo bằng nhiều độ đo khoảng cách khác nhau.
Có thể đo bằng khoảng cách Euclide, có thể đo bằng hiệu giữa hai trọng số, có thể
sử dụng một độ đo định nghĩa riêng. Khoảng cách Hamming giữa hai từ mã được
đo bằng số vị trí khác nhau giữa 2 từ mã đó:

DH ( w1 , w2 ) = | {w1 (i ) �w2 (i )} |

Khoảng cách Hamming phản ánh sự khác nhau giữa từ mã và tổ hợp mã nhận
được sau khi truyền qua kênh truyền tin. Nếu kênh truyền tin tin cậy, số lượng bít bị
thay đổi nhỏ, khoảng cách Hamming nhỏ. Nếu kênh truyền tin không tin cậy, số
lượng bít bị thay đổi lớn, khoảng cách Hamming lớn. Để đảm bảo phát hiện được
lỗi, phải đảm bảo là khoảng cách giữa các từ mã phải lớn hơn khoảng cách có thể
giữa từ mã và tổ hợp mã lỗi tương ứng:

D>d

Để sửa được lỗi, các tổ hợp mã bị lỗi của các từ mã khác nhau phải khác nhau, do
đó các hình tròn bán kính d phải rời nhau. Do đó:

D > 2d

Hàm cấu trúc của mã hiệu cho biết phân bố của các từ mã theo độ dài

G (n) =| {wi | ni = n} |

58
Bài 8. Điều kiện để phân tách mã phân tách được

I. Quá trình giải mã và tính phân tách được


Tính phân tách được Mã hiệu được gọi là phân tách được nếu tất cả các từ thông
tin chỉ có một cách phân tách duy nhất thành các từ mã.

Định nghĩa như trên đảm bảo quá trình giải mã luôn luôn có một nghiệm duy nhất.
Tuy nhiên, rất khó để có thể xác định một mã hiệu có tính phân tách được hay
không dựa vào việc kiểm tra tất cả các từ thông tin. Đồng thời, việc mã hiệu có sử
dụng được hay không không chỉ phụ thuộc vào tính phân tách được, mà còn phụ
thuộc vào việc thời gian phân tách mã có chấp nhận được hay không. Để thực hiện
được mục đích này, cần phân tích kỹ quá trình giải mã.

Giả sử một chuỗi ký hiệu nguồn đã được mã hóa thành một từ thông tin và gửi đi
qua kênh truyền tin. Tại nơi nhận, quá trình giải mã được diễn ra như sau:

- Bộ phận thu tin nhận lần lượt từng dấu ký hiệu mã, ghi tạm thời vào bộ nhớ
đệm. Nội dung bộ nhớ đệm sẽ được xử lý ở các công đoạn tiếp theo.

- Kiểm tra và tách chuỗi ký hiệu mã thu được thành các từ mã nếu có thể

- Chuyển đổi các từ mã thành các ký hiệu của nguồn tin ban đầu. Xóa các từ
mã đã được giải mã khỏi bộ nhớ đệm. Tiếp tục nhận các ký hiệu mã.

- Nếu chưa giải mã được, tiếp tục nhận thêm các ký hiệu mã.

Ở bước 2 bộ phận giải mã cần giải mã bộ nhớ đệm. Nếu chỉ có một khả năng thỏa
mãn khi đó nội dung bộ nhớ đệm có thể giải mã được. Nếu còn hơn 1 khả năng, khi
đó cần nhận thêm các ký hiệu mã để loại bỏ một số trong các khả năng còn lại.

Cần chú ý là nội dung bộ nhớ đệm không bắt buộc là một từ thông tin, mà chỉ là một
phần đầu của từ thông tin. Do đó, việc giải mã cần cho một nghiệm duy nhất trong 2
trường hợp sau:

- Nội dung bộ nhớ đệm là một chuỗi từ mã và một phần đầu của từ mã

- Nội dung bộ nhớ đệm là một chuỗi từ mã và chứa ký hiệu cuối cùng của từ
thông tin.

Để có thể giải mã được, cần thiết phải lưu trữ một số ký hiệu trong bộ nhớ đệm.
Điều này cũng có nghĩa là thời gian từ lúc nhận được một ký hiệu mã cho đến khi từ
mã chứa ký hiệu mã này được giải mã phụ thuộc vào kích thước của nội dung bộ
nhớ đệm. Do đó kích thước bộ nhớ đệm được gọi là độ trễ giải mã.

59
II. Bảng thử mã
Trên cơ sở các khảo sát một quá trình giải mã nói trên, mã hiệu sẽ được xem xét
tổng quát với tất cả các quá trình giải mã có thể.

Khi giải mã, thời điểm đầu tiên bộ phận giải mã dừng lại để xem xét thực sự để giải
mã là thời điểm khi nội dung bộ nhớ đệm bằng một từ mã w1 . Sẽ có 2 khả năng xảy
ra: (i) nếu không có từ mã w2 nào có w1 là phần đầu thì khi đó có thể tiến hành giải
mã;(ii) nếu có một từ mã w2 nhận w1 là phần đầu, ký hiệu w1 < p w2 thì chưa giải mã
được do vẫn tồn tại 2 cách phân tách nội dung bộ nhớ đệm. Bộ phận giải mã tiếp
tục nhận các ký hiệu mã.

Nếu trong quá trình nhận các ký hiệu mã, nếu nội dung bộ nhớ đệm không trùng với
phần đầu của w2 , hoặc phần còn lại của bộ nhớ đệm sau khi bỏ đi w1 không phải là
phần đầu của một từ mã, một trong hai trường hợp nói trên bị loại, bộ phận giải mã
có thể tiến hành giải mã. Nếu không, thời điểm tiếp theo bộ phận giải mã cần lựa
chọn là thời điểm nội dung bộ nhớ đệm trùng với w2 hoặc chuỗi từ mã w1 , w3 .

Tại thời điểm này có 2 khả năng giải mã: (i) chuỗi từ mã gồm từ mã w2 ; (ii) chuỗi từ
mã gồm một từ mã w1 và phần đầu của một từ mã w3 nào đó. Như vậy điều kiện để
có thể tồn tại 2 trường hợp tại thời điểm này là phần còn lại của bộ nhớ đệm ( w2 )
sau khi đã bỏ đi phần đầu trùng với w1 , ký hiệu w2 - p w1 là phần đầu của w3 .

w2 - p w1 < p w3

Trường hợp nội dung bộ nhớ đệm trùng với chuỗi từ mã w1w3 , điều kiện để cả hai
trường hợp còn lại là:

w 3 < p w2 - p w1

Như vậy, đến thời điểm này việc phân tích được hay không hoàn toàn phụ thuộc
vào w2 - p w1 . Nói cách khác, nếu có 2 từ mã w '2 , w '1 mà w2 - p w1 = w '2 - p w '1 , thì kết
quả giải mã được hay không đều giống nhau.

Quá trình giải mã sẽ tiếp tục như vậy cho đến khi nào một trong hai điều kiện giải
mã được thỏa mãn.

Trên cơ sở phân tích hình thức quá trình giải mã, có thể lập bảng theo dõi để từ đó
kiểm tra được tính phân tách của mã.

Bảng này sẽ ghi lại tất cả các khả năng có thể của quá trình giải mã tại các thời
điểm mà bộ phận giải mã cần cân nhắc tính giải mã được của bộ nhớ đệm.

- Cột 1 của bảng sẽ bao gồm tất cả các từ mã

- Cột 2 của bảng sẽ bao gồm tất cả các tổ hợp mã c thỏa mãn:
60
$w1 , w 2 | c = w 2 - p w1

- Cột 3 của bảng sẽ được xây dựng từ các phần tử của cột 2. Với mỗi phần tử
c của cột 2, phần tử c’ của cột 3 được xác định theo 2 cách

$w | c ' = w - p c

Hoặc:

$w | c ' = c - p w

Cột 4 được xây dựng tương tự dựa trên cột 3. Cột n + 1 được xây dựng từ cột n

Bảng thử mã tiếp tục được xây dựng cho đến khi gặp một trong các trường hợp sau
đây:

Thu một cột rỗng Nếu các bước trên không tìm được tổ hợp mã nào phù hợp,
bảng thử mã sẽ có một cột rỗng. Hiển nhiên các cột tiếp theo cũng rỗng. Có thể
khẳng định quá trình giải mã đến một số từ mã nào đó chắc chắn sẽ cho nghiệm duy
nhất. Trường hợp này mã hiệu phân tách được, độ trễ giải mã hữu hạn.

Thu một từ mã Nếu một tổ hợp mã thu được là từ mã, điều này có nghĩa là tồn tại
một từ thông tin có 2 cách phân tách khác nhau. Có thể khẳng định mã hiệu không
có tính phân tách.

Thu 2 cột bằng nhau Nếu không rơi vào 2 trường hợp trên, bảng thử mã sẽ có vô
số cột. Chú ý là chiều dài các tổ hợp mã trong mỗi cột là hữu hạn, do đó số lượng
các tổ hợp của các tổ hợp mã cũng là hữu hạn. Hay nói cách khác, giá trị có thể của
các cột là hữu hạn. Trường hợp bảng thử mã có vô số cột, chắc chắn đến một lúc
nào đó có 2 cột có cùng các tổ hợp mã. Khi đó các cột tiếp theo của 2 cột này cũng
có các tổ hợp mã giống nhau: bảng thử mã là tuần hoàn. Trường hợp này có thể
chắc chắn là mã hiệu phân tách được, tuy nhiên độ trễ giải mã vô hạn. Có những từ
thông tin chỉ được giải mã khi nhận được ký hiệu cuối cùng.

Ví dụ về bảng thử mã

a. 01,0111, 010, 11101

Cột 1 Cột 2 Cột 3 Cột 4


01 11 1 1101
0111 0 111 01-từ mã
010 10
11101 101
Do xuất hiện từ mã ở cột 4 nên mã hiệu là mã không phân tách được. Thật vậy, từ
thông tin 01,0111,01 có thể phân tách một cách khác thành chuỗi từ mã 010,11101,
do đó mã hiệu là không phân tách được.

b. 0, 01, 011, 111

61
Cột 1 Cột 2 Cột 3
0 11 1
01 1 11
011
111
Cột 2 và cột 3 giống nhau do đó mã hiệu là phân tách được, độ trễ giải mã vô
hạn. Thật vậy, từ thông tin 01......1 chỉ có thể được giải mã khi nhận được ký
hiệu 1 cuối cùng.

c. 01,110,111,0100,0110

Cột 1 Cột 2 Cột 3


01 10
110 00
111
0100
0110
Cột thứ 3 rỗng do đó mã hiệu là mã phân tách được với độ trễ giải mã hữu
hạn

III. Mã có tính prefix (tiền tố)


Nếu bộ mã không có từ mã nào là phần đầu của một bộ mã khác, cột thứ 2 của
bảng thử mã rỗng, bộ mã là mã phân tách được với độ trễ giải mã xấp xỉ bằng chiều
dài từ mã. Bộ mã như vậy gọi là mã có tính prefix hay đơn giản hơn là mã prefix. Mã
prefix còn được gọi là mã nhanh, mã tức thời, .....

Các thao tác sau đây có thể phá hủy tính prefix của mã hiệu:

- Thu ngắn một từ mã: khi một từ mã bị thu ngắn, nó có thể trở thành phần đầu
của từ mã khác.

- Bổ sung thêm một từ mã: từ mã mới có thể nhận các từ mã đã có là phần


đầu.

Cả hai thao tác này đều là các thao tác giảm chiều dài trung bình của các từ mã,
tăng hiệu suất mã. Như vậy để có được tính prefix, cần hy sinh một phần hiệu suất.
Xem xét kỹ hơn cấu trúc chiều dài của các từ mã.

Hàm cấu trúc của mã prefix

62
G (1) �m
G (2) �m 2 - mG (1)

n -1 n
G (n) �m n - �m n- j G ( j )m n ��m n- j G ( j )
j =1 j =1

hay
n
1 ��m - j G ( j )
j =1

-j
dấu bằng xảy ra khi p ( xi ) = m "j .

Ngược lại, nếu dãy số n j ,1 �j �k thỏa mãn

n
1 ��m
-nj

j =1

Thì sẽ tồn tại bộ mã prefix với cơ số m với độ dài của các từ mã là n j . Bất đẳng
thức này còn gọi là bất đẳng thức Kraft-McMillan.

Có thể thấy để đảm bảo tính chất prefix của mã hiệu, cần hy sinh hiệu quả của mã
hiệu. Với một mã hiệu có tính prefix, bất cứ thao tác nào làm tăng hiệu quả mã hiệu
như: thu ngắn từ mã, bổ sung từ mã, đều có thể làm mất tính prefix của mã hiệu.

Tuy nhiên, chứng minh sau đây sẽ cho thấy việc áp tính prefix vào mã hiệu không
làm thay đổi mã hiêu.

Chúng ta sẽ xem xét bất đẳng thức McMillan với mã phân tách được. Nâng vế phải
của bất đẳng thức lên lũy thừa bậc N
N
�n - n j � n n n

� � � �
n
� m � = .... m i1 m ni 2 ...m niiN =
�j =1 � i1 =1 i2 =1 iN =1
max ( A ( j )
= �
min( A ( j ))
A( j )m - j

Trong đó A( j ) là số các từ thông tin có chiều dài j . Do các từ thông tin là khác
nhau, nêu không có 2 từ thông tin nào ánh xạ vào một tổ hợp mã có chiều dài j. Vậy
số lượng các từ thông tin có chiều dài j nhỏ hơn số lượng các tổ hợp mã có chiều
dài j m j . Từ đó ta có :

63
N
�n - n j � n n n

��m � = ��....�m 1 m i 2 ...m iiN =


ni n n

�j =1 � i1 =1 i2 =1 iN =1
max ( A( j ) max ( A ( j )
= �
min( A ( j ))
A( j ) m - j � �mm
min( A( j ))
j -j
< N .max

Trong đó max là chiều dài lớn nhất của các từ mã. Từ bất đẳng thức trên có thể suy
ra :
n

�m
-nj
�1
j =1

Theo bất đẳng thức Kraft, tồn tại một mã hiệu có tính prefix có các chiều dài từ mã là
n j . Như vậy bất cứ mã phân tách được nào cũng có một mã có tính prefix tương
đương. Điều này lý giải tại sao mã phân tách được không có tính prefix không được
sử dụng, mà chỉ có mã prefix được dùng trong thực tế.

IV. Các phương pháp phân tách mã thường dùng


Trong thực tế, để đơn giản quá trình và thiết bị giải mã, các phương pháp phân tách
mã sau đây thường được sử dụng :

- Phân tách mã sử dụng mã có tính prefix không đều. Phương pháp này sử
dụng các từ mã có chiều dài khác nhau để mã hóa các ký hiệu nguồn, do đó
có ưu điểm là có thể thực hiện việc nén dữ liệu bằng các hoán đổi các từ mã
có chiều dài khác nhau với các ký hiệu nguồn có xác suất xuất hiện khác
nhau. Nhược điểm của phương pháp này là việc giải mã một ký hiệu nguồn
phụ thuộc vào việc giải mã ký hiệu trước đó. Nếu vì một lý do nào đó ký hiệu
trước bị lỗi không giải mã được, bộ phận giải mã sẽ không xác định được
điểm đầu của từ mã tiếp theo, do đó toàn bộ quá trình truyền tin từ vị trí lỗi là
không thực hiện được. Đây là lý do tại sao phương pháp này thường được
sử dụng để lưu trữ cục bộ (do tỷ suất lỗi thấp) và không được dùng để truyền
tin trực tiếp.

MÃ HIỆU-9 : Mã phân tách không đều: a. Không có lỗi; b. có lỗi

- Phân tách mã sử dụng mã đều. Sử dụng các từ mã có chiều dài bằng nhau,
quá trình phân tách mã trở thành hiển nhiên. Nếu có lỗi xảy ra, vị trí đầu của từ mã
tiếp theo vẫn được xác định, không ảnh hưởng đến quá trình truyền tin. Mỗi lỗi xảy
ra chỉ tác động đến từ mã tương ứng, không tác động đến các từ mã khác. Tuy

64
nhiên các từ mã có chiều dài bằng nhau hạn chế việc nén dữ liệu, đồng thời các lỗi
mất hoặc thừa bít (thường xảy ra do sai số thời gian) sẽ không được phát hiện.

MÃ HIỆU-10 : Phân tách mã bằng mã đều : a. không có lỗi, b. có lỗi mất từ mã, c. có lỗi mất bit

- Phân tách mã sử dụng dấu phân tách. Trong hai phương pháp trên, vấn đề
gặp phải là xác định ranh giới giữa các từ mã. Để đảm bảo luôn luôn xác định được
ranh giới giữa các từ mã, bổ sung thêm một tổ hợp mã đặc biệt (dấu phân cách) vào
cuối của mỗi từ mã. Khi bộ phận giải mã đọc được tổ hợp mã đặc biệt này, sẽ xác
định được đâu là kết thúc của từ mã. Khó khăn mà phương pháp này gặp phải là
việc lựa chọn dấu phân cách có kích thước đủ nhỏ để không ảnh hưởng quá nhiều
đến hiệu suất mã, đồng thời không xảy ra tình trạng có dấu phân cách trong vùng
dữ liệu của mỗi từ mã. Có 2 phương pháp xử lý :

o Mã hóa hai lần (mã hệ thống). Trong số các tổ hợp mã hợp lệ, dùng
riêng một số tổ hợp mã làm dấu phân tách.

o Tiền xử lý : trước khi nối dấu phân tách vào từ mã, tìm kiến tất cả các
tổ hợp giống với dấu phân tách và đổi thành các tổ hợp khác. Ví dụ
trong chuẩn Ethernet, các khung dữ liệu kết thúc bằng tổ hợp
01111110. Trước khi nối dấu phân cách vào, tất cả các tổ hợp 011111
trong dữ liệu của khung được đổi thành 0111110. Tại bộ phận thu, sau
khi đã loại dấu phân cách 01111110, các tổ hợp 0111110 được đổi về
011111.

65
MÃ HIỆU-11 : Mã có dấu phân tách

Cần chú ý là cả 3 phương pháp phân tách mã trên đây đều sử dụng mã có tính
prefix.

66
Bài 9. Các phương pháp biểu diễn mã

I. Bảng mã
Bảng đối chiếu mã.

Bảng đối chiếu mã là cách trình bày đơn giản nhất, liệt kê trong bảng những tin của
nguồn và kèm theo là từ mă tương ứng với nó. Bảng đối chiếu mã có ưu điểm là
cho thấy cụ thể và tức thời bản tin và từ mã của nó. Nhưng với những bộ mã lớn thì
cồng kềnh và khuyết điểm chính là không cho phép thấy các tính chất quan trọng
của bộ mã. Ví dụ bộ đối chiếu mã trong bảng sau:

tin a1 a2 a3 a4 a5

từ mã 00 01 100 1010 1011

Trong một bảng đối chiếu mã, số thứ tự từ mã trong bộ mã là số thứ tự người ta liệt
kê từ mã.

Mặt toạ độ của mã.

Mặt toạ độ mã là một biểu diễn dựa trên hai thông số của từ mã, thường là độ dài n
và trọng số b để lập một mặt phẳng có hai toạ độ, trên đó mỗi từ mã được biểu diễn
bằng một điểm. Trọng số b của từ mã là tổng trọng số các kí hiệu trong từ mã.
n -1
b = �ak m k
k =0

với ak là giá trị riêng của kí hiệu thứ k trong từ mã kể từ trái sang phải, với mã nhị
phân ak có hai giá trị 0 hoặc 1, k là số thứ tự của kí hiệu trong từ mã, m là cơ số
của mã.

Ví dụ

Trọng số của từ mã nhị phân có 4 kí hiệu 1011 bằng:

b = 1 �20 + 0 �21 + 1 �22 + 1 �23 = 13

Mỗi từ mã sẽ hoàn toàn xác định khi ta xác định được cặp (n, b) của nó. Như vậy
mỗi từ mã được biểu diễn một cặp toạ độ (n, b) duy nhất. Điều này được thể hiện
bằng định lý sau:

Định lý: không có hai từ mã mã hoá hai tin khác nhau của cùng một bộ mã có chiều
dài và trọng số bằng nhau.

Chứng minh: nếu hai từ mã có trọng số bằng nhau, 2 từ mã này chỉ sai khác nhau
một số ký hiệu đầu tiên. Tuy nhiên chiều dài 2 từ mã bằng nhau. Vậy 2 từ mã trùng
nhau.

67
II. Đồ hình mã
Các phương pháp đồ hình sử dụng một đồ hình để biểu diễn một mã hiệu. Nó cho
phép trình bày mã một cách ngắn gọn hơn bảng mã, đồng thời cho thấy rõ các tính
chất quan trọng của mã hiệu một cách trực quan hơn.

Cây mã.

Là một đồ hình gồm các nút và các nhánh. Cao nhất của cây là nút gốc. Từ nút gốc
phân ra m nhánh hoặc ít hơn.

Mỗi nút cuối (là nút kết thúc của nhánh đại biểu cho kí hiệu cuối cùng của một từ
mã) sẽ đại biểu cho một từ mã mà thứ tự các trị kí hiệu mã là thứ tự các trị trên các
nhánh đi từ nút gốc đến nút cuối qua các nút trung gian.

Có thể có những nút cuối mà không có nhánh nào đi ra từ nó, và cũng có thể có
những nút cuối của từ mã này là nút trung gian của từ mã khác. Mã hiệu có nút cuối
trùng với một nút trung gian của từ mã khác sẽ có đặc điểm là từ mã ngắn hơn là
phần đầu của từ mã dài hơn và nó không cho phép phân tách một chuỗi mã bất kì
thành một dãy duy nhất các từ mã.

Ví dụ cây mã cho bộ mã 00, 01, 100, 1010, 1011.

Ví dụ-12: Cây mã

Từ ví dụ thấy rằng nhìn vào cây mã ta biết cây mã có phải là đồng đều hay không đồng đều,
loại mã đầy hay vơi. Cây mã trên thuộc loại mã không đồng đều.
Đồ hình kết cấu.

Đồ hình kết cấu gồm những nút và những nhánh có hướng, đây là một cách biểu
diễn cây mã rút gọn. Một từ mã được biểu diễn bằng một vòng kín xuất phát từ nút
gốc theo các nhánh có hướng (chiều mũi tên) qua các nút trung gian rồi về nút gốc.
Mỗi nhánh đại diện cho một trị của kí hiệu mã. Thứ tự các trị bắt đầu từ nút gốc là
thứ tự các kí hiệu mã tính từ bên trái mỗi từ mã.

Ví dụ

68
Ví dụ-13: Đồ hình kết cấu mã

Trên đồ hình kết cấu, trị các nhánh được ghi ở đầu xuất phát của nhánh và phía bên
trái, dấu V là dấu hoặc (hay là) có nghĩa là một nhánh có thể đại biểu cho trị bên trái
hoặc trị bên phải của dấu V; các nút được đánh dấu theo thứ tự xa dần nút gốc (số
ghi trong vòng tròn của nút).

Đồ hình kết cấu không những dùng để mô tả bản thân mã mà còn dùng để xét cách
vận hành thiết bị mã hoá và giải mã như là một đồ hình trạng thái của thiết bị.

III. Các phương pháp biểu diễn mã tổng quát


Phương pháp hình học: các từ mã có độ dài n được biểu diễn bằng một vectơ hay
một điểm (đầu mút của vectơ) trong không gian n chiều. Bộ mã là một hệ điểm trong
không gian đó.

Phưong pháp đại số: bộ mã được xem như một cấu trúc đại số nhất định. Các loại
mã sẽ được phân loại và nghiên cứu theo cấu trúc đại số sử dụng để biểu diễn bộ
mã.

IV. Mã hệ thống
Mã hệ thống tổng quát

Mã hệ thống là một loại mã mà mỗi từ mã của nó được xây dựng bằng cách liên kết
một số từ mã của bộ mã gốc.

Vì bộ mã gốc có tính phân tách nên bộ mã hệ thống cũng có tính phân tách. Nếu bộ
mã gốc có tính prefix thì bộ mã hệ thống cũng có tính prefix.

Thông thường lấy một số từ mã của bộ mã gốc làm các tổ hợp tạo thành phần đầu
của từ mã hệ thống và gọi nó là các tổ hợp sơ đẳng. Các tổ hợp còn lại của bộ mã
gốc được sử dụng làm các tổ hợp kết thúc của từ mã hệ thống và gọi nó là các tổ
hợp cuôi. Từ mã của mã hệ thống được tạo ra bằng cách nối các tổ hợp sơ đẳng lại
với nhau và nối thêm một tổ hợp cuối.

Để biểu diễn mã hệ thống thường biểu diễn các tổ hợp sơ đẳng và các tổ hợp cuối
của nó rồi biểu diễn sự liên kết các tổ hợp này để tạo thành từ mã. Cách biểu diễn
thuận tiện là dùng đồ hình kết cấu. Trong đồ hình kết cấu này, chỉ những tổ hợp sơ

69
đẳng mới kết thúc ở nút gốc, còn các tổ hợp cuối sẽ kết thúc ở một nút kết thúc
riêng. Từ mã của mã hệ thống sẽ là trình tự các trị được biểu diễn bằng các nhánh
đi từ nút gốc, có thể vòng qua nút gốc một số lần qua các đường đi khác nhau, rồi
đến kết thúc ở một nút kết thúc.

Việc giải mã đối với mã hệ thống phải qua 2 bước.

Bước một là tách chuỗi kí hiệu nhận được thành chuỗi các tổ hợp sơ đẳng và các tổ
hợp cuối.

Bước hai là tìm các tổ hợp cuối và xác định điểm kết thúc mã tại đây.

Phương pháp biểu diễn mã hệ thống bằng đồ hình kết cấu: xuất phát từ nút gốc
theo mũi tên các nhánh một cách tuần tự, mỗi khi quay về gốc là kết thúc một tổ hợp
sơ đẳng, và khi vào đường cụt là kết thúc tổ hợp cuối cùng, đồng thời kết thúc từ mã
hệ thống.

Mã hệ thống có tính prefix

Được xây dựng từ một bộ mã gốc có tính prefix bằng cách lấy một số từ mã của mã
prefix gốc làm tổ hợp sơ đẳng và các từ mã còn lại làm tổ hợp cuối. Ghép các tổ
hợp sơ đẳng với nhau và nối một trong các tổ hợp cuối vào thành từ mã của mã mới
gọi là mã hệ thống có tính prefix.

Ví dụ

Lấy bộ mã prefix 1, 00, 010, 011 làm gốc, trong đó các tổ hợp : 1, 00, 010 là tổ hợp
sơ đẳng còn 011 là tổ hợp cuối. Các từ mã được hình thành như sau đều có thể là
từ mã của mã hệ thống

1011, 11011, 00011, 100011, 010011, 01001011011

Khi giải mã phải qua hai bước như trên. Ví dụ khi nhận được tin dưới dạng kí hiệu
mã:

010011 010011 100011 01001011011 1011 11011 1011

Bước thứ nhất tách thành dãy:

010-011-010-011-1-00-011-010-010-1-1-011-1011-1-1-011-1-011

Bước thứ hai tách thành dãy tổ hợp mã hệ thống:

010011-010011-100011-01001011011-1011-11011-1011

70
CHƯƠNG V. MÃ HÓA NGUỒN
Bài 10. Mã hóa nguồn rời rạc dừng không nhớ

I. Cơ sở lý thuyết mã hóa nguồn rời rạc dừng không nhớ


Trong chương này, chúng ta chỉ xem xét các mã hiệu với cơ số 2. Trường hợp cần
thiết, các kết quả với cơ số 2 sẽ được mở rộng với các cơ số khác. Với nguồn rời
rạc không nhớ sau thời gian ts tạo ra một ký hiệu trong tập hữu hạn các ký hiệu xi ,
i = 1, 2,� L . Các ký hiệu có xác suất xuất hiện P ( xi ), i = 1, 2,� L . Entropi cuả nguồn
này là:
L
H ( X ) = -�P ( xk ) log 2 P( xk ) �log 2 L
1

Dấu bằng xảy ra khi các ký hiệu có xác suất xảy ra bằng nhau. Lượng thông tin
trung bình ứng với mỗi ký hiêu là H ( X ) và tốc độ thông tin là n0 H ( X ) .

Mã hóa với từ mã có độ dài cố định (mã hóa dùng mã đều)

Phương pháp: gán cho mỗi ký hiệu một từ mã. Do có L ký hiệu nên để đảm bảo tính
duy nhất cần số ký hiệu nhị phân tối thiểu là R với R = log 2 L khi L là luỹ thừa của 2.
Nhận thấy R = �log 2 L �+ 1 khi L không phải là luỹ thừa của 2, trong đó ��
x là phần
nguyên của x. Kết luận: R �H ( X ) .

Đánh giá: Hiệu quả của phương pháp mã hoá nguồn rời rạc không nhớ xác định bởi
tỷ số: H ( X ) / R . Vậy khi L là luỹ thừa của hai và các ký hiệu là đẳng xác suất thì
H ( X ) = R , khi đó hiệu quả mã hoá là 100%. Tuy nhiên khi L không phải là luỹ thừa
của hai thì R sai khác H(X) tối đa là một bit/ký hiệu. Khi log 2 L >>1 thì phương pháp
mã hoá này có hiệu quả cao. Ngược lại khi log 2 L <<1, hiệu quả của phương pháp
mã hoá với độ dài từ mã cố định có thể nâng cao bằng cách mã hoá từng khối gồm
J ký hiệu của nguồn. Ðể mã hoá duy nhất ta cần từ mã và nếu gọi N là số ký hiệu
mã được sử dụng để mã hoá nguồn thì N ( J log 2 L) .Gíá trị nguyên nhỏ nhất của N
có thể chấp nhận được là N = � � �+ 1 .Khi đó số ký hiệu mã trung bình ứng với
log 2 LJ �
một ký hiệu của nguồn là N / J = R . Như vậy độ không tối ưu của mã giảm xuống
xấp xỉ 1/ J so với việc mã hoá riêng từng ký hiệu của nguồn. Khi J đủ lớn, hiệu quả
của phương pháp mã hoá này được đo bằng tỷ số JH ( X ) / N rất gần tới đơn vị.

Các phương pháp trên không bị sai số vì ta mã hoá mỗi ký hiệu hay mỗi khối ký hiệu
thành một từ mã duy nhất. Loại mã nay gọi là mã không nhiễu.

Giả sử ta muốn giảm R bằng cách bỏ đi điều kiện mã hoá là duy nhất. Ví dụ
chỉ một phần trong L khối ký hiệu được mã hoá duy nhất,cụ thể hơn, giả sử 2 N - 1
khối J ký hiệu có xác suất xuất hiện lớn nhất được mã hoá duy nhất còn lại

71
LJ - (2 N - 1) được mã hoá thành một từ mã duy nhất. Phương pháp mã hoá này gây
ra việc giải mã sai đối với các khối có xác suất xuất hiện thấp.Gọi Pe là xác suất giải
mã sai. Dựa trên phương pháp mã hoá này Shanon chứng minh định lý mã hoá
nguồn sau:

Định lý mã hóa nguồn 1: Gọi X là một nguồn rời rạc không nhớ có entropi hữu hạn
H(X).Các khối J ký hiệu của nguồn được mã hoá thành các từ mã nhị phân có độ
dài N. Với mọi �> 0 , xác suất giải mã khối sai Pe có thể nhỏ tuỳ ý nếu:

R = N / J �H ( X ) + �

với J tiến tới vô hạn. Ngược lại nếu R �H ( X ) + �thì Pe dần tới đơn vị khi J tiến tới vô
hạn.

Chứng minh phần thuận

I (u J )
Coi tập hợp các chuỗi ký hiệu nguồn mà | - H (U ) |�� là các chuỗi ký hiệu
J
nguồn ánh xạ vào cùng một từ mã. Cần chứng minh:

- Xác suất xuất hiện của các từ mã nói trên có thể bé tùy ý khi L lớn tùy ý (hiển
I (u J )
nhiên, lim = H (U ) )
J �� J

- Các chuỗi ký hiệu còn lại có thể được mã hóa chính xác

với

N
R= �H ( X ) + �
J

Thật vậy, nếu gọi tập hợp các ký hiệu còn lại là T . Với mỗi u J �T có

I (u J )
- H (U ) ��
J

I (u )
H (U ) - �� J �H (U ) + ��
J
- J ( H (U ) -�
۳�2 )
P(u J ) 2 - J ( H (U )+�)

Chú ý

1 �P(T ) �M T min( P (u J )) �M T 2 - J ( H (U )+�)

M T �2 J ( H (U ) +�)

72
Vậy nếu chọn chuỗi nhị phân có độ dài tối thiểu là

N min = log 2 2 J ( H (U ) +�) = J ( H (U ) + �


)

sẽ có ánh xạ 1-1 giữa T và tập các từ mã N ký hiệu nhị phân. Phép ánh xạ chung sẽ
I (u J )
có sai số nhỏ tùy ý Pe =| - H (U ) |��
J

Chứng minh phần đảo Chọn N �J ( H (U ) - 2�


) . Với một phép mã hóa bất kỳ có

P(T ) + P(T ) + Pe = 1 , trong đó:

- P (T ) là xác suất để mỗi một chuỗi ký hiệu trong T có một từ mã

- P (T ) là xác suất để một chuỗi ký hiệu ngoài T có một từ mã

- Pe Xác suất lỗi (tồn tại chuỗi ký hiệu không có từ mã)

Tổng cộng có 2 N từ mã, mỗi từ mã sẽ tương ứng với một từ trong T có xác suất
nhỏ hơn 2- J ( H (U ) -�) , vậy xác suất để một từ trong T có một từ mã là
- J ( H ( U )-2 �)
P(T ) = 2- J ( H (U ) -�) 2 N �2- J ( H (U ) -�)2 = 2- J�

Chú ý lim P(T ) = 0 . Vậy lim Pe = 1 .


J �� J ��

Từ định lý này ta thấy số lượng ký hiệu nhị phân trung bình để mã hoá nguồn rời rạc
không nhớ với xác suất giải mã sai nhỏ tuỳ bị chặn dưới bởi entropi H ( X ) . Ngược
lại, nếu R < H ( X ) thì xác suất giải mã sai tiến tới 100% khi J � �.

Trong cả hai trường hợp, để đạt được hiệu suất tiệm cận 1, cần thực hiện
việc mã hóa các ký hiệu nguồn theo từng khối. Kích thước các khối càng dài thì hiệu
suất càng gần với 1. Tuy nhiên, độ phức tạp của bài toán mã hóa và giải mã tỷ lệ với
lũy thừa của kích thước khối, nên không thể tăng tùy ý kích thước khối.

Mã hóa với từ mã có độ dài thay đổi (mã không đều)

Trong nhiều hợp các ký hiệu của nguồn không cùng xác suât xuất hiện thì phép mã
hoá với độ dài từ mã thay đổi có hiệu quả hơn so với phương pháp mã hoá trên.Ví
dụ như mã Morse, các ký hiệu có tần suất xuất hiện nhiều hơn sẽ được gán với từ
mã có độ dài ngắn hơn và ngược lại: các ký hiệu có xác suất xuất hiện nhỏ hơn sẽ
được gán cho các từ mã có độ dài lớn hơn. Xuất phát từ ý tưởng này, ta có thể sử
dụng xác suất xuất hiện các ký hiệu khác nhau của nguồn trong việc lựa chọn các từ
mã dùng để mã hoá các ký hiệu của nguồn. Loại mã hoá này gọi là mã hoá entropi.

Mục tiêu cơ bản của chúng ta là xây dựng một phương pháp mã hoá có tính hệ
thống để tạo ra các từ mã có độ dài thay đổi,giải mã duy nhất và có hiệu quả theo

73
số lượng trung bình các ký hiệu nhị phân ứng với một ký hiệu của nguồn, được
định nghĩa là:
L
R == �nk P( xk )
1

Trong đó xk là ký hiệu thứ k của nguồnvà nk là số ký hiệu nhị phân ứng vớI từ mã
của xk . Điều kiện tồn tại một mã có tính prefix được xác định bởi bất đẳng thức Kraft.
Bất đẳng thức Kraft:

Điều kiện cần và đủ để tồn tại mã nhị phân với các từ mã có độ dài n1 �n 2 �... �n L
thoả mãn điều kiện prefix là:
L

�2 1
- nk
�1

Định lý mã hóa nguồn thứ hai của Shannon: Gọi X là một nguồn rời rạc không
nhớ với entropi hữu hạn H(X) bit với các ký hiệu. xk ,1 �k �L ,với các xác suất xuất
hiện tương ứng pk ,1 �k �L .

i. Có thể xây dựng một mã hiệu nhị phân có tính prefix và có độ dài từ mã
trung bình R thoả mãn bất đẳng thức:

R < H(X ) +1

ii. Với mọi mã hiệu, độ dài từ mã trung bình R thoả mãn bất đẳng thức:

H ( X ) �R

Chứng minh bất đẳng thức . Có:


L
1 L L
2- nk
H ( X ) - R = �pk log 2 - �pk nk = �pk log 2
k =1 pk k =1 k =1 pk

Sử dụng bất đẳng thức ln x �x - 1 và bất đẳng thức Kraft


L
2- nk L
H ( X ) - R �(log 2 e)�pk ( - 1)(log 2 e)(�2 - nk - 1) �0
k =1 pk k =1

-n
Dấu bằng xảy ra khi pk = 2 "1 �k �L .
k

Chứng minh khẳng định .


-n -n +1
Cần tìm một mã hiệu sao cho R < H ( X ) + 1 . Chọn nk sao cho 2 �pk < 2 k k
. Có
nk < 1 - log 2 pk . Vậy:

74
L L

�p n ��p (1 - log
k =1
k k
k =1
k 2 pk ) = 1 + H ( X )

Trên cơ sở giới hạn lý thuyết trên, các phương pháp mã hóa sẽ được xem xét

II. Mã hóa Fano


Một nguồn tin tối ưu là nguồn tin có độ dư bằng 0. Để đảm bảo độ dư gần bằng 0,
xác suất xuất hiện của các ký hiệu phải xấp xỉ bằng nhau. Nguồn tin được mã hóa
bằng mã hiệu nhị phân, do đó mục tiêu của phương pháp mã hóa Fano-Shannon là
tìm cách mã hóa sao cho xác suất của ký hiệu 1 và 0 xấp xỉ bằng nhau.

Để làm như vậy, trước hết chia các chuỗi ký hiệu nguồn thành 2 nhóm có xác suất
gần bằng nhau. Mã hóa mỗi nhóm bằng 0 hoặc 1. Với mỗi nhóm sau đó lại tìm cách
mã hóa bằng 0 và 1 sao cho xác suất xuất hiện của 0 và 1 là như nhau. Để làm như
vậy lại chia các nhóm thu được thành 2 nhóm có xác suất gần nhau. Quá trình cứ
tiếp diễn cho đến khi các nhóm có 1 ký hiệu. Giải thuật mã hóa Fano được mô tả
như sau:

- Sắp xếp các ký hiệu theo thứ tự xác suất giảm dần;i=1

- Chia các ký hiệu nguồn thành 2 nhóm liên tục có xác suất gần bằng nhau

- Gán giá trị ký hiệu ở vị trí thứ i từ trái sang lần lượt là 0 và 1 cho 2 nhóm.

- Gán i=i+1. Tiếp tục lặp lại bước 2 với từng nhóm cho đến khi chỉ có 1 ký hiệu

- Đọc các từ mã bằng các ký hiệu mã hóa từ trái sang phải


Bảng 4: Mã hóa Fano

Ký Xác suất Chia nhóm Chia nhóm Chia nhóm Chia nhóm Từ mã
hiệu lần 1 (i=1) lần 2 (i=2) lần 3 (i=3) lần 4 (i=4)
x1 ¼ 0 0 00
x2 ¼ 0 1 01
x3 1/8 1 0 0 100
x4 1/8 1 0 1 101
x5 1/16 1 1 0 0 1100
x6 1/16 1 1 0 1 1101
x7 1/16 1 1 1 0 1110
x8 1/16 1 1 1 1 1111
Nhận xét: với cách chia nhóm như trên, mã hiệu luôn luôn đảm bảo tính prefix.
Trong ví dụ trên, hiệu suất mã bằng 1. Điều này có thể giải thích bởi các xác suất
của các ký hiệu nguồn đều là lũy thừa của 2.
Bảng 5: Mã hóa Fano 2

Ký Xác Chia Chia Chia Chia Chia Từ mã

75
hiệu suất nhóm nhóm nhóm nhóm nhóm
lần 1 lần 2 lần 3 lần 4 lần 5
(i=1) (i=2) (i=3) (i=4) (i=5)
x1 0,39 0 0 00
x2 0,21 0 1 01
x3 0,19 1 0 10
x4 0,10 1 1 0 110
x5 0,06 1 1 1 0 1110
x6 0,03 1 1 1 1 0 11110
x7 0,01 1 1 1 1 1 0 111110
x8 0,01 1 1 1 1 1 1 111111
Trong ví dụ trên, ngoài lựa chọn gồm ký hiệu có xác suất 0,34 và ký hiệu có xác suất
0,21 để thành một nhóm ký hiệu có tổng xác suất 0,55, có thể lựa chọn gộp ký hiệu
có xác suất 0,34 và ký hiệu có xác suất 0,19 để có tổng xác suất 0,53. Tuy nhiên ở
bước tiếp theo sẽ phải tách thành hai nhóm có xác suất là 0,34 và 0,19, kém tối ưu
hơn so với 2 nhóm như trong ví dụ. Câu hỏi đặt ra là phương pháp nào mã hóa tối
ưu hơn, cho hiệu suất mã cao hơn.

III. Mã hóa Huffman


Trong các mã hiệu mã hóa từng ký hiệu nguồn, gọi mã hiệu M là mã hiệu tối ưu nhất
với chiều dài trung bình của các từ mã là n * . Điều này có nghĩa là với mọi mã hiệu
có tính prefix khác với chiều dài từ mã $n$, luôn luôn có n* �n . Các khẳng định sau
đây sẽ đúng với mã hiệu tối ưu:

- Từ mã có chiều dài lớn ánh xạ với ký hiệu có xác suất nhỏ. Một cách hình
thức:

p ( x1 ) < p ( x2 ) ޳ n1 n2
-

- Thật vậy, giả sử có p( x1 ) < p( x2 ), n1 < n2 . Xây dựng một mã hiệu mới có chiều
dài từ mã $n'*$bằng cách đổi vị trí hai từ mã tương ứng với $x_1,x_2$. Khi
đó ta có:

n * - n�
* = p( x1 ) n1 + p( x2 ) n2 - p( x1 ) n1�
- p( x2 ) n2�=
= p( x1 ) n1 + p ( x2 )n2 - p ( x1 )n2 - p ( x2 )n1 = ( p ( x1 ) - p ( x2 ))(n1 - n2 ) > 0

Do đó mã hiệu mới có chiều dài trung bình của các từ mã nhỏ hơn mã hiệu cũ, hay
nói cách khác mã hiệu mới tối ưu hơn mã hiệu cũ.(dpcm)

- Xét 2 từ mã có chiều dài lớn nhất w1 , w2 . 2 từ mã này phải có chiều dài bằng
nhau.

- Giả sử hai từ mã có chiều dài khác nhau và chiều dài của w1 nhỏ hơn chiều
dài của w2 . Khi đó tạo từ mã mới w *2 bằng cách bỏ đi các bít bên phải của w2 cho

76
bằng với w1 . Như vậy chiều dài trung bình của mã hiệu mới nhỏ hơn chiều dài trung
bình của mã hiệu cũ. Mã hiệu mới bảo toàn tính prefix của mã hiệu cũ, vì rõ ràng
không có từ mã nào là phần đầu của w2 , do đó không thể là phần đầu của w *2 . Mặt
khác w1 cũng không phải là phần đầu của w2 , do đó w *2 �w1 . Vậy khi thay thế w2
bằng một từ mã mới, thu được mã hiệu có tính prefix và có chiều dài trung bình nhỏ
hơn-tối ưu hơn.

- Do đó 2 từ mã dài nhất phải có chiều dài bằng nhau.

- Xét 2 từ mã có chiều dài lớn nhất w1 , w2 . 2 từ mã này chỉ sai khác nhau đúng
1 ký hiệu tận cùng bên phải.

Xây dựng mã hiệu mới bằng cách bớt đi 2 bít tận cùng bên phải của w1 , w2 . Thu
được 2 từ mã mới w *1 , w *2 . Mã hiệu mới là mã hiệu có chiều dài trung bình của các
từ mã nhỏ hơn. Để cho mã hiệu mới không hợp lệ, có thể có các trường hợp sau
xảy ra:

- w *1 = w *2 khi đó w1 , w2 sai khác nhau đúng một ký hiệu tận cùng bên phải

- w *1 bằng hoặc là phần đầu của một từ mã w3 khác. Dấu bằng không thể xảy
ra do tính prefix của mã hiệu cũ. Nếu w *1 là phần đầu của w3 , khi đó w1 , w2 , w 3
có cùng chiều dài, w1 , w3 sai khác nhau đúng 1 bít cuối cùng.

- Vậy khẳng định đã được chứng minh.

Với khẳng định trên, trong một mã hiệu tối ưu luôn luôn có hai từ mã có chiều dài
dài nhất chỉ sai khác nhau đúng một bít cuối cùng, còn tất cả các bít còn lại bên trái
là giống nhau. Thay vì việc đi tìm hai từ mã, bài toán chuyển về tìm một từ mã thay
thế, với xác suất xuất hiện bằng tổng xác suất xuất hiện của 2 từ mã. Bài toán mã
hóa tối ưu nguồn tin có L ký hiệu trở thành bài toán mã hóa nguồn tin có L-1 ký hiệu.
Tiếp tục lặp lại các bước trên cho đến khi chỉ còn 1 ký hiệu, bài toán mã hóa tối ưu
trở thành hiển nhiên. Đó là ý tưởng mã hóa tối ưu của Huffman.

- Giải thuật mã hóa Huffman

- Chọn 2 ký hiệu có xác suất nhỏ nhất

- Mã hóa 2 ký hiệu bằng 0 và 1 ở vị trí tận cùng bên phải

- Thay thế 2 ký hiệu bằng 1 ký hiệu mới có xác suất bằng tổng xác suất của
hai ký hiệu nói trên.

- Trở về bước 1 nếu nguồn tin có hơn 1 ký hiệu. Nếu không kết thúc quá trình
xây dựng mã hiệu.

77
Bảng 6: Mã hóa Huffman-1

Ký Xác Xác Xác Xác Xác Xác Xác Xác


hiệu suất suất suất suất suất suất suất suất
x1 ¼ ¼ ¼ ¼ ¼ ¼(0)
½(0)
x2 ¼ ¼ ¼ ¼ ¼ ¼(1)
x3 1/8 1/8 1/8 1/8(0)
¼(0)
x4 1/8 1/8 1/8 1/8(1)
x5 1/16
1/16 1
(0)
1/8 (0)
x6 1/16 ½ ½(1)
1/16
(1)
¼ ¼(1)
x7 1/16
(0)
1/8 1/8(1)
x8 1/16
(1)

x1 x2 x3 x4 x5 x6 x7 x8
00 01 100 101 1100 1101 1110 1111

Bảng 7: Mã hóa Huffman-2

Ký Xác Xác Xác Xác Xác Xác Xác Xác


Xác suất
hiệu suất suất suất suất suất suất suất suất
x1 0,39 0,39 0,39 0,39 0,39 0,39 0,39 0,39(0)
x2 0,21 0,21 0,21 0,21 0,21 0,21 0,21(0)
x3 0,19 0,19 0,19 0,19 0,19 0,19(0)
x4 0,10 0,10 0,10 0,10 0,10(0)
1
x5 0,06 0,06 0,06 0,06(0) 0,61(1)
0,40(1)
x6 0,03 0,03 0,03(0) 0,21(1)
0,11(10
x7 0,01(0) 0,05(1)
0,02 0,02(1)
x8 0,01(1)

x1 x2 x3 x4 x5 x6 x7 x8
0 10 110 1110 11110 111110 1111110 111111
Mã hóa Huffman với cơ số khác 2.Trong phương pháp mã hóa Huffman với cơ số
2, mỗi lần gộp 2 ký hiệu và thay thế bằng một ký hiệu mới, số lượng ký hiệu giảm 1.
Như vậy chắc chắn sẽ có lúc số lượng ký hiệu nguồn bằng 1. Với mã hóa cơ số m,
mỗi lần có thể gộp m ký hiệu, số lượng ký hiệu giảm đi m-1. Sẽ xuất hiện các trường
hợp cần phải gộp ít hơn m-1 ký hiệu. Cần xác định số lượng các ký hiệu trong lần
gộp ít hơn đó và thời điểm để gộp. Về số lượng, phép toán về số dư cho ta thấy số
ký hiệu gộp trong lần gộp ít hơn là ( L - 1)mod (m - 1) + 1

78
Về thời điểm, khi gộp các ký hiệu có số lượng ít hơn m, có ảnh hưởng đến hiệu quả
mã hiệu, do đó cần tiến hành với các ký hiệu có xác suất nhỏ nhất. Như vậy, giải
thuật Huffman với mã hiệu cơ số m sẽ được thực hiện như sau:

- Chọn ( L - 1)mod (m - 1) + 1 ký hiệu có xác suất nhỏ nhất

- Mã hóa ( L - 1)mod (m - 1) + 1 ký hiệu bằng 0,1, �, m - 1 ở vị trí tận cùng bên


phải

- Thay thế ( L - 1)mod (m - 1) + 1 ký hiệu bằng 1 ký hiệu mới có xác suất bằng
tổng xác suất của ( L - 1)mod (m - 1) + 1 ký hiệu nói trên.

- Nếu nguồn tin có 1 ký hiệu kết thúc quá trình xây dựng mã hiệu.

- Chọn m ký hiệu có xác suất nhỏ nhất.

- Mã hóa m ký hiệu bằng 0,1, �, m - 1 ở vị trí tận cùng bên phải

- Thay thế m ký hiệu bằng 1 ký hiệu mới có xác suất bằng tổng xác suất của
m ký hiệu nói trên.

- Trở về bước 5 nếu nguồn tin có hơn 1 ký hiệu. Nếu không kết thúc quá trình
xây dựng mã hiệu.

IV. Mã hóa Shannon


Các phương pháp mã hóa nói trên đều đòi hỏi các cấu trúc dữ liệu với qui mô L2 .
Với khả năng xử lý của máy tính, đòi hỏi có những phương pháp trực tiếp hơn,
không thông qua các cấu trúc dữ liệu bậc cao. Với từ mã wi có chiều dài ni , xác
suất của ký hiệu nguồn tương ứng là pi , theo cách chứng minh bất đẳng thức
Shannon để đảm bảo n �H ( X ) + 1 cần chọn:

- log 2 pi �ni < - log 2 pi + 1


2- ni �pi < 2- ni +1

Nói cách khác, pi chính là độ chính xác của một số nhị phân có ni chữ số sau dấu
phảy. Như vậy các từ mã wi sẽ tương ứng với các khoảng rộng pi . Nhiệm vụ còn lại
là tìm các số nhị phân tương ứng với từng khoảng. Trong hình vẽ, có thể có các lựa
chọn về giá trị đặc trưng cho từng khoảng:

- Lấy giá trị đầu khoảng

- Lấy giá trị giữa khoảng

Cho dù lấy ở đầu hay ở giữa khoảng, giá trị đặc trưng này cũng sẽ tạo thành một
khoảng bao trùm ra ngoài khoảng đang xem xét. Để đảm bảo cho không có giá trị
đặc trưng nào rơi vào một khoảng khác, các khoảng được thực hiện theo thứ tự từ

79
lớn đến nhỏ. Như vậy giải thuật mã hóa Shannon với lựa chọn giá trị đặc trưng là
giá trị đầu khoảng được thực hiện như sau:

- Sắp xếp các xác suất theo thứ tự giảm dần


i -1
- Tính các xác suất gộp – giá trị đặc trưng theo công thức P(i ) = �p j
1

- Tính ni theo công thức - log 2 pi �ni < - log 2 pi + 1

- Khai triển P (i ) trong hệ nhị phân với ni chữ số nhị phân sau dấu phẩy. Phần
lẻ thu được chính là từ mã wi .

Ví dụ được nêu trong Bảng 8 và Bảng 9


Bảng 8: Mã hóa Shannon-1

Xác Xác Khai


Ký suất suất triển
ni Từ mã
hiệu p gộp nhị
( i) ( P (i)) phân
x1 ¼ 0 2 0.00 00
x2 ¼ ¼ 2 0.01 01
x3 1/8 ½ 3 0.100 100
x4 1/8 5/8 3 0.101 101
x5 1/16 ¾ 4 0.1100 1100
x6 1/16 13/16 4 0.1101 1101

x7 1/16 14/16 4 0.1110 1110


(0)
x8 1/16 15/16 4 0.1111 1111
(1)

Bảng 9: Mã hóa Shannon-2

Xác Xác
Ký suất suất Khai triển
ni Từ mã
hiệu pi ) gộp nhị phân
( ( P (i))
x1 0,39 0 2 0.00 00
x2 0,21 0,39 3 0.010 010
x3 0,19 0,6 3 0.100 100
x4 0,10 0,79 4 0.1100 1100
x5 0,06 0,89 5 0.11100 11100
x6 0,03 0,95 6 0.111100 111100
x7 0,01 0,98 7 0.1111100 1111110

80
x8 0,01 0,99 7 0.1111110 1111110
Có thể thấy mã hóa Shanon cho kết quả không tối ưu bằng các phương pháp khác,
đổi lại, tốc độ tính toán của mã hóa Shannon nhanh hơn. Chú ý là một ký hiệu chỉ
cần có giá trị cận trên và cận dưới của khoảng xác suất là đã có thể xác định được
từ mã tương ứng.

V. Mã hóa đại số
Mặc dù mã hóa Shannon không tối ưu bằng mã hóa Huffman, tuy nhiên khi mở rộng
cho bài toán mã hóa các khối nhiều ký hiệu nguồn, nhược điểm này không còn quan
trọng. Khi mã hóa nhiều ký hiệu nguồn theo khối, vấn đề đặt ra là độ phức tạp tính
toán của quá trình mã hóa và giải mã. Nếu nguồn tin ban đầu có L ký hiệu, khi mã
hóa các khối J ký hiệu sẽ phải mã hóa một nguồn tin mới có LJ ký hiệu. Độ phức
tạp tăng theo hàm mũ! Ngoài ra khi mã hóa từng khối J ký hiệu, độ trễ giải mã tăng
lên J lần.

Theo phân tích trên, các giới hạn đưa ra bởi các định lý Shannon chỉ có ý nghĩa về
lý thuyết. Để có thể đưa các kết quả này vào thực tế, cần giải quyết vấn đề về độ
phức tạp nói trên.

Giả sử mã hóa các ký hiệu nguồn theo từng khối J ký hiệu. Ðể hiệu suất tiệm cận
với 1, giá trị J càng lớn càng tốt. Giá trị lớn nhất của J chính là số lýợng ký hiệu
nguồn cần truyền đi, nói cách khác, mã hóa tất cả các ký hiệu nguồn cùng một lúc.
Độ phức tạp của nguồn tin có LJ ký hiệu có nguyên nhân là phải tính LJ từ mã.
Trong số những từ mã này, chúng ta chỉ cần 1 từ mã. Bài toán về độ phức tạp có thể
được giải quyết nếu thay vì việc tính toán tất cả các từ mã bằng việc tính toán đúng
từ mã cần thiết. Trong các phương pháp đã nêu trên, chỉ có phương pháp mã hóa
Shannon là cho phép có thể tính toán các từ mã đơn lẻ. Để xác định được từ mã,
cần xác định cận trên và cận dưới tương ứng với chuỗi ký hiệu.

81
MÃ HÓA NGUỒN-14: Quá trình mã hóa bằng mã đại số

Giả sử chuỗi ký hiệu truyền đi là x1 x2 � xJ . Không mất tính tổng quát và để thuận tiện
cho việc tính toán, giả sử các ký hiệu nguồn ban đầu là {1, 2 �, L} . Giả sử các xác
suất xuất hiện của các ký hiệu lần lượt là p1 , p2 � pL . Giả sử các chuỗi ký hiệu có
chiều dài J được sắp xếp theo thứ tự ABC, có nghĩa là chuỗi ký hiệu đầu tiên là
11�1 , chuỗi ký hiệu cuối cùng là LL � L . Chuỗi ký hiệu đầu tiên sẽ có xác suất là p1J
, chuỗi cuối cùng có xác suất là pLJ . Chuỗi ký hiệu đang xem xét có xác suất là
J

�p
1
xi . Cần xác định xác suất gộp của chuỗi ký hiệu này. Xác suất này được tính

theo công thức:


x1 x2 ... x J -1 J xi -1
P ( x1 x2 ...xJ ) = � �p yi == P1 (1 + P2 (1 + ....PJ )...), Pi = �pk
y1 y2 ... yn =11...1 i =1 1

82
MÃ HÓA NGUỒN-15: Giải mã mã đại số

Sau khi đã tính được xác suất gộp, việc tính toán từ mã trở thành hiển nhiên.

Trong thực tế, từ mã được xác định từ xác suất riêng và xác suất gộp. Tuy nhiên
một số nhị phân có thể được biểu diễn bằng một giá trị và một sai số, như vậy có
thể được biểu diễn bởi một khoảng gồm cận trên và cận dưới. Trong trường hợp
trên, cận trên là P( x1 x2 � xJ ) + p ( x1 x2 � x J ) . Gọi D (u ) , trong đó u là một chuỗi ký hiệu
nguồn bất kỳ là khoảng tương ứng của u . Có

u < p v � D (u ) �D (v)

Nói cách khác, trong công thức tính khoảng của chuỗi x1 x2 ...xJ , có thể tính dần
D( x1 ), D( x1 x2 ), � D( x1 x2 � xJ ) . Trong quá trình tính, khi biểu diễn cận trên và cận dưới
theo cơ số nhất định, vì các giá trị này càng ngày càng gần nhau, do đó sẽ có một
phần đầu chung. Phần đầu chung này có thể được gửi đi trước, căn cứ vào phần
đầu gửi trước này, bộ phận giải mã có thể giải mã được một phần các ký hiệu nguồn
đã được mã hóa. Như vậy có thể giảm được độ trễ giải mã.

Ví dụ: Mã hóa chuỗi BILL GATES sử dụng cơ số 10, với phân bố xác suất như trong
bảng.

Space A B E G I L S T
0,1 0,1 0,1 0,1 0,1 0,1 0,2 0,1 0,1
Quá trình mã hóa được mô tả trong MÃ HÓA NGUỒN-14: Quá trình mã hóa bằng
mã đại số. Quá trình giải mã được nêu trong hình MÃ HÓA NGUỒN-15: Giải mã mã
đại số.

83
Bài 11. Mã hóa nguồn rời rạc không dừng có nhớ

I. Entropy nguồn có nhớ


Trong phần trước ta đã xét việc mã hoá nguồn rời rạc không nhớ, bây giờ ta tiếp tục
xét tới nguồn mà một dãy các ký hiẹu của nguồn tạo ra là phụ thuộc thống kê. Ta
cũng chỉ xét tới nguồn dừng thống kê trong phần này. Entropi của một khối các biến
ngẫu nhiên X 1 , X 2 .. X k là:

k
H ( X 1 X 2 ... X k ) =  H ( X i | X 1 X 2 ... X i -1 )
i =1

Entropi của một ký hiệu trong một khốI k ký hiệu được định nghĩa là:

1
Hk (X ) = H ( X 1 X 2 .. X k )
k

Ta định nghĩa lượng tin trung bình của một nguồn dừng làlượng tin trung bình của
một khối ký hiệu của nguồn và có độ lớn bằng entropi của một ký hiệu của nguồn
trong khi k tiến tới vô hạn, nghĩa là:

H �( X ) = lim H k ( X )
k ��

Hiệu quả của mã hoá nguồn dừng rời rạc phụ thuộc vào việc một khối các ký hiệu
của nguồn được mã hoá thành một từ mã là lớn hay nhỏ.Tuy nhiên, ta thấy rằng
thuật toán mã Huffman và Shanon-Fano yêu cầu phải biết hàm mật độ phân bố xác
suất đồng thời của khối J ký hiệu của nguồn.

II. Mã hóa nguồn không dừng


Nguồn không dừng là nguồn có phân bố xác suất thay đổi theo thời gian. Tốc độ
thay đổi của phân bố xác suất thường nhỏ hơn nhiều so với tốc độ ký hiệu. Như vậy
có thể chia quá trình truyền tin thành nhiều đoạn, trong mỗi đoạn có thể coi là phân
bố xác suất không thay đổi hoặc thay đổi rất ít, có thể áp dụng được các phương
pháp mã hóa đã xem xét ở trên.

Để có thể triển khai được ý tưởng này, các vấn đề sau đây cần được giải quyết:

84
- Xác định các điểm ranh giới giữa các đoạn. Mỗi đoạn tương ứng với một
phân bố xác suất và một mã hiệu được xây dựng từ phân bố xác suất đó. Khi
phân bố xác suất thay đổi, đến một mức nào đó mã hiệu không còn phù hợp.
Như vậy để xác định ranh giới giữa các đoạn cần theo dõi sự thay đổi của
phân bố xác suất, sau đó kiểm tra tính phù hợp của mã hiệu hiện tại với phân
bố xác suất mới.

- Tính toán một cách hiệu quả mã hiệu mới. Khi có nhu cầu sử dụng mã hiệu
mới, căn cứ vào phân bố xác suất mới, cần tính được mã hiệu mới. Tuy nhiên
phân bố xác suất trên thực tế thay đổi không nhiều, do đó mã hiệu mới cũng
thay đổi không nhiều so với mã hiệu cũ. Cần có phương pháp để tận dụng
những từ mã hoặc phần của từ mã giống nhau, giảm khối lượng tính toán mã
hiệu mới.

- Đồng bộ mã hiệu sử dụng với bộ phận nhận tin. Để có thể giải mã được
thông tin khi chuyển sang mã hiệu mới, cần thông báo và chuyển các thông
tin về mã hiệu mới cho bộ phận giải mã. Nếu chuyển cả bảng mã sang cho
thiết bị giải mã, sẽ có ảnh hưởng đến hiệu suất của mã hiệu.

Theo dõi sự thay đổi của phân bố xác suất. Thực tế phân bố xác suất của các ký
hiệu phản ánh bởi tần suất xuất hiện của các ký hiệu. Do đó tại bộ phận mã hóa,
ngoài việc mã hóa các ký hiệu cần ghi lại số lần xuất hiện của các ký hiệu. Trên cơ
sở số lần xuất hiện sẽ tính toán xác suất của các ký hiệu. Tuy nhiên, nếu mỗi lần mã
hóa một ký hiệu phải tính lại xác suất (thực hiện 1 phép cộng và L phép chia) sẽ ảnh
hưởng đến tốc độ mã hóa. Do đó thường phân bố xác suất khi lưu trữ được thay thế
bằng tần suất xuất hiện của các ký hiêu. Mỗi khi nhận một ký hiệu chỉ cần cập nhật
số lượng ký hiệu đã nhận được. Sau một khoảng thời gian, số lượng ký hiệu sẽ
được chia cho một hằng số để đảm bảo không bị tràn số. Với việc sử dụng tần suất,
phương pháp mã hóa Shannon không sử dụng được, chỉ có thể sử dụng phương
pháp mã hóa Huffman hoặc Fano. Do tính tối ưu nên phương pháp mã hóa Huffman
sẽ được sử dụng.

Theo dõi tính phù hợp của mã hiệu. Cách thức đơn giản nhất để kiểm tra một mã
hiệu có phù hợp với phân bố xác suất hiện tại hay không là tính lại mã hiệu, kiểm tra
mã hiệu tính được có giống mã hiệu cũ hay không. Nếu không giống có nghĩa là mã
hiệu mới sẽ được sử dụng. Trong quá trình tính toán, thực tế không phải tính hết tất
cả các từ mã, chỉ cần tính một số từ mã là đã có thể xác định được mã hiệu có phù
hợp hay không. Trong mã hóa Huffman, việc xác định mã hiệu có phù hợp hay
không phụ thuộc vào một tính chất đặc biệt gọi là sibling của cây mã Huffman.

Cây mã Huffman. Quá trình xây dựng mã Huffman tương đương với việc xây dựng
một cây mã theo phương pháp từ dưới lên. Kết quả của quá trình là có một cây mã,
các nút lá là các nút tương ứng với các ký hiệu nguồn (từ mã), được đánh trọng số
bằng tần suất xuất hiện của các nút tương ứng. Các nút không phải nút lá là kết quả
của việc gộp một số các nút lá và có trọng số là tổng trọng số của các nút lá thuộc
cây con. Nếu sắp xếp tất cả các nút của cây Huffman nhị phân theo thứ tự tăng dần
85
hoặc giảm dần của xác suất thì các nút anh em bao giờ cũng đứng cạnh nhau. Tính
chất này gọi là tính sibling của cây Huffman. Khi tính chất sibling còn được bảo toàn,
mã hiệu không thay đổi.

Thay đổi mã hiệu. Khi nhận được một ký hiệu, bộ phận mã hóa cập nhật tần suất
của ký hiệu tại nút lá tương ứng. Tất cả các nút gốc của các cây con chứa nút lá này
đều phải được cập nhật. Trong quá trình cập nhật, nếu cho đến nút gốc tính sibling
vẫn được bảo toàn chứng tỏ mã hiệu vẫn còn sử dụng được. Nếu đến một cây con
nào đó, tính sibling bị phá hủy thì mã hiệu không sử dụng được.

Tính toán mã hiệu. Nếu tính chất sibling bị phá hủy, cần tính toán mã hiệu mới. Để
không phải tính toán mã hiệu mới, cần chú ý quá trìn xây dựng lại mã hiệu chính là
quá trình xây dựng lại cây Huffman. Như vậy nếu có thay đổi giữa cây Huffman mới
và cây Huffman cũ, thì thay đổi này thực chất là để đảm bảo tính chất sibling. Có thể
chủ động thực hiện thay đổi này mà không cần tính toán lại cây bằng cách theo dõi
tính sibling trên danh sách sắp xếp các nút của cây. Khi điều kiện sibling bị phá hủy,
khi đó có thể đổi chỗ 2 phần tử của danh sách để đảm bảo điều kiện sibling. Tất
nhiên khi đó trong cây Huffman, 2 cây con tương ứng với 2 nút cũng phải đổi chỗ,
trọng số của các cây con chứa 2 cây con này cũng phải được cập nhật lại. Trong
quá trình cập nhật, nếu tính chất sibling bị phá hủy, tiếp tục thực hiện việc hoán vị
các phần tử của danh sách và cây con trong cây Huffman. Quá trình sẽ dừng lại khi
đạt đến nút gốc.

Như vậy, với việc đưa tính chất sibling của cây Huffman vào, các thay đổi cần có
của mã hiệu sẽ được phát hiện và được tính toán ngay. Tất nhiên khi ứng dụng thực
tế còn rất nhiều vấn đề kỹ thuật cần giải quyết như: tạo dần dần cây Huffman từ cây
rỗng, các trọng số bằng nhau, ....

Đồng bộ mã hiệu với bộ phận giải mã. Để tránh việc phải gửi cả mã hiệu sang bộ
phận giải mã, thông thường bộ phận giải mã cũng theo dõi phân bố xác suất và sự
thay đổi mã hiệu. Khi có sự thay đổi mã hiệu ở phía bộ phận mã hóa, chỉ cần thông
báo ký hiệu đã gây ra sự thay đổi mã hiệu này cho bộ phận giải mã. Có 2 cách để
thực hiện:

- Truyền bằng một mã hóa hoặc ký hiệu đặc biệt (thông thường là mã hóa
chuẩn và sử dụng ký hiệu ESC)

- Truyền bằng mã hiệu cũ. Bộ phận giải mã sử dụng mã hiệu cũ, giải mã ra ký
hiệu, từ đó có thể cập nhật được mã hiệu.

Phương pháp mã hóa này được gọi là phương pháp mã hóa thích nghi, mã hóa
Huffman động, được dùng rộng rãi để mã hóa điện tín, Telex, ....

86
III. Mã hóa nguồn có nhớ
Nguồn có nhớ là nguồn có liên hệ thống kê giữa các ký hiệu xuất hiện tại các thời
điểm khác nhau. Mã hóa nguồn có nhớ cần tận dụng các mối liên hệ này để tăng
hiệu quả của việc mã hóa. Các phương pháp thường dùng là:

Mã hóa đại số. Căn cứ theo phương pháp mã hóa đại số đã trình bày ở trên, có thể
thực hiện mã hóa đại số cho nguồn có nhớ. Chi tiết cần thay đổi là công thức tính
xác suất đồng thời của các ký hiệu.

Mã hóa sử dụng từ điển. Với nguồn có bộ nhớ hữu hạn k, các tổ hợp k ký hiệu sẽ
xuất hiện với các xác suất khác nhau, thậm chí một số tổ hợp có xác suất xấp xỉ 0.
Do đó thay vì việc mã hóa từng ký hiệu, chúng ta sẽ mã hóa các khối k ký hiệu, số
lượng các khối lúc này sẽ nhỏ hơn Lk nhiều, bài toán mã hóa theo các định lý
Shannon trở thành khả thi.

Một vấn đề đặt ra là việc đồng bộ bảng mã giữa bộ phận mã hóa và bộ phận giải
mã. Mặc dù số lượng các khối nhỏ hơn so với trường hợp nguồn không nhớ, tuy
nhiên vẫn lớn hơn nhiều so với mã hóa từng ký hiệu. Thông thường, bảng mã này
được dùng chung cho nhiều quá trình truyền tin và được gọi là một từ điển tĩnh.

Một cách tiếp cận khác là xây dựng từ điển cho từng quá trình truyền tin và gửi từ
điển cho bộ phận giải mã. Ưu điểm của phương pháp này là kích thước bảng mã
nhỏ. Nhược điểm là dư thừa dữ liệu (vừa có từ điển, vừa có mã hóa). Do đó thông
thường chuỗi ký hiệu mã và từ điển được kết hợp với nhau tạo thành một từ điển
động. Phương pháp mã hóa Lempel-Ziv là một phương pháp sử dụng từ điển động.

Phương pháp mã hóa Lempel-Ziv. Nguyên tắc của phương pháp này là chia chuỗi
ký hiệu đầu vào thành các từ, không từ nào giống từ nào. Các từ này được đưa vào
một từ điển và được mã hóa bằng một danh sách động. Cần chú ý là các từ mới
được tạo từ các từ cũ + một ký hiệu nguồn, do đó khi mã hóa, các từ mã sẽ được
tạo thành từ số thứ tự của từ mã cũ và ký hiệu mới.

Ví dụ ta xét dãy ký hiệu nhị phân sau:

1 0 10 11 01 00 100 111 010 1000 011001110101100011011

Chia dãy các ký hiệu trên thành các câu như trong bảng từ điển

Vị trí trong từ Câu Từ mã tương


điển ứng

0001 1 00001

0010 0 00000

0011 10 00010

0100 11 00011

87
0101 01 00101

0110 00 00100

0111 100 00110

1000 111 01001

1001 010 01010

1010 1000 01110

Để giải mã cần phải xây dựng lại từ điển ở phía thu giống như ở phía phát và sau
đó là giải mã lần lượt các từ mã nhận được. a nhận thấy rằng quá trình mã hoá
trong ví dụ trên mã hoá 44 ký hiệu nhị phân của nguồn thành 16 từ mã, mỗi từ mã
có độ dài 5 bit. Như vậy là trong ví dụ này không thực hiện nén số liệu, đó là do
chuỗi ký hiệu được quan sát quá ngắn. Nếu chuỗi ký hiệu được dài ra thêm thì
thuật toán sẽ trở nên hiệu quả hơn và có nén số liệu ở đầu ra của nguồn. Vấn đề
bây giờ đặt ra là độ lớn của từ điển là bao nhiêu. Nói chung, độ lớn của từ điển chỉ
phụ thuộc vào bộ nhớ dùng trong lưu trữ. Để giải quyết vấn đề tràn ô nhớ, bộ mã
hoá và bộ giải mã hoá cần thống nhất loại bỏ những câu không còn sử dụng nữa và
thay thế vào các câu mới. Thuật toán Lempel-Ziv được sử dụng rộng rãi trong việc
nén số liệu các tệp trong máy tính. Nhiều tiện ích như compress và uncompress
trong hệ điều hành UNIX và DOS được xây dựng trên thuật toán này.

Bài 12. Mã hóa nguồn liên tục

I. Lý thuyết mã hóa nguồn liên tục


Nguồn tương tự sinh ra các bản tin x(t ) là một thể hiện cụ thể của quá trình ngẫu
nhiên X (t ) . Khi X (t ) là một quá trình ngẫu nhiên dừng , có dải phổ hữu hạn, ta có
thể sử dụng định lý lấy mẫu để biểu diễn X(t) qua một chuỗi các mẫu lấy theo tốc độ
Nyquist.

Sử dụng định lý lấy mẫu, tín hiệu ở đầu ra của một nguồn tương tự được biểu diễn
một các tương đương bằng một chuỗi các mẫu rời rạc theo thời gian. Sau đó các
mẫu được lượng tử hóa theo biên độ và được mã hóa. Một dạng đơn giản của mã
hóa là biểu diễn mỗi mức biên độ rời rạc bằng một dãy các kí hiệu nhị phân. Như
vậy nếu biên độ tín hiệu có L mức rời rạc , ta cần R = log 2 L bit cho một mẫu trong
trường hợp L là lũy thừa của 2 , và R = �
log2 L �+ 1 khi L không phải là lũy thừa của
2. Mặt khác , nếu các mức không đồng xác suất xuất hiện và chúng ta biết xác suất
của các mức tín hiệu đầu ra thì ta có thể sử dụng phương pháp mã hóa Huffman
( mã hóa theo entropi ) để tăng hiệu quả mã hóa.

Lượng tử hóa biên độ của một mẫu tín hiệu tạo nên hiệu quả trong việc nén số liệu
nhưng đồng thời cũng tạo nên một sự sai lệch nào đó của tín hiệu hay còn gọi là sự

88
suy giảm tính trung thực của tín hiệu . Chúng ta cũng xét việc tối thiểu hóa sai lệch
trong phần này .

II. Hàm tốc độ tạo tin – sai lệch


Trong việc lượng tử hóa tín hiệu ta quan tâm trước tiên tới sự sai lệch khi các mẫu
của nguồn được lượng tử hóa thành một số hữu hạn các mức. Sai lệch nghĩa là có
một sự sai khác giữa giá trị thực của các mẫu tín hiệu { xk } với các giá trị lượng tử

{ }
hóa tương ứng x k , được ký hiệu là d xk , xk ( ) .

Đầu ra của nguồn là một quá trình ngẫu nhiên , do đó n mẫu của X là các biến ngẫu
(
nhiên. Từ đó , d X k , X k ) cũng là một biến ngẫu nhiên . Kỳ vọng toán học của nó
được định nghĩa là sai số D:


D=E�

( 1 n
d X k , X k = �E �
n k =1
)
d ( xk , x k ) �
� �=E�


d x k , xk �



( )
Đẳng thức cuối cùng chỉ đúng khi quá trình ngẫu nhiên là dừng. Bây giờ giả sử
chúng ta có một nguồn không nhớ, đầu ra X là các mẫu rời rạc , biên độ liên tục cí
hàm mật độ phân bố xác suất p(x), các mẫu tín hiệu được lượng tử hóa theo biên
( )
độ thành X và sai lệch trên từng mẫu là d x, x với x �X và x �X . Tốc độ tạo tin tối
thiểu để biểu diễn đầu ra của nguồn không nhớ X với sai lệch ≤ D gọi là hàm tốc độ
tạo tin _sai lệch R(D) , được định nghĩa :

R( D) = min I(X , X )
( )
p ( x / x ):E �
d X ,X �

�D

Với I ( X , X ) là lượng tin trung bình tương hỗ giữa X và X . Nói chung R(D) giảm thì
D tăng và ngược lại.

Một mô hình nguồn thông tin không nhớ, biên độ liên tục hay gặp là mô hình nguồn
gausian. Trong trường hợp này, Shannon đã chứng minh định lý cơ bản về hàm tốc
độ tạo tin-sai lệch sau :

Tốc độ tạo tin tối thiểu cần thiết để biểu diễn một nguồn gausian không nhớ, rời rạc
theo thời gian, biên độ liên tục trên cơ sở trung bình bình phương sai lệch của từng
mẫu là :

�1
� log 2 ( x / D) (0 �D � x2 )
2
Rg ( D)= �2

� 0 ( D � x2 )

với  x là sai phương của nguồn gausian.


2

89
Công thức chỉ ra rằng không cần truyền thông tin khi sai lệch D ≥  x . Đặc biệt khi
2

D =  x2 , ta có thể sử dụng các tín hiệu 0 để khôi phục lại tín hiệu. Khi D>  x2 có thể
dùng các mẫu tín hiệu nhiễu gausian độc lập thống kê, kỳ vọng toán học bằng 0 với
sai phương D -  x2 để khôi phục lại tín hiệu. Đồ thị của Rg ( D ) được vẽ trên Hình MÃ
HÓA NGUỒN-16:.

Hàm tốc độ sai số R(D) của một nguồn có liên hệ với định lý mã hóa cơ bản của lý
thuyết thông tin sau:

Định lý về mã hóa nguồn với sai lệch cho trước: Tồn tại một phương pháp mã
hóa nguồn để mã hóa các mẫu của nguồn thành các từ mã với một độ sai lệch cho
trước D, tốc độ tạo tin tối thiểu R(D) bit/ký hiệu ( mẫu ) đủ để khôi phục lại đầu ra
của nguồn với sai lệch trung bình sát gần tùy ý tới D .

Như vậy, rõ ràng hàm tốc độ tạo tin-sai lệch R(D) là giới hạn dưới của tốc độ tạo tin
của nguồn với mức độ sai lệch đã cho.

Hình MÃ HÓA NGUỒN-16:Tốc độ lập tin của nguồn Gaussian

Hàm tốc độ tạo tin-sai lệch của nguồn gausian không nhớ, biên độ liên tục.Ta
có thể biểu diễn D qua R :

Dg ( R ) = 2-2 R. x2

Biểu thức của hàm tốc độ tạo tin-sai lệch cho các nguồn không nhớ không phải là
nguồn gausian tới nay vẫn chưa tìm ra được. Tuy nhiên, người ta đã tìm được giới
hạn dưới và giới hạn trên của hàm này cho các nguồn không nhớ,rời rạc theo thời
gian, có biên độ liên tục.

Định lý về giới hạn trên của R(D): Hàm tốc độ tạo tin-sai lệch của các nguồn
không nhớ , rời rạc theo thời gian, có biên độ liên tục có giá trị trung bình bằng 0 và
sai phương  x2 hữu hạn đảm bảo sai lệch trung bình bình phương cho trước có giới
hạn trên là :

90
1  x2
R( D) � log 2 , 0 �D | le x2
2 D

Điều này chỉ ra rằng tốc độ thông tin cực đại của nguồn gausian lớn hơn tất cả các
nguồn khác với cùng mức trung bình bình phương sai lệch. Như vậy hàm tốc độ tạo
tin-sai lệch của tất cả các nguồn có giá trị trung bình bằng 0 và sai phương hữu hạn
thỏa mãn điều kiện R( D) �Rg ( D) . Tương tự, hàm sai lệch-tốc độ tạo tin của các
nguồn như vậy thỏa mãn điều kiện :

D( R) �Dg ( R) = 2 -2 R. x2

Giới hạn dưới của hàm tốc độ tạo tin-sai lệch cũng tồn tại. Giới hạn này được gọi là
giới hạn dưới Shannon cho việc đo lường sai lệch theo trung bình bình phương sai
lệch như sau :

1
R * ( D) = H ( X ) - log 2 2p eD
2

H(X) là entropi của nguồn không nhớ có biên độ liên tục. Hàm sai lệch-tốc độ tạo tin
tương ứng là :

1 -2[ R - H ( X )]
D *( R ) = 2
2p e

Như vậy , hàm tốc độ tạo tin-sai lệch của các nguồn không nhớ , biên độ liên tục có
giới hạn trên và giới hạn dưới như sau :

R* ( D) �R ( D) �Rg ( D )

Và tương ứng là hàm sai lệch-tốc độ tạo tin :

D* ( R ) �D ( R ) �Dg ( R )

Entropi của nguồn gausian không nhớ là :

1
Hg (X ) = log 2 2p e x2
2

Như vậy , giới hạn dưới R*(D) trong trở thành Rg(D). Bây giờ ta biểu diễn D*(R)
theo dB và chuẩn hóa bằng cách đặt  x =1 (hay chia D*(R) cho  x ), ta được từ :
2 2

hay

Dg ( R )
10 log10 = 6�
H g ( X ) - H ( X )�
� �dB = 6[Rg(D)-R*(D)] dB
D * (R)

91
Ta thấy rằng D*(R) cũng giảm với tốc độ -6dB/bit và entropi H(X) bị giới hạn trên bởi
Hg(X).

Ta xét một nguồn gausian có dải thông hữu hạn với mật độ phổ :

F ( f ) =  x2 / 2W , ( f �W)



F ( f ) = 0, ( f �W)

Khi tín hiệu đầu ra của nguồn này được lấy mẫu ở tốc độ Nyquyst, các mẫu không
tương quan với nhau và do đó chúng độc lập thống kê (do nguồn là gausian). Như
vậy nguồn tương đương là rời rạc theo thời gian và không nhớ. Hàm tốc độ tạo tin-
sai lệch cho mỗi mẫu là :

 x2
Rg ( D) = W.log 2 (0 �D � x2 )
D

Hàm sai lệch tốc độ tạo tin tương ứng là :

Dg ( R ) = 2- R /W . x2

III. Lượng tử hóa vô hướng


Trong mã hóa nguồn , bộ lượng tử hóa có thể được tối ưu hóa nếu chúng ta biết
hàm mật độ xác suất của biên độ tín hiệu ở đầu vào bộ lượng tử . Ví dụ : Giả sử
chuỗi {xn}ở đầu vào bộ lượng tử có hàm mật độ phân bố xác suất p(x) và đặt L = 2 R
là số mức tín hiệu. Ta sẽ thiết kế bộ lượng tử hóa vô hướng tối ưu, làm tối thiểu hóa
hàm sai số lượng tử của biến q = x - x , ở đây x là giá trị lượng tử của x. Gọi
f ( x - x ) là hàm sai lệch ta quan tâm. Từ đó, sai lệch trong quá trình lượng tử biên độ
tín hiệu là:

D= �f ( x - x ) p ( x ) dx
-�

Tổng quát , bộ lượng tử hóa tối ưu sẽ làm tối thiểu D bằng cách lựa chọn tối ưu các
mức tín hiệu đầu ra và với mỗi khoảng tín hiệu đầu vào sẽ ứng với một mức tín hiệu
ở đầu ra của bộ lượng tử. Vấn đề tối ưu hóa đã được xem xét bởi Lloyd (1982) và
Max (1960 ) và bộ lượng tử hóa tối ưu được gọi là bộ lượng tử hóa Lloyd-Max.

Trong trường hợp tổng quát, nếu tín hiệu vào trong khoảng xk -1 �x �xk sẽ ứng với
mức tín hiệu ra là x = x k . Với bộ lượng tử hóa L mức, các giá trị đầu cuối x o= -∞ , xL =
∞, kết quả sai số là :
xk

( )
L
D = ��f x k - x p ( x).dx
k =1 xk -1

92
Điều kiện cần cho việc tối thiểu hóa sai số D theo {x k}và { x k } là đạo hàm của D theo
{xk}và { x k }bằng 0. Kết quả là hệ phương trình :

f ( xk - xk ) = f ( xk +1 - xk ) , k = 1, 2,.., , L
xk

�f �( x
xk -1
k - x ) p( x).dx = 0, k = 1, 2, n, L

Bộ lượng tử mã hóa các mẫu của một nguồn có biên độ liên tục thành các mẫu của
một nguông có biên độ rời rạc , ta có thể xử lý các biên độ rời rạc như các ký hiệu
{ }
X = x k ,1 �k �L với các giá trị xác suất {p k}. Nếu các giá trị biên độ tín hiệu là độc
L
lập thống kê , thì nguồn là rời rạc không nhớ có entropi là H ( X ) = -�pk log 2 pk
k =1

Kết luận: Bộ lượng tử hóa có thể được tối ưu hóa nếu ta biết hàm mật độ phân bố
xác suất của nguồn liên tục . Bộ lượng tử hóa tối ưu L = 2 R mức gây ra sai số D(R)
tối thiểu. Điều đó có thể đạt được khi mã hóa mỗi mẫu tín hiệu bởi R bit. Tuy nhiên,
vẫn có thể mã hóa hiệu quả hơn. Các mẫu ở đầu ra của bộ lượng tử hóa được đặc
trưng bởi các xác suất xuất hiện {pk}sẽ được sử dụng trong phương pháp mã hóa
Huffman ( mã hóa entropi ). Hiệu quả của phương pháp mã hóa có thể được so
sánh qua hàm tốc độ tạo tin-sai lệch hay hàm sai lệch-tốc độ tạo tin đối với nguồn
rời rạc , biên độ liên tục được đặc trưng bởi hàm mật độ xác suất.

IV. Lượng tử hóa vectơ :


Trong phần trước chúng ta đã xét tới việc lượng tử hóa các mẫu tín hiệu ở đầu ra
một nguồn có biên độ liên tục, trong đó quá trình lượng tử thực hiện theo từng mẫu.
Phần này ta xét tới việc lượng tử hóa đồng thời một khối các mẫu tín hiệu hay một
khối các tham số tín hiệu. Kiểu lượng tử hóa này được gọi là lượng tử hóa vectơ.
Phương pháp lượng tử này được sử dụng rộng rãi trong mã hóa tín hiệu tiếng nói
hay trong các hệ thống tin tổ ong.

Việc lượng tử hóa vectơ sẽ mang lại hiệu quả cao hơn lượng tử hóa vô hướng,
ngay cả khi nguồn có biên độ liên tục và không nhớ. Hơn nữa, nếu các mẫu tín hiệu
hay các tham số tín hiệu là phụ thuộc thống kê , chúng ta có thể lợi dụng tính chất
này bằng cách lượng tử hóa đồng thời một khối các mẫu hay một khối các tham số .
Phương pháp này có hiệu quả cao hơn phương pháp lượng tử hóa vectơ về mặt tốc
độ thông tin (tốc độ thông tin thấp hơn).

Vấn đề lượng tử hóa vectơ có thể được diễn giải như sau . Ta có một vectơ n chiều
X=[x1,x2 ,…,xn] với giá trị thực , các thành phần có biên độ liên tục {x k, 1 ≤ k ≤ n }
được mô tả bằng hàm mật độ phân bố xác suất đồng thời p(x 1,x2,…,xn). Vectơ X
được lượng tử hóa thành một vectơ X n chiều khác với các thành phần

93
{ x ,1 �k �n} . Ta biểu diễn phép lượng tử hóa là Q , nghĩa là
k X = Q ( X ) , X là đầu ra
bộ lượng tử hóa vectơ khi đầu vào là X .

Về cơ bản, việc lượng tử hóa vectơ một khối số liệu có thể được xem như vấn đề
nhận dạng mẫu trong việc phân loại các khối số liệu thành các lớp rời rạc hay ô để
tối ưu hóa tiêu chuẩn nào đó về độ trung thực. Ví dụ , ta xét việc lượng tử hóa vectơ
2 chiều X=[x1,x2]. Không gian 2 chiều được chia thành các ô như trên Hình MÃ HÓA
NGUỒN-17: Lượng tử hóa véc tơ, các ô là các hình lục giác đều. Ta kí hiệu tập hợp
{
các vectơ ở đầu ra bộ lượng tử là X k ,1 �k �L . }
x

x1

Hình MÃ HÓA NGUỒN-17: Lượng tử hóa véc tơ

Tổng quát, việc lượng tử hóa một vectơ X n chiều thành một vectơ X n chiều khác
tạo ra một sai số lượng tử hay sai lệch d ( X , X ) . Giá trị trung bình của sai lệch của
tập hợp các vectơ đầu vào X là:
L L
D = �P ( X �Ck ) E �
� �= �
d ( X , X k ) X �C k � P( X �Ck ) �d ( X , X k ) p ( X )dX
k =1 k =1 X �Ck

P( X �Ck ) là xác suất để vectơ X ở trong ô C k và p(X) là hàm mật độ phân bố xác
suất đồng thời của n biến ngẫu nhiên. Cũng như trong lượng tử hóa vô hướng, ta có
thể cực tiểu hóa D bằng cách chọn các ô { Ck , 1 � k �L} với mỗi hàm p(X).

Lượng tử hóa vectơ không chỉ giới hạn ở việc lượng tử hóa một khối các mẫu của
nguồn tín hiệu vào mà nó còn được sử dụng để lượng tử hóa tập hợp các tham số
của số liệu. Ví dụ như trong mã hóa dự đoán tuyến tính (LPC) , các tham số lấy từ
tín hiệu là các hệ số dự đoán, đó là các hệ số của mô hình bộ lọc toàn cực của
nguồn tạo tín hiệu. Các tham số này được lượng tử hóa vectơ với một tiêu chuẩn
sai lệch thích hợp nào đó. Trong mã hóa tín hiệu tiếng nói, tiêu chuẩn sai lệch

94
thường là trọng lượng của bình phương sai lệch, ma trận trọng lượng W là ma trận
tự tương quan chuẩn hóa của tín hiệu vào.

Bây giờ ta trở lại với việc mô hình hóa toán học của vấn đề lượng tử hóa vectơ . Xét
việc chia không gian n chiều thành L ô { Ck , 1 � k � L} sao cho sai lệch trung bình
là tối thiểu trên toàn bộ L mức lượng tử . C ó hai điều kiện cho quá trình tối ưu. Thứ
nhất là bộ lượng tử hóa tối ưu sử dụng luật gần nhất được diễn giải dưới dạng toán
học :

Q ( X ) = X k nếu và chỉ nếu: D( X , X k ) �D( X , X j ) k≠j,1≤j≤L

Điều kiện thứ hai cần thiết cho việc tối ưu hóa là mỗi vectơ đầu ra X k được chọn
sao cho tối thiểu hóa sai lệch trong ô C k. Nói cách khác , X k là vectơ trong C k làm
cực tiểu biểu thức :

Dk = E �
d ( X , X k ) X �Ck �
� �= �d ( X , X
X �Ck
k ) p ( X )dX

Vectơ X k làm tối thiểu Dk gọi là trung tâm của ô C k. Như vậy các điều kiện cho việc
tối ưu hóa được sử dụng trong việc chia không gian n chiều thành các ô
{ Ck , 1 � k � L} với điều kiện đã biết hàm mật độ phân bố xác suất p(X). Nói chung
ta muốn các vectơ mã gần nhau trong miền giá trị hàm mật độ phân bố xác suất lớn
và xa nhau trong miền giá trị hàm mật độ phân bố xác suất nhỏ.

Ta có thể sử dụng giới hạn trên của sai lệch trong lượng tử hóa vô hướng áp dụng
cho từng thành phần của lượng tử hóa vectơ để tìm giới hạn trên của sai lệch trong
lượng tử hóa vectơ. Mặt khác, hiệu quả cao nhất của lượng tử hóa vectơ được cho
bởi hàm tốc độ tạo tin-sai lệch hay hàm sai lệch-tốc độ tạo tin.

Hàm sai lệch-tốc độ tạo tin có thể định nghĩa trong lượng tử hóa vectơ như sau: giả
sử có vectơ n chiều X từ n mẫu {xm}. Vectơ X được lượng tử hóa thành vectơ
X , X = Q ( X ) . Vectơ X là một vectơ trong tập các vectơ { X k ,1 ≤ k ≤ L}. Như đã nói ,
sai lệch trung bình D khi biểu diễn X bởi X là E[d(X, X )], với d(X, X ) là sai lệch theo
từng chiều, nghĩa là:

1 n
d(X , X ) = �
n k =1
( xk - x k ) 2

H(X )
Các vectơ { X k , 1 ≤ k ≤ L}được truyền đi với tốc độ trung bình R = (bit/kí hiệu)
n

H ( X ) là entropi của nguồn đầu ra bộ lượng tử, được định nghĩa như sau:

L
H ( X ) = - �p ( X i ) log 2 p ( X i )
i =1

95
Với tốc độ trung bình R, sai lệch tối thiểu có thể thực hiện được D n(R) là :

Dn ( R) = min E �
d ( X , X )�
� �
Q( x)

trong công thức trên R≥ H ( X ) /n và giá trị cực tiểu được tính với tất cả các khả năng
của Q(X). Lấy giới hạn khi n→∞ , ta được :

D( R ) = lim Dn ( R)
n ��

với D(R) là hàm sai lệch-tốc độ tạo tin .

Các vấn đề nói trên là trong bối cảnh ta đã biết hàm mật độ phân bố xác suất đồng
thời p(X). Tuy nhiên trong thực tế, người ta thường không tính được p(X). Trong
trường hợp đó có thể chòn các vectơ lượng tử một cách thích hợp từ một tập các
vectơ thử X(m). Giả sử ta đã có một tập M vectơ thử và M >> L.

Một thuật toán ghép gọi là Thuật toán K trung bình (K means algorthm) , trong
trường hợp này thì K=L được áp dụng với các vectơ thử. Thuật toán này chia M
vectơ thử thành L tập mà hai điều kiện tối ưu được thỏa mãn. Thuật toán như sau :

B1: Khởi đầu quá trình lặp với i=0, chọn 1 tập hợp các vectơ đầu ra X k (0) ,1 ≤ k ≤
L.

B2: Phân các vectơ thử {X(m) , 1 ≤ k ≤ M} thành các lớp {C k} bằng cách sử dụng
luật gần nhất :

X �Ck (i ) nếu và chỉ nếu D( X , X k (i )) �D ( X , X j (i )) với mọi k≠j

B3: Tính lại (Đặt i=i+1) các vectơ đầu ra của tất cả các lớp bằng cách tính trung tâm
1
của các vectơ thử trong mỗi lớp: X k (i ) =
Mk
�X (m) ,1 ≤ k ≤ L. Tính sai lệch D(i)
X �Ck

của mỗi bước lặp.

B4: Kết thúc nếu như độ chênh lệch D(i-1)-D(i) đủ nhỏ, nếu không quay lại B2.

Thuật toán K trung bình hội tụ tới cực tiểu địa phương. Bằng cách lặp lại thuật toán
với nhiều tập hợp các vectơ đầu ra khởi đầu {X k }
(0) , ta có thể tìm được cực tiểu
toàn cục. Tuy nhiên do khối lượng tính toán quá lớn nên ta thường chỉ làm 1 vài tập
khởi đầu.

Mỗi khi khởi đầu với một tập các vectơ đầu ra { X k , 1 ≤ k ≤ L},mỗi vevtơ X(m) được
lượng tử hóa thành một vectơ ở đầu ra gần nó nhất (theo cách đo lường sai lệch).
Nếu việc tính toán được thực hiện với tất cả L vectơ có thể ở đầu ra { X k } thì thủ tục
này được gọi là tìm kiếm toàn bộ. Giả thiết số phép tính cộng và nhân trong mỗi

96
phép thử là n ( thực ra là tỷ lệ với n là số chiều của vectơ) thì số phép tính cần thực
hiện đối với một vectơ là C = nL

Nếu L là lũy thừa của 2 thì log 2L là số bit cần thiết để biểu diễn cho mỗi vectơ. Gọi R
là số bit cần thiết để biểu diễn cho mỗi mẫu tín hiệu ( một thành phần hay một chiều
của X(m) ) thì nR = log 2 L . Do đó số phép tính cần thực hiện đối với mỗi vectơ là
C = n.2nR Như vậy số lượng phép tính tăng theo hàm mũ với số chiều không gian và
tốc độ bit đối với mỗi chiều, do đó lượng tử hóa vectơ được sử dụng cho việc mã
hóa nguồn tốc độ thấp như mã hóa các hệ số phản xạ hay các hệ số loga trong
phương pháp LPC.

Ví dụ:

Gọi x1 và x2 là 2 biến ngẫu nhiên có hàm mật độ phân bố xác suất đồng thời đồng
đều:

1/ ab
� X �C
p ( x1 , x2 ) = p ( X ) = �
�0 X �C

Với C là miền hình chữ nhật trên hình 5-3-4 (quay 45 o so với phương ngang)

Nếu ta lượng tử hóa x1 và x2 độc lập và dùng các bước lượng tử như nhau Δ thì số
các mức cần thiết:

a+b
L1 = L2 =
2D

Số lượng các bit cần thiết để mã hóa vectơ X={x1,x2} là :

(a + b)2
Rx = R1 + R2 = log 2 L1 + log 2 L2 = log 2
2D 2

97
Hình MÃ HÓA NGUỒN-18: Ví dụ về lượng tử hóa vectơ 2 chiều.

Như vậy lượng tử hóa từng thành phần tương đương với lượng tử hóa vectơ với số
mức :

( a + b) 2
Lx = L1 L2 =
2D 2

Ta nhận thấy rằng phương pháp này tơpng đương với việc phủ kín hình chữ nhật
lớn bằng các ô chữ nhật, mỗi ô biểu diễn một miền lượng tử. Do p(X)=0 , nên trừ khi
X �C phương pháp mã hóa này lãng phí , hay số hình vuông phải sử dụng để phủ
là :

L’x = ab / D 2

Từ đó sự khác nhau về tốc độ số liệu giữa lượng tử hóa vô hướng và lượng tử hóa
vectơ là :

( a + b) 2
R x - R�x = log 2
2ab

Chú ý rằng phép biến đổi tuyến tính (quay 45 o) sẽ làm mất quan hệ giữa x1 và x2 và
làm cho 2 biến ngẫu nhiên độc lập với nhau. Như vậy lượng tử hóa vectơ và lượng
tử hóa vô hướng có hiệu quả như nhau. Nhưng nói chung, lượng tử hóa vectơ xó
hiệu quả ít nhất là bằng với lượng tử hóa vô hướng.

V. Mã hóa tín hiệu miền thời gian.


Có vài kỹ thuật dùng để biếu diễn các đặc tín tín hiệu miền thời gian. Các kỹ thuật
hay dùng nhất được dùng dưới đây

98
Điều chể xung mã (PCM) x(t) là một thể hiện của nguồn và xn là các mẫu lấy theo
tần số lấy mẫu fs ≥ 2W , W là tần số cao nhất trong phổ x(t) .Trong mã PCM , mỗi
mẫu tín hiệu được lượng tử hóa thành một trong 2 R các mức tín hiệu , ở dây R là số
ký hiệu nhị phân dùng để biểu diễn cho mỗi mẫu . Như vậy tốc độ thông tin của
nguồn là Rfs bit/s. Quá trình lượng tử hóa có mô hình toán học như sau :

n = xn + qn
x%

x%
n là giá trị lượng tử của xn và qn là sai số lượng tử (chúng ta thường coi đó là
nhiễu cộng). Giả sử bộ lượng tử hóa là đồng đều có quan hệ giữa đầu ra và dầu vào
được mô tả trên hình vẽ sau, sai số lượng tử được đặc trưng thống kê bởi hàm mật
độ phân bố xác suất đồng đều:

1 1 1
p (q ) = - D �q � D
D 2 2

Hình MÃ HÓA NGUỒN-19: Bước lượng tử


Bước lượng tử là ∆ = 2-R . trung bình bình phương sai số lượng tử là :

1 2 1 -2 R
E (q 2 ) = D = 2
12 12

Theo thang dB , trung bình phương giá trị của nhiễu là :

1 2
10log10 ( D = 10 log10 2-2 R )= - 6R - 10.8dB
12

Chúng ta nhận thấy rằng sai số lượng tử giảm 6dB/bit đối với bộ lượng tử hóa này.
Ví dụ với bộ lượng tử hóa 7 bit thì sai số lượng tử là -52.8 dB .

Nhiều nguồn tín hiệu ví dụ như nguồn tín hiệu tiếng nói có tính chất là giá trị biên độ
tín hiệu hay nhận giá trị nhỏ hơn là nhận giá trị lớn. Nhưng bộ lượng tử hóa đồng

99
đều có khoảng cách giữa các bước lượng tử giống nhau mà không phản ánh được
tính chất của tín hiệu. Đối với những tín hiệu như thể sử dụng bộ lượng tử hóa
không đồng đều sẽ mang lại hiệu quả cao hơn. Tính chất của bộ lượng tử hóa
không đồng đều có thể coi như cho tín hiệu qua một thiểt bị phi tuyển để nén biên độ
tín hiệu, sau đó cho tín hiệu đã nén qua bộ lượng tử hóa đồng đều. Ví dụ bộ nén
loga có quan hệ về biên độ giữa đầu ra và đầu vào như sau:

1+ m | x |
| y |= log10
1+ m

| x |≤1 là biên độ của tín hiệu vào, | y | là biên độ tín hiệu ra, μ là tham số nén biểu
diễn quan hệ giữa |y| và |x| với các giá trị khác nhau của μ . Giá trị μ=0 t ương ứng
với không nén tín hiệu .

Điều chể xung mã visai (DPCM) Trong PCM, mỗi mẫu tín hiệu được mã hóa độc
lập với tất cả các mẫu khác. Tuy nhiên phần lớn các nguồn tín hiệu được lấy mẫu ở
tốc độ Nyquist hay cao hơn thì giữa các mẫu liên tiểp có một mối liên hệ đáng kể .
Nói cách khác, sự sai khác về biên độ giữa các mẫu liên tiếp là khá nhỏ. Như vậy có
thể xây dựng được một mô hình mã hóa tận dụng dược tính chất này để làm giảm
tốc độ số liệu ở đầu ra của nguồn.

Một phương pháp đơn giản là chỉ mã hóa sự sai khác của các mẫu tín hiệu liên tiểp
thay cho mã hóa từng mẫu độc lập. Do sự chênh lệch giữa các mẫu nhỏ hơn nhiều
giá trị biên độ của một mẫu lên cần it bit hơn để biểu diễn sự sai khác đó. Cụ thể , ta
có thể dự đoán mẫu hiện tại dựa trên p mẫu trước đó . Đặt x n là giá trị mẫu hiện tại
và xˆn giá trị dự đoán của xn định nghĩa như sau:
p
xˆn = �ai {xn-i }
i =1

Như vậy xˆn là tổ hợp tuyến tính của p mẫu trước ai là các hệ số của bộ dự đoán .
các hệ số{ai}được chọn để tối thiểu hóa một hàm sai lệch nào đó giữa xˆn và xn .

Hàm lỗi thường dùng trong toán học và thực tể là trung bình bình phương sai số
(MSE).Với hàm lỗi này , ta chọn {ai}để cực tiểu hóa sai số:


� p
��
2 p p p
2
n �xn - �ai xn -i ��= E [ xn
x p = E (e ) = E � 2
] - 2�ai E ( xn xn-i ) + ��ai a j E ( xn -i xn - j )

� i =1
� ��� i =1 i =1 j =1

Giả sử đầu ra của nguồn là dừng (theo nghĩa rộng ), ta có thể viểt lại công thức
trên như sau :
p p p
x p = f ( 0 ) - 2�aif ( i ) + ��ai a jf ( i - j )
i =1 i =1 j =1

100
f ( m ) là hàm tự tương quan của các dãy các mẫu tín hiệu {x n}.Cực tiểu hóa z p theo
{ai}tạo liên hệ các phương trình tuyển tính sau:
p

�a f ( i - j ) = f ( j ) , j = 1, 2,� p
i =1
i

Khi hàm tự tương quan f ( n ) không biết trước một cách tiên nghiệm, ta có thể ước
lượng từ mẫu {xn}sử dụng các quan hệ sau :
N -n
1
fˆ ( n ) = �x x i i +n , n = 0,1�, p
N i =1

Chú ý rằng chuẩn hóa 1/N phải bỏ đi khi thay fˆ ( n ) vào công thức . Hệ phương trình
tuyến tính dùng để tìm các hệ số của bộ dự đoán được gọi là hệ phương trình
Yule-Walker. Thuật toán Levínson và Durbin là loại thụât toán có hiệu quả dùng để
giải hệ phương trình đó.

Đầu vào của bộ dự đoán ký hiệu là x% n biểu diễn mẫu tín hiệu x n nhưng bị thay đổi do

quá trinh lượng tử đầu ra của bộ dự đoán là :


p
xˆ%= �ai x%
n -i
i =1

với sai lệch :

ˆ
en = xn - x% n

là tín hiệu vào của bộ lượng tử và đầu ra của bộ lượng tử kí hiệu là e% %


n .Sai số en

được mã hóa thành từ mã và gửi đến phía thu .Sai số lượng tử xˆ% được cộng vào n

giá trị dự đoán để được x%


n .

Phía thu cũng sử dụng bộ dự đoán như phía phát và giá trị xˆ% e%
n đựoc cộng với n để

thu được x% %
n . Tín hiệu xn được lọc qua mạch lọc thông thấp để thu đựoc tín hiệu

( t ) . Sai số lượng tử bằng:


x%

qn = e% ˆ% % (
n - en = en - xn - xn = xn - xn
% )
n = xn + qn nghĩa là mẫu lượng tử hóa xn sai lệch với mẫu tín hiệu xn một
Như vậy , x% %
lượng bằng sai số lượng tư qn độc lập với bộ dự đóan và do đó sai số không bị dồn .

101
Người ta có thể cải thiện chất lượng của việc dự đoán bằng cách lọc tuyển tính các
giá trị sai số lượng tử cũ .Giá trị dự đoán xˆ% được tính như sau:
n

p m
ˆ =
x%n �ai x%n-i + �bi e%n-i
i =1 i =1

Hình MÃ HÓA NGUỒN-20: Lượng tử hóa mô hình nguồn


{bi} là các hệ số của bộ lọc sai số lượng tử .Sơ đồ khối bộ mã hóa và giải mã được
trình bày trên Hình MÃ HÓA NGUỒN-20: Lượng tử hóa mô hình nguồn.

Nhiều nguồn thông tin trong thực tể là nguồn giả dừng (quasistationary). Đặc trưng
của nguồn giả dừng là sai phương và hàm tự tương quan thay đổi chậm theo thời
gian. PCM và DPCM được thiểt kể trên cơ sở nguồn là dừng thống kê. Hiệu quả của
các phương pháp mã hóa này có thể được cải tiển bằng cách làm cho chúng thay
đổi một cách thích nghi với tính thay đổi của chậm của nguồn.

Trong cả hai hệ thống PCM và DPCM , sai số lượng tử q n gây ra bởi bộ lượng tử
hóa đồng đều với tín hiệu vào giả dừng sẽ cho sai phương thay đổi theo thời
gian(công suất nhiễu lượng tử ). Sử dụng bộ lượng tử hóa thích nghi sẽ làm giảm
giải động của nhiễu luợng tử. Môt phương pháp đơn giản sử dụng cho các bộ lượng
tử hóa đồng đều là thay đổi bước lượng tử tùy theo sai phương của các mẫu tín
hiệu trước. Ví dụ việc ước lượng trong khoảng thời gian ngắn sai phương của x n
được tính từ dãy tín hiệu vào {x n} có thể dùng để thay đổi bước lượng tử. Hình sau
biểu diễn bộ lượng tử hóa 3 bit với bước lượng tử thay đổi theo quan hệ :

D n +1 = D n M ( n )

Trong hệ thống PDCM , bộ dự đoán cũng có thể đựoc thiết kể để thích nghi với tính
chất giả dừng của nguồn tín hiệu . Các hệ số của bộ dự đoán có thể thay đổi tuần
hoàn để phản ánh sự thay đổi thống kê của nguồn tín hiệu. Hệ phương trình tuyến

102
tính trong công thức 5-4-9 vẫn như cũ , với việc ước lượng thời gian ngắn các hàm
tự tương quan của xn . Các hệ số của bộ dự đoán có thể được truyền từ phía phát
tới phía thu cùng với sai số lượng tử e%
n nhưng sẽ làm tăng tốc độ số liệu trên kênh.

Để giải quyết điều đó bộ dự đoán ở phía thu có thể tính các hệ số dự đoán của nình
từ e%
n và

n : xn = en + �
x% % % ai x%
n -i
i =1

n sẽ bằng xn . Các hàm tự tương quan f ( n ) tính từ


Nếu ta bỏ qua sai số lượng tử x%
x%
n thưòng đủ để tính các hệ số dự đoán một cách khá chính xác, và như vậy tốc độ

số liệu sẽ giảm đi.

Thay cho việc dùng các khối xử lý dựa trên các hệ số dự đoán {a i} được nói ở trên
ta có thể sử dụng các hệ số dự đoán dựa trên thuật toán kiểu gradient đối với từng
mẫu tương tự như thuật toán gradient cân bằng thích nghi.

VI. Mã hóa tín hiệu miền tần số


Trong phần này chúng ta sẽ trình bày các phương pháp mã hóa tín hiệu bằng cách
lọc tín hiệu ở đầu ra của nguồn thành nhiều dải tần số và mã hóa riêng rẽ tín hiệu
trong từng dải.

Mã hóa băng con (Subband Coding) Trong mã hóa băng con (SBC) đối với tín
hiệu tiểng nói hay tín hiệu hình ảnh, tín hiệu được chia thành nhiều dải băng hẹp và
tín hiệu trong miền thời gian ứng với mỗi dải được mã hoa độc lập. Trong mã hóa
tiểng nói , dải tần số chứa phần lớn năng lượng của tín hiệu, thêm vào nữa , nhiễu
lượng tử ảnh hưởng tới tai người rất thấp trong dải tần số thấp. Như vậy tín hiệu ở
băng tần thấp được mã hóa bằng nhiều bit còn tín hiệu ở miền tần cao được mã
hóa bởi ít hơn.

Mã hóa biển đổi thich nghi (Adaptive Tranform Coding). Trong mã hóa biển đổi
thích nghi ta chia các mẫu tín hiệu của nguồn thành từng khung T mẫu , sau đó số
liêu trong mỗi khung được chuyển sang miền tần số rồi mã hóa và truyền đi Tại phía
thu mỗi khung phổ cấ mẫu tín hiệu sẽ được truyền ngược lại trong miền thời gian và
tín hiệu sẽ dược tổng hợp lại từ các mẫu ở miền thơì gian rồi cho qua bộ biển đổi D-
A. Để mã hóa có hiệu quả, ta dung nhiều bít cho các thành phần phổ quan trọng và
ít bít hơn cho các thành phần phổ không quan trọng .

Việc lựa chọn phép biển đổi từ miền thời gian sang miền tần số phải sa cho các mẫu
phổ không liên hệ với nhau. Như vậy thì phép biển đổi Karhunen-Loéve là tối ưu .
Nhưng tính toán phép biển đỏi này quá phức tạp nên người ta thường dùng phép
biển đổi DFT hay nhiều phép biển đỏi Cosin rời rạc DCT (discrete Cosin Transform ).
HIệu quả phép biển đổi DCT cao hơn nên người ta thường hay sử dụng phương
pháp này

103
VII. Mã hóa mô hình nguồn
Khác với các phương pháp đã mã hóa ở trên, cách tiểp cận của phương pháp mã
hóa mô hình nguồn hoàn toàn khác. Trong phương pháp này, mô hình nguồn được
coi là một hệ thống tuyển tính, được kích thích bởi một tín hiệu vào và cho tín hiệu ở
đầu ra tương ứng. thay cho truyền các mẫu ở nguồn tín hiệu phía thu người ta
truyền tham số của hệ thống tuyển tính với các kích thích đầu vào tương ứng . Nểu
số lượng các tham số là nhỏ thì phương pháp mã hóa mô hình nguồn cho phép nén
số liệu rất nhiều.

Phương pháp mã hóa mô hình nguồn được sử dụng một cách rộng rãi nhất là mã
hóa dự đoán tuyển tính (LPC). Trong phương pháp này, các mẫu ký hiệu được ký
hiệu là xn = 0, 1,…, N-1, coi như được sinh ra từ bộ lọc toàn cực (rời rạc) có hàm
truyền đạt:

G
H ( z) = p
1 - �ak z - k
k =1

Kích thích hệ thống có thể là một xung, một dãy các xung hay các mẫu của tín hiệu
nhiễu trắng có sai phương đơn vị. Trong các trường hợp đó, giả sử dãy tín hiệu
được ký hiệu là vn , n = 1, 2,… dãy tín hiệu ra thỏa mãn phương trình sai phân:

p p
xn = �ak xn-k + Gvn , n = 0,1, � xn = �ak xn-k , n > 0
k =1 k =1

Tổng quát dãy tín hiệu ra x n=0,1,…,N-1 không phải thỏa mãn phương trình sai phân.
Nểu đầu vào là dãy tín hiệu nhiễu trắng hay là một xung, ta có thể thực hiện việc
ước lượng (dự đoán) xn bằng tổ hợp tuyển tính:
p
xn = �ak xn-k , n > 0
k =1

Sai lệch giữa xn và xˆn :


p
e n = xn - xˆn = xn - �ak xn -k
k =1

biểu thị sai lệch giữa giá trị nhận được và giá trị dự đoán. Các hệ số của bộ lọc
được lựa chọn để tối thiểu hóa trung bình bình phương sai lệch này.

Giả sử tín hiệu vào là dãy tín hiệu nhiễu trắng thì đầu ra của bộ lọc là một dãy ngẫu
nhiên cũng như sai lệch en= xn - xˆn Giá trị trung bình của bình phương sai lệch là:

104

� p
��
2 p p p

�xn - �ai xn-i ��= f ( 0 ) - 2�ak f ( k ) + ��ak amf ( k - m )


x p = E (e ) = E �
2
n


� i =1 ��� k =1 k =1 m =1

f (m) là hàm tự tương quan của dãy tín hiệu x n, n = 1, 2,…, N-1. Để xác định rõ H(z)
ta cần xác định hệ số G. Ta có :


� p
��
2

( Gvn ) �
E� = G E(v ) �xn - �ak xn-k ��= x p
2 2 2
=G = E�
2
� � n
� k =1
� ��
� �

ở đây x p ta nhận được từ khi thay các hệ số dự đoán tối ưu là lời giải của. Như vậy:
p
x p = G 2 = f ( 0 ) - �ak f ( k - )
k =1

Trong thực tể chúng ta thường không biểt hàm tự tương quan của tín hiệu đầu ra
của nguồn. Như vậy cho f ( n ) , ta có thể sử dụng các giá trị fˆn cho bởi (5-4-10)
nhận được từ dãy các mẫu xn, n = 0, 1,…, N-1.

Như đã nói ở trên, thuật toán Levinson-Durbin có thể được sử dụng để tìm ra các hệ
số {ai} một cách truy hồi, xuất phát từ bộ dự đoán bậc 1 rồi đển bậc p. các phương
trình truy hồi để tìm {ai} là:
i -1
fˆi - �ai-1k fˆ ( i - k )
aii = k =1
, i = 2, 3,.., p
xˆi -1
p p 2

xˆ = G 2 = fˆ ( 0 ) - �akfˆ ( k ) = fˆ ( 0 ) �( 1 - aii )
k =1 i =1

aik = ai -1k - aii ai -1i -k ,1 �k �i - 1


xˆ = ( 1 - a ) xˆ
i ii i -1

fˆ ( 1) ˆ
a11 = , x0 = fˆ ( 0 )
f ( 0)
ˆ

aik, k = 1, 2,…i là các hệ số của bộ dự đoán bậc i. các hệ số của bộ dự đoán bậc p
là : ak �a pk , k = 1, 2, �, p , và sai số là :

p p 2

xˆ = G 2 = fˆ ( 0 ) - �ak fˆ ( k ) = fˆ ( 0 ) �( 1 - aii )
k =1 i =1

Ta nhận thấy các phương trình truy hồi không những cho các tham số của bộ dự
đoán bậc p mà còn cho tất cả các tham số của bộ dự đoán có bậc nhỏ hơn p.

105
Các giá trị sai số xˆi thỏa mãn điều kiện và các hệ số dự đoán a ii thỏa mãn điều
kiện a ii < 1, i = 1, 2, �, p , các điều kiện này là cần và đủ để cho tất cả các điểm
cực của H(z) nằm trong đường tròn đơn vị. như vậy hệ là đảm bảo để hệ ổn định.

106
CHƯƠNG VI. MÃ HÓA KÊNH
Bài 13. Cơ sở lý thuyết mã chống nhiễu

I. Mã hóa chống nhiễu theo Shannon


Theo định lý mã hóa Shannon khi tốc độ lập tin của nguồn còn nhỏ hơn thông lượng
của kênh thì có thể thực hiện được việc truyền tin tin cậy với sai số nhỏ tùy ý. Tuy
nhiên, Shannon đề xuất giải pháp thực hiện bằng cách mã hóa từng khối ký hiệu có
độ phức tạp tính toán khi mã hóa và giải mã tăng theo hàm mũ của kích thước khối,
rất khó có thể cải thiện hiệu năng.

Trong thực tế, để chống nhiễu thường dùng các thông tin bổ sung – thông tin điều
khiển. Các thông tin điều khiển này được tính dựa theo các thông tin cần truyền tin.
Đến khi nhận được thông tin, căn cứ vào các thông tin điều khiển này có thể thực
hiện:

- Phát hiện quá trình truyền tin lỗi hay không lỗi (phát hiện lỗi)

- Xác định lại thông tin đã gửi đi dựa vào thông tin lỗi (sửa lỗi)

Phương pháp thứ 2 đảm bảo được việc truyền tin tin cậy, còn phương pháp thứ 1
cần có cơ chế cho phép bộ phận giải mã có thể thông báo cho bộ phận mã hóa về
kết quả của quá trình truyền tin, đồng thời cần một cơ chế để bộ phận mã hóa có
thể truyền lại thông tin bị lỗi. Cơ chế này gọi là cơ chế truyền lại.

Việc sử dụng phương pháp mã hóa nào, hiệu suất đến đâu phụ thuộc vào tính chất
của kênh truyền tin. Trong những năm 60-80 khi kết nối giữa các máy tính chủ yếu
là bằng đường điện thoại quay số, các mã sửa lỗi, đặc biệt là mã Hamming được sử
dụng rộng rãi. Công nghệ mạng cục bộ đảm bảo một tỷ suất lỗi nhỏ hơn nhiều so
với đường truyền quay số, làm cho mã sửa lỗi trở thành không phù hợp. Mã phát
hiện lỗi (mã vòng, mã chẵn lẻ) và cơ chế truyền lại là giải pháp thích hợp cho trường
hợp này. Với các kết nối không dây, khi tính chất của kênh truyền tin thay đổi liên
tục, việc sử dụng cơ chế truyền lại không còn phù hợp, cần có các mã sửa lỗi mềm
dẻo, thích ứng với các kênh truyền tin có tính chất khác nhau: mã chập

II. Nguyên tắc mã hóa chống nhiễu


Sử dụng các thông tin điều khiển, số lượng các tổ hợp mã có thể nhiều hơn nhiều
so với số lượng các từ mã. Khả năng chống nhiễu của mã cũng lớn hơn nhiều và
kèm theo đó là hiệu suất mã sẽ giảm. Các vấn đề cần làm sáng tỏ sẽ là: cơ chế để
phát hiện lỗi và giải mã, ảnh hưởng của số lượng các thông tin điều khiển đến hiệu
suất mã.

Cơ chế phát hiện lỗi. Như ở chương 4 đã đề xuất, việc phát hiện lỗi không được
thực hiện một cách hoàn toàn mà dựa trên việc tổ hợp mã nhận được luôn luôn là

107
một tổ hợp mã hợp lệ. Nếu tổ hợp mã này không phải là từ mã, có thể kết luận được
là quá trình truyền tin có lỗi. Ngược lại, nếu tổ hợp mã là từ mã, điều này chứng tỏ
hoặc quá trình truyền tin không có lỗi, hoặc có một lỗi biến đổi một từ mã thành từ
mã khác. Trường hợp thứ 2 được coi là có lỗi xảy ra nhưng không phát hiện đươc.
Như vậy việc phát hiện lỗi tương đương với việc phát hiên một tổ hợp mã có phải là
từ mã hay không. Thông thường thao tác này được thực hiện dựa trên hàm đặc
trưng F ( w), F ( w) = 0 khi và chỉ khi w là từ mã. Cơ chế phát hiện lỗi chỉ đảm bảo
được phát hiện được các lỗi có xảy ra hay không. Việc đảm bảo truyền tin tin cậy
được thực hiện bằng các cơ chế báo nhận (truyền thông báo cho trạm gửi về kết
quả) và truyền lại (truyền lại các từ mã bị lỗi). Phát hiện lỗi, báo nhận và truyền lại
thích hợp với trường hợp độ tin cậy của kênh truyền tin lớn, khả năng phải kích hoạt
tiến trình xử lý lỗi thấp. Trường hợp kênh truyền tin có lỗi, các thao tác xử lý lỗi đặt
thêm tải cho kênh truyền tin, trong nhiều trường hợp sẽ làm tê liệt hoàn toán hệ
thống truyền tin.

Cơ chế sửa lỗi Trường hợp khả năng xuất hiện lỗi lớn, để tránh trường hợp các
thao tác xử lý lỗi tạo thêm tải cho hệ thống, cơ chế sửa lỗi được sử dụng. Cơ chế
sửa lỗi cho phép xác định từ mã đã bị gửi lỗi dựa trên tổ hợp mã bị lỗi. Để giải quyết
trọn vẹn bài toán này, cần xem xét M*N mối quan hệ giữa các từ mã và các tổ hợp
mã. Độ phức tạp của bài toán sẽ được cải thiện nếu thay vì tìm từ mã ban đầu xác
định sự thay đổi của từ mã ban đầu. Bài toán sửa lỗi sẽ trở thành bài toán tổng quát
với tất cả các từ mã chứ không gắn với một từ mã nào.

F (w+e)=S1 � F (e) = S2 � e � w

Khả năng phát hiện và sửa lỗi. Với một mã hiệu, khả năng phát hiện lỗi được thể
hiện bằng khả năng một lỗi tạo ra một từ mã khác. Khả năng sửa lỗi được thể hiện
bằng khả năng hai từ mã lỗi cùng tạo ra một tổ hợp mã lỗi. Hiển nhiên khả năng
phát hiện và sửa lỗi được đảm bảo bằng các thông tin điều khiển, hay nói cách
khác, bằng việc giảm hiệu suất mã.

Ở một góc độ khác, không có mã hiệu chống nhiễu nào có thể sửa hết tất cả các lỗi
có thể. Không phải tất cả các lỗi có thể xảy ra khi truyền thông tin qua kênh truyền
tin. Ở đây chúng ta giả định là một lỗi thay đổi từ mã ít khả năng sẽ xảy ra nhiều hơn
so với lỗi thay đổi từ mã nhiều. Ví dụ nếu từ tổ hợp mã w’ nhận được, có 2 từ mã có
thể sinh ra w’ là w1 và w2 thì từ mã nào có sai khác so với w’ nhỏ hơn sẽ được chấp
nhận.

Như vậy có thể giả định khi truyền một từ mã qua một kênh truyền tin, các lỗi có
thay đổi nhỏ đến từ mã sẽ xảy ra, các lỗi khác không xảy ra. Đặc tính này của kênh
truyền tin được biểu diễn bằng số vị trí lỗi tối đa có thể xảy ra trên mỗi từ mã, hay
nói cách khác, khoảng cách Hamming tối đa giữa từ mã và tổ hợp mã bị lỗi sinh ra
bởi từ mã d.

108
Để thực hiện được việc phát hiện và sửa lỗi, các từ mã phải khác nhau đủ để có thể
phân biệt được. Mức độ khác nhau giữa các từ mã được đo bằng khoảng cách
Hamming tối thiểu giữa các từ mã D.

Điều kiện để phát hiện được lỗi sẽ là D > d để đảm bảo không có từ mã nào bị lỗi
thành một từ mã khác. Điều kiện sửa lỗi tương ứng sẽ là D > 2d .

Ví dụ Mã hiệu gồm 2 từ mã 0,1 có hiệu suất bằng 1, khoảng cách giữa các từ mã
bằng 1 không có khả năng chống nhiễu. Bất cứ một tác động lỗi nào lên từ mã đều
biến từ mã thành một từ mã khác. Để có thể chống nhiễu, bổ sung 1 bít điều khiển
bằng bít thông itn. Khi đó có mã 00,11 có 2 từ mã, khoảng cách tối thiểu giữa các từ
mã là 2. Như vậy khi có lỗi xảy ra và chỉ có đúng 1 bít lỗi, mã này sẽ sửa được lỗi.
Để phát hiện lỗi cần bổ sung thêm 1 bít thành mã hiệu 000,111 với khoảng cách của
các từ mã là 3. Trường hợp này nếu chỉ có 1 bít lỗi có thể xác định được ngay từ mã
ban đầu.

III. Các mô hình lỗi


Để có thể phân tích khả năng xử lý lỗi của các mã hiệu chống nhiễu, cần xác định rõ
bối cảnh bị lỗi. Các lỗi được xem xét ở đây là các lỗi dạng Byzantin, khiến cho thông
tin bị thay đổi. Thông thường chúng ta xem xét các loại lỗi sau đây:

Lỗi đơn: Các lỗi đơn xảy ra riêng lẻ, không có liên hệ thống kê với nhau. Được đặc
trưng bởi xác suất xảy ra lỗi khi gửi một ký hiệu mã.

Lỗi chùm: là các lỗi xảy ra liên tục, có ràng buộc với nhau về thống kê. Được đặc
trưng bởi độ dài lỗi và xác suất xảy ra lỗi.

Các lỗi mất bít, thừa bít được xếp vào dạng lỗi chùm.

Bài 14. Mã tuyến tính

I. Khái niệm và biểu diễn


Với mã khối, từ mã được coi là một véc tơ có độ dài cố định. Mã khối là tập hợp các
véc tơ này. Độ dài của một từ mã là số lượng kí hiệu mã có trong từ mã và kí hiệu là
n . Mỗi kí hiệu mã nhận một giá trị trong bộ kí hiệu có q phần tử. Khi q = 2 thì bộ mã
là nhị phân. Khi q > 2 thì bộ mã không phải là nhị phân. Đặc biệt khi q = 2b với b là
số nguyên dương thì mỗi kí hiệu mã trong từ mã tương đương với một từ mã nhị
phân có q bit. Như vậy mã không nhị phân có độ dài N trong trường hợp này tương
đương với một từ mà nhị phân độ dài n = bN .

Ta có thể tạo được 2n tổ hợp nhị phân có độ dài n . Trong đó ta có thể chọn ra M= 2 k
từ mã (k<n) để tạo ra bộ mã và có thể coi khối dài k bit là khối thông tin được mã
hoá. Như vậy khối k bit thông tin được ánh xạ thành một từ mã có độ dài n trong tập
M từ mã. Ta gọi mã khối đó là mã khối (n,k) và Rc  k/n là tốc độ mã. Số lượng kí
hiệu khác 0 trong một từ mã gọi là trọng lượng của từ mã và tập hợp các giá trị

109
trọng lượng của các từ mã có trong bộ mã tạo thành sự phân bố về trọng lượng của
bộ mã. Khi M từ mã có cùng trọng lượng thì gọi là bộ mã có trọng lượng cố định.

Việc mã hóa và giải mã hoá thực hiện các phép toán cộng và nhân số học trên các
từ mã. Các phép toán số học tuân theo các quy ước của trường đại số với các phần
tử là các kí hiệu trong bộ kí hiệu. Trường F là tập hợp các phần tử mà trên tập hợp
này ta định nghĩa được hai phép toán số học gọi là phép cộng và phép nhân thoả
mãn các điều kiện sau sau:

Phép cộng:

Tập hợp F là đóng đối với phép cộng, có nghĩa là nếu a, b F thì a + b  F.

Phép cộng có tính kết hợp, có nghĩa là nếu a, b, c  F thì

a + (b + c) = (a + b) + c.

Phép cộng có tính chất giao hoán, có nghĩa là a + b = b + a.

Trong tập hợp có một phần tử gọi là phần tử không kí hiệu là 0 mà a + 0 = a.

Mọi phần tử trong tập hợp đều có phần tử đối. Nếu b là một phần tử thì phần tử đối,
kí hiệu là –b. Phép trừ giữa hai phần tử được định nghĩa là a + (-b).

Phép nhân:

Tập F là đóng đối với phép nhân, có nghĩa là nếu a, b  thì ab  F.

Phép nhân có tính kết hợp, có nghĩa là a(bc) = (ab)c.

Phép nhân có tính giao hoán, ab = ba.

Phép nhân có tính phân phối đối với phép cộng, có nghĩa là (a + b)c = ac + bc.

Tập hợp F có một phần tử gọi là phần tử đơn vị, kí hiệu là 1 mà a1 = a với mọi a 
F.

Mọi phần tử thuộc F, khác 0 đều có nghịch đảo, nếu b  F, b  0 thì nghịch đảo của
b kí hiệu là b-1 và bb-1 = 1. Phép chia giữa hai phần tử a và b được định nghĩa là ab -1.

Bộ mã được xây dựng từ một trường có hữu hạn phần tử và trường hữu hạn có q
phần tử gọi là trường Galois và kí hiệu là GF(q). Mọi trường đều có hai phần tử 0
và 1. Như vậy trường đơn giản nhất là trường GF(2). Phép cộng và phép nhân trên
trường GF(q) được định nghĩa theo phép modulo q và kí hiệu là (mod q). Nếu q = p m
với m là nguyên dương thì ta có thể mở rộng trường GF ( p) thành trường GF ( p m )
và được gọi là trường mở rộng của trường GF ( p) . Phép cộng và phép nhân trên
trường mở rộng dựa trên số học modulo p .

110
Giả sử có hai từ mã Ci và Cj trong mã khối (n, k ) . Sự khác nhau giữa các kí hiệu
tương ứng hay các vị trí tương ứng gọi là khoảng cách Hamming giữa hai từ mã và
kí hiệu la dij. Với i �j thì 0 < d i j �n . Giá trị nhỏ nhất trong tập di { }
j gọi là khoảng
cách tối thiểu giữa hai từ mã và kí hiệu là d min (còn gọi là khoảng cách Hamming của
từ mã).

Một bộ mã có thể tuyến tính hoặc không tuyến tính. Giả sử C i và Cj là hai từ mã của
bộ mã khối (n,k) và 1 và 2 là hai phần tử nào đó thuộc bộ kí hiệu. Bộ mã là tuyến
tính nếu và chỉ nếu 1.Ci + 2Cj cũng là một từ mã. Như vậy mọi bộ mã tuyến tính
đều chứa từ mã 0 (là từ mã chỉ chứa các kí hiệu mã là 0). Như vậy mã có trọng
lượng cố định là mã phi tuyến.

Giả sử có một bộ mã khối tuyến tính và kí hiệu C i, i= 1,2,…., M là các từ mã. Kí hiệu
C1 là từ mã 0, C1= [00…0] và wr là trọng lượng của từ mã thứ r. Như vậy thì w r chính
là khoảng cách Hamming giữa C r và C1. Khoảng cách giữa hai từ mã C i và Cj là
trọng lượng của từ mã tổng của Ci và Cj. Sự phân bố của trọng lượng của một bộ
mã tuyến tính hoàn toàn đặc trưng cho khoảng cách Hamming của bộ mã. Khoảng
cách tối thiểu của bộ mã là:

d min = min{w r }
r�
1

Tập hợp tất cả các véc tơ n chiều tạo nên một không gian véc tơ n chiều. Nếu ta
chọn một tập hợp (k < n) véc tơ độc lập tuyến tính trong không gian véc tơ S (là
không gian véc tơ được xây dựng bởi tất cả các tổ hợp mã có độ dài n cùng với các
phép toán tương ứng) và xây dựng toàn bộ các tổ hợp tuyến tính của các vectơ này
thì sẽ tạo nên không gian con S c của không gian S có chiều là k. Mọi tập hợp k
vectơ độc lập tuyến tính trong S c đều tạo nên cơ sở của không gian vectơ. Xét tất cả
các vectơ trong S trực giao với cơ sở của S c (tức là trực giao với mọi véc tơ trong
Sc) thì tập hợp đó tạo ra một không gian con của S và gọi là không gian không của
Sc. Số chiều của Sc là k thì số chiều của không gian không là n – k. Không gian
không của Sc là một mã tuyến tính khác, có số phần tử là 2 n – k và trong mỗi từ mã
hay mỗi véctơ có n – k bit thông tin.

Mã hiệu tuyến tính với k bít thông tin, có chiều dài các từ mã n với n-k bít điều khiển
được biểu diễn bởi tập hợp k từ mã cơ sở tạo thành một ma trận gọi là ma trận sinh

g1 � �
� g11 g12 L g1n �

g � �
g g 22 L g2n �
G = �2 �= �21 �

M � �M M M�
� � � �
gk � �
� g k1 g k 2 L g kn �

Điều kiện cần và đủ để một tổ hợp mã w là từ mã là:

$a1 , a2 ...ak : w = a1 g1 + a2 g 2 + ... + ak g k

111
II. Mã hóa, giải mã và phát hiện lỗi
Xét x m1 , x m2 , �, x mk là k bit thông tin được mã hoá thành một từ mã Cm . Véc tơ k
bit thông tin đưa vào bộ mã hoá được kí hiệu là:

Xm = [ x m1x m2 � x mk ]
và đầu ra của bộ mã hoá vectơ:

Cm = [ c m1c m2 �cmn ]
Quá trình mã hóa trong một bộ mã hóa khối tuyến tính có thể được biểu diễn bằng n
phương trình:

Cmj = x m1g1j + x m2 g 2j + � + x mk g kj , j = 1, 2, �, n

với g ij �{0,1} . Các phương trình (10-1-2) được biểu diễn dưới dạng ma trận như
sau:

Cm = X m G

Để giảm bớt khối lượng tính toán, ma trận sinh thường được chuyển về dạn chuẩn
tắc (dạng hệ thống) như sau:

1
� 0 0 L 0 p11 p12 L p1n- k �

0 1 0 L 0 p21 p22 L p2 n - k �
G = [ Ik P] = � �

M M M M M M M �
� �
0
� 0 0 L 1 pk1 pk 2 L pkn - k �

Theo công thức mã hóa Cm = x m1g1 + x m2 g 2 + � + x mk g k , từ mã sẽ có dạng

xm1 xm 2 ...xmk ck +1 ..., cn với k bít thông tin ở vị trí đầu tiên và n-k bít điều khiển ở vị trí tận
cùng bên phải. Các bít điều khiển được tính từ tổ hợp tuyến tính của các bít thông
tin. Như vậy quá trình mã hóa là quá trình điền các bít thông tin, tính toán và điền
các bít điều khiển. Việc giải mã đơn thuần chỉ là việc trích xuất các vị trí bít thông tin
ra thành các thông tin ban đầu. Với ma trận sinh dạng chuẩn tắc, các bít thông tin
nằm ở các vị trí đầu tiên. Với các ma trận sinh dạng khác, vị trí các bít thông tin nằm
rải rác trong cả từ mã. Các cột tương ứng với các bít thông tin của ma trận sinh tạo
thành một ma trận đơn vị.

III. Quá trình phát hiện lỗi


Theo nguyên tắc phát hiện và sửa lỗi đã trình bày ở mục trên, để phát hiện lỗi cần
phát hiện tổ hợp mã hợp lệ đã nhận được có phải là từ mã hay không. Như vậy, cho
biết một tổ hợp mã có chiều dài n, cần xác định xem tổ hợp mã này có phải là từ mã
hay không. Cần xác định xem có tồn tại các hệ số ai , i = 1�k , sao cho

112
k
w = �ai gi
1

Bài toán phát hiện lỗi chuyển về giải hệ n phương trình tọa độ với k ẩn. Nếu bài toán
có nghiệm, tổ hợp mã nhận được là từ mã, quá trình truyền tin được coi là không có
lỗi. Nếu không, quá trình truyền tin có lỗi.

Việc giải hệ phương trình bậc nhất là phức tạp. Có thể thực hiện cải tiến theo 2
cách. Cách thứ nhất là tính lại từ mã dựa trên các bít thông tin và so sánh với từ mã
nhận được. Cách thứ hai dựa vào tính chất của không gian bù. Từ mã w nằm trong
không gian của mã hiệu, do đó nó phải vuông góc với tất cả các tổ hợp mã nằm
trong không gian bù. Không gian của mã hiệu có k chiều, vậy không gian bù có n-k
chiều. Gọi n-k véc tơ cơ sở của không gian bù là h1 , h2 ,�hn - k . Một tổ hợp mã là từ
mã khi và chỉ khi:

hi w = 0, "1 �i �n - k

Có thể viết lại các đẳng thức

w.H t = 0

h1
h2
Trong đó H =
T
được gọi là ma trận thử của mã hiệu.
...
hn-k

Cách xác định ma trận thử từ ma trận sinh Một mã hiệu tuyến tính có thể có nhiều
ma trận thử và ma trận sinh. Ứng với một ma trận sinh có thể có nhiều ma trận thử.
Vì vậy bài toán đặt ra là tìm một ma trận thử. Nếu trong ma trận sinh, các bít thông
tin ứng với một ma trận đơn vị thì trong ma trận thử, các bít điều khiển có thể coi là
các bít bù của các bít thông tin, do đó cũng tương ứng với một ma trận đơn vị. Như
vậy đã có (n - k )(n - k ) các giá trị của ma trận thử. Điều kiện để một ma trận là ma
trận thử của một mã hiệu là các hàng của ma trận thử và các hàng của ma trận sinh
có tích bằng 0. Do đó có thêm k (n - k ) phương trình nữa, đủ để xác định k (n - k ) bít
còn lại của ma trận thử.

Trường hợp ma trận sinh có dwạng chuẩn tắc Ma trận thử sẽ có dạng chuẩn tắc
tương tự. Điểm khác biệt là ma trận đơn vị sẽ nằm tận cùng bên phải của ma trận
thử.

H = P ' I n-k

Có thể chứng minh P ' = PT .

113
Như vậy quá trình phát hiện lỗi được thực hiện dựa trên ma trận thử H. Nếu
wH T = 0 quá trình truyền tin xảy ra không có lỗi. Nếu wH T �0 quá trình truyền tin
xảy ra đã có lỗi.

IV. Quá trình sửa lỗi


Quá trình sửa lỗi là quá trình tái tạo lại từ mã đã bị biến đổi sau quá trình truyền tin.
Giả sử từ mã w sau khi được truyền qua kênh đã biến thành từ mã w * . Tại bộ phận
thu tin, với w * , ma trận sinh, ma trận thử cần xác định từ mã ban đầu.

Việc phát hiện quá trình truyền tin có lỗi hay không được thực hiện bằng cách tính
giá trị của vecto
u
r
S = w *.H T

Để đơn giản hóa bài toán, thay vì việc xác định w từ các tổ hợp w * , chúng ta xác
định các thay đổi trên w để tạo ra w *

w*=w + e

Trong đó e được gọi là cấu hình lỗi. Bài toán xác định w chuyển về bài toán xác
định e .

Nhận thấy
u
r
e.H T = (w * - w) H T = w * H T + wH T = S

Việc xác định e trở thành việc giải phương trình . Đây là một phương trình véc tơ
với n - k tọa độ, có n ẩn, vì vậy khả năng có vô số nghiệm là rất lớn. Nói cách khác,
bài toán sửa tất cả các lỗi là không thực hiện được. Trong thực tế, hiếm có lỗi nào
xảy ra mà thay đổi tất cả các bít của từ mã. Như vậy có thể hạn chế các loại cấu
hình lỗi có thể xảy ra. Nếu số lượng các cấu hình lỗi có thể xảy ra nhỏ hơn số các
giá trị của S , khi đó phương trình sẽ có tối đa một nghiệm. Trong trường hợp này,
bài toán sửa lỗi sẽ được thực hiện như sau:

- Liệt kê tất cả các cấu hình lỗi có thể

- Tính các syndrom cho các cấu hình lỗi. Nếu có 2 syndrom bằng nhau, bài
toán sửa lỗi không giải được

- Nếu không, khi nhận được một tổ hợp mã w * , tính S = w * H T

- Tìm dòng có S trong bảng vừa lập. Xác định e tương ứng

- Từ mã ban đầu là w * +e

Ví dụ về mã hiệu tuyến tính và sửa lỗi cho mã hiệu tuyến tinh được trình bày trong
hình MÃ HÓA KÊNH-21

114
MÃ HÓA KÊNH-21: Ví dụ về mã hiệu tuyến tính (5,2)

V. Thiết kế mã chống nhiễu


Số lượng syndrom tối đa có thể có là 2n-k . Số cấu hình lỗi có thể có i lỗi là Cni . Vậy
điều kiện để mã hiệu có thể sửa các cấu hình lỗi có tối đã r lỗi là:
r

�C
0
i
n �2n-k

Trường hợp chỉ có một lỗi, biểu thức trở thành

1 + n �2n-k

Ngoài ra, các syndrom chính là tổ hợp của các cột của ma trận thử. Trường hợp có
tối đa r lỗi, các syndrom sẽ là tổ hợp của tối đa r cột.

Bài toán: xây dựng mã hiệu tuyến tính sửa tối đa r lỗi với các từ mã chiều dài n.

- Xác định số bit điều khiển và số bít thông tin dựa vào các công thức và .

- Xây dựng ma trận thử. Điều kiện của ma trận thử là không có r cột nào phụ
thuộc tuyến tính.

- Xây dựng ma trận sinh từ ma trận thử.

115
Trong quá trình xây dựng mã hiệu, bước thiết lập ma trận thử là phức tạp nhất. Nếu
r = 1 , ma trận thử có thể được xây dựng bằng cách lấy một ma trận đơn vị tận cùng
bên phải. Các cột còn lại được xác định theo nguyên tắc: không có cột toàn 0 và
không có 2 cột nào bằng nhau. Nếu r > 1 , cần đảm bảo không có cột 0 và không có
2r cột nào có tổng bằng 0.

Ví dụ: Xây dựng mã hiệu chiều dài 6, sửa 1 lỗi

Có 2n-k �6 + 1 = 7 . Vì thế mã hiệu là mã (6,3). Ma trận thử sẽ có dạng

x x
� x 1 0 0�

x x x 0 1 0�
H= � �

x x
� x 0 0 1�

3 cột còn lại không là cột 0, không là cột có 1 ký hiệu 1, vậy chỉ có thể là các cột có
2, 3 ký hiệu 1. Một lựa chọn là

1 1 0 1 0 0�


1 1 1 0 1 0�
H= � �

1
� 0 1 0 0 1 �

Do đó ma trận sinh của mã hiệu sẽ là

1 0 0 1 1 0 �


0 1 0 1 1 1 �
� �

0
� 0 1 1 0 1 �

VI. Một số loại mã tuyến tính thường gặp


Mã Hamming có cả mã Hamming nhị phân và không nhị phân và chúng ta chỉ xét
mã nhị phân. Mã Hamming gồm lớp các bộ mã thỏa mãn điều kiện:

( n, k ) = (2 m
– 1, 2m – 1 – m )
trong đó m là số nguyên dương.

Ma trận kiểm tra parity H có tính chất đặc biệt giúp chúng ta mô tả mã dễ dàng hơn.
Đối với mã Hamming (n,k), n= 2 m – 1 cột gồm tất cả các vectơ có m = n – k phần tử
trừ vectơ 0. Ví dụ như mã (7,4) là mã Hamming. Ma trận kiểm tra parity gồm 7 vectơ
cột là tất cả các véc tơ có độ dài 3 trừ vectơ 0. Nếu ta muốn tạo mã Hamming có
tính hệ thống thì ta có thể dễ dàng sắp xếp để có được ma trận kiểm tra parity H và
từ đó có ma trận sinh G. Ta nhận thấy rằng không có hai cột khác nhau nào của ma
trận H là phụ thuộc tuyến tính. Tuy nhiên với m > 1, ta có thể tìm được 3 cột của H
có tổng bằng 0. Như vậy dmin = 3 đối với mã Hamming.

Bằng cách thêm bit parity, mã Hamming (n,k) có thể mở rộng thành mã (n + 1,k) với
dmin = 4. Mặt khác, mã Hamming có thể thu hẹp lại thành mã (n – l,k – l) bằng cách

116
bỏ đi l hàng trong ma trận sinh G hay bỏ đi l cột trong ma trận kiểm tra parity H.
Phân bố trọng lượng của mã Hamming (n,k) được biểu diễn thành dạng đa thức
như sau:
n
1 � ( n -1) ( n +1)
2 �
A( z ) = �Ai z i = (1
� + z ) n
+ n (1 + z ) 2
(1 - z ) �
i =1 n +1� �

với Ai là số lượng các từ mã có trọng lượng i.

Mã Hadamard:

Mã Hadamard nhận được từ các hàng của ma trận Hadamard. Ma trận Hadamard
Mn là ma trận nn (n chẵn), các phần tử là 0 hoặc 1, một hàng bất kì khác các hàng
1
khác chỉ ở n vị trí. Một hàng của ma trận gồm toàn phần tử 0 còn các hàng khác
2
1 1
gồm n phần tử 0 và n phần tử 1.
2 2

Với n = 2, ma trận Hadamard là:

0 0�

M2 = � �
0 1�

Từ ma trận Mn, ta có thể tạo ra ma trận M2n theo quan hệ:

Mn
� Mn �
M 2n = � �
Mn
� Mn �

với M n là ma trận bù của M n bằng cách thay phần tử 0 bằng phần tử 1 và ngược
lại. Ta có:

0
� 0 0 0�

0 1 0 1�
M4 = � �

0 0 1 1�
� �
0
� 1 1 0�

Ma trận bù của M4 là:

1
� 1 1 1�

1 0 1 0�
M4 = � �

1 1 0 0�
� �
1
� 0 0 1�

117
Từ các hàng của M4 và M 4 ta tạo ra 8 từ mã độ dài 4. Khoảng cách tối thiểu d min =
1 1
n = 2. Ta có thể tạo ra các từ mã n = 2 m, k = log 2 2n = m + 1, d min = n = 2m -1 với m là
2 2
số nguyên dương.

Mã Golay:

Mã Golay là mã tuyến tính nhị phân (23,12) với d min = 7. Mở rộng mã Golay bằng
cách thêm vào bit parity để trở thành mã nhị phân tuyến tính (24,12) và d min = 8.
Bảng MÃ HÓA KÊNH-10 liệt kê sự phân bố về trọng lượng của các từ mã trong mã
Golay (23,12) và (24,12).

Trọng số Mã (23,12) Mã (24,12)

0 1 1

7 253 0

8 506 759

11 1288 0

12 1288 2576

15 506 0

16 253 759

23 1 0

24 0 1

Bảng MÃ HÓA KÊNH-10: Sự phân bố về trọng số của mã Golay.

Bài 15. Mã vòng

I. Khái niệm và biểu diễn


Mã vòng là mã tuyến tính có tính chất vòng. Tính chất vòng được thể hiện trong định
nghĩa sau:

Một mã hiệu được gọi là mã vòng nếu là mã tuyến tính và:

"w = a1a2 ...an là từ mã,

w* = a2 a3 ...an a1 cũng là từ mã.

Các vecto có thể biểu diễn mối quan hệ giữa các bít ở cùng một vị trí của các bít
khác nhau, tuy nhiên không biểu diễn được liên hệ giữa các bít trong cùng một từ

118
mã. Để biểu diễn các từ mã của mã vòng, sử dụng tập hợp các đa thức có bậc n-1.
Khi đó tương ứng với từ mã w chúng ta có:

w( x) = a1 x n-1 + a2 x n -2 + ... + an

Các phép toán trên từ mã được thực hiện trên các đa thức một cách tương tự.
Riêng phép nhân hai từ mã, sau khi chuyển thành phép nhân hai đa thức thì tích thu
được sẽ là một đa thức bậc 2n-2. Để chuyển đa thức này về bậc n-1 cần sử dụng
phép chia module cho một đa thức bậc n. Đa thức đơn giản nhất không suy biến là
đa thức x n + 1 .

w( x)w * ( x) = w( x) �w * ( x) mod( x n + 1)

Các khẳng định sau đây là đúng với một từ mã w bất kỳ:

- xw( x ) là đa thức của một từ mã

xw( x) = x(a1 x n-1 + a2 x n-2 + ... + an ) mod( x n + 1) = a2 x n-1 + a3 x n -2 + ... + a n x + a1


= P(a2 a3 ...an a1 )

- x 2 w( x), x 3 w( x ),.... cũng là đa thức của một từ mã

- Q( x) w( x) là đa thức của một từ mã, Q( x) bất kỳ. Nói cách khác, bội của một
từ mã là một từ mã.

Trong các đa thức biểu diễn các từ mã, chọn G ( x) là đa thức có bậc nhỏ nhất.
Các khẳng định sau đây đúng với G ( x )

- Một từ mã w bất kỳ tương ứng với đa thức là bội của G ( x ) . Lấy


w( x) = G ( x)Q( x) + R( x) . Vì w( x) và G ( x)Q( x) đều là từ mã nên R ( x) là từ mã.
Bậc của R( x) nhỏ hơn bậc của G ( x) . Vậy R ( x) = 0.

- G ( x ) là duy nhất. Nếu G *( x) có tính chất như G ( x) thì G *( x ) = Q( x)G ( x ) . Do


G ( x ) và G *( x ) cùng bậc nên Q( x) = 1

Như vậy đa thức G ( x) có thể dùng để biểu diễn bất cứ một đa thức nào của
các từ mã. Ngược lại, một đa thức từ mã bất kỳ phải là bội của G ( x) . Đa thức
G ( x ) là đa thức sinh của mã hiệu.

- Bậc của G ( x ) là n - k . Điều kiện cần và đủ để w( x) là từ mã là:

$Q ( x ) : w( x) = Q ( x )G ( x)

Tổng cộng có 2k từ mã, do đó cần có 2k đa thức Q( x) . Bậc của Q( x) phải là k - 1 .


Vậy bậc của G ( x ) là n - k .

119
II. Mã hóa và phát hiện lỗi
Các từ mã của mã vòng có dạng w = IC , trong đó I là phần thông tin gồm k bít, còn
C là các bít điều khiển, gồm n - k bít. Cho trước k bít thông tin I, cần xác định n-k bít
điều khiển. Biểu diễn bằng ngôn ngữ đa thức, cần xác định đa thức $I(x)$ sao cho

w( x) | G ( x)

Trong đó

w( x) = I ( x) x k + C ( x)

Từ đó suy ra

$Q( x) : w( x) = Q( x)G ( x)
I ( x) x k + C ( x) = Q( x)G ( x)
I ( x ) x k = Q ( x )G ( x ) + C ( x )

Chú ý là bậc của C(x) là k-1, còn bậc của G(x) là k. Vậy

C ( x) = I ( x) x k mod G ( x)

Công thức là công thức mã hóa của mã vòng. Thực tế, đây là phép chia đa thức nhị
phân không nhớ. Phép chia này có thể biểu diễn dưới dạng nhị phân như sau:

C = I .2k mod G

Quá trình giải mã được thực hiện bằng cách lấy ra k bít đầu tiên. Việc phát hiện lỗi
được thực hiện bằng phép chia modulo w(x) cho G(x).

Theo định nghĩa, mã vòng là mã đều. Tuy nhiên cả 2 công thức và đều không giới
hạn chiều dài của từ mã. Các phép toán đa thức có thể mở rộng cho các đa thức
bậc lớn hơn n-1. Điều này giải thích tại sao trong thực tế mã vòng được sử dụng
dưới dạng mã không đều.

III. Mã vòng trong thực tế


Trong thực tế, mã vòng không bị giới hạn bởi chiều dài từ mã. Vì vậy, các lập luận
về tính chống nhiễu của mã cần được phân tích lại. Khả năng chống nhiễu của mã
vòng sẽ được xem xét trong các trường hợp sau đây: một lỗi đơn, một lỗi kép, một
lỗi chùm.

Khi có một lỗi đơn, tổ hợp mã lỗi và từ mã ban đầu sai khác nhau đúng 1 bít. Biểu
diễn cấu hình lỗi bằng đa thức ta có:

w * ( x ) = w( x ) + x p

Việc có thể phát hiện lỗi hay không phụ thuộc vào việc đa thức w*(x) có chia hết cho
G(x) hay không. Điều này tương đương với việc chọn G(x) sao cho x p không chia

120
hết cho G(x). Có thể thấy ngay G(x) chỉ cần là một đa thức không suy biến, có hệ số
tự do là thỏa mãn điều kiện này. Đa thức đơn giản nhất, không suy biến, có hệ số tự
do là đa thức x + 1 . Trong trường hợp này mã vòng trở thành mã kiểm tra chẵn lẻ.

Khi có một lỗi kép, cấu hình lỗi dược biểu diễn bằng đa thức x p + x q , trong đó p và q
là 2 vị trí lỗi. Bài toán phát hiện lỗi trở thành xác định G(x) để G(x) không là thừa số
của x p + x q với p và q tùy ý. Đã có những đa thức bậc r, không là ước của bất cứ đa
thức nào có dạng x n + 1 với bậc cỡ 2 r .
q

Khi có một lỗi chùm, cấu hình lỗi được biểu diễn bằng đa thức �x
p
j
. Đa thức này có

thể chuyển về dạng x n + 1 . Việc lựa chọn G(x) tương tự như trong trường hợp trên.

IV. Các cơ chế truyền lại


Để thực hiện được yêu cầu truyền tin tin cậy, sau khi phát hiện lỗi cần báo cho thiết
bị gửi tin và gửi lại thông tin đã bị lỗi. Bộ phận gửi tin cần có cơ chế lưu trữ tạm thời
các thông tin đã gửi đi cho đến khi nào nhận được thông báo thông tin đã nhận
được thành công, chính xác.

Để tiết kiệm bộ nhớ đệm lưu trữ tạm thời các từ mã, chỉ có từ mã đang gửi đi được
giữ trong bộ nhớ đệm. Không có từ mã nào khác được gửi đi trong lúc từ mã hiện
tại chưa được nhận thành công. Khi nhận được từ mã thành công, bộ phận nhận sẽ
gửi lại cho bộ phận gửi một thông báo đã nhận được thành công từ mã (báo nhận).
Sau một khoảng thời gian (timeout) hoặc khi nhận được thông báo từ mã đã bị lỗi,
bộ phận gửi sẽ gửi lại từ mã. Cơ chế truyền lại này được gọi là cơ chế dừng và chờ.
Ưu điểm của cơ chế này là đơn giản, không cần thêm nhiều logic phức tạp và bộ
nhớ. Tuy nhiên, trong suốt khoảng thời gian chờ báo nhận, bộ phận gửi tin không
hoạt động và không thể thực hiện thao tác nào khác. Ảnh hưởng của khoảng thời
gian chờ đợi này có thể được giảm nếu tăng kích thước của từ mã. Tuy nhiên, việc
tăng kích thước từ mã dẫn tới xác suất xảy ra lỗi lớn hơn, thời gian chiếm dụng
kênh truyền chung lớn hơn.

Cơ chế dừng và chờ không phân biệt được giữa việc mất một từ mã và mất báo
nhận của từ mã. Trường hợp mất báo nhận có thể dẫn đến tình trạng một từ mã
được gửi và được nhận 2 lần. Vấn đề có thể được giải quyết sử dụng cách đánh số
các từ mã và các báo nhận là 0 và 1 liên tiếp.

Cơ chế cửa số trượt cho phép cùng một lúc có thể gửi đi nhiều từ mã. Bộ phận mã
hóa cần có khả năng lưu trữ các từ mã đang được gửi đi nhưng chưa nhận được để
sẵn sàng gửi lại khi cần. Bộ nhớ đệm có kích thước hữu hạn do đó số lượng các từ
mã có thể gửi đi cùng một lúc là hữu hạn. Sau khi nhận được một từ mã, một ô nhớ
sẽ được giải phóng và một từ mã khác có thể được gửi đi. Hình thành một ‘ô cửa sổ’
trượt trên trục biểu diễn các từ mã sẽ được chuyển đi. Đây là lý do tại sao phương
pháp này được gọi là cửa sổ trượt.

121
Để giảm bớt số lượng các thông báo báo nhận có kích thước nhỏ, hiệu quả thấp,
các báo nhận thường được ghép vào các khối dữ liệu trong các liên kết dữ liệu 2
chiều. Mỗi từ mã sẽ gồm 2 số TT, số TT của từ mã gửi đi S và số TT của từ mã đang
chờ nhận R. R báo hiệu là thiết bị đã nhận tốt các từ mã có số TT đến R-1 và đang
chờ nhận từ mã số TT R.

Cơ chế cửa sổ trượt được sử dụng rộng rãi trong việc kiểm soát lỗi, kiểm soát luồng
dữ liệu cả ở các giao thức tầng liên kết dữ liệu và tầng 4, tầng giao vận

Bài 16. Mã chập

I. Khái niệm mã chập


Mã chập được tạo ra bằng cách cho dãy thông tin qua một thanh ghi dịch tuyến tính
có hữu hạn trạng thái. Bộ phận mã hóa có khả năng nhớ lại các ký hiệu đã truyền đi,
tạo ra một ràng buộc giữa các ký hiệu nguồn đã truyền đi trong các ký hiệu mã. Dựa
trên sự ràng buộc này, tại bộ phận giải mã, quá trình phát hiện lỗi và giải mã sẽ
được thực hiện. Ưu điểm của phương pháp này so với các loại mã đã xem xét là
tính mềm dẻo và hiệu suất mã. Do việc giải mã, phát hiện lỗi và sửa lỗi được thực
hiện dựa trên các ký hiệu mã có ràng buộc với nhau, do đó trong trường hợp kênh
truyền tin có độ tin cậy cao, có thể sử dụng mã chống nhiễu với hiệu suất xấp xỉ 1.
Trường hợp kênh có độ tin cậy thay đổi, mã chập cho phép thực hiện mã hóa với
hiệu suất mã và khả năng chống nhiễu khác nhau, phù hợp với kênh truyền tin.

Tổng quát, thanh ghi dịch gồm có Kk nhịp mỗi nhịp gồm có k bit và n bộ tạo hàm đại
số tuyến tính. Giả sử số liệu là nhị phân đi vào bộ mã hoá, theo từng nhịp, mỗi nhịp
k bit. Đầu ra tương ứng với k bit đầu vào gồm n bit. Như vậy tốc độ mã là Rc=k/n
và tham số K gọi là độ dài ràng buộc của mã chập.

Kk nhÞp

1 2 …. k 1 2 …. k 1 2
1 …. k
K bit
th«ng tin

+ + + +

1 2 3 a

Tí i bé ®
iÒu chÕ


nh 10.2.1. Bé m· ho¸ chËp

122
Một phương pháp để mô tả mã hoá hoá chập là dùng ma trận sinh. Tổng quát, ma
trận sinh của mã chập là vô hạn một phía do dãy thông tin đầu vào cũng là vô hạn
một phía. Một phương pháp khác nữa là ta có thể sử dụng n vector, mỗi vectơ
tương ứng với một bộ cộng modulo 2. Mỗi vectơ có Kk chiều và vị trí thứ i là 1 nếu vị
trí tương ứng trong thanh ghi dịch nối với bộ cộng modulo 2 và là 0 nếu như không
nối với bộ cộng.

Ví dụ

Xét bộ mã hoá chập với K =3, k=1, n=3 như trên hình 10-2-2. Khởi đầu, số liệu trong
thanh ghi dịch toàn là bit 0. Giả sử bit đầu tiên là bít 1và 3 bit ra là bit 111. Bit thứ 2
vào là 0 thì 3 bit ra là 001. Nếu bit thứ 3 là 1 thì 3 bit đầu ra sẽ là 100... Giả sử ta
đánh số các bộ tạo hàmtạo ra 3 bit đầu ra là 1, 2, 3 và các và các bit đầu ra cũng
như thế thì các bộ tạo hàm theo thứ tự là g1 = [100], g2 = [101], g3 = [111]. Các bộ
tạo hàm cho mã này có thể biểu diễn ở dạng cơ số 8 là (4, 5,7).

MÃ HÓA KÊNH-22: Ví dụ về mã chập

Xét mã chập tốc độ 2/3 như trên hình MÃ HÓA KÊNH-22: Ví dụ về mã chập. Đối với
mã này, từng cặp 2 bit được đưa vào 2 thanh ghi dịch trong mỗi nhịp. Các bộ tạo
hàm là g1=[1011], g2=[1101], g3=[1010].Có ba phương pháp thường dùng để biểu
diễn mã chập, đó là cấu trúc cây của mã .

123
MÃ HÓA KÊNH-23: Cấu trúc cây của mã

MÃ HÓA KÊNH-24: Cấu trúc và lược đồ của mã chập

124
Do đầu ra của bộ mã hoá được xác định bởi đầu vào và các trạng thái của thanh ghi
dịch nên ta thu dược lưu đồ trạng thái. Tương ứng với ví dụ trên là lưu đồ trạng thái
trong hình 10-2-6.

Ví dụ

Xét mã chập k = 2, n = 3, K = 2, có cấu trúc cây trong và sơ đồ lưới trong hình MÃ


HÓA KÊNH-24: Cấu trúc và lược đồ của mã chập. Do độ dài ràng buộc K = 2, ta
thấy rằng cấu trúc cây lặp lại sau hai nhịp.

Tổng quát hoá, mã chập có độ dài ràng buộc K, tốc độ k/n được đặc trưng bởi 2k
nhánh xuất phát từ một nút trong cấu trúc cây và 2k ( K -1) trạng thái trong lưu đồ trạng
thái. Ba phương pháp biểu diễn nói trên có thể dùng cho mã chập không nhị phân.
Khi một ký hiệu nhận một trong q = 2k gia trị có thể thì mã không nhị phân có thể
được biểu diễn bằng mã nhị phân tương đương.

Ví dụ

Xét mã chập tạo ra bởi bộ mã hoá như hình Hình MÃ HÓA KÊNH-31:Bộ mã hoá tạo
ra mã kép tốc độ 1/2, các tham số mã là K = 2, k = 2, n = 4, Rc=1/2 và các hàm tạo
mã là g1 = [1010] , g 2 = [0101] , g3 = [1110] , g 4 = [1001] . Trừ sự khác nhau về tốc độ, mã
này tương tự như mã trong ví dụ trên.

125
Hình MÃ HÓA KÊNH-25: Sơ đồ lưới của mã chập

Bộ mã tạo ra trong ví dụ này có thể được biểu diễn bằng mã không nhị phân một ký
hiệu vào bốn mức và hai ký hiệu ra bốn mức.

II. Hàm truyền của mã chập


Các tính chất về khoảng cách và tốc độ sai của mã chập có thể thu được từ lưu đồ
trạng thái. Do mã chập là tuyến tính nên tập hợp các khoảng cách từ các dãy mã
tạo ra tới dãy mã toàn ký hiệu 0 giống như tập hợp các khoảng cách tới một dãy mã
bất kỳ khác. Do đó, hoàn toàn không mất tính tổng quát, ta giả thiết đầu vào của bộ
mã hoá là dãy mã toàn ký hiệu 0.

Ta sử dụng lưu đồ trạng thái để mô tả phương pháp để nhận dược các tính chất về
khởng cách của mã chập. Đầu tiên ta ký hiệu các nhánh của lưu đồ trạng thái là
D0 = 1 , D1 , D 2 , D 3 với số mũ của D là khoảng cách Hamming của dãy tạo ra tới đây
tạo ra bởi dãy vào toàn ký hiệu 0. Vòng lặp tại nút a có thể bỏ qua và nút a ccược
chia làm hai, một nút thể hiện đầu vào và một nút thể hiện đầu ra của lưu đồ trạng
thái. Các phương trình trạng thái là:

126
X c = D3 X a + DX b
X b = DX c + DX d
X d = D2 X c + D2 X d
X e = D2 X b

Hàm truyền của mã được định nghĩa là T ( D) = X e / X a ta có :

D6 �
T ( D) =
1 - 2D2
= D 6
+ 2 D 8
+ 4 D10
+ 8 D12
+ ... = �
d =6
ad D d

�2( d -6) / 2 even d


ad = �
� 0 odd d

Hình MÃ HÓA KÊNH-26: Lưu đồ trạng thái của mã chập

127
Hình MÃ HÓA KÊNH-27: Bộ mã hóa chập (2,2,4)

Hàm truyền đạt của mã này chỉ ra rằng có một dường với khỏng cách Hamming là 6
tới đường toàn 0 và nhập lại vào đường toàn 0 ở một nút nào đó. Trong lưu đồ trạng
thái và sơ đồ lưới trong hình 10-2-6 và 10-2-5 ta thấy đưòng đó là acbe . Không còn
có đường nào khác có khoảng cách Hamming là 8. Khoảng cách tối thiểu của mã
dược gọi là khoảng cách tự do ngắn nhất và ký hiệu là d free . Trong ví dụ vừa xét,
d free = 6 .

Chúng ta thêm hệ số N vào mọi nhánh tạo ra bởi ký hiệu 1 và như vậy khi đi qua
những nhánh này, số mũ của N tăng lên 1 đơn vị. Chúng ta thêm hệ số J vào mọi
nhánh trong lưu đồ trạng thái và như thế thì số mũ của J sẽ chỉ ra số nhánh đi qua
từ nút a tới nút e.

128
JND2

d
JND2 JD

a c b 2 c
JND2 D D


nh 10.2.12. L u ®
å tr¹ng th¸i cho m· chËpK =3,1/3

X c = JND3 X a + JNDX b
X b = JDX c + JDX d
X d = JND 2 X c + JND 2 X d
X e = JD 2 X b

J 3 ND 6
T ( D, N , J ) = = J 3 ND 6 + J 4 N 2 D 8 + J 5 N 2 D 8 + J 5 N 2 D10 + 2 J 6 N 3 D10 + J 7 N 3 D10 + ...
1 - JND (1 + J )
2

Khi chúng ta truyền rất dài, có thể coi là vô hạn và muốn bỏ qua tham số J thì ta có
thể đặt J = 1.

ND 6
T ( D, N , J ) =
1 - 2 ND 2

= ND + 2 N D + 4 N D + ... = �ad N ( d - 4) / 2 D d
6 2 8 3 10

d =6

Ví dụ : Xét mã chập trong hình 10-2-10 và coi mã là bốn mức thì khoảng cách từ
0111 tới 0000 là 2. Khi ký hiệu vào là 01 được giải mã thành 11 thì đó là sai nhầm 1
ký hiệu. Lưu đồ trạng thái trên hình 10-2-13 và

X b = NJD 2 X a + NJDX b + NJDX c + NJD 2 X d


X c = NJD 2 X a + NJD 2 X b + NJDc + NJDX d
X d = NJD 2 X a + NJDX b + NJD 2 X c + NJDX d
X e = JD 2 ( X b + X c + X a )

Hàm truyền là :

129
3 NJ 2 D 4
T ( D, N , J ) =
1 - 2 NJD - NJD 2

MÃ HÓA KÊNH-28: Lưu đồ trạng thái mã chập với đầu ra nhị phân

Một số loại mã chập khi sử dụng trên kênh BSC thì có một số lượng hữu hạn sai
nhầm sẽ dẫn tới vô hạn lần giải mã sai. Nhưng những loại mã như vậy rất dẽ nhận
ra và không được sử dụng trong thực tế.

III. Giải mã tối ưu mã chập - Thuật toán Viterbi


Giống như với mã khối, bộ mã hoá chập tạo ra các từ mã cố độ dài hữu hạn n về
cơ bản là một hệ có số trạng thái hữu hạnvà do đó bộ giải mã tối ưu là bộ ước
lượng dãy cực đại khả năng (MLSE). Quá trình giải mã tối ưu mã chập là tìm trong
lưới dãy có khả năng lớn nhất. Phụthuộc vào quá trình giải mã là xác định mềm hay
xác định cứng mà ta có tốc độ đo tương quan khác nhau. Chúng ta sử dụng mã
chập trong sơ đồ lưới hình 10-2-5 để mô tả thuật toán.

Xét hai đường trong lưới bắt đầu từ trạng thái a nhập lại trạng thái a sau 3 chuyển
đổi, tương ứng với dãy thông tin là 000 và 100, các dãy truyền đi tương ứng là 000,
000, 000 và 111, 001, 011. Ta kí hiệu các bit truyền đi là { c jm , j = 1, 2,3; m = 1, 2,3 } với j
là nhánh thứ j và m là bit thứ mtrong nhánh. Ta cũng ký hiệu { rjm , j = 1, 2, 3; m = 1, 2, 3 }
là đầu ra của bộ giải điều chế. Nếu bộ xác định thực hiện xác định cứng thìi đầu ra
của mỗi bit là 1 hoặc 0, và nếu việc xác định là mềm và tín hiệu truyền đi là PSK
xác định liên kết thì đầu ra của bộ xác định mềm là

130
rjm = x c (2c jm - 1) + n jm )

rjm biểu diễn trắng và x c là năng lượng của mỗi bit truyền đi. Độ đo dược định nghĩa
cho nhánh thứ j trong đường thứ i là

m (ji ) = log P(Y j | C (ji ) ), j = 1, 2, 3....

Như vậy độ đo cho đường thứ i gồm có B nhánh là


B
PM (i ) = �m (ji )
j =1

Nguyên tắc lựa chọn giữa hai dường là chọn đường có độ dài lớn hơn. Nguyên tắc
này cực đại hoá xác xuất xác định đúng hay cực tiểu hoá xác suất xác định sai. Ví
dụ với giải mã xác định cứng với dãy nhận được là {101000100}. Ta ký hiệu i = 0 là
nhánh toàn ký hiệu 0 và i = 1 là nhánh xuất phát từ trạng thái a và trở về trạng thái a
sau ba chuyển đổi. Độ đo tương ứng với hai đường này là

PM (0) = 6 log(1 - p ) + 3log p


PM (1) = 4 log(1 - p ) + 5 log p

Giả sử p < 1/ 2 thì ta thấy PM (0) > PM (1) . Khoảng cách từ đường dẫn toàn 0 tới dãy
nhận được là d = 3 còn từ đường kia tới dãy nhận được là d = 5. Như vậy khoảng
cách Hamming là độ đo tương ứng với giải mã xác định cứng.

Giả sử giải mã xác định mềm được thực hiện và kênh có nhiễu cộng Gaussian thì
đầu ra của bộ giải điều chế được mô tả thống kê bởi

1 [rjm - V c (2c (jmi ) - 1)]


p (rjm | c ) =
(i )
jm exp{- }
2p 2 2

1
 = N 0 là sai phương của nhiễu trắngvà từ đó độ đo của nhánh thứ j trong đường
2
thứ i được biểu diễn là
n
m (ji ) = �rjm (2c(jmi ) - 1)
m =1

và trong ví dụ của ta thì độ đo tương ứng với hai đường là

CM (0) = �j =1 �m =1 rjm (2c (0)


3 3
jm - 1)

CM (1) = �j =1 �m =1 rjm (2c (1)


3 3
jm - 1)

Bây giờ ta xét thuật toán Viterbi. Ta chú ý rằng nếu CM (0) > CM (1) thì mọi nhánh tiếp
theo xuất phát từ trạng thái a đều được cộng thêm lượng không đổi là CM (0) hoặc

131
CM (1) . Do đó đường ứng với CM (1) có thể bỏ đi và ta có đường còn lại. Tương tự ,
một trong hai đường còn lại ở nút b,c,d có thể bỏ qua. Thủ tục này được lặp lại ở
mỗi nhịp.

Tổng quát, với mã chập nhị phân k = 1 thì ta có 2 K -1 đường còn lại ở mỗi nhịp và
2 K -1 độ đo. Hơn nữa, với mã chập nhị phân với k bit được đưa vào thanh ghi dịch
trong một nhịp thì sơ đồ lưới sẽ có 2k ( K -1) trạng thái. Như vậy bộ giải mã cần giữ
2k ( K -1) đường còn lại và 2k ( K -1) độ đo và ở mỗi nhịp có 2 K đường tới nút. Do đó số
lượng phép tính cần thực hiện tăng theo hàm mũ của k và K. Độ trễ giải mã và dung
lượng bộ nhớ của bộ giả mã sử dụng theo thuật toá này thường rất lớn trong đa số
các ứng dụng thực tế. Tuy nhiên ta có thể sửa đổi thuật toán này như trong phần 7-
1-4 là độ trễ ở bit mới nhất thoả mãn điều kiện  �5K sẽ cho ta kết quả tương đối
đúng và chấp nhận được.

IV. Xác suất lỗi của giải mã xác định mềm


Để biểu diễn xác suất xác định sai của mã chập, ta sử dụng tính chất tuyến tính đêr
việc biểu diễn được đơn giản. Giả thiết dãy toàn ký hiệu 0được truyền đi và ta xác
định xác suất xác định sai dãy này. Giả thiết ta sử dụng tín hiệu PSK (hoặc bốn
mức) và quá trình xác định là liên kết. Độ đo tương quan ứng với mỗi đường là
B B n
CM (i ) = �m (ji ) = ��rjm (2c (jmi ) - 1)
j =1 j =1 m =1

B là số nhánh trong đường. Ví dụ với đường toàn ký hiệu 0 ký hiệu là i = 0 có độ đo



B n B n
CM (0) = ��( - V c + n jm )(-1) = V c Bn + ��n jm
j =1 m -1 j =1 m =1

Chú ý rằng mã chập có thể có độ dài vô hạn và ta định nghĩa xác suất sai của sự
kiện thứ nhất là xác suất để một đường khác nhập lại với đường dẫn toàn ký hiệu 0
ở nút B có độ đo lớn hơn độ đo của đường toàn ký hiệu 0. Giả đường ký hiệu i = 1
có khoảng cách tới đường toàn ký hiệu 0 là d, có nghĩa là d có ký hiệu 1 trong
đường i = 1, có khoảng cách tới đường toàn ký hiệu 0 là d, có nghĩa là có d ký hiệu
1 trong đường i = 1, còn các ký hiệu khác là 0.
B n
�0) = P[2��rjm (c jm - c jm ) �0]
(1) (0)
P2 (d ) = P(CM (1)
�CM (0)
= P (CM (1)
- CM (0)

j =1 m =1

Do các mã bit trong hai đường là giống nhau trừ d vị trí nên (10-2-18) có thể đơn
giản thành:
d
P2 (d ) = P (�rl ' �0)
l =1

'
với { rl } biểu diễn độ dài bộ giải mã với d bit này.

132
'
Do { rl } là các biến ngẫu nhiên gaussian độc lập thống kê có phân bố thống kê giống
1
nhau, giá trị trung bình - V c và sai phương N 0 , như vậy xác suất lỗi để hai đường
2
khác nhau d bit là

2V c
P2 (d ) = Q ( d ) = Q ( 2g b Rc d )
N0

ở đây g b = V b / N 0 là SNR từng bit nhận được và Rc là tốc độ mã.

Chúng ta đã tính xác suất sai của sự kiện thứ nhấtcủa một đường có khỏng cách là
d so với đường toàn 0 và nhập lại với đường toàn 0 tại một nút B nào đó. Ta có thể
lấy tổng của (10-2-20) theo tất cả các đường dẫn có thể và thu được giới hạn trên
của xác suất lỗi của sự kiện thứ nhất.
� �
Pe � � ad P2 (d ) � � ad Q( 2g b Rc d )
d = d free d = d free

Có hai lý do để (10-2-21) là giới hạn trên của xác suất lỗi của sự kiện thứ nhất. Đầu
tiên ta thấy các sự kiện cho xác suất sai { P2 ( d ) } là không đồng thời. Điều này ta có
thể thấy được trên lưới. Thứ hai, tổng được lấy theo mọi khả năng d �d free với giả
thiết mã chập có độ dài vô hạn. Nếu bộ mã được cất tuần hoàn sau B nút thì ta có
thể lấy tổng theo d �d free �B .

Giới hạn trên trong công thức trên có thể biểu diễn theo cách khác nếu ta chú ý đến

Q ( )
2g b Rc d �e -g b Rc d = D d |D =e- g bRc

Pe < T ( D) |D =e- g bRc

Ta xét xác suất sai bit. Giả sử đường sai được lựa chọn và các bit thông tin trong
đường này bị sai sẽ khác với các bit thông tin tương ứng trong đường dẫn đúng. Số
mũ của N trong hàm truyền T(D,N) chỉ ra số bit thông tin bị lỗi trong đường sai. Nếu
ta nhân P2 (d ) với số bit thông tin bị giải mã sai và lấy tổng theo d. Hệ số nhân tương
ứng với số bit thông tin bị sai với mỗi đường bị lựa chónai là đạo hàm của T(D,N)
theo N.

P ( D, N ) = �a D
d = d free
d
d
N f (d )

Lấy đạo hàm của T(D, N) theo N và cho N = 1 ta nhận được

133
� �
dT ( D, N )
|N =1 = � ad f (d ) D d = � b d D d
dN d = d free d = d free

Như vậy khi k = 1 thì xác suất sai bit bị giới hạn trên bởi

�b Q ( )
� �
Pb < � b d P2 (d ) =
d = d free d = d free
d 2g b Rc d

Nếu ta sử dụng giới hạn của hàm Q trong công thức (10-2-22) thì

dT ( D, N )
Pb < �b
d = d free
d D d |D =e- g bRc =
dN
|N =1, D =e- g bRc

khi k > 1 thì xác suất sai tương đương nhận được bằng cách chia (10-2-26) và (10-
2-27) cho k

Việc tính toán các xác suất lỗi ở trên được thực hiện với giả thiết là các bit trong từ
mã được truyền đi bằng tín hiệu PSK nhị phân xác định liên kết.. Kết quả cũng đúng
khi tín hiệu khi tín hiệu là QPSK xác định liên kết. Khi ta sử dụng các kỹ thuật điều
chế và giải điều chế khác thì chỉ ảnh hưởng tới việc tính P2 (d ) chứ không ảnh
hưởng tới quá trình tính Pb . Khi các ký hiệu là k biit thì xác suất sai bit tương đương
được nhân thêm với hệ số 2 / ( 2 - 1) như đã nói trong chương 7.
k -1 k

V. Xác suất lỗi của giải mã xác định cứng


Ta xét hiệu quả của thuật toán Viterbi trên kênh BSC. Trong trường hợp giải mã xác
định cứng, các độ đo là các khoảng cách Hamming giữa dãy nhận được và 2k ( K -1)
dãy còn lại tại mỗi nút trên lưới.

Cũng như phần trên, ta bắt đầu bằng cách xác định xác suất lỗi của sự kiện thứ
nhất. Giả sử đường toàn 0 là đường được truyền đi. Đường dẫn được so sánh với
đường toàn 0 tại một nút B nào đó có khoảng cách d so với đường toàn 0. Nếu d lẻ
1
thì đường sẽ được chọn nếu số sai trong dãy nhận được nhỏ hơn (d + 1) . Xác suất
2
lựa chonj đường sai là
d
��
d
P2 (d ) = �
d = ( d +1) / 2
��
��
k
p k (1 - p) d - k

1 1
d . Nếu số sai bằng d thì
Nếu d chẵn thì giải mã sẽ bị sai khi số bit sai vượt quá
2 2
sự lựa chọn sẽ là ngẫu nhiên nên xác suất sai khi đó là một nửa. Như vậy trong
trường hợp d chẵn thì

134
d
1 �d �
� ��
d
P2 (d ) = ��p
k
(1 - p )d - k + � �p d / 2 (1 - p ) d / 2
��
k = d / 2 +1
k 2 �1 d �
�2 �

Do có nhiều đường với khởng cách khác nhau nhập với đường toàn 0 tại một nút
nào đó nên giới hạn trên của xác suất lỗi sẽ là

Pe < � a P (d )
d = d free
d 2

Chúng ta cũng có thể sử dụng giới hạn

P2 (d ) < [ 4 p(1 - p) ]
d /2

ta sẽ nhận được giới hạn kém chặt hơn

� d /2

Pe < � a [ 4 p(1 - p)]


d = d free
d = T ( D) |D = 4 p (1- p )

Bây giờ ta xác định xác suất sai bit. Ta sử dụng số mũ của N trong hàm truyền T(D,
N). Lấy đạo hàm của hàm này theo N và đặt N = 1 và chúng ta có :

Pb < �b
d = d free
d P2 (d )

Sử dụng giới hạn kèm chặt của P2 (d ) ta sẽ thu được

dT ( D, N )
Pb < |N =1, D = 4 p (1- p )
dN

So sánh xác suất sai của việc giải mã mã chập 1/3, K = 3 của hai phương pháp trên
Hình MÃ HÓA KÊNH-29: so sánh giải mã cứng và giải mã mềm đối với mã chập 1/3,
K = 3.

135
10 -1

2 G.h.Ghernof
10 -2
(8-2-34)
5

G.h. trªn
2 (8-2-3--3)
X¸c xuÊt sai bÝt Pb

10 -3 Ví i (8-2-29)
Vµ (8-2-28)
5

2
G.h.trªn
10 -4 (8-2-20)
5

2
G.m.x.®mÒm
G.m.x.®
. Cøng
10 -5

10 -6
0 2 4 6 8 10 12 14

SNR tõng bit Y b (JB)

Hình MÃ HÓA KÊNH-29: so sánh giải mã cứng và giải mã mềm đối với mã chập 1/3, K = 3

Cuối cùng, tốc độ sai trung bình theo tập hợp của mã chập trên kênh rời rạc không
nhớ được biểu diễn theo tốc độ giới hạn R0
_
(q - 1)q - kR0 / Rc
Pb < 2
, Rc �R0
1- q ( 0 c) c �
- R -R /R

� �

VI. Các tính chất về khoảng cách của mã chập


Trong phần này ta ghi ra một số giá trị về khoảng cách tối thiểu, các hàm sinh của
một số mã chập nhị phân có độ dài hữu hạn với một số giá trị về tốc độ mã. Các mã
nhị phân này là tối ưu theo nghĩa với một tốc độ và độ dài xác định, chúng có dfree
lớn nhất. Ta có giới hạn trên đơn giản của khoảng cách tự do tối thiểu của mã chập
1/n là

�2l -1 �
min �l ( K + l - 1) n �
l�
1
�2 -1 �
dfree �

136
Hình MÃ HÓA KÊNH-30: Mã tỗc độ k/7 có khoảng cách tự do lớn nhất

Tốc độ K Hàm sinh dfree Giới hạn trên


của dfree
3/4 2 13 25 61 47 4
3/8 2 15 42 23 61 8
51 36 75 47
Bảng 10-2-11:Mã tỗc độ 3/4 và 3/8 có khoảng cách tự do lớn nhất

VII. Mã kép k không nhị phân và mã ghép .


Các vấn đề về mã chập chúng ta xem xét tới nay chủ yếu tập trung vào mã nhị
phân sử dụng trên kênh có khả năng sử dụng tín hiệu SPK nhị phân hoặc QPSK xác
định liên kết. Tuy nhiên trong thực tế có những ứng dụng trong đó không thể hay
không tiện sử dụng các loại tín hiệu này. Trong nhữnng trường hợp đó ta sử dụng
các kỹ thuật điều chế khác như FSK M mức và giải điều chế không liên kết.

Trong phần này ta trình bày một lớp mã không nhị phân gọi là mã kép k (dual k-
codes). Loại mã này có thể giải mã tương đối dễ bằng thuật toán Viterbi với giải mã
xác định mềm hoặc cứng. Loại mã này cũng thích hợp sử dụng làm mã trong và mã
ngoài trong mã ghép.

Bộ mã hoá chập tạo ra mã kép k tốc độ 1/2 được trình bày trên hình 10-2-16. Nó
gồm có hai thanh ghi dịch k bit (K=2) và n=2k hàm sinh. Đầu ra của bộ mã hoá là hai
ký hiệu k bit. Chú ý rằng mã trong ví dụ Hình MÃ HÓA KÊNH-31:Bộ mã hoá tạo ra
mã kép tốc độ 1/2là mã chập kép 2.

137
... Hình MÃ HÓA KÊNH-31:Bộ mã hoá tạo ra mã kép tốc độ 1/2

2k hàm sinh của mã chập kép được cho dưới dạng

�g1 � �1 0 0 L 0 1 0 0 L 0�
� �
g2 � ��
0 1 0 L 0 0 1 0 L 0�
� = �= [ I k I k ]
�M� � M M M M M M M�
� � � �
�gk � �0 0 0 L 1 0 0 L 1�

1
� 1 0 0 L 0 1 0 0 L 0�
�g k +1 � �
� 0 0 1 0 L 0 0 1 0 L 0�
�gk+2 � �
�= �

0 0 0 1 0 L 0 0 0 1 0 L 0 �=
�M � � �
� � � 0 0 0 L 0 1 �
�g 2k � �
1
� 0 0 L 0 0 0 0 L 0 1��

1
� 1 0 0 L 0 �

0 0 1 0 L 0 �
� �

0 0 0 1 0 L 0 Ik �
� �
0
� 0 0 L 0 1 �

1
� 0 0 L 0 0 �

Dạng tổng quát của hàm truyền của mã kép k tốc độ 1/2 là

(2k - 1) D 4 J 2 N �
T ( D, N , J ) = = �ai D I N f (i ) J h (i )
1 - NJ �
�2 D + (2 - 3) D �
k 2
� i =4

138
trong đó D là khoảng cách Hamming giữa các ký hiệu q mức (q=2k), f(i) là số lượng
ký hiệu thông tin có lỗi do lựa chọn sai đường trong lưới, h(i) là số nhánh trong
đường. Chú ý rằng khoảng cách tự do tối thiểu dfree =4 ký hiệu (4k bit).

Mã kép k tốc độ thấp có thể tạo ra theo nhiều cách khác nhau, cách đơn giản nhất là
lặp lại các ký hiệu tạo ra bởi tốc độ 1/2 r lần , r =1,2,..,m. Nếu ký hiệu trong một
nhánh nào đó được lặp lại r lần thì khoảng cách tương ứng sẽ tăng từ D lên Dr. Như
vậy hàm truyền của mã kép k tốc độ 1/2r là

(2 k - 1) D 4 r J 2 N
T ( D, N , J ) =
1 - NJ �
2 D r + (2k - 3) D 2 r �
� �

Nếu độ dài của dãy thông tin lớn thì tham số độ dài đường J có thể đặt bằng 1. Lấy
đạo hàm của T(D,N) theo N và đặt N = 1 ta có:

dT ( D, N ) (2k - 1) D 4 r �

dN
|N =1 =
2r 2
= � bi Di
1 - 2 D - (2 - 3) D �


r k
� i=4 r

trong đó b i là số ký hiệu sai gắn với đường có khoảng cách Di tới đường toàn 0.Biểu
thức trên được sử dụng để tính xác suất sai của mã kép k trên kênh .

Hiệu quả của mã kép k Giả sử mã kép k được sử dụng cùng với tín hiệu trực giao
M mức và M=2k, kênh có nhiễu cộng trắng Gaussian và bộ giải điều chế gồm có M
bộ lọc phối hợp. Nếu quá trình giải mã là xác địnhcứng thì hiệu quả của bộ mã được
tính bằng xác suất sai ký hiệu PM.Từ PM ta có thể tính được P2(d). Xác suất sai bit
được giới hạn trên bởi

2k -1 �
Pb < �bd P2 (d )
2k - 1 d =4 r

Nếu quá trình giải mã là xác định mềm theo luật bình phương thì xác suất sai bit
cũng được giới hạn trên theo công thức nhưng

1 �1 �d -1 �1 �
P2 (d ) =
2 -1
2d
exp -

�2
g b Rc d �� K i � g b Rc d �
�i = 0 �2 �

1 d -1-i 2 d -1
và K i = � ( l ) , Rc = 1/ 2r .
i ! l =0

Mã ghép Ta xét mã gồm mã khối và mã chập hay hai mã chập với nhau. Như đã
trình bày, mã ngoài thường là mã không nhị phân, mỗi ký hiệu có thể có q=2k giá trị
.Mã này có thể là mã khối (Reed-Solomon) hay mã chập kép k. Mã trong có thể là
nhị phân hay không phải nhị phân và có thể là mã khối hay mã chập. Nếu mã trong
là mã chập có độ dài ngấn thì thuật toán Viterbi cho phép quá trình giải mã có hiệu
quả. Nếu mã trong là mã khối và bộ giải mã tương ứng xác định mềm thì bộ giải

139
mã tương ứng xác định cứng sau khi nhận được từ mã và đưa kết quả tới bộ giải
mã hoá ngoài thì bộ giải mã hoá ngoài phải thực hiện xác định cứng. Xét ví dụ sau :

Ví dụ

Giả thiết ta có mã ghép gốm có mã kép tốc độ 1/2 là mã ngoài và mã Hadamard


(16,5) là mã trong. Mã kép có khoảng cách tự do tối thiểu Dfree = 4 và mã
Hadamard có khoảng cách tối thiểu dmin =8 như vậy mã ghép có khoảng cách tối
thiểu là 32. Do mã Hadamard có 32 từ mã và mã ngoài có 32 ký hiệu, như vậy mỗi
ký hiệu của bộ mã ngoài chuyển thành một từ mã của mã Hadamard. Xác suất
sai ký hiệu của bộ giải mã mã trong được xác định trong và . Giả thiết giải mã ở bộ
giải mã trong là xác định cứng và P32 là xác suất sai từ mã (một ký hiệu ở bộ mã
ngoài ) thì hiệu quả của bộ mã ngoài và vủa mã ghép được tính theo .

7. Thuật toán Fano

Thuật toán Viterbi là thuật toán giải mã tối ưu (thuật toán ML cho toàn bộ dãy) cho
mã chập. Tuy nhiên thuật toán này đòi hỏi phải tính 2kK độ đo tại mỗi nút của lưới và
lưu trữ 2k(K-1) dãy còn lại , mỗi dãy còn lại có độ dài 5kK bit. Độ phức tạp tính toán và
khối lượng thông tin cần lưu trữ làm cho thuật toán không có hiệu quả khi độ dài
ràng buộc lớn.

Thuật toán giải mã dãy Fano tìm đường có nhiều khả năng nhất trong lưới hay cây
bằng cách kiểm tra từng đường, độ đo được tăng lên theo từng nhánh tương ứng
với xác suất của tín hiệu nhận được từ nhánh đó giống như thuật toán Viterbi ngoại
trừ một hằng số âm được thêm vào cho mỗi nhánh. Giá trị của hằng số được chọn
sao cho độ đo tương ứng với nhánh đúng bình quân sẽ tăng còn các nhánh không
đúng sẽ giảm bình quân. Bằng cách so sánh độ đo của các nhánh vơí giá trị
ngưỡng thay đổi liên tục, thuật toán sẽ phát hiện và loại bỏ các đường dẫn không
đúng.

Xét một kênh không nhớ, độ đo của đường thứ i trong cây hay lưới từ nhánh đầu
tiên tới nhánh thứ B được biểu diễn bởi:
B n
CM (i ) = ��m (jmi )
j =1 m =1

với:

p (rjm | c (jmi ) )
m (i )
jm = log 2 -K
p (rjm )

(i )
Trong , rjm là dãy ra của bộ giải điều chế , p(rjm | c jm ) là hàm mật độ phân bố xác
(i )
suất của rjm với điều kiện mã bit c jm của bit thứ m trong nhánh thứ j của đường thứ
i và K là một hằng số dương. K được chọn để độ đo của các đường sai sẽ giảm dần

140
và của đường đúng sẽ tăng dần một cách trung bình . Chú ý rằng p(rjm ) là độc lập
với dãy mã và có thể coi là hằng số.

Ðộ ðo áp dụng cho cả giải mã xác định cứng và mềm có thể tính đơn giản hơn trong
giải mã xác định cứng. Giả sử kênh là BSC thì

log [2(1 - p)] - Rc



� jm = c jm
r% (i )

m (i )
jm =� 2
� log 2 2 p - Rc r% (i )
jm �c jm

r%
jm
(i )
là đầu ra của bộ giải điều chế xác định cứng và c jm là bit mã thứ m của nhánh
thứ j trong đường thứ i. Ta thấy rằng để tính các độ đo thì cần phải biết (hoặc xấp xỉ
) xác suất lỗi.

Ví dụ Giả sử mã nhị phân chập tốc độ 1/3 được truyền trên kênh BSC với p = 0,1 ta
có:

jm = c jm
�0, 52 r%

(i )

m (i )
jm =�
�-2, 65 r% (i )
jm �c jm

Để đơn giản việc tính toán các độ đo trong công thức được chuẩn hoá và xấp xỉ
thành:

jm = c jm
�1 r%

(i )

m (jmi ) = �
�-5 r% (i )
jm �c jm

Do tốc độ mã là 1/3 nên có ba bit ở đầu ra của bộ mã hoá ứng với mỗi bit đầu vào
nên độ đo của một nhánh là:

m (ji ) = 3-6d hay m (ji ) =1-2d

với d là khoảng cách Hamming giữa ba bit nhận được với các ba bit của nhánh.
Như vậy m j
(i )
tương ứng với khoảng cách Hamming giữa các bit nhận được với
các bit trong nhánh thứ j của đường thứ i.

141
Hình MÃ HÓA KÊNH-32: Ví dụ về thuật toán Fano

Khởi đầu bộ giải mã được bắt đầu với một đường đúng bằng cách truyền đi vài bit
xác định trước. Sau đó nó sẽ tiến từ nút này tới nút khác, lấy nhánh có xác suất lớn
nhất tại mỗi nút và tăng giá trị cận lên sao cho giá trị cận này không vượt quá một
giá trị xác định trước t. Bây giờ giả thiết rằng nhiễu trắng (đối với giải mã xác định
mềm ) hay lỗi giải điều chế do nhiễu (đối với giải mã xác định cứng) làm cho bộ giải
mã chọn một đường không đúng (Hình MÃ HÓA KÊNH-32: Ví dụ về thuật toán
Fano). Do các giá trị độ đo ứng với đường sai giảm một cách trung bình thì độ đo sẽ
nhỏ hơn giá trị cận hiện thời (t0 ). Khi điều này xảy ra thì bộ giải mã sẽ quay trở lại
và lấy một đường khác sao cho có độ đo vượt t0 .Nếu chọn được đường đúng, nó
sẽ tiếp tục theo đường này, nếu không, giá trị cận bị giảm đi t và quay trở lại đường
ban đầu. Nếu đường ban đầu không có độ đo vượt giá trị cận thì bộ giải mã sẽ quay
ngược trở lại và tìm một đường khác. Qúa trình này cứ lặp lại cho tới khi tìm được
đường đúng. Sơ đồ khối của thuật toán được vẽ trong Hình MÃ HÓA KÊNH-32.

Thuật toán giải mã này cần bộ đệm trong bộ giải điều chế để lưu trữ số liệu giải mã
được. Khi quá trình tìm kiếm kết thúc, bộ giải mã phải xử lý các bit đã giải mã đủ
nhanh để xoá bộ đệm và lặp lại quá trình tìm kiếm. Tốc độ giới hạn R 0 có ý nghĩa
quan trọng trong giải mã dãy . Nó là tốc độ để số lượng phép tính ứng với một bit
giải mã được tiến tới vô hạn và được gọi là thời gian tính toán giới hạn Rcomp.Thực
tế thì bộ giải mã dãy Fano với thuật toán Viterbi thì thuật toán Fano có độ trễ giải mã
lớn hơn, tuy nhiên yêu cầu về bộ nhớ để lưu trữ thì nhỏ hơn và có hiệu quả với độ
dài ràng buộc lớn.

VIII. Một số vấn đề trong thực tế của việc áp dụng mã chập

Từ xác suất sai của giải mã xác suất mềm, ta thấy rằng độ tăng ích mã hoá đối với
hệ thống sử dụng tín hiệu PSK hay QPSK không mã hoá là : độ tăng ích mã hoá �
log10(Rcdfree) .Ta cũng thấy rằng khoảng cách tự do tối thiểu dfree có thể tăng lên
bằng cách giảm tốc độ mã hay tăng độ ràng buộc hay cả hai. Bảng 11 liệt kê độ tăng

142
ích mã hoá thực tế và giới hạn trên của độ dài ràng buộc của một số mã chập dùng
thuật toán Viterbi để giải mã.
Bảng 11: Giới hạn trên của độ tăng ích mã hoá đối với giải mã xác định mềm

Mã tốc độ 1/2 Mã tốc độ 1/3

K dfre Giới hạn trên dB K dfree Giới hạn trên dB


e

3 5 3,98 3 8 4,26

4 6 4,77 4 10 5.23

5 7 5,44 5 12 6,02

6 8 6,02 6 13 6,37

7 9 6,99 7 15 6,99

8 10 6,99 8 16 7,27

9 12 7,78 9 18 7,78

10 12 7,78 10 20 8,24

Bảng 12: Độ tăng ích mã hoá với thuật toán Viterbi xác định mềm (dB)

Pb z b / N 0 Không Rc=1/3 Rc=1/2 Rc=2/3 Rc=3/4


mã hoá (dB)
K=7 K=5 K=6 K =7 K=6 K=8 K=6 K=9
K=8

10-3 6,8 4,2 3,3 3,5 3,8 2,9 2,6


4,4 3,1 2,6
10-5 9,6 4,3 4,6 5,1
5,7 4,2 3,6
10-7 11,3 5,9 4,9 5,3 5,8 4,6 4,2

6,2 4,7 3,9


6.5 5,2 4,8

143