20
 BÀI TP LỚ N MÔN KTHUT THÔNG TIN S Sinh viên: Nguyn Văn Vũ 1 CHƢƠNG1: TNG QUAN VMÃ HÓA KÊNH 1.1.Phân tích mã kênh 1.1.1Vtrí ca mã hóa kênh trong hthng thông tin s Mã hóa kênh là mt khâu rt quan trng trong hthng thông tin skhông dây  cùng vi mã hóa ngun, ghép kênh, điu chế,… để to ra mt tín hiu phù hp cho  vi c truy n d n vô tuy ế n và tín hi u đ ó có kh n ă ng đ i u khi n đượ c s sai bit và s a các l i x y ra n ế u có để có th khôi ph c l i g n nh ư nguyên d ng tín hi u tin  tc mà mình truyn đi.  Hình 1.1: Vtrí ca hóa kênh truyn trong hthng thông tin s. Mã hoá kênh: mc đích là làm gim xác sut sai thông tin khi truyn qua kênh truyn. Vic gim thiu xác sut sai da vào vic phát hin sai và sa sai có thdn đến vic gim tstín hiu trên nhiu (SNR) cn thiết nhđó gim được công sut, tiết kim n ă ng l ượ ng. Vi c s a sai h u hi u cho tín hi u SNR  nh s thu n l i cho vi c b o  mt, tri phvà tăng độ chính xác ca thông tin nhn- mc đích quan trng nht ca truyn thông.  Hình 1.1: V  ị trí c a mã hóa kênh trong hthố  ng thông tin số  1.1.2. Khái nim và phân loi mã hóa kênh  Khái nim: Mã hóa kênh là vi c đưa thêm các bit dư vào tín hiu s theo mt quy lut nào đó nhm giúp cho bên thu có th phát hin và thm chí sa đượ c li xy ra trên kênh truyn. 

so do sua loi

  • Upload
    anh-vu

  • View
    151

  • Download
    0

Embed Size (px)

Citation preview

Page 1: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 1/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 1

CHƢƠNG1: TỔNG QUAN VỀ MÃ HÓA KÊNH

1.1.Phân tích mã kênh

1.1.1Vị trí của mã hóa kênh trong hệ thống thông tin số 

Mã hóa kênh là một khâu rất quan trọng trong hệ thống thông tin số không dây  

cùng với mã hóa nguồn, ghép kênh, điều chế,… để tạo ra một tín hiệu phù hợp cho  

việc truyền dẫn vô tuyến và tín hiệu đó có khả năng điều khiển được sự sai

bit và sửa các lỗi xảy ra nếu có để có thể khôi phục lại gần như nguyên

dạng tín hiệu tin   tức mà mình truyền đi. Hình 1.1: Vị trí của mã hóa kênh truyền

trong hệ thống thông tin số. Mã hoá kênh: mục đích là làm giảm xác suất sai thông tin

khi truyền qua kênh truyền. Việc giảm thiểu xác suất sai dựa vào việc phát hiện sai vàsửa sai có thể dẫn đến việc giảm tỉ số tín hiệu trên nhiễu (SNR) cần thiết nhờ đó giảm

được công suất, tiết kiệm năng lượng. Việc sửa sai hữu hiệu cho tín hiệu SNR 

nhỏ sẽ thuận lợi cho việc bảo   mật, trải phổ và tăng độ chính xác của thông tin

nhận- mục đích quan trọng nhất của truyền thông. 

 Hình 1.1: V  ị trí củ a mã hóa kênh trong hệ thố  ng thông tin số  

1.1.2. Khái niệm và phân loại mã hóa kênh

  Khái niệm: Mã hóa kênh là việc đưa thêm các bit dư vào tín hiệu số theo một

quy luật nào đó nhằm giúp cho bên thu có thể phát hiện và thậm chí sửa đượ c

lỗi xảy ra trên kênh truyền. 

Page 2: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 2/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 2

Trong các hệ thống truyền số liệu thì có 2 cơ chế sửa lỗi:

+ Cơ chế ARQ: Cơ chế yêu cầu phát lại số liệu một cách tự động( khi phát hiện sai)

cơ chế này có 3 dạng cơ bản như sau: 

  Cơ chế ARQ dừng và chờ (stop and wait ARQ) 

  Có chế ARQ quay ngượ c N vector (N go back ARQ)

  Cơ chế ARQ chọn lựa việt lặp

+Cơ chế FEC (Forward Error Control): phát hiện và tự sửa sai sử dụng các loại mã

sửa lỗi.

  Khi có sai đơn (sai 1 lỗi) người ta thườ ng dùng các loại mã như mã khối tuyên

tính, mã hamming, mã vòng...

  Khi có sai chùm (sai trên 2 lỗi) ngườ i ta thườ ng dùng các loại mã như: mã

BCH, mã tích chập, mã Trellis, mã Tubor, mã Tubor Block, mã tổng hợ p GC...

Một hệ thống có thể khắc phục lỗi bằng cách gửi một yêu cầu cho bên phát gửi

lại tín hiệu nếu phát lỗi, đó là chế độ ARQ. Nhưng việc này chỉ thích hợ p cho các hệ 

thống truyền dẫn hữu tuyến và một số hệ thống vô tuyến không yêu cầu về thờ i gian

trễ. Thay vào đó, vớ i các hệ thống thông tin không dây ngày nay, ngườ i ta hay sử 

dụng một loại mã có thể phát hiện và khắc phục lỗi một cách tự động. Việc này sẽ làm

giảm thiểu thờ i gian trễ so vớ i các hệ thống yêu cầu truyền lại. Bộ  mã này thườ ng

đượ c gọi là mã điều khiển lỗi(EEC), hay mã hóa kênh truyền

  Phân loại mã hóa kênh

Lý thuyết mã hóa đại số đượ c chia ra làm 2 loại mã chính:

  mã khối

  mã xoắn

Trong mỗi loại mã lại đượ c phân chia thành 2 nhánh nữa đó là mã tuyến tính

(Linear codes) và mã không tuyến tính( Nonlinear codes). Trong thực tế,các loại mã

không tuyến tinh không đượ c ứng dụng nhiều.

Page 3: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 3/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 3

1.1.3. Khái quát về mã khối và mã xoắn

a. Mã khối

Mã khối là loại mã có các bit thông tin tạo thành dãy thông tin có chiều dài cố 

định. Dãy bit tin có chiều dài cố định này đượ c gọi là message, mỗi message đượ c kí 

hiệu là u gồm k bit thông tin. Như vậy sẽ có tổng cộng 2 k  message khác nhau và

chúng có thể đượ c hiểu là các bộ vector k thành phần, trong đó mỗi thành phần vector

là “0” hoặc “1”. Bộ mã hóa sẽ ánh xạ theo một quy luật nào đó từ một message U

thành một vector V có n thành phần( n>k). V đượ c gọi là từ mã của message U. Ứ ng

vớ i 2 k  message U thì sẽ có 2 k  từ mã V khác nhau. Tập 2 k  từ mã này đượ c gọi là một

mã khối. Để mã khối hữu hiệu thì 2 k  từ mã khối hữu hiệu thì 2 k  từ mã luôn là các từ 

mã phân biệt. Mỗi từ mã có n bit nên sẽ có tối đa 2 n từ mã khác nhau, tuy nhiên mã

khối đượ c tạo ra để sử dụng 2 k  trong tổng số 2 n từ mã có thể này vì thế sẽ có 2 n -2 k   

từ mã và chúng đượ c gọi là các từ mã cấm.

 Hình 1.2: Mã khố i hệ thố  ng (n,k)

Phân loại mã khối:

  Mã khối tuyến tính (linear block code) còn đượ c gọi là mã nhóm (group code) :

có các từ mã tương ứng 1-1 vớ i các phần tử thuộc nhóm toan học. Mã tuyến

tính có chứa từ mã gồm toàn số 0 và có tính chất đóng, chẳng hạn đối vớ i mã

tuyến tính nhị phân, vớ i cả hai từ mã Ci và Cj bất k ỳ, ta luôn có Ci+Cj=Ck cũng

là một từ mã. Việc chứa toàn số 0 và có tính chất đónglàm cho việc tính toán

đối vớ i mã tuyến tính đặc biệt dễ dàng.

  Mã vòng (cyclic code) là một lớ p con của mã khối tuyến tính không có các từ 

mã gồm toàn số 0. Mã khối tuyến tính đượ c gọi là mã vòng nếu sau một lần

dịch vòng một từ mã thì cũng đượ c một từ mã thuộc cùng một bộ mã.

Page 4: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 4/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 4

  Mã Golay là một loại mã vòng sửa đượ c sai nhiều lỗi. Mã Golay (23, 12) có

khả năng sửa đượ c 3 lỗi cho từ mã dài 23 bit. Mã Golay đượ c phát minh vào

năm 1949 và đượ c nhiều chuyên gia quan tâm nghiên cứu tớ i cấu trúc và cơ chế 

giải mã. Thực tế, đang có 2 phương pháp giải mã đó là phương pháp Kasami và

giải mã tìm kiếm hệ thống (systematic search decoding). Mã Golay (23, 12)

đượ c sử dụng khá phổ biến trong một số hệ thống thông tin.

  Mã BCH nhị phân ( Binary BCH code) là một loại mã vòng đượ c

Hocquenghem tìm ra năm 1959 sau đó đượ c Bose và Chaudhuri tìm ra một

cách độc lập vào năm 1960. Mã BCH có thể sửa đượ c t lỗi trong từ mã dài n

bit, vớ i n=2 m -1, n-k<=mt.

  Mã RS đượ c Reed và Solomon giớ i thiệu lần đầu tiên vào năm 1960. Theo lý

thuyết mã, có thể xem mã RS là mã BCH nhị  phân. Mã RS đượ c tổ chức theo

ký tự, mã này tạo thành n ký tự vớ i mỗi ký tự dài m bit tùy thuộc vào ứng dụng

cụ thể. Một đặc điểm quan trọng của mã RS là khả năng sửa lỗi chùm. Mã RS

sử dụng rộng rãi trong các đầu CD và trong bộ nhớ máy tính.

  Mã hamming là một trườ ng hợp riêng đơn giản nhất của mã BCH nhị phân. Mã

này được R.W.Hamming đưa ra và đượ c sử dụng trong một số hê thống thông

tin, mã này có khả năng sửa đượ c 1 lỗi.

b. Mã xoắn( mã chập)

  Mã xoắn ( convolution code) là một loại mã sửa lỗi đượ c miêu tả bở i 3 số 

nguyên (n,m,k). Trong đó k là số  bit đượ c dịch vào trong thanh ghi dịch tại mỗi

thời điểm, n là tổng số bit trong một từ mã ở lối ra của bộ lập mã, m là độ dài

hạn chế (constraint length), tham số này mô tả số tầng của thanh ghi dịch.

Trong mã xoắn, mỗi dãy k bit thông tin đượ c ánh xạ thành một dãy lối vào kênh

có độ dài n, song lối vào kênh không chỉ phụ thuộc vào k bit thông tin mà còn

phụ thuộc vào cả (M-1)k bit lối vào cuối cùng của mã. Vì vậy, có thể xem mã

chập là mã có nhớ, đó là điểm khác biệt cơ bản của mã chập so vớ i mã khối.

  Mã chập được Elias đề xuất lần đầu tiên vào năm 1955. Sau đó, Wozencraft

đưa ra một thuật toán giải mã tương đối hiệu quả. Năm 1963,Massey đưa ra

Page 5: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 5/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 5

cách giải mã ít hiệu quả hơn nhưng lại dễ thực hiện hơn. Năm 1967, Viterbi đã

đưa ra thuật toán giải mã tối ưu đượ c gọi là thuật toán Viterbi. Từ đây, mã chập

đượ c ứng dụng rộng rãi trong ngành viễn thông.

1.2. Phân tích mã khối tuyến tính 

1.2.1Giớ i thiệu:

`Trướ c khi tìm hiểu về cơ sở  và phương pháp biểu diễn của mã khối tuyến tính,

hãy xem xét thế nào là mã khối.Giả sử rằng đầu ra của tin là dãy các bit nhị  phân “0”

và “1”. Trong trườ ng hợ p mã khối, dãy thông tin nhị  phân đượ c chia thành dãy các

thông tin có chiều dài cố định, thường đượ c gọi là message .Mỗi message, kí hiệu là u

gồm có k bit thông tin .Vậy tổng cộng có 2k 

message khác nhau và chúng có thể đượ c

thể hiện là các bộ vector k thành phần vector là “0” hoặc “1”. Bộ phận mã hóa theo

một quy luật nào đó sẽ ánh xạ message u thành một vector n thành phần (n-tuples) v

(n>k). v đượ c gọi là từ mã(hay vector mã) của message u. Ứ ng vớ i 2k message sẽ có 2

k  

từ mã khác nhau.Tập 2k 

từ mã này đượ c gọi là một mã khối. Để mã khối hữu hiệu ,2k  

từ mã luôn là từ mã phân biệt. Do đó sẽ có một ánh xạ 1:1 giữa một message u và một

từ mã v.

Đối vớ i một mã khối có 2k 

từ mã và mỗi từ mã có chiều dài n, việc lưu lại bảng

mã để phục vụ cho việc giải mã để phục vụ cho việc giải mã khó khăn đặc biệt khi 2k  

lớ n. Do đó có một loại mã có cơ chế hoạt động dễ dàng hơn, có thể áp dụng vào thực

tế, đó là mã khối tuyến tính. Vớ i cấu trúc của mã khối tuyến tính, sự phức tạp của quá

trình mã hóa và giải mã giảm đi rất nhiều

 Định nghĩa mã khố i tuyế  n tính:Một mã khối có chiều dài n gồm 2k từ mã

đượ c gọi là mã tuyến tính C(n, k) nếu và chỉ nếu 2k từ mã hình thành một không gian

vectơ con k chiều của không gian vectơ n chiều gồm tất cả các vectơ n thành phần trên

trườ ng GF(2).

Trường GF(2) (Galois Field (2)) là trườ ng nhị  phân đồng thờ i phép cộng là

phép cộng modul 2 (kí hiệu là⊕), còn phép nhân là phép và (AND). Cụ thể 

0⊕ 0=0 0⊕ 1=1 1⊕ 0=0 1⊕ 1=0

0.0=0 0.1=0 1.0=0 1.1=1

Page 6: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 6/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 6

Mã tuyến tính C (n, k) có mục đích mã hoá những khối tin (hay thông báo) k bit

thành những từ mã n bit. Hay nói cách khác trong n bit của từ mã có chứa k bit thông

tin. Các phần tiếp theo sau sẽ trình bày cách biểu diễn mã, cách mã hoá các thông báo

thành từ mã, cách giải mã từ từ mã thành thông báo, cách phát hiện sai và sửa sai.

Qui ƣớ c: Để đơn giản sau này chúng ta sẽ viết dấu + thay cho dấu⊕ và dấu +

sẽ đượ c hiểu theo ngữ cảnh. 

Mã khối tuyến tính là tuyến tính khi và chỉ khi k ết quả cộng modul-2 của 2 từ 

mã cũng là một từ mã

1.2.2.Ma trận sinh

Mã tuyến tính C (n, k) là một không gian con k chiều của một không gian vectơ n thành phần. Do vậy có thể tìm đượ c k từ mã độc lập tuyến tính trong C chẳng hạn

(g0, g1 ,...., gk  – 1) trong C. Mỗi từ mã trong C là một tổ hợ p tuyến tính của k từ mã độc

lập tuyến tính này:

v = u0g0 + u1g1 + …. + uk-1gk-1

vớ i uo = 0 hoặc bằng 1 và 0 i <k 

Đặt k từ mã độc lập tuyến tính này thành những hàng của ma trận cấp k x n như

sau:

00 01 0.( 1)0

10 11 1( 1)1

( 1)0 ( 1).1 ( 1)( 1)1

n

n

k k k nk 

g g gg

g g ggG

g g gg

 

Vớ i gi = (gi0, gi1, ….., gi(n-1)) vớ i 0 i <k 

Nếu u = (u0, u1, ….., uk-1) là thông tin cần đượ c mã hóa, các từ mã đượ c tạo ra

là v đượ c tính toán theo công thức:

0

1

0 1 k-1

1

u x G=(u , u ,....., u )

g

gv

g

(2)

Page 7: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 7/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 7

Rõ ràng các hàng của G tạo ra từ mã V. Vì lý do này G đượ c gọi là ma trận sinh

(generating matrix) của C.

Chú ý rằng bất kì từ mã độc lập tuyến tính nào cũng có thể dùng làm ma trận

sinh cho từ mã.Từ công thức trên ta thấy rằng một mã tuyến tính (n,k) hoàn toàn đượ c

xác định bởi k hàng độc lập tuyến tính của G. Vì vậy bộ tạo mã chỉ chứa k hàng của G

và tạo thành một tổ hợ p tuyến tính của k hàng cơ bản này trên hàng thông tin nhập vào

u= 0 1 k-1(u , u ,....., u )

Ví dụ:

0

1

1

1 1 0 1 0 0 0

0 1 1 0 1 0 0G=

1 1 1 0 0 1 0

1 0 1 0 0 0 1k 

g

g

g

 

Nếu (1 1 0 1) là thông tin sẽ đượ c mã hóa , từ mã tương đương của nó theo

công thức (2) sẽ là:

v= 1.g0 + 1.g1 + 0g2 + 1g3

= (1 1 0 1 0 0 0) + (0 1 1 0 1 0 0) + (1 0 1 0 0 0 1)

= (0 0 0 1 1 0 1)

Cấu trúc của từ mã khối tuyến tính hệ thống:

Phần kiểm tra dư thừa Phần thông tin

n-k con số k con số 

Một từ mã đượ c chia làm 2 thành phần là phần thông tin (message) và phần

kiểm tra dư thừa (ređunant checking). Phần thông tin gồm có k bit thông tin nằm ở bên

phải và kiểm tra dư thừa gồm n-k kiểm tra thêm nằm ở bên trái. Mã khối tuyến tính có

Page 8: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 8/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 8

cấu trúc như vậy gọi là mã khối tuyến tính hệ thống (linear systematic block code-hình

trên). Một mã khối tuyến tính (n, k) đượ c biểu diễn bở i ma trận G (n,k) như sau: 

00 01 0( 1)0

10 11 1( 1)1

( 1)0 ( 1)1 ( 1)( 1)1

x

100...0

010...0

000...1

n

n

k k k nk 

k k P

 p p pg

 p p pgG

 p p pg

 

Vớ i Pij=0 hoặc bằng 1. Gọi Ik  là kí hiệu của ma trận đơn vị k x k xác định. Khi

đó: 

G=[P | Ik ]

Cho u= 0 1 k-1(u , u ,....., u ) là thông tin được mã hóa tương tự là:

v= (v0, v1,…….., vk-1)

v= 0 1 k-1(u , u ,....., u ) .G

Từ 2 công thưc trên ta có: 

Vn-k+1=ui, 0 i<k 

Và v j =u0p0j + u1p1j + ……+uk-1p (k-1)j

Trong công thức trên k con số bên phải của từ mã v chính là các bit thông tin

0 1 k-1(u , u ,....., u ) cần đượ c mã hóa, n-k con số thừa bên trái là tổng tuyến tính của vùng

thông tin. Công thức trên đượ c gọi là công thức kiểm tra chẵn lẻ.

1.2.3.Ma trận kiểm tra chẵn lẻ 

Cho bất kì ma trận G(k x n) với k hàng độc lập tuyến tính luôn tồn tại ma trận

H((n-k) x n) vớ i n-k hàng độc lập tuyến tính.

Nếu ma trận sinh có mã tuyến tính (n, k) thì ma trận kiểm tra chẵn lẻ có dạng

như sau: 

Page 9: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 9/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 9

00 01 0( 1)

10 11 1( 1)

( 1)0 ( 1)1 ( 1)( 1)

100...0

010...0

000...1

n

nT n k 

k k k n

kxk  P

 p p p

 p p p H I P

 p p p

 

PT

là ma trận chuyển vị của ma trận P. Gọi h j là hàng thứ j của ma trận H.

Chúng ta có thể dễ dàng kiểm tra k ết quả bên trong hàng thứ i của ma trận G và kiểm

tra hàng thứ j của H là gi.hj = pij + pij = 0 vớ i 0 j<k-1

 Như vậy G.HT =0 Hơn nữa hàng của h là độc lập tuyến tính, vì vậy ma trận

kiểm tra chẵn lẻ trong công thức(4.7) của ma trận tuyến tính (n, k) đượ c sinh bở i ma

trận G trong công thức 4.4. Công thức kiểm tra chẵn lẻ 4.6b cũng nhận đượ c từ ma

trận H cho u= 0 1 k-1(u , u ,....., u )   là thông tin đượ c mã hóa dạng hệ thông của từ mã tương

ứng là v=(v0, v1,…….., vk-1, 0 1 k-1(u , u ,....., u ) Vớ i v.H

T =0 thu đượ c

Và v j =u0p0j + u1p1j + ……+uk-1p (k-1)j 

Biểu diễn lại công thức 4.7 nhận đươc công thức kiểm tra chẵn lẻ tương đương

vớ i công thức 4.6b Vì vậy mã tuyến tính (n, k) hoàn toàn được xác định bở i ma trận

kiểm tra chẵn lẻ.

1.2.4. Cách phát hiện và sử a sai

Ứ ng dụng k ết quả trên vào vấn đề phat hiện sai, chúng ta thấy rằng:

Nếu v là một từ mã đượ c sinh ra từ ma trận sinh G có ma trận trực giao tương ứng là H

thì do v là một tổ hợ p tuyến tính của các vecto hang của G nên

0t 

v h 0t 

v h  

Và ngượ c lại nếu 0t v h thì v phải là một tổ hợ p tuyến tính của các vecto hàng của

G do đó v là một từ mã

Syndrome-vecto sửa sai(corector): T v H   

T v H   thường đượ c gọi là syndrome hay vecto sửa sai của v và ký hiệu là s(v). Vậy

chúng ta có là từ mã khi và chỉ khi s(v) = 0

Page 10: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 10/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 10

Vớ i tính chất này chúng ta thấy H có thể được dùng để kiểm tra một tổ hợ p có

phải là từ mã không hay nói cách khác H có thể được dùng để phát hiện sai. Vì lý do

này mà ma trận H còn gọi là ma trận kiểm tra.

Ma trận kiểm tra của một bộ mã có ma trận sinh k nG là ma trận h có kích thướ c

(n-k) n sao cho: 0T G H   

Ví dụ: Tìm ma trận kiểm tra tương ứng ma trận sinh

1 1 0 1 0 0 0

1 0 1 1 1 0 0

0 1 0 0 0 1 1

1 0 1 0 0 0 1

G

 

Chúng ta thấy ma trận kiểm tra cần tìm phải có kích thướ c 3 7. Gọi h= (

1, 2, 3 4 5 6, , ,a a a a a a ) là một hàng bất k ỳ của H. Vì h trực giao vớ i mọi vecto hàng của G

nên chúng ta có hệ bốn phương trình sau tương ứng vớ i 4 hàng của G

0 1 3

0 2 3 4

1 5 6

3 4 5 6

6

0 1 2

0 2 6

0

0

0

, , ,

,

, ,

0

a a a

a a a a

a a a

a a a a

a a

a a a

a a a

 

Vấn đề là bây giờ  chúng ta làm sao tìm được 3 vecto hàng độc lập tuyến tính là

nghiệm của hệ  phương trình trên. Chú ý, hệ  phương trình trên có thể cho phép chúng

ta giải bốn biến theo 3 biến còn lại. Chẳng hạn chúng ta giải 3 4 5 6, , ,a a a a theo 0 1 2, ,a a a  

như sau: 

3 0 1

4 1 2

5 0 1 2

6 0 2

a a a

a a a

a a a a

a a a

 

`Chú ý phép cộng,+, ở  đây chính là phép cộng, ,trong GF(2) như đã quy ướ c trong

GF(2) phép trừ - hoàn toàn giống phép cộng.

Page 11: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 11/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 11

Bây giờ  chúng ta cho (0 1 2, ,a a a ) lần lượ t các giá trị (1,0,0),(0,1,0),(0,0,1) thì

chúng ta sẽ xác định đượ c( 3 4 5 6, , ,a a a a ) lần lượt như sau(1,0,1,1), (1,1,1,0), (0,1,1,1).

Vậy chúng ta có ma trận H như sau 

3 7

1 0 0 1 0 1 1

0 1 0 1 1 1 0

0 0 1 0 1 1 1

 H 

 

Chú ý: Các ma trận kiểm tra khác nhau của cùng một bộ mã đều có khả năng kiểm tra

như nhau tức là đều có thể giúp chúng ta phát hiện một tổ hợ p có phải là từ mã hay

không.Đối vớ i ma trận sinh hệ thống thì việc xác định ma trận kiểm tra dễ hơn nhiều,

dựa trên bồ đề sau:

Bồ đề :

Nều ma trận sinh hệ thống của một mã tuyến tính hệ thống có dạng:

|k n kk   k n k 

G I P  

Thì: |T 

k n n k n k   H P I n k n k 

là một ma trận kiểm tra của mã .

Tương tự nếu ma trận sinh có dạng :

|k n kk  k n k G P I 

 

Thì ma trận kiểm tra có dạng

|

k n n k n k   H I n k n k P

 

Trong đó  I n k n k  là ma trận dơn vị  kích thướ c n k n k   , còn

k n k P là ma trận chuyền vị của ma trận k n k P  

Page 12: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 12/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 12

CHƢƠNG 2 :QUÁ TRÌNH LẬP MÃ & GIẢI MÃ KHỐI TUYẾN TÍNH

2.1. Lập mã

Sơ đồ khối mạch tạo mã khối tuyến tính (7,4):

Nguyên lý hoạt động của mạch tạo mã khối: Các bít tin mã hóa đượ c chuyển

vào thanh ghi thông tin và đồng thời được đưa ra kênh truyền. Sau khi toàn bộ thông

tin đượ c nhập vào thanh ghi thông tin, các bit kiểm tra đượ c hình thành tại đầu ra của

bộ cộng modul-2 các bit kiểm tra đượ c chuỗi hóa và chuyển vào kênh.Ta có thể nhận

thấy rằng sự phức tạp của mạch lập mã tỉ lệ tuyến tính vớ i chiều dài của mã.

Ta viết lại quan hệ giữa các bit tin và bit kiểm tra ở  trên như sau: 

P1 = 1I1 0I2

1I3 1I4 

P2= 1I1 1I2 0I3 1I4

P3= 1I1 1I2 1I3 0I4

Ta có ma trận :

Page 13: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 13/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 13

P =

1

2

3

P

P

P

=

1011

1101

1110

 

Từ các phương trình này ta rút ra đượ c ma trận kiểm tra H:

H =

1111000

01101000001

1010010

1100001

 

Trong đó:

  3 cột đầu của ma trận H là ma trận đơn vị I(3,3) 

  4 cột cuối là hệ số của các bit tử I1 đến I4 

Từ ma trận kiểm tra H ta sẽ lập đượ c ma trận sinh G bằn cách k ết hợ p ma trận đơn

vị 4x4 vớ i ma trận hoán vị của P như sau: 

G =

1111000

0110100

1100001

 

Nhờ  ma trận sinh G ta sẽ  tính toán đượ c các từ mã v bằng cách nhân các vector

hàng u biểu diễn các dãy bit vớ i ma trận sinh G ( v=u.G). Theo bài ra ta có dãy bit từ 

đầu vào là: 0001011010011101 và ta cần lập mã khối (7,4) vì thế ta sẽ chia vectơ này

thành 4 vector hàng lần lượ t là: 0001;0110;1001;1101.

Vớ i dãy bit là 0001 thì từ mã đượ c tạo ra là:

v=

1111000

01101000001

1010010

1100001

=110001

Lần lượ t vớ i các dãy bit tin ta lập đượ c các từ mã tương ứng:

  Vớ i dãy bit tin 0110 ta lập đượ c từ mã 1100110

  Vớ i dãy bit tin 1001 ta lập đượ c từ mã 0011001

Page 14: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 14/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 14

  Vớ i dãy bit tin 1101 ta lập đượ c từ mã 0001101

Nhận xét: Ta nhận thấy rằng k ết quả của u.G chính là vector biểu diễn cho từ mã (7,4)

gồm 7 bít trong đó: 

  3 bit đầu là 3 bit kiểm tra P1 P2 P3

  4 bit cuối là 4 bit tin I1 I2 I3 I4

Dạng tín hiệu chuỗi bit đầu vào 1011010011101 như sau :

Sau khi chuỗi bit đã đượ c mã hoá ta có dạng tín hiệu như sau : 

Page 15: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 15/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 15

Code tạ o mã bằ ng matlab: 

n=7,k=4; 

msg=[0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1]; 

genmat = [1 1 1 1 0 0 0;0 1 1 0 1 0 0; 1 0 1 0 0 1 0;1 1 0 0 0 0 1]; code=encode(msg,n,k,'linear',genmat); 

disp('msg') 

disp(msg) 

disp('genmat') 

disp(genmat) 

disp('code') 

disp(code) 

2.2.Phần giải mã 

Ta có số cột phụ thuộc tuyến tính của ma trận H là 3 vì vậy bộ giải mã tương

ứng sẽ có khoảng cách hamming là d=3 do đó mã có thể phát hiện sai tối đa là 2 bit và

sửa sai đượ c tối da là 1 bit. Công việc giải mã đượ c tiến hành gồm các bước như sau : 

Bướ c 1: Tính syndrome S= e.HT

của r

Bướ c 2: Dò tìm coset learder eI co syndrome vớ i s

Bướ c 3:Giải mã vectơ nhận đượ c r thành từ mã ban đầu Vi = ei + r

Quá trình giải mã đượ c thực hiện như sau: Gọi r=(r1 r2 r3 r4 r5 r6 r7 ) là vectơ thu đượ c từ kênh truyền.

S=r.HT

= (r1 r2 r3 r4 r5 r6 r7 ) .

1 0 0

0 1 0

0 0 1

1 1 1

0 1 1

1 0 1

1 1 0

= 1 2 3S S S  

Trong đó :1 1 4 6 7

2 2 4 5 7

3 3 4 5 6

S r r r r  

S r r r r  

S r r r r  

 

Page 16: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 16/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 16

 Sơ đồ sử  a l ỗi như sau: 

Page 17: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 17/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 17

Từ bảng này ta sẽ xác định được các syndrome tương ứng vớ i các từ mã nhận

đượ c từ  đó sẽ  xác định đượ c các từ  mã đúng. Cụ thể nếu từ mã nhận đượ c là:

r=0100001 thì tra bảng trên ta sẽ thấy syndrome tương ứng vớ i r là 001, sai ở bit thứ 

nhất. Khi đó từ mã đúng sẽ là:

V*=0100001+1000000=1100001

Tương tự như vậy ứng vớ i các từ mã nhận đượ c ở các cột số 4,5,6,7 của bảng

coset thì ta sẽ tìm được các syndrome tương ứng và tìm đượ c từ mã đúng. 

Code matlab mo phong cong viec giai ma:

%giai ma 

m = 3; n = 2^m-1; k = n-m; 

genmat=[1 1 1 1 0 0 0;0 1 1 0 1 0 0;1 0 1 0 0 1 0;1 1 0 0 0 0 1]; 

disp('genmat') 

disp(genmat) 

parmat = gen2par(genmat); % tao ma tran kiem tra 

disp('parmat') 

disp(parmat) 

trt = syndtable(parmat); % bang giai ma 

disp('trt') 

disp(trt) 

recd = [0 0 1 1 1 0 1] % vector nhan

syndrome = rem(recd * parmat',2); 

Page 18: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 18/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 18

syndrome_de = bi2de(syndrome,'left-msb'); % Convert to decimal. 

corrvect = trt(1+syndrome_de,:)%vector loi 

%vector giai ma

correctedcode = rem(corrvect+recd,2)

% kha nang sua loi cua ma khoi tuyen tinh 

k = input('so bit tin dau vao, k = '); 

r = input('so bit thua, n-k = '); 

n = k+r; 

t = 0;

test = 0;while test ~= 1 

S = 0; 

for i=0:t 

S = S + nchoosek(n,i); 

end 

if 2^(n-k) >= S 

t = t+1; 

else 

t=t-1; 

test = 1; 

end 

end 

fprintf('so bit loi toi da sua duoc t = %d\n',t); 

Page 19: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 19/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 19

KẾT LUẬNTrong bài tập lớn này chúng em đã trình bày một cách tổng quan về mã hóa

kênh và đi sâu vào nghiên cứu, phân tích, mô phỏng mã khối tuyến tính. Qua đó đã 

giúp chúng em có cái tổng quát hơn về hệ thống thông tin số và các loại mã hóa kênh

truyền. Mặc dù đã rất cố gắng, tuy nhiên do thờ i gian và kiến thức còn hạn chế nên

bài tập lớ n này chắc hẳn còn nhiều thiếu sót. Chúng em rất mong thày có những nhận

xét và góp ý để bài viết sẽ đạt k ết quả tốt hơn. Em xin chân thành cảm ơn. 

Page 20: so do sua loi

5/16/2018 so do sua loi - slidepdf.com

http://slidepdf.com/reader/full/so-do-sua-loi 20/20

 

BÀI TẬP LỚ N MÔN KỸ THUẬT THÔNG TIN SỐ 

Sinh viên: Nguyễn Văn Vũ 20

Tài liệu tham khảo:

[1]. Bài giảng k ỹ thuật thông tin sô- Phạm Việt Hưng 

[2].Các hệ thống thông tin số hiện nay- Proakis J.G và Salehim

[3]. Kỹ thuật truyền dẫn số- nhà xuất bản quân đội

[4].contemporary comumnication systems using matlab