Tải bản đầy đủ (.docx) (74 trang)

Nghiên cứu về giải mã chập dùng thuật toán viterbi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.48 MB, 74 trang )

NHIỆM VỤ ĐỒ ÁN
Nghiên cứu về giải mã chập dùng thuật toán Viterbi
Nội dung nghiên cứu gồm 4 chương:
Chương 1: Hệ thông tin và ảnh hưởng của môi trường đến hệ thông tin số.
Chương 2: Tìm hiểu về mã chập.
Chương 3: Giải mã chập dùng thuật toán Viterbi.
Chương 4: Mô phỏng.

1


LỜI CAM ĐOAN
Tôi xin cam đoan đồ án này do cá nhân em nghiên cứu và xây dựng nên,
được thực hiện dưới sự hướng dẫn của Thạc sỹ Trịnh Thị Diệp.
Các số liệu, những kết luận nghiên cứu được trình bày trong đồ án này trung
thực và chưa từng được công bố dưới bất cứ hình thức nào.
Em xin chịu trách nhiệm về nghiên cứu của mình.

Sinh viên thực hiện Dương Thị Thuyến

2


MỤC LỤC

DANH MỤC HÌNH VẼ

3


Hình 3.14. Tại thời điểm t = 9..




DANH MỤC BẢNG BIỂU


THUẬT NGỮ VIẾT TẮT
ASK

Amplitude Shift Keying

Điêu chê khỏa dịch biên

PSK

Phase Shift Keying

Điều chế khóa dịch pha

BPSK

2_ary Phase Shift Keying
Điều chế dịch pha 2 trạng thái

QAM

Quadrature Amplitube Modulation
Điêu chê biên độ câu phương

ISI


Inter Symbol Interference

Nhiễu liên ký hiệu

PAM

Pulse Amplitude Modulation

Điều chế biên độ xung

DS - CDMA

Direct Spread - Code Division
Multiple Access

OFDM

Phương pháp trải phổ chuỗi
trực tiếp đa truy nhập theo mã

Orthogonal Frequency Division

Ghép kênh phân chia theo tần

Multiplexing

số trực giao

GI


Guard Interval

Khoảng bảo vệ

ARG

Automatic Repeat Request

Kiểm soát lỗi

Global System for Mobile

Mạng thông tin di động toàn

Communications
Maximum Likelihood

cầu

GSM
ML

Thuật giải mã giống nhau lớn
nhất

GUI

Graphic User Interface

Giao diện người dùng đồ học


AWGN

Additive White Gaussian Noise

Nhiễu Gauss trắng

BER

Bits Error Rate

Tỷ lệ lỗi bit

MỞ ĐÀU
Cùng với sự phát triển của khoa học và công nghệ phục vụ cho cuộc sống
của con người, công nghệ viễn thông trong những năm qua đã có những bước phát
triển mạnh mẽ cung cấp ngày càng nhiều tiện ích cho con người.
5


Thế kỷ 21 chứng kiến sự bùng nổ thông tin, trong đó thông tin di động đóng
một vai trò rất quan trọng. Nhu cầu trao đổi thông tin ngày càng tăng cả về số
lượng, chất lượng và các loại hình dịch vụ kèm theo, điều này đòi hỏi phải tìm ra
phương thức trao đổi thông tin mới ngày càng ưu việt và mang lại hiệu quả cao hơn.
Các công nghệ di động và viễn thông ngày một phát triển nhanh chóng để hướng tới
mục đích tăng tốc độ cũng như chất lượng của các dịch vụ nhằm đáp ứng nhu cầu
ngày càng cao của con người về các thiết bị không dây bỏ túi.
Một trong những khâu quan trọng nhất của việc thông tin không dây đó là
việc truyền và nhận tín hiệu. Điều này cần thiết phải có một loại mã hóa dành riêng
cho kênh truyền có khả năng sửa chữa sai sót của tín hiệu truyền đi do các tác động

của môi trường. Các hình thức được sử dụng để mã hóa kênh truyền trước đó đều có
những khuyết điểm nhất định trong việc khôi phục dữ liệu bị sai sót trên đường
truyền, thường chỉ có khả năng phát hiện lỗi và báo về bên phát để thực hiện truyền
lại tin tức bị sai đó. Điều này làm chậm quá trình truyền tin tức. Bộ mã hóa dùng
mã chập và thuật giải mã Viterbi là một chuẩn đang được ứng dụng rất rộng rãi
trên toàn thế giới với nhiều ưu điểm vượt trội so với các hình thức trước đó, ngoài
khả năng phát hiện lỗi tốt nhờ sự kiểm soát chặt chẽ tin tức truyền đi, nó còn có khả
năng tự khôi phục các tin tức bị sai trong quá trình truyền trên kênh truyền. Điều
này giúp giảm thiểu tối đa thời gian truyền nhận tin tức, do đó tốc độ dữ liệu ngày
một được nâng cao. Tuy vẫn còn một số hạn chế nhất định trong việc khôi phục các
đoạn tin tức sai hàng loạt, nhưng thuật toán Viterbi vẫn là sự lựa chọn ưu tiên và là
nền tảng cho việc phát triển các hình thức mã hóa và giải mã tốt hơn nữa hiện tại và
sau này.
Vì những ưu điểm nổi bật và tính ứng dụng cao của thuật toán này trong hiện tại và
tương lai của ngành viễn thông, dưới sự hướng dẫn của cô Trịnh Thị Diệp, em quyết
định chọn đề tài Đồ án tốt nghiệp “ẩ ghiên cứu về giải mã chập dùng thuật toán
Viterbi”.
Trong quá trình làm đồ án do kiến thức chuyên ngành còn có phần hạn chế,
nên không tránh khỏi những thiếu sót. Rất mong nhận được sự đóng góp của thầy
cô và các bạn để đồ án của em được hoàn thiện hơn.

CHƯƠNG 1: HỆ THÔNG TIN VÀ ẢNH HƯỞNG CỦA MÔI
TRƯỜNG ĐẾN HÊ THÔNG TIN SỐ
1.1. Khái quát về hệ thông tin trong truyền thông
Để hiểu rõ về hệ thông tin, ta đưa ra một mô hình tổng quát sau:

6


Hình 1.1. Mô hình hệ thống truyền tin.

ẩ hư ta đã biết, thông thường ở nguồn thông tin, dữ liệu sẽ được mã hóa
trước khi nó được đưa vào kênh truyền, mục đích của việc làm này là giảm thiểu lỗi
và nâng cao hiệu suất đường truyền cũng như làm giảm ảnh hưởng của một số tác
nhân không mong muốn như hiệu ứng đa đường, noỉse, nhiễu và nhiễu liên kí hiệu
(ISI).
Chúng ta có thể miêu tả tóm tắt của một quá trình truyền tin trong hệ thông
tin cơ bản như sau:
ẩ guồn thông tin là dữ liệu mà ta muốn gửi đến người đùng khác trong hệ
thông tin. Trước tiên, nguồn thông tin được cho đi qua một bộ mã hóa nguồn, sau
đó, dữ liệu này được đưa đến bộ mã kênh (sử dụng các bộ mã như Hamming,
Vỉterbỉ...) để mã hóa thành các từ mã cho mục đích giải mã, kiếm soát và sửa lỗi ở
bên thu. Kênh truyền là một trong những nguyên nhân chính gây ra lỗi cho tín hiệu
thu bởi vì nó chịu ảnh hưởng của các tác nhân không mong muốn như ồn, nhiễu liên
kí hiệu...do vậy, bộ mã kênh có thể đưa thêm các bỉt kiểm ưa vào chuỗi thông túi
nhằm giảm thiểu, phát hiện các lỗi ưong quá trình dữ liệu đi qua kênh truyền. Tiếp
đó, dữ liệu được điều chế trước khi truyền để hạn chế lỗi và nâng cao dung lượng
kênh truyền.
Để tín hiệu đầu ra bộ mã kênh phù hợp với kênh truyền, bộ điều chế được
thực hiện sắp xếp các chuỗi số đầu ra bộ mã kênh thành chuỗi dạng sóng phù hợp
với đặc tính kênh truyền. Để tăng tốc độ truyền, mỗi kí hiệu có thể mang nhiều bit
thông tin như hệ thống điều chế nhiều mức (QPSK, PSK, QAM...).
Sau khi điều chế, nó đuợc đưa lên kênh truyền. Kênh là phương tiện được sử dụng
để truyền tải tin như là kênh hữu tuyến, kênh vô tuyến, kênh sợi quang... Tuy nhiên,
kênh truyền lại là nơi chịu ảnh hưởng nhiều nhất của tạp nhiễu, hơn nữa, nếu chúng
ta xét trong truyền thông vô tuyến thì nó còn chịu tác động thêm của nhiều tác nhân
không mong muốn. Bên phía thu, một quá trinh ngược lại được tiến hành, bắt đầu từ
việc nhận tín hiệu, giải điều chế, sau đó đến giải mã kênh và giải mã nguồn để đưa
ra nguồn thông tin cuối cùng sao cho xác suất có lỗi trong nó là chấp nhận được.
7



Tùy theo yêu cầu đầu vào của bộ giải mã kênh, bộ giải điều chế tạo ra chuỗi nhị
phân. Sau đó, bộ giải mã kênh thực hiện đánh giá bản tin thu được nhằm làm giảm
ảnh hưởng của nhiễu và các hiệu ứng trên đường truyền lên chuỗi thông tin. Cuối
cùng, bộ giải mã nguồn sẽ giải mã chuỗi thông tin và đưa tới nơi nhận tin.
1.2.
Các tác nhân ảnh hưởng trong quá trình truyền thông
ẩ hư chúng ta đã biết, trong truyền thông có nhiều yếu tố ảnh hưởng đến quá
trình truyền tin như là ồn, nhiễu và nhiễu liên kí tự, hiệu ứng đa đường... Ở đây,
chúng ta sẽ tìm hiểu một số yếu tố này.
1.2.1.

Òn (noise)

Khi nhắc tới ồn, người ta thường gọi nó là âm thanh không mong muốn.
Trong cả truyền thông số cũng như tương tự, ồn là tác nhân gây ra nhiễu loạn trong
tín hiệu. Tín hiệu ồn có thể là ồn âm thanh nếu trong quá trình đàm thoại, hoặc có
thể là nhiễu tuyết trên hệ thống truyền hình. Ảnh hưởng của ồn là rất rõ rệt lên tín
hiệu, nó có thể ngăn chặn, làm thay đổi cũng như gây nhiễu loạn lên tín hiệu trong
quá trinh truyền thông. Tuy vậy, trong các hệ thống thông tin hiện nay, chúng ta
thường vẫn phải chịu tỉ lệ ồn ở một tỷ lệ nhất định, thông thường, tỉ số tín hiệu/ồn là
tỉ số đảm bảo cho hệ thống hoạt động tốt dù chịu ảnh hưởng của ồn ở tỉ lệ nhất định.
Khi nói về ồn không thể không nhắc đến ồn trắng. Ồn trắng là quá trình
thống kê, có hàm mật độ phổ công suất đều (không đổi) trên toàn bộ dải tần.

8


" 0(f)
No/2


0 +■
f
Hinh 1.2. Mật độ phổ công suất của nhiễu Gauss.
Ồn trắng là một loại nhiễu có hàm mật độ xác suất tuân theo phân bố Gauss.
Ồn trắng có thể do nhiều ngunhiễu khác nhau gây ra như thời tiết, do bộ khuếch đại
ở máy thu,do nhiệt độ, hay do con người. Tín hiệu thu do vậy được viết lại như sau:
Hình 1.3. Mô hình kênh cộng thêm nhiễu.
2.2.2.
Hiệu ứng Fading đa đường
Fading đa đường là một hiện tượng rất phổ biến trong truyền thông không
h(t>
x(t)
________

H{jaj
>

Tín hiệu thu

v(t)

Tín hiệu phát
dây gây ra do hiện tượng đa đường dẫn tới suy giảm cường độ và xoay pha tín hiệu
không giống nhau tại các thời điểm tại các tần số khác nhau. Tín hiệu vô tuyến
truyền qua kênh truyền vô tuyến sẽ lan tỏa trong không gian, đập vào các vật cản
phân tán rải rác trên đường truyền như xe cộ, nhà cửa, công viên, sông, núi, biển...
gây ra các hiện tượng sau đây:
- Phản xạ: khỉ sóng đập vào các bề mặt bằng phẳng.
- Tán xạ: khỉ sóng đập vào các vật có bề mặt không bằng phẳng và các vật

này có chiều dài so sánh được với chiều dài bước sóng.
- Nhiễu xạ: khi sóng va chạm với các vật có kích thước lán hơn nhiều chiều
dài bước sống.

9


1.2.5. Nhiễu liên kí hiệu (ISI)
Trong môi trường truyền dẫn đa đường, nhiễu liên ký hiệu (ISI) gây bởi tín
hiệu phản xạ có thời gian trễ khác nhau từ các hướng khác nhau từ phát đến thu là
điều không thể tránh khỏi. Ảnh hưởng này sẽ làm biến dạng hoàn toàn mẫu tín hiệu
khiến bên thu không thể khôi phục lại được tín hiệu gốc ban đầu.
ÀMPtlTEE

1

Hình 1.4. Minh họa khoảng thời gian của 1 kí hiệu và trải trễ tương ứng của kí
hiệu đó ở bên thu.
Trong chu kỳ đầu tiên của quá trình truyền dẫn, các tín hiệu nhận được có xu
AtofHit£E

hướng làm cho dài ra và bị lẫn vào nhau. Hình 1.5 chỉ ra dòng dữ liệu
1,1,

1,1,0, chuỗi dữ liệu mong muốn phát đi. Chuỗi dữ liệu này có dạng xung

vuông. Các xung vuông được mô tả trìu tượng và mang tính chất lý thuyết nhưng
trong thục tế chứng rất khó được tạo ra. Do đó chúng ta chỉ tạo ra được các xung
vuông có hình dáng giống như được chỉ ra ừong đường ngắt quãng như hình dưới
TIME


thể hiện chuỗi dữ liệu đã được mã hóa theo thực tế lối ra của bộ mã hóa.

/
Hình 1.5. Chuỗi 101101 được phát đi và đường đứt quãng là hình dáng thực tế
của nó.
Trong hình 1.6 chỉ ra mỗi kí hiệu nhận được. Chúng ta có thể xem môi
trường truyền dẫn tạo ra 1 phần trùng lấp lên nhau. Phần năng lượng của kí hiệu 1
và 2 trùng lên kí hiệu 3. Mồi kí hiệu gây nhiễu lên phần các kí hiệu khác.

1
0


AMHílTE 1j^g^eyŨEND 3^003
TO/SMBãS1 JVÕ 2

ỊNpCỊỊJX£ ỊNỊC SYMBCLA

P0.1 SM aas2AM3

3

Hình 1.6. Nhiễu liên kí hiệu tới kí hiệu 3 từ kí hiệu 1, 2 và tới kí hiệu 4 từ kí hiệu
2,3.
Ở hình 1.7 chỉ ra tín hiệu tại máy thu. Tín hiệu này là tổng của tất cả các kí
hiệu bị méo. So sánh tới đường nét gạch mà tín hiệu được phát, tín hiệu thu được
trông không hoần toàn rõ ràng. Máy thu không phân biệt được tín hiậu này, nó chỉ
ừồng như chấm nhỏ, giá trị của biên độ trong một khoảng thời gian. Đế ý rằng kí
hiệu 3, giá trị này chỉ khoảng Vi giá ứị được phát, giá trị tạo ra kí hiệu này thì nhạy

cảm hon đến nhiễu và sự thể hiện sai và hiện tượng này là kết quả của ứễ những kí
hiệu và trùng lên nhau.

AA*=1IU0E

Hình 1.7. Tín hiệu nhận được và tín hiệu thực tế được phát đi.
1.3. Một số phvơng pháp khắc phục
Trong các hệ thống đơn sóng mang, ISI là một vấn đề khá nan giải. Lí do là độ
rộng băng tần tỉ lệ nghịch với khoảng thời gian kí hiệu, do vậy, nếu muốn tăng
tốc độ truyền dữ liệu ừong các hệ thống này, tức là giảm khoảng kí hiệu, vô
hình chung đã làm tăng mức trải trễ tương đối. Lúc này hệ thống rất nhạy với
trải trễ. Và việc thêm khoảng bảo vệ khó triệt tiêu hết ISI. Để giảm nhiễu xuyên
âm người ta phải làm thế nào hạn chế dải thông mà vẫn không gây ra ISI. Khi
dải thông bị giới hạn, xung sẽ có đỉnh tròn thay vì đỉnh phẳng. Một trong
những phương pháp để loại bỏ nhiễu ISI là dùng cách tạo dạng xung thích
hợp như bộ lọc cos nâng.

1
1


1.3.1. Bộ lọc cos nâng

Hình 1.8. Sơ đồ khối của hộ lọc cos nâng.
Tín hiệu từ nguồn gồm có M phần tử, song chúng ta chỉ hạn chế khảo sát
trường hợp khi các phần tử Sị(t) của tập tín hiệu chỉ khác nhau về biên độ, tức là ta
sẽ hạn chế chỉ xét hệ thống điều chế biên độ xung PAM.
Thực tế hệ thống này có thể xem như gán cho mỗi một tin mk một hằng số
ak mà biên độ của xung đầu ra của bộ tạo xung sẽ được nhân với nó.
Ta hãy giả sử rằng bộ tạo xung cho ra các xung Dừăc tại các thời điểm t =

kTg. Các xung dạng dirac này có biên độ thay đổi tùy theo sự thay đổi các giá trị
rrik, qua bộ lọc T(œ) sẽ tói kênh truyền. Phần máy thu trên hình 1.8 là máy thu tối
ưu, thu lọc phối hợp, mạch quyết định thực hiện lấy mẫu và so ngưỡng. Hàm truyền
tổng cộng của hệ thống (đặc tính tần số tổng cộng của hệ thống) là tích của hai đặc
trưng của hai bộ lọc phát và thu C(G>) = T(©).R(ô>). Bây giờ chủng ta sẽ tìm kiếm
lóp các đặc tính lọc C(co) sao cho việc truyền chuỗi tín hiệu qua hệ thống sẽ không
có 1ST Việc truyền được coi là không có ISI nếu vào thời điểm quyết định tín hiệu
lấy mẫu thứ k, chỉ có phản ứng xung của tín hiệu thứ k là khác không còn phản ứng
của các tín hiệu khác đều bằng không.
Theo định lý Nyquist, độ rộng băng tần truyền dẫn nhỏ nhất để có thể truyền
được không méo tín hiệu băng gốc là B = 1/2.T. Độ rộng băng ở đây có nghĩa là dải
tần mà ngoài nó giá trị hàm truyền đồng nhất bằng không. Tần số 1/2T được gọi là
tần số Nyquist. Do vậy chúng ta sẽ xét các đặc tính lọc có độ rộng thông tần tối
thiểu là 1/2T (hay 7i/T tính theo tần số góc). Trước tiên ta hãy xem xét trường họp
C(CD) là đặc tính của bộ lọc thông thấp lý tưởng, tức là đáp tuyến pha của bộ lọc thì
tuyến tính còn đáp tuyến biên độ I C(CD)| CÓ dạng:
\r/m\\ = í1'
0 ^ M ^ (*>Q
\c(oi)\=ỊQ ' ;;; > n

c(t) =

sinú)0t
ù)0t

Bộ lọc này có phản ứng xung là:

1



Có giá trị cực đại bằng 1 tại t = 0 và có giá trị bằng 0 tạo t = kîi/cûo- Giả sử
rằng đầu vào bộ lọc lý tưởng này có tín hiệu được tạo bởi bộ tạo xung như trên hình
1.8, tức là tín hiệu lối vào bộ lọc T(oa)được cho bởi:
s(t) = ^ akS(t - kT)
k=-00

Trong trường hợp này, phản ứng xung đầu ra sẽ không gây nên ISI nếu tần
số cắt của bộ lọc là f0 = Cữ(j2ĩi = 1/2T.
Do đom giản trong tính toán, hàm số cong dạng cosine thường ưa được sử
dụng để phân tích các bộ lọc này. Hàm truyền tổng cộng khi đó có dạng:
Và phản ứng xung có dạng:
sinnt/T cosant/T
=
nt/T 1-4 a 2 t 2 /T 2
Hàm truyền liên tục thì có biên độ gọn sóng suy giảm theo luỹ thừa 3 của
biến t. Do vậy ngay cả khi đồng bộ không lý tưởng thì giá trị của phản ứng xung
đầu ra của các bộ lọc này sẽ bị chặn. Do đó, ISI sẽ nhỏ ngay cả khi đồng bộ không
lý tưởng.
1.3.2.

Bộ lọc ngang ép không
K’AUOU SỐ

At .'(Im)

LIỆU

BẬ LỌC

-►


KÊNH

PHÁT

TNIYÉU

Ị—*

BỘ LỌC CÂU
MUK KCNLI 4

t»=mT+
\ V(U)
*'(0------



Hình 1.9.
kênh.

Vị trí bộ lọc cân bằng

Theo hình trên ta có đáp ứng tần số của toàn hệ thống từ phát đến thu là:
H0(f)=H1(f).Hc(f)HE(f)
Với đáp ứng xung tổng họp
ho(f) =f[Ho(f)]
Đe thoả mãn điều kiện không có nhiẽu liên kí hiệu ISI thì
H ữ (f + f) = const
Tần số lấy mẫu tín hiệu bên thu là 1/T. Theo đó thì mật độ cân bằng lý

tưởng zero- ISI đom giản là một bộ lọc nghịch đảo đáp ứng tần số của bên phát và
kênh truyền. Bộ lọc đảo này thường được xấp xỉ bởi một bộ lọc FIR như hình vẽ
dưới.

13


Hình 1.10. Bộ lọc cân bằng kênh.
Đáp ứng xung của bộ lọc cân bằng kênh là:
N

hE(t) = ^ Cnỗ(t - nT)
n=-N

Đáp ứng tần số tương ứng là:
N

H E (f) = 2 Cne~i2ĩmTf
n=-N

Vấn đề của bộ lọc đảo chính là lựã chọn các hệ số của bộ lọc sao cho xấp xỉ
được điều kiện zero- ISI.
Trong môi trường truyền dẫn đa đường, nhiễu xuyên ký tự (ISI) gây bởi tín
hiệu phản xạ có thời gian trễ khác nhau từ các hướng khác nhau từ phát đến thu là
điều không thể tránh khỏi. Ảnh hưởng này sẽ làm biến dạng hoàn toàn mẫu tín hiệu
khiến bên thu không thể khôi phục lại được tín hiệu gốc ban đầu. Các kỹ thuật sử
dụng trải phổ trực tiếp DS-CDMA như trong chuẩn 802.11b rất dễ bị ảnh hưởng bởi
nhiễu đa đường vì thời gian trễ có thể vượt quá khoảng thời gian của một ký tự.
OFDM sử dụng kỹ thuật truyền song song nhiều băng tần con nên kéo dài thời gian
truyền một kỷ tự lên nhiều lần. Ngoài ra, OFDM còn chèn thêm một khoảng bảo vệ

(guard interval - GI), thường lớn hơn thời gian trễ tếỉ đa của kênh truyền, giữa hai
kỷ tự nên nhiễu ISI có thể bị loại bỏ hoàn toàn.
1.4.
Kêt luận chương
Trong chương 1 trình bày một số vấn đề như: khái quát về hệ thông tin, các
yếu tố ảnh hưởng của môi trưởng đến quá trình truyền thông, và một số biện pháp
khắc phục ảnh hưởng của môi trường đến quá trình truyền thông. Đây là những vấn
đề mang tính chất giói thiệu mở đầu cho đồ án, và mang nền tảng cho những
chương tiếp theo.

CHƯƠNG 2: TÌM HIỂU VỀ MÃ CHẬP

2.1.

Giới thiệu

2.1.1.

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

a) Khái niệm

14


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 đấy, nhằm giúp cho bên thu có thể phát hiện và thậm chí sửa được cả lỗi xảy ra
trên kênh truyền.
Một số 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 hiện 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 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 (ECC), hay chính xác hơn là FEC.
Mục đích của lý thuyết Mã hóa trên kênh truyền là tìm những mã có thể
truyền thông nhanh chóng, chứa đựng nhiều từ mã tự họp lệ và có thể sửa lỗi hoặc ít
nhất phát hiện các lỗi xảy ra. Các mục đích trên không phụ thuộc vào nhau, và mỗi
loại mã có công dụng tối ưu cho một ứng dụng riêng biệt. Những đặc tính mà mỗi
loại mã này cần còn tuỳ thuộc nhiều vào xác suất lỗi xảy ra trong quá trình truyền
thông.
Đối với một đĩa CD thông thường, lỗi trong âm thanh xảy ra chủ yếu là do
bụi và những vết xước trên mặt đĩa. Vì thế, các mã được lồng vào với nhau. Dữ liệu
được phân bổ trên toàn bộ mặt đĩa. Tuy không được tốt cho lắm, song một mã tái
diễn đơn giản có thể được dùng làm một ví dụ dễ hiểu. Chẳng hạn, chúng ta lấy một
khối số liệu bit (đại diện cho âm thanh) và truyền gửi chúng ba lần liền. Bên máy
thu, chúng ta kiểm tra cả ba phần lặp lại ở trên, từng bit từng bit một, rồi lấy cái nào
có số bầu cao nhất. Điểm khác biệt ở đây là, chúng ta không chỉ truyền gửi các bit
theo thứ tự. Chúng ta lồng nó vào với nhau. Khối dữ liệu này, trước tiên, được chia
ra làm 4 khối nhỏ. Sau đó chúng ta gửi một bit ở khối đầu tiên, tiếp theo một bit ở
khối thứ hai v.v tuần tự qua các khối. Việc này được lặp đi lặp lại ba lần để phân bổ
số liệu ra trên bề mặt đĩa. Trong ngữ cảnh của mã tái diễn đơn giản ở trên, việc làm
này hình như không được hiệu quả cho lắm.
Song hiện nay có những mã có hiệu ứng cao, rất phù hợp với việc sửa lỗi xảy ra đột
ngột do một vết xước hay một vết bụi, khi dùng kỹ thuật lồng số liệu nói trên.
Mỗi mã thường chỉ thích hợp cho một ứng dụng nhất định. Viễn thông trong
vũ trụ bị giới hạn bởi nhiễu nhiệt trong thiết bị thu. Hiện trạng này không xảy ra
một cách đột phát bất thường, song xảy ra theo một chu trình tiếp diễn. Tương tự
như vậy, modem vởỉ dải tần hẹp bị hạn chế vì nhiễu âm tồn tại trong mạng lưới điện
thoại. Những nhiễu âm này có thể được biểu hiện rỗ hơn bằng một mô hình tạp âm

tiếp diễn. Điện thoại di động hay có vấn đề do sự suy sóng nhanh chóng xảy ra. Tần
15


số cao được dùng có thể gây ra sự suy sóng tín hiệu một cách nhanh chóng, ngay cả
khỉ máy nhận chỉ dờỉ chỗ vài phân Anh. Một lần nữa, người ta hiện đã có một loại
mã hóa trên kênh truyền được thiết kế để đối đầu với tình trạng suy sóng.
2.1.2. Phần loạỉ 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ã chập
Chủng phân tích ba đặc tính sau của mã (nói chung) là:
- Chiều dài của mã.
- Tổng số các từ mã hợp lệ.
- Khoảng cách Hamming tối thiểu giữa hai tù mã hợp lệ.

Hình 2.1. Sự phân chia mã hóa kênh thành hai nhánh riêng biệt.
Trong mỗi loại mã lại được phân tách thành 2 nhánh nữa đó là mã tuyến tính
và mã không tuyến tính.
Thường thì các mã không tuyến tính không được ứng dụng trong thực tế vì
các nhược điểm của nó, nên ở đây chúng ta chỉ đề cập đến các mã tuyến tính. Trong
phần tiếp theo chúng ta sẽ khái quát sơ lược về mã khối và mã chập (Trellis Codes).
2.1.3.
Khái quát về mã khối và mã chập
a) Mã khối
Mã khối tuyến tính mang tính năng tuyến tính, chẳng hạn tổng của hai từ mã
nào đấy lại chính là một từ mã; và chúng được ứng dụng vào các bit của nguồn trên
từng khối một; cái tên mã khối tuyến tính là vì vậy. Có những khối mã bất tuyến

16



tính, song khó mà chứng minh được rằng một mã nào đó là một mã tốt nếu mã ấy
không có đặc tính này.
Bất cứ mã khối tuyến tính nào cũng được đại diện là (n,m,dmin), trong đó
- n, là chiều dài của từ mã, trong ký hiệu,
- m, là số ký hiệu nguồn được dùng để mã hóa tức thời,
- dmin. là khoảng cách hamming tối thiểu của mã.
Có nhiều loại mã khối tuyến tính, như:
- Mã vòng (Mã Hamming là một bộ phận nhỏ của mã tuần hoàn).
- Mã chẵn lẻ.
- Mã Reed-Solomon.
- MãBCH.
- Mã Reed-Muller.
- Mã hoàn hảo.
Mã khối được gắn liền với bài toán “đóng gói đồng xu” là bài toán gây một
số chú ý trong nhiều năm qua. Trên bề diện hai chiều, chúng ta có thể hình dung
được vấn đề một cách dễ dàng. Lấy một nắm đồng xu, để nằm trên mặt bàn, rồi dồn
chúng lại gần với nhau. Kết quả cho chúng ta một mẫu hình lục giác tương tự như
hình tổ ong. Các mã khối còn dựa vào nhiều chiều khác nữa, không dễ gì mà hình
dung được. Mã Golay có hiệu ứng cao, dùng trong truyền thông qua khoảng không
vũ trụ, sử dụng những 24 chiều. Nếu được dùng là mã nhị phân (thường thấy), các
chiều ám chỉ đến chiều dài của từ mã như đã định nghĩa ở trên.
b) Mã chập
Mã chập (kết hợp) hay còn gọi là mã trellis được sử dụng trong các modem
dải tần âm (V.32, V.17, V.34) và trong các điện thoại di động GSM, cũng như trong
các thiết bị truyền thông của quân đội vũ trang và trong các thiết bị truyền thông với
vệ tinh.
Mục đích của việc tạo ra mã chập là nhằm làm cho tất cả các ký hiệu từ mã
trở thành tổng trọng số của nhiều loại ký hiệu thông điệp trong nhập liệu. Nó tương

tự như toán kết hợp được dùng trong các hệ tuyến tính bất biến để dùng tìm xuất
liệu của một hệ thống, khi chúng ta biết nhập liệu và các đáp ứng xung.
Nói chung chúng ta tìm xuất liệu của bộ mã chập hệ thống, tức sự kết hợp
của nhập liệu bit, đối chiếu với trạng thái của bộ mã hóa kết hợp, hoặc trạng thái
của các thanh ghi.

17


về cơ bản mà nói, mã chập không giúp thêm gì trong việc chống nhiễu hơn
một mã khối tương ứng. Trong nhiều trường hợp, chúng nói chung cho chúng ta
một phương pháp thực thi đơn giản hơn, hơn hẳn một mã khối có hiệu quả tương
ứng.
Bộ mã hóa thường là một mạch điện đơn giản, có một bộ nhớ, một vài biện
pháp truyền thông tin phản hồi báo tình hình, thường là các cổng loại trừ XOR. Bộ
mã hóa có thể được thực thi trong phần mềm hay phần sụn.
Thuật toán Viterbi là một thuật toán tối ưu nhất được dùng để giải mã các
mã chập. Hiện có những phương pháp giảm ước giúp vào việc giảm khối lượng tính
toán phải làm. Những phương pháp này phần lớn dựa vào việc tìm tuyến đường có
khả năng xảy ra cao nhất. Tuy không ngắn gọn, song trong môi trường nhiễu thấp
hơn, người ta thường thấy chúng cho những kết quả khả quan. Các bộ điều hành vi
xử lý hiện đại có khả năng thực hiện những thuật toán tìm giảm ước nói trên với tỷ
lệ trên 4000 từ mã trong một giây.
Cùng với mã khối, mã chập là một trong hai loại của mã sửa lỗi. Cả hai loại
mã này đều có ứng dụng trong thực tế. Trong lịch sử, mã chập thường được sử dụng
hơn bởi vì sự xuất hiện và ứng dụng quyết định mềm của thuật toán Viterbi trong
mã chập và trong nhiều năm mọi người tin rằng mã khối không giải mã hiệu quả với
quyết định mềm.

18



Mã chập khác xa so với mã khối, trên phương diện về cấu trúc, công cụ phân
tích và thiết kế. Đặc tính đại số là quan trọng trong cấu trúc của một bộ mã khối tốt
và nâng cao hiệu suất của bộ giải mã. Ngược lại, các bộ mã chập tốt hầunhư đều
được nhận ra qua việc nghiên cứu tính toán toàn diện, và hiệu suất các thuật giải của
việc giải mã xuất phát trực tiếp từ bản chất trạng thái chuỗi của các bộ mã chập hơn
là từ tính chất đại số của mã.
Trong phần này, ta sẽ bắt đầu tìm hiểu cấu trúc của mã chập, cách biểu diễn
mã chập thông qua các giản đồ: hình cây, hình lưới, và trạng thái.
2.2. Cấu trúc mã chập và giản đồ biểu diễn
2.2.1.

Cấu trúc mã chập

Mã chập được tạo ra bằng cách cho chuỗi thông tin truyền qua hệ thống các
thanh ghi dịch tuyến tính có số trạng thái hữu hạn. Cho số lượng thanh ghi dịch là
N, mỗi thanh ghi dịch có k ô nhớ và đầu ra bộ mã chập có n hàm đại số tuyến tính.
Tỷ lệ mã là R = k/n, số ô nhớ của bộ ghi dịch là Nxk và tham số N còn gọi là chiều
dài ràng buộc (Contraint length) của mã chập (xem hình 2.2).
Giả thiết, bộ mã chập lảm việc với các chữ số nhị phân, thì tại mỗi lần dịch

sẽ có k bit thông tin đầu vào được dịch vào thanh ghi dịch thứ nhất và tương ứng có
k bit thông tin trong thanh ghi dịch cuối cùng được đẩy ra ngoài mà không tham gia
vào quá trình tạo chuỗi bit đầu ra. Đầu ra nhận được chuỗi n bit mã từ n bộ cộng
môđun-2. ẩ hư vậy, giá trị chuỗi đầu ra kênh không chi phụ thuộc vào k bit thông
tin đầu vào hiện tại mà còn phụ thuộc vào (a -l)k bit trước đó, cấu thành lên bộ nhớ
V = (ẩ-l)k và được gọi là mã chập (n, k,ẩ ).
Đen bỏ điéu chế
Hình 2.2. Sơ đồ tổng quát của mã chập.

2.2.2.
Ma trận sinh của mã chập
Giả sử u là véctơ đàu vào, X là véctơ tương ứng được mã hoá, bây giờ chúng
ta mô tả cách tạo ra

X

từ

u.

Để mô tả bộ mã hoá chúng ta phải biết sự kết néi giữa

thanh ghi đầu vào đầu ra hình 2.2. Cách tiếp cận này có thể giúp chúng ta chỉ ra sự

19


tương tự và khác nhau so với mã khối. Thường thì có hai cách tiếp cận khỉ lập mã
như thông qua đa thức sinh hoặc ma trận sinh.

20


Để mô tả bộ mã hoá hình 2.2 chúng ta sử dụng N ma trận bổ sung G, G2...,
GN bao gồm k hàng và n cột. Ma trận Gi mô tả sự kết nối giữa đoạn thứ i của k ô
nhớ trong thanh ghi lối vào với n ô của thanh ghi lối ra. n lối vào của hàng đầu tiên
của Gi mô tả kết nếỉ của ô đầu tiên của đoạn thanh ghi đầu vào thứ i với n ô của
thanh ghi lối ra. Kết quả là “1” trong Gi nghĩa là có kết nối, là “0” nghĩa là không
kết nối. Do đó chứng ta có thể định nghĩa ma trận sinh của mã chập:


G.

Gj G, ... Gv

G,

G

GK

(2.1)
Và tất cả các lối vào

L

khác trong ma

trận bằng 0. Do đó nếu lối vào là véctơ ụ, tương ứng véctơ mã

hoá là:
X

= ÍLG

(2.2)

Bộ mã chập là hệ thống nếu, trong mỗi đoạn của n chữ số đuợc tạo, k số đầu
là mẫu của các chữ số đầu vào tương ứng. Nó có thể xác định rằng điều kiện tương
đương là có các ma trận (n

"l 0
0ỉ
G, =
00

0 ..

.0

0 ..

.0

0.

.. 1

0 1 0 .. . 0
... ... ......... . ...

k)

theo sau:

P

1

(2.3)


ì 0 0 .. . 0
Gị

X

R
1

0 0 0 . .. 1
(2.4)
Chúng ta xét một vài ví dụ minh hoạ:
Ví dụ 2.1: Xét mã chập (3,1,3). Giản đồ tương đương của bộ mã hoá được
chỉ ở hình 2.3:

21


Hĩnh 2. 3. Giản đồ tương đương cho bộ mã chập (3,1,3).
Bộ này sử dụng thanh ghi có 2 ô nhớ, mỗi ô coi như là bộ trễ đơn vị. Lối ra
thanh ghi được thay thế bởi bộ tính toán đọc được chuỗi lối ra của 3 bộ cộng. Bộ mã
hoá được quy định bởi 3 ma trận bổ sung (trong thực tế là 3 véctơ hàng do
t=l)
G=l 1 1 1]
O2 = [0l 1 ]
G-[001]
3

LJ

(2.5)


Do đó, ma trận sinh từ (2.1) là :
%

111 011

001

000

000 111

011

001 000

000 000

111

01

......

001 000

Từ (2.2) ta có thể suy ra: Nếu chuỗi thông tin vào U = (11011...) được mã hoá
thành chuỗi x=(l 11100010110100...). Bộ mã hoá là hệ thống. Chú ý rằng chuỗi mã
hoá có thể được tạo bằng tổng modul-2 các hàng của tương ứng với “1” trong chuỗi
thông tin.

Ví dụ 2.2: Cho bộ mã chập có chiều dài ràng buộc N = 3, số ô nhớ trong mỗi
thanh ghi dịch k = 1, chiều dài chuỗi đầu ra n = 3 tức là mã (3,1,3) và ma trận sinh
của mã chập có dạng sau:

22


ểi
G=

êĩ

OG=

_g,_

“100

101

= G(4,5,7)

111

Có thể biểu diễn dưởi dạng đại sổ là:
G(D)=pỷ 1+D2 l+D+D2]

(2.8)

Do đó sơ đồ mã chập được biểu diễn như sau :


Hình 2.4. Sơ đồ bộ mã chập với N=3, k=l, n=3 và đa thức sinh (2.8).
2.3.
Biểu dỉễn mã chập
Có ba phương pháp để biểu diễn mã chập đó là: sơ đồ lưới, sơ đồ trạng thái,
và sơ đồ hình cây. Để làm rõ phương pháp này ta tập trung phân tích dựa trên ví dụ
2.2.
2.3.1.
Sơ đồ hình cây
Từ ví dụ 2.2, giả thiết trạng thái ban đầu của các thanh ghi dịch trong bộ mã
đều là trạng thái “toàn 0”. Nếu bit vào đầu tiên là bit “0” (k = 1) thì đầu ra ta
nhận được chuỗi “000” (n = 3), còn nếu bit vào đầu tiên là bit “1” thì đầu ra ta
nhận được chuỗi “111”. Nếu bit vào đầu tiên là bit “1” và bit vào tiếp theo là bit
“0” thì chuỗi thứ nhất là “111” và chuỗi thứ hai là chuỗi “001”. Với cách mã hoá
như vậy, ta có thể biểu diễn mã chập theo sơ đồ có dạng hình cây (xem hình
2.5). Từ sơ đồ hình cây ta có thể thực hiên mã hoá bằng cách dựa vào các bit
đầu vào và thực hiện lần theo các nhánh của cây, ta sẽ nhận được tuyến mã,
từ đó ta nhận được dãy các chuễỉ đầu ra.

23


2.3.2.
Sơ đồ hình lưới
Do đặc tính của bộ mã chập, cấu trúc vòng lặp được thực hiện như sau: chuỗi
n bit đầu ra phụ thuộc vào chuỗi k bit đầu vào hiện hành và (N-l) chuỗi đầu
vào trước đó hay (N-l) X k bit đầu vào trước đó. Từ ví dụ 2.2 ta có chuỗi 3 bit
đầu ra phụ thuộc vào 1 bit đầu vào là “1” hoặc “0” và 4 trạng thái có thể có của
hai thanh ghi dịch, ký hiệu là a=“00”; b = “01”; c = “10”; d = “11”. Nếu ta đặt tên
cho mỗi nút ưong sơ đồ hình cây (hình 2.5) tương ứng với 4 trạng thái của

thanh ghi dịch, ta thấy rằng tại tầng thứ 3 có 2 nút mang nhãn a và 2 nút
mang nhãn b, 2 nút mang nhãn c và 2 nút mang nhãn d. Bây giờ ta quan sát
tất cả các nhánh bắt nguồn từ 2 nhánh có nhãn giếng nhau (trạng thái giống
nhau) thì tạo ra chuỗi đầu ra giống nhau, nghĩa là hai nút có nhãn giếng nhau
thì có thể coi như nhau. Với tính chất đó ta có thể biểu diễn mã chập bằng sơ
đề có dạng hình lưới gọn hơn, trong đó các đường liền nét được ký hiệu cho
bit đầu vào là bit “0” và đường đứt nét được ký hiệu cho các bit đầu vào là bit
“1” (xem hình 2.6). Ta thấy rằng từ sau tầng thứ hãi hoạt động của lưới ổn định,
tại mỗi nút có hai

24


đường vào nút và hai đường ra khỏi nút. Trong hai đường đi ra thì một ứng với bit
đầu vào là bit “0” và đường còn lại ứng với bit đầu vào là bit “1”.

Chuỗi tìm

---------- »

Hình 2.6. Sơ đồ lưới bộ mã chập ví dụ 2.2. Trạng thái ban đầu toàn bằng “0”.
2.3.3.

Sơ đồ trạng thái

Sơ đồ trạng thái được thực hiện bằng cách đơn giản sơ đồ 4 trạng thái có thể
có của bộ mã (a, b, c và d tương ứng với các trạng thái 00, 01, 10 và 11) và trạng
thái chuyển tiếp có thể được tạo ra từ trạng thái này chuyển sang trạng thái khác,
quá trình chuyển tiếp có thể là:
a—




'—*c,b—



ìb,d

»

a,b— '—¥C,C—
—'—>d 1

í

-—^b,c—

l

—>d,d



^—

Ký hiệu a -> (3 là quá trình chuyên tiêp từ trạng thái a sang trạng thái (3 với
bit đầu vào là bit “1”.
Kết quả ta thu được sơ đồ trạng thái trong hình 2.7 như sau:



×