Tập bài giảng “Lý thuyết thông tin” được biên soạn nhằm phục vụ công tác giảng dạy học phần Lý thuyết thông tin. Tập bài giảng được biên soạn với các nội dung cơ bản về lý thuyết thông tin (Information Theory). Nội dung tập bài giảng được chia thành 4 chương, bao gồm: - Chương 1: Cơ sở lý thuyết thông tin. Chương này giới thiệu những khái niệm cơ bản trong lý thuyết truyền tin, vấn đề định lượng thông tin của các nguồn tin, 2 định lý Shannon - Chương 2: Lý thuyết mã. Trong chương này tập trung vào các khái niệm, mục đích và phân loại mã hiệu, nghiên cứu vấn đề mã hóa nguồn trên cơ sở các khái niệm về lượng tin đã xét ở chương 1, phương pháp mã hóa và giải mã hóa kênh - Chương 3: Tín hiệu và nhiễu. Chương này trình bày về tín hiệu ngẫu nhiên và nhiễu; các đặc trưng vật lý của tín hiệu, giải quyết bài toán tìm hàm tự tương quan của quá trình ngẫu nhiên - Chương 4: Phổ tín hiệu - Hệ thống xử lý tin. Chương 4 trình bày về phổ tín hiệu; hệ thống truyền đạt tín hiệu; hàm truyền đạt của hệ thống; kênh truyền. Giải quyết bài toán tính toán phổ của tín hiệu tuần hoàn và không tuần hoàn.
CƠ SỞ LÝ THUYẾT THÔNG TIN
KHÁI NIỆM CHUNG VỀ TIN TỨC VÀ HỆ THỐNG TRUYỀN TIN
1.1.1 Một số khái niệm cơ bản
Thông tin là sự cảm hiểu của con người về thế giới xung quanh (Thông qua sự tiếp xúc với nó) Như vậy thông tin là sự hiểu biết của con người và càng tiếp xúc với môi trường xung quanh con người càng hiểu biết và làm tăng lượng thông tin thu nhận được.
Tin là dạng vật chất cụ thể để biểu diễn hoặc thể hiện thông tin Có hai dạng: tin rời rạc và tin liên tục Ví dụ: Tấm ảnh, bản nhạc, bảng số liệu…là các tin.
Tín hiệu là các đại lượng vật lý biến thiên, phản ánh tin cần truyền
Chú ý: Không phải bản thân quá trình vật lý là tín hiệu, mà sự biến đổi các tham số riêng của quá trình vật lý mới là tín hiệu.
Các đặc trưng vật lý có thể là dòng điện, điện áp, ánh sáng, âm thanh, trường điện từ.
Hệ thống truyền tin là một hệ thống bao gồm các yếu tố có quan hệ với nhau cùng làm nhiệm vụ thu thập, xử lý và phân phối thông tin từ nguồn đến đích.
Những hệ thống truyền tin cụ thể mà con người đã sử dụng và khai thác có rất nhiều dạng, và khi phân loại chúng, người ta có thể dựa trên nhiều cơ sở khác nhau Ví dụ trên cơ sở năng lượng mang tin người ta có thể phân hệ thống truyền tin thành các loại:
- Hệ thống điện tín dùng năng lượng điện một chiều
- Hệ thống thông tin vô tuyến điện dùng năng lượng sóng điện từ
- Hệ thống thông tin quang
- Hệ thống thông tin dùng sóng âm, siêu âm (năng lượng cơ học)
Chúng ta cũng có thể phân loại hệ thống truyền tin dựa trên cơ sở biểu hiện bên ngoài của thông tin như:
- Hệ thống truyền số liệu
- Hệ thống thông tin thoại…
Những phương pháp phân loại trên dựa theo nhu cầu kỹ thuật, giúp các cán bộ kỹ thuật nhận thức vấn đề một cách cụ thể và tìm hiểu khai thác các loại hệ thống được dễ dàng Sự phân loại như vậy đã được ứng dụng rộng rãi và gần như thống nhất trong các tài liệu và sách kỹ thuật Nhưng ở đây để đảm bảo tính logic của vấn đề được trình bày, chúng ta căn cứ đặc điểm của thông tin đưa vào kênh để phân loại các hệ thống truyền tin và như vậy chúng ta phân làm hai loại hệ thống truyền tin:
- Hệ thống truyền tin rời rạc
- Hệ thống truyền tin liên tục
Ta có thể định nghĩa: Truyền tin (Transmission) là dịch chuyển thông tin từ điểm này đến điểm khác trong một môi trường xác định Hai điểm này sẽ được gọi là điểm nguồn tin (Information Source) và điểm nhận tin (Information Destination) Môi trường truyền tin (Transmission Media) còn được gọi là kênh tin (Channel).
Sơ đồ khối chức năng của một hệ thống truyền tin tổng quát gồm có ba khâu chính: nguồn tin, kênh tin và nhận tin
Hình 1.1 Sơ đồ khối chức năng hệ thống truyền tin tổng quát
Nguồn tin là nơi sản sinh ra hay chứa các tin cần truyền đi.
Khi một đường truyền tin được thiết lập để truyền tin từ nguồn tin đến nhận tin, một dãy các phần tử cơ sở (các tin) của nguồn sẽ được truyền đi với một phân bố xác suất nào đó Dãy này được gọi là một bản tin (Message) Vậy ta có thể định nghĩa:
Nguồn tin là tập hợp các tin mà hệ thống truyền tin dùng để lập các bản tin khác nhau để truyền tin.
Kênh tin là môi trường lan truyền thông tin Để có thể lan truyền được thông tin trong một môi trường vật lý xác định, thông tin phải được chuyển thành tín hiệu thích hợp với môi trường truyền lan Vậy kênh tin là nơi hình thành và truyền tín hiệu mang tin đồng thời ở đấy sinh ra các tạp nhiễu phá hủy thông tin Trong lý thuyết truyền tin kênh là một khái niệm trừu tượng đại biểu cho hỗn hợp tín hiệu và tạp nhiễu Từ khái niệm này, sự phân loại kênh sẽ dễ dàng hơn, mặc dù trong thực tế các kênh tin có rất nhiều dạng khác nhau:
- Truyền tín hiệu theo các dây song hành, cáp đồng trục, ống dẫn sóng
- Tín hiệu truyền lan qua các tầng điện ly, không hoặc có phản xạ
- Tín hiệu truyền lan qua các tầng đối lưu, không hoặc có phản xạ và khúc xạ
- Tín hiệu truyền lan trên mặt đất, trong đất
Nguồn tin Kênh tin Nhận tin
- Tín hiệu truyền lan trong nước…
Thu tin là cơ cấu khôi phục thông tin ban đầu từ tín hiệu lấy ở đầu ra của kênh. Để 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 tin, kênh tin, nhận tin 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 Để biểu diễn chính xác được tính chất của một hệ thống truyền tin ở khía cạnh tín hiệu và dữ liệu ta sẽ sử dụng một mô hình hệ thống truyền tin cụ thể hơn, được bổ sung thêm một số khối như sau:
Hình 1.2 Sơ đồ khối chức năng hệ thống truyền tin cụ thể
Trước khi được truyền lên kênh 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.
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 tin Quá trình biến đổi này phụ thuộc vào tính chất của kênh tin Nếu kênh 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.
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 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 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 sóng âm thanh sẽ được biến đổi thành tín hiệu âm tần 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 tin được biến đổi thành tín hiệu cơ học để có thể đưa đến nơi nhận tin (tai) bằng thiết bị thu tín hiệu (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.
Những vấn đề cơ bản của hệ thống truyền tin gồm:
- Hiệu suất truyền tin, hay là tốc độ truyền tin của hệ thống Đó là lượng thông tin hệ thống cho phép (hay có thể) truyền đi trong một đơn vị thời gian.
- Độ chính xác truyền tin, nói cách khác là khả năng chống nhiễu của hệ thống.
Yêu cầu tối đa với bất kỳ một hệ thống truyền tin nào là thực hiện được sự truyền tin nhanh chóng và chính xác Những cơ sở lý thuyết được đề cập ở các phần sau sẽ giải đáp những vấn đề này.
Khi sự truyền tin tiến hành trên những cự ly rất lớn, người ta thường dùng năng lượng mang tin là sóng điện từ Trong trường hợp này nếu công suất máy phát bị hạn chế, năng lượng tín hiệu và tạp nhiễu ở đầu thu sẽ xấp xỉ bằng nhau, một vấn đề lý thuyết đặt ra là xác định cấu trúc của thiết bị thu tín hiệu lý tưởng, nghĩa là có thể phát hiện và tách tín hiệu trong nền tạp âm lớn Đó là một nội dung lớn của lý thuyết chống nhiễu
LƯỢNG TIN VÀ ENTROPY CỦA NGUỒN TIN
1.2.1 Lượng tin riêng, lượng tin tương hỗ, lượng tin có điều kiện và lượng tin trung bình
1.2.1.1 Độ đo thông tin Độ đo (Metric) của một đại lượng là cách ta xác định độ lớn của đại lượng đó
Ta có thể xét một ví dụ về khái niệm độ đo của một lượng tin dựa vào các sự kiện hay các phân phối xác suất ngẫu nhiên như sau Xét 2 biến ngẫu nhiên X và Y có phân phối sau:
X={1,2,3,4,5} có phân phối đều hay (p X i) 1/ 5, Y={1,2} cũng có phân phối đều hay (p Y i ) 1/ 2.
Bản thân X và Y đều mang một lượng tin và thông tin về X và Y chưa biết do chúng là ngẫu nhiên Do đó, X hay Y đều có một lượng tin không chắc chắn và lượng tin chắc chắn, tổng của 2 lượng tin này là không đổi và thực tế nó bằng bao nhiêu thì ta chưa thể biết Lượng tin không chắc chắn của X (hay Y) được gọi là entropy.
Tuy nhiên, nếu X và Y có tương quan nhau thì X cũng có một phần lượng tin không chắc chắn thông qua lượng tin đã biết của Y (hay thông tin về Y đã được biết). Trong trường hợp này, một phần lượng tin không chắc chắn của X thông qua lượng tin đã biết của Y được gọi là entropy có điều kiện.
Rõ ràng, ta cần phải xây dựng một đại lượng toán học rất cụ thể để có thể đo được lượng tin chưa biết từ một biến ngẫu nhiên Một cách trực quan, lượng tin đó phải thể hiện được các vấn đề sau:
Một sự kiện có xác suất càng nhỏ thì sự kiện đó ít xảy ra, cũng có nghĩa là tính không chắc chắn càng lớn Nếu đo lượng tin của nó thì sẽ thu được một lượng tin nhiều sự kiện có phân phối càng đều thì tính không chắc chắn càng lớn Nếu đo lượng tin của tập hợp đó thì sẽ được lượng tin không biết càng lớn Hay lượng tin chắc chắn càng nhỏ.
Một phân phối xác suất càng lệch nhiều (có xác xuất rất nhỏ và rất lớn) thì tính không chắc chắn càng ít và do đó sẽ có một lượng tin chưa biết càng nhỏ so với phân phối xác suất đều, hay nói cách khác lượng tin chắc chắn của nó càng cao. Để 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ậ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 (1/ ( ))f p x i cho tin x i có xác suất xuất hiện ( )p x i 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 bằng 1 Để xác định dạng hàm này Chúng ta giả sử rằng có hai tin x i 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 x i và ( ) j p x , lượng tin của mỗi tin sẽ là (1/ ( ))f p x i , f (1/ ( ))p x j
Giả sử hai tin này cùng đồng thời xuất hiện, ta có tin ( , )x x i 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 x x( , ) i j
Vì hai tin độc lập thống kê nên:p x x( , ) i j p x p x( ) ( ) i j
Trong trường hợp này, hàm f phải là hàm dạng loga Vậy hàm log(1/ ( ))p x i là dạng 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ì 0p x( ) 1 i , nên 1/ ( ) 1p x i hay log (1/ ( ))p x i 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 ( ) 1p x i thì log (1/ ( )) 0p x i
Vậy hàm log (1/ ( ))p x i được chọn làm độ đo thông tin hay lượng đo thông tin của một tin của nguồn Lượng đo thông tin của một tin x i của nguồn thường được ký hiệu là ( )I x i được tính bởi biểu thức sau:
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. Hiện nay người ta thường dùng các đơn vị đo sau đây:
Bít hay đơn vị nhị phân khi cơ số loga là 2;
Nat hay đơn vị tự nhiên khi cơ số loga là e;
Hartley hay đơn vị thập phân khi cơ số loga là 10.
1.2.1.2 Lượng tin riêng, lượng tin tương hỗ và lượng tin có điều kiện Đối với mỗi tin x i của nguồn X đều có một lượng tin riêng được đánh giá bởi xác suất xuất hiện của tin đó: ( )I x i log ( )p x i
Nếu nguồn X thông qua một phép biến đổi trở thành nguồn Y ví dụ như thông qua sự truyền lan trong kênh, thì phép biến đổi đó có thể không phải là một - một Ở đầu vào của kênh là các tin của nguồn X, các tin trong quá trình truyền lan trong kênh bị nhiễu phá hoại, làm cho sự chuyển đổi từ nguồn X sang nguồn Y không phải là một- một Một tin x i có thể chuyển thành một tin y j bất kì trong nguồn Y ở đầu ra của kênh Bài toán truyền tin trong trường hợp này là: cho biết cấu trúc thống kê của nguồn X, tính chất tạp nhiễu của kênh biểu thị dưới dạng các xác suất chuyển đổi của tin, khi nhận được ở đầu ra của kênh một tin y j thuộc nguồn Y, hãy xác định tin tương ứng của nguồn X. Đây là một bài toán thống kê, lời giải khẳng định nói chung là không thể có được Lời giải tìm được nói chung có dạng: với tin y j nhận được, tin nào của nguồn X (phía phát) có nhiều khả năng đã được phát đi nhất.
Các bước giải quyết bài toán:
Bước 1: Tính các lượng tin về một tin bất kì x i của tập X chứa trong tin y j nhận được, lượng tin đó gọi là lượng tin tương hỗ giữa x i và y j
. Bước 2: So sánh các lượng tin tương hỗ với nhau, lượng tin nào cực đại cho biết tin x i có nhiều khả năng chuyển thành y j trong quá trình truyền tin nhất Để xác định lượng tin về x i chứa trong y j
, chúng ta cần biết lượng tin ban đầu của x i và lượng tin còn lại của x i sau khi nhận được y j
Lượng tin tương hỗ là hiệu của hai lượng tin này.
Lượng tin ban đầu là lượng tin riêng được xác định bằng xác xuất xuất hiện của tin: ( )I x i log ( )p x i
Lượng tin còn lại của x i sau khi đã nhận được y j được xác định bằng xác xuất chuyển đổi p x y i | j
(xác suất x i được truyền đi với điều kiện ở bên thu nhận được y j
) gọi là lượng tin có điều kiện I x y i | j :
Trong quá trình truyền tin, lượng tin có điều kiện chính là lượng tin đã bị tạp nhiễu phá hủy không đến đầu thu được.
Lượng tin tương hỗ bằng:
Lượng tin về x i chứa trong yj có nghĩa là tương hỗ giữa x i và y j với những dữ kiện đã cho của bài toán truyền tin là xác suất ban đầu p x i và xác suất chuyển đổi
1.2.1.3 Tính chất của lượng tin
Tính chất 1: Lượng tin riêng bao giờ cũng lớn hơn lượng tin về nó chứa trong bất kì một kí hiệu nào có liên hệ thống kê với nó Khi x i và y j độc lập thống kê với nhau, lưọng tin tương hỗ bằng không và lượng tin tương hỗ trở thành cực đại, đồng thời bằng lượng tin riêng khi biết y i xác định được x i , nghĩa là xác suất có điều kiện
THÔNG LƯỢNG CỦA KÊNH THÔNG TIN
Thông lượng của kênh là lượng thông tin tối đa mà kênh cho phép truyền qua trong một đơn vị thời gian mà không gây ra sai nhầm, ký hiệu là Cvà đơn vị bit/s
1.3.2 Thông lượng kênh rời rạc
Thông số thống kê cơ bản thứ nhất của nguồn tin là entropy, 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 , 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:
R n H X (bit/sec) (1.46) Độ 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 entropy:
Tốc độ lập tin ở đầu ra của kênh có nhiễu khác với tốc độ lập tin ở đầu vào của kênh và bằng
Thông thườngRC Từ đó chúng ta thấy nhiệm vụ của mã hóa thống kê (tối ưu) là thay đổi tốc độ lập tin của nguồn bằng cách thay đổi entropy để tốc độ lập tin có thể sánh được với thông lượng kênh Đối với mã hóa chống nhiễu thì do RC chúng ta có thể truyền thêm thông tin điều khiển để chống nhiễu.
Nếu các thông số của kênh xác định thì muốn nâng cao tốc độ lập tin ở đầu ra của kênh ta phải thay đổi các thông số của nguồn tức là entropy của nguồn nhằm làm cho entropy của nguồn tăng tới giá trị cực đại Khi đó lượng tin tối đa mà kênh cho đi qua sẽ là tốc độ lập tin cực đại: max 0[ ( ) - ( | )]
C R n H X H X Y (1.49) Độ dư tương đối của kênh được định nghĩa là c 1 R r C (1.50) và hiệu quả sử dụng kênh c 1 r c
1.3.3 Thông lượng kênh liên tục
Giả thiết ở đầu ra của kênh y(t) tương ứng là hỗn hợp của x(t) và nhiễu cộng n(t) :
y t x t n t (1.52) x t X , y t Y và n t N N với X là tập nguồn, Y là tập đích và N là tập nhiễu, H X , H Y và H N là entropy các tập tương ứng Giữa nguồn X và nguồn nhiễu N không có sự liên hệ thống kê nào, ta có thể viết entropy đồng thời của X và Y như sau:
Mặt khác, entropy đồng thời có thể viết lại như sau :
So sánh hai công thức ta nhận thấy:
Từ đây ta thấy rằng H Y X( | ) là entropy của nguồn nhiễu Tốc độ lập tin ở đầu ra của kênh xác định theo:
Thông lượng kênh liên tục theo định nghĩa là lượng tin cực đại mà kênh cho truyền qua một đơn vị thời gian mà không bị nhiễu phá huỷ, nói cách khác chính là tốc độ lập tin cực đại ở đầu ra của kênh :
Tốc độ lập tin cực đại khi entropy tập Y cực đại Các tin của tập Y gồm hai thành phần x t và n t xuất phát từ hai nguồn độc lập thống kê với nhau là nguồn tin X và nguồn nhiễu N Tập Y xem như một nguồn hỗn hợp của X và N.
CÁC ĐỊNH LÝ SHANNON
Shannon đã phát biểu hai định lý cơ bản của lý thuyết tin tức liên quan tới sự phối hợp giữa nguồn tin và kênh thông tin Shannon khẳng định sự tồn tại của các loại mã tối ưu làm giảm độ dư của nguồn và sửa sai chống lại các tác động của nhiễu.
Giả sử nguồn tin có entropy H (bit/ký hiệu), và kênh có thông lượng C (bit/s), có thể mã hóa tin tức ở đầu ra của nguồn làm cho sự truyền tin trong kênh không nhiễu theo một tốc độ trung bình
H (ký hiệu/s) với bé tùy ý, và không thể truyền nhanh hơn
Kênh có thông lượng C (bit/s), tốc độ lập tin của nguồn là R (bit/s)
NếuR C : Có thể tìm được một phương pháp mã hóa để cho sự truyền tin trong kênh có nhiễu với sai bé tùy ý.
NếuR C : Có thể mã hóa nguồn để cho lượng tin sai bé hơn R C , với bé tùy ý, không tồn tại mã hiệu đảm bảo độ sai của sự truyền tin nhỏ hơn R C
CÂU HỎI ÔN TẬP, BÀI TẬP Câu 1.1
Trình bày bài toán cơ bản trong truyền tin và phương pháp giải bài toán đó?
Câu 1.2 Ý nghĩa của lượng tin tương hỗ trung bình là gì?
Vẽ sơ đồ khối của hệ thống truyền tin?Trình bày chức năng của các khối trong sơ đồ khối của hệ thống truyền tin?
Trình bày khái niệm về tốc độ lập tin của nguồn và thông lượng kênh?
Câu 1.5 Định nghĩa entropy của nguồn rời rạc? Trình bày các tính chất của entropy của nguồn rời rạc?
Xác định Entropy của biến ngẫu nhiên X có phân bố đồng đều:
với các giá tri khác ( ) trong các trường hợp: a a1 b a4 c a1/ 4
Gọi X là một biến ngẫu nhiên với hàm mật độ phân bố xác suất p x x ( ) và đặt
Y aX b là một biến đổi tuyến tính của X, a và b là hai hằng số Tính H Y theo
Tìm Entropy của X là biến ngẫu nhiên mũ với tham số 0 có phân bố xác suất như sau:
Cho hai biến X, Y độc lập với nhau và có phân phối như sau:
Cho kênh gồm 3 đầu vào, 4 đầu ra có ma trận kênh là
Cho kênh nhị phân đối xứng có cấu trúc như sau:
- Nguồn X gồm 2 tin : x 1 đại điện cho bit 0, x 2 đại diện cho bit 1
- Nguồn Y gồm 2 tin: y 1 đại diện cho bit 0, y 2 đại diện cho bit 1
Thực hiện truyền tin với xác suất truyền tin x 1 là p x( ) 1 p 0 và xác suất truyền đúng p y x( | ) 1 1 p y x( 2 | ) 2 q 0
Câu 1.12 Đặt Y g X( ) với g là hàm xác định Chứng tỏ rằng ( )H Y H X( ) Khi nào đẳng thức xảy ra?
Cho nguồn tin X { , }x x 1 2 , nguồn tin Y { , }y y 1 2 Thực hiện truyền tin giữa 2 nguồn với:
- Xác suất truyền tin x 1 là p x( ) 0,4 1
- Xác suất truyền đúng p y x( | ) 0,6 1 1 và p y x( 2 | ) 0,7 2
LÝ THUYẾT MÃ
KHÁI NIỆM VÀ PHÂN LOẠI MÃ
2.1.1 Một số khái niệm cơ bản
Khái niệm: mã hóa là việc chuyển đổi các phần tử của một tập đại lượng này thành một tập các đại lượng khác (theo mối quan hệ 1-1) nhằm mục đích tiện lợi cho việc lưu trữ và trao đổi thông tin.
Mã hoá trong lý thuyết thông tin 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, nhằm thoả mãn một số yêu cầu do hệ thống truyền tin đề ra Đối với một hệ thống truyền tin, việc mã hóa sẽ cho phép tăng tính hữu hiệu và độ tin cậy của hệ thống truyền tin, nghĩa là tăng tốc độ truyền tin và khả năng chống nhiễu của hệ thống.
Chúng ta đã định nghĩa nguồn tin rời rạc như một tập hữu hạn các tin có một cấu trúc thống kê nhất định được mô tả bằng một bảng chữ với quy luật phân bố xác suất xác định của các chữ.
Khái niệm mã hiệu: Là một nguồn tin với một sơ đồ thống kê được xây dựng nhằm thoả mãn một số yêu cầu do hệ thống truyền tin đề ra, ví dụ như thoả mãn về tốc độ truyền tin hay về độ chính xác của các tin truyền đi.
Như vậy, mã hiệu chính là một tập hữu hạn các dấu hiệu riêng (symbol) hay bảng chữ riêng (còn gọi là các dấu mã) có phân bố xác suất thoả mãn một số yêu cầu nhất định.
2.1.1.3 Các thông số cơ bản của mã hiệu
Cơ số của mã (kí hiệu m): là số các dấu mã (kí hiệu mã) khác nhau trong bảng chữ của mã
Khi mã có cơ số hai gọi là mã cơ số hai hoặc là mã nhị phân, mã có cơ số bằng ba, bốn được gọi là mã cơ số ba, cơ số bốn hoặc là mã tam phân, mã tứ phân
Quá trình mã hoá (encoding) là việc sử dụng mã hiệu để biểu diễn các tin của nguồn tin, hay là phép biến đổi từ một tập tin này thành một tập tin khác có đặc tính thống kê yêu cầu
Thông tin là sự cảm nhận của con người về thế giới xung quanh nên số lượng bản tin luôn rất lớn và tăng lên không ngừng, số ký hiệu mã (cơ số của mã) không thể bằng hoặc nhiều hơn số tin Phép biến đổi từ một tập tin nhiều tin hơn về một tập tin có ít tin hơn là mã hoá Phép biến đổi ngược lại được gọi là giải mã (decoding).
Vì số kí hiệu mã nhỏ hơn số tin của nguồn được mã hoá nên để mã hoá một tin của nguồn, phải dùng một tổ hợp của kí hiệu mã, dãy này được gọi là một từ mã (codeword) Như vậy mã hoá là một phép biến đổi một- một giữa một tin của nguồn và một từ mã của bộ mã Từ mã chính là một dãy liên tục các kí hiệu mã (hay tổ hợp mã) được dùng để mã hoá (biểu diễn) một tin của nguồn
Ví dụ: Mã nhị phân có các mã hiệu là 0,1 Giả sử ta sử dụng các từ mã sau để biểu diễn các tin của nguồn tin gồm các số từ 0 đến 7.
Trong một số trường hợp nhất định, không thay thế mỗi tin của nguồn bằng một từ mã mà một khối tin của nguồn mới được mã hoá bằng một từ mã thì từ mã sẽ là một tổ hợp mã dùng để mã hoá một khối tin của nguồn, lúc này có khái niệm mã khối. Độ dài từ mã (hay còn gọi tính dấu của mã, kí hiệu n): là số các kí hiệu mã có trong một từ mã Nếu các từ mã của một bộ mã cùng một tính dấu nghĩa là cùng một độ dài được gọi là mã đồng đều, ví dụ trên chính là ví dụ mã đồng đều Nếu độ dài các từ mã khác nhau như các loại mã thống kê được gọi là mã không đồng đều Với mã không đồng đều, độ dài trung bình được kí hiệu bằng
R _ là một thông số cơ bản của mã và được tính theo biểu thức:
( ) i p x là xác suất xuất hiện tin x i của nguồn X sẽ được mã hoá, x i X n i là độ dài từ mã tương ứng với tin x i
L là tổng số từ mã tương ứng với tổng số các tin của X
Ví dụ: Giả sử ta có nguồn X { , , , , , , , }x x x x x x x x 1 2 3 4 5 6 7 8 với xác suất tương ứng ( ) {0,1;0,15;0,0625;0,0625;0,2;0,3;0,075;0,05} p X Mã hóa nguồn X theo phương pháp mã hóa thống kê với mã hiệu nhị phân ta thu được bảng mã như sau:
Bảng mã trên được gọi là mã không đồng đều với độ dài trung bình
Tất cả các từ mã để mã hoá các tin của nguồn làm thành bộ mã mã hóa nguồn. Như vậy ở đây ta sẽ có thêm một thông số của mã hiệu là tổng số từ mã (kí hiệu L). Tổng số từ mã là số tin sẽ được mã hoá hoặc số khối tin sẽ được mã hoá trong trường hợp chúng ta mã hoá mỗi khối tin bằng một từ mã Trong trường hợp mã đồng đều, nếu tất cả các tổ hợp mã gồm n kí hiệu với m trị khác nhau đều được dùng làm từ mã, lúc đó sẽ có:
Và bộ mã được gọi là mã đầy, ví dụ phần trên chính là ví dụ về bộ mã đầy với
L n m Nếu L m< n , bộ mã được gọi là mã vơi Trong trường hợp mã vơi, trong số các tổ hợp có độ dài n kí hiệu sẽ được gọi là tổng số tổ hợp có thể dùng làm từ mã và được kí hiệu là M Ví dụ về nguồn tin X ở trên là ví dụ về bộ mã vơi với
Giá trị riêng (trị) mỗi kí hiệu mã (kí hiệu a).
Mỗi mã hiệu có m kí hiệu mã khác nhau, nếu cơ số của nó là m Mỗi kí hiệu mã là một dấu hiệu riêng, và được gán một giá trị xác định theo một độ đo xác định (metric xác định) Các giá trị này được gọi là các giá trị riêng của các kí hiệu mã. Trong trường hợp số, mỗi kí hiệu mã được gán một giá trị riêng nằm trong khoảng từ 0 tới m-1
Ví dụ: mã nhị phân (m2) có 2 kí hiệu mã “0”, “1” được gán giá trị riêng 0 và
1 Mã thập lục phân (m16) có 16 kí hiệu mã được gán giá trị riêng từ 0 đến 15.
Chỉ số vị trí (code digit) của kí hiệu mã trong từ mã
MÃ HÓA NGUỒN
Hệ thống truyền tin được sử dụng để truyền thông tin từ nguồn tin tới nơi nhận tin Nguồn thông tin có thể là nguồn tương tự hay nguồn rời rạc Với khả năng và sự phát triển của kỹ thuật số, hệ thống truyền tin sử dụng kỹ thuật số có thể được sử dụng để truyền thông tin từ các nguồn tin khác nhau Như vậy đầu ra của nguồn phải chuyển thành dạng mà có thể truyền đi bằng kỹ thuật số và quá trình này được gọi là mã hóa nguồn.
Mã hóa nguồn là quá biến đổi một tập đại lượng nguồn này thành một tập đại lượng nguồn khác để có thể truyền đi bằng kỹ thuật số, đồng thời loại bỏ những phần dư thừa, không cần thiết còn tồn tại trong nguồn Lượng thông tin thu được sau khi mã hóa nguồn thường có dung lượng nhỏ hơn dữ liệu gốc rất nhiều.
Có rất nhiều phương pháp mã hóa nguồn trong thực tế, trong nội dung tập bài giảng này ta chỉ xét đến 2 phương pháp mã hóa nguồn thường gặp là mã Shannon- Fano và mã Huffman.
2.2.2 Mã Shannon-Fano Độc lập với nhau, Shanon và Fano đã xây dựng phương pháp lập mã thống kê tối ưu trên chung một cơ sở: độ dài từ mã tỷ lệ nghịch với xác suất xuất hiện
Giả sử có nguồn X { , , , }x x 1 2 x n có xác suất xuất hiện tương ứng của các tin trong nguồn là: P X( ) { ( ), ( ), , ( )} p x p x 1 2 p x n
- Bước 1: Sắp xếp theo xác suất tăng dần hoặc giảm dần.
- Bước 2: Chia nguồn tin thành 2 nhóm có tổng xác suất xấp xỉ nhau
- Bước 3: Gán cho một nhóm ký hiệu 0, 1 nhóm ký hiệu 1
- Bước 4: Lặp lại bước 2 và 3 với các nhóm mới vừa nhận được cho đến khi chỉ còn 1 tin duy nhất thì dừng lại
- Bước 5: Đọc từ mã từ trái sang phải
Chú ý: Trong nhiều trường hợp có nhiều hơn một cách chia thành các nhóm có tổng xác suất gần bằng nhau, ứng với mỗi cách chia có thể sẽ cho ra các bộ mã có chiều dài trung bình khác nhau.
- Bước 1: Sử dụng bộ đệm đọc vào dòng các bit một cách tuần tự và so sánh từ mã trong bộ đệm với bảng mã.
- Bước 2: Khi từ mã trong bộ đệm được xác định trùng với một từ mã trong bảng mã, đưa ra ký tự tương ứng đã được mã hóa.
- Bước 3: Xóa bộ đệm và tiếp tục lặp lại bước 1, bước 2 cho đến khi hết chuỗi bit đầu vào.
Ví dụ: Cho nguồn X { , , , , , , , }x x x x x x x x 1 2 3 4 5 6 7 8 với xác suất tương ứng ( ) {0.1,0.15,0.0625,0.0625,0.2,0.3,0.075,0.05} p X a Mã hóa nguồn trên theo phương pháp mã hóa Shannon- Fano? b Giải mã hóa khi bên thu nhận được chuỗi bit 0110010111011110?
Bảng 2.1 Bảng mã hóa Shannon-Fano cho nguồn X
Tin x i Xác suất p x( ) i Phân nhóm lần Từ mã w i
- Sử dụng bộ đệm đọc vào dòng các bit một cách tuần tự và so sánh từ mã trong bộ đệm với bảng mã
Bộ đệm So sánh với bảng mã Tin
- Xóa bộ đệm và bắt đầu đọc các bit tiếp theo
Bộ đệm So sánh với bảng mã Tin
- Thực hiện lặp lại các bước cho đến khi hết chuỗi bit ta sẽ giải mã được chuỗi bit tương ứng với các tin như sau:
Năm 1952 Huffman đã đưa ra một thuật toán dựa trên xác suất xuất hiện của các ký hiệu thuật toán là tối ưu theo nghĩa số ký hiệu nhị phân trung bình để mã hoá cho một ký hiệu của nguồn là cực tiểu Phương pháp mã hoá này cho một bộ mã có tính prefix, nghĩa là không có bất kỳ từ mã nào trùng với phần đầu của từ mã khác của cùng bộ mã
- Bước 1: Tính tần suất của các ký tự trong dữ liệu gốc
- Bước 2: Hai nút tự do với tần suất thấp nhất được xác định Hai nhánh được gán cho một trong hai ký hiệu 0 hoặc 1
- Bước 3: Nút cha cho hai nút này được thiết lập Nó có tần suất bằng tổng tần suất của hai nút con
- Bước 4: Nút cha được liệt kê vào danh sách các nút tự do và hai nút con được xóa khỏi danh sách
- Bước 5: Các bước được lặp lại cho đến khi chỉ còn lại một nút tự do Nút này được đánh dấu là gốc của cây
- Bước 6: Từ mã ứng với mỗi ký hiệu của nguồn là tổ hợp các ký hiệu mã ở các nhánh của cây mã tính từ gốc
- Bước 1: Đọc vào dòng các bit một cách tuần tự và chuyển sang cây mã cho đến khi một nút mới được tìm thấy.
- Bước 2: Khi một nút lá được xác định, đưa ra ký tự tương ứng đã được mã hóa.
- Bước 3: Khi đọc vào bit kế tiếp, bắt đầu trở lại với gốc của cây mã.
Ta xét hai ví dụ của phương pháp này.
Ví dụ: Xét một nguồn rời rạc không nhớ tạo ra bảy ký hiệu với xác suất xuất hiện tương ứng như sau Hãy mã hóa nguồn bằng phương pháp mã hóa Huffman và phương pháp mã hóa Shannon-Fano.
- Chúng ta đã sắp xếp các ký hiệu theo thứ tự giảm dần của xác suất xuất hiện, nghĩa là: p x( ) 1 p x( ) 2 p x( ) 7 Ta bắt đầu quá trình mã hoá với hai ký hiệu có xác suất xuất hiện nhỏ nhất
- Hai ký hiệu này được hợp lại với nhau, hai nhánh được gán cho một trong hai ký tự 0 hoặc 1 Nút của hai nhánh được coi là một ký hiệu mới có xác suất xuất hiện bằng tổng xác suất xuất hiện của hai ký hiệu tạo ra nó
- Bước tiếp theo lại làm với hai ký hiệu có xác suất xuất hiện nhỏ nhất
- Quá trình mã hoá dừng lại khi chỉ còn một ký hiệu với xác suất xuất hiện bằng
1 (tổng các xác suất xuất hiện của tất các ký hiệu)
- Cuối cùng từ mã ứng với mỗi ký hiệu của nguồn là tổ hợp các ký hiệu mã ở các nhánh của cây mã tính từ gốc
Entropy của nguồn là H X 2,11 bit/ký hiệu và độ dài trung bình của từ mã là
Ta thấy rằng phương pháp mã hoá Shanon-Fano và phương pháp mã hoá Huffman không phải chỉ cho một bộ mã duy nhất Ta có thể ký hiệu các nhóm hay các nhánh cây là 0 hay 1, chứ không phải bắt buộc nhánh hay nhóm nào là 0 hay 1 Tất nhiên, khi đó hiệu suất lập mã sẽ không thay đổi.
Phương pháp mã hóa Huffman
Phương pháp mã hóa Shannon-Fano
Bảng 2.2 Bảng mã hóa Shannon-Fano cho nguồn rời rạc không nhớ X
Ký hiệu Xác suất Lượng tin riêng Từ mã x 1 0,35 1,5146 00 x 2 0,30 1,730 01 x 3 0,20 2,3219 10 x 4 0,10 3,3219 110 x 5 0,04 4,6439 1110 x 6 0,005 7,6439 11110
Dễ dàng ta có thể chứng tỏ rằng hiệu quả của quá trình mã hoá cho một nguồn rời rạc không nhớ có thể thực hiện bằng cách mã hoá từng ký hiệu với độ dài từ mã thay đổi dựa trên thuật toán Huffman Hơn nữa, hiệu quả mã hoá tăng lên bằng cách mã hoá từng khối J ký hiệu của nguồn và khi J tăng lên vô hạn thì số ký hiệu nhị phân trung bình để mã hoá cho một ký hiệu của nguồn tiến tới entropy H X của nguồn.
Ví dụ: Cho chuỗi ký tự A, B, C, D, E với tần xuất xuất hiện là P(A)= 0,16,
P(B)= 0,51, P(C)=0,09, P(D)=0,13, P(E)=0,11 a Thiết lập bảng mã Huffman cho chuỗi ký tự trên? b Giải mã hóa Huffman khi nhận được chuỗi bit 0110001010011 ở bên thu?
Giải: a Thiết lập bảng mã Huffman
Bảng 2.3 Bảng mã hóa Huffman cho chuỗi ký tự
Từ mã 011 1 000 010 001 b Giải mã chuỗi bit 0110001010011
- Từ cây mã Huffman xây dựng được ở phần a ta sẽ tiến hành giải mã Đọc tuần tự từng bit và chuyển sang cây mã từ nút gốc cho đến nút lá ta sẽ thu được ký tự A đầu tiên
- Đọc vào bit kế tiếp, bắt đầu trở lại với gốc của cây mã
- Thực hiện lần lượt cho đến khi hết chuỗi bit ta sẽ giải mã được chuỗi bit thành các ký tự sau:
MÃ HÓA KÊNH
Khái niệm: Mã hóa kênh là hình thức biến đổi trên tập dữ liệu nguồn bằng một thuật toán nhằm tiện lợi cho việc kiểm tra và sửa lỗi đường truyền
Mã kênh được dùng trên kênh truyền Trên kênh truyền cần quan tâm đến tác động của nhiễu Vì vậy yêu cầu cơ bản của mã kênh là có khả năng chống nhiễu: Phát hiện sai và sửa sai Mã hóa kênh làm tăng chất lượng tin nhận được, giảm tỉ số bit lỗi BER
Mã hóa kênh chính là việc sửa lỗi trước (FEC-Forward error correction) bằng cách mã hóa số liệu trước khi truyền đi, để cho máy thu sau khi nhận được, giải mã có thể phát hiện ra lỗi và sửa lỗi Nếu tin cần truyền có k bit thì sẽ thêm (n-k) bit phát hiện lỗi và sửa lỗi, các mã được biểu thị là (n,k) và có tỷ lệ mã FEC là k/n
Ví dụ: Nếu truyền 7 bit có thêm 1 bit kiểm tra chẵn lẻ thì tỷ lệ mã FEC là 7/8, nếu truyền 9 bit có thêm 4 bit sửa sai thì tỷ lệ mã FEC là 9/12.
Nếu số bit thêm vào càng nhiều, thì thông thường mã có đặc tính phát hiện sai và sửa sai càng mạnh, nhưng lại làm giảm lưu lượng tin tức.
Nguyên lý phát hiện sai: Kiểm tra xem tổ hợp đã nhận có phải là từ mã hay không, nếu không tổ hợp nhận là sai.
- Từ mã chứa thông tin có chiều dài là k => Tổng số từ mã chứa thông tin N 2 k
- Từ mã mang tin có chiều dài n =>N 0 2 n
- N 0 N: Phần dự trữ, tổ hợp cấm Đây là phần dùng để kiểm tra phát hiện sai và sửa sai.
-E s là khả năng phát hiện s sai
- Điều kiện để phát hiện sai:
- Các từ mã trên kênh có chiều dài bằng nhau nên có thể biểu diễn dưới dạng Vec tơ
- Trọng số hamming của 1 từ mã là số tọa độ 0 của từ mã
- Khoảng cách hamming giữa 2 từ mã d v v 1, 2 là số vị trí tọa độ khác nhau giữa
- Điều kiện để bộ mã phát hiện t lỗi sai là khoảng cách hamming giữa 2 từ mã bất kỳ trong bộ mã lớn hơn hoặc bằng t+1
- Điều kiện để bộ mã phát hiện t sai:
Mã hóa kênh chủ yếu có 2 nhóm sau:
- Nhóm mã khối tuyến tính (Linear block codes-Mã không nhớ): Là ánh xạ từ k ký hiệu nhị phân đầu vào sang n ký hiệu nhị phân đầu ra Với các ký hiệu đầu ra chỉ phụ thuộc vào k ký hiệu đầu vào
- Nhóm mã xoắn, cuộn, kết hợp (Convolutional codes- Mã có nhớ): Là ánh xạ từ k ký hiệu nhị phân đầu vào sang n ký hiệu nhị phân đầu ra Với các ký hiệu đầu ra phụ thuộc vào k ký hiệu đầu vào và v ký hiệu của bộ nhớ.
Trong giới hạn của tập bài giảng này chúng ta sẽ xét đến 2 phương pháp mã hóa kênh cụ thể là mã khối tuyến tính và mã vòng thuộc nhóm mã khối tuyến tính.
Khái niệm: Mã khối tuyến tính là việc sử dụng các từ mã trên kênh truyền có chiều dài bằng nhau, để tăng hiệu suất người ta ghép các từ mã thành một khối Các từ mã lại được biểu diễn dưới dạng vec tơ với tọa độ vec tơ là các giá trị bit không gian Độ 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 q2 thì bộ mã là nhị phân Khi q2 thì bộ mã không phải là nhị phân. Đặc biệt khi q2 b 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ó b 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 2 n tổ hợp nhị phân có độ dài n Trong đó ta có thể chọn ra
M từ mã (k0) hoặc âm (