Nội dung luận văn được chia làm 6 chương như sau: Chương 1 : Giới thiệu một số các khái niệm cơ bản Chương 2: Bao gồm các nghiên cứu chi tiết về mã tích chập bao gồm: Cấu trúc bộ mã hoá,
Trang 1The Viterbi algorithm (VA) is a popular method used to decode convolutionally coded messages for channel coding As a maximum-likelihood decoder, the VA identifies the code sequence with the highest probability of matching the transmitted sequence based on the received sequence and the structure of encoder In digital data communication the VA is widely used in Viterbi decoder However, a real Viterbi decoder differs from the ideal image thus far considered in that it must contend with several constraints imposed by the real world, so the performances of Viterbi decoders depend on many parameters such as: The constraint length of convolutional encoder, The decoding depth, Soft-decision or Hard-decision decoding algorithm
This thesis will study the Viterbi algorithm thoroughly and simulate it by a Matlab program and finally run the simulation program with different sets of parameters to find out the impact of individual parameters to the bit error rate (BER) then conclude on the results
The thesis is organized as follows:
Chapter 1 presents a brief introduction to some basic concepts and what we will deal with throughout this thesis
Chapter 2 presents a detail description of Convolutional codes including : Encoder structure, Encoder representation, Catastrophic convolutional codes, The structural properties of convolutional codes and performance analysis of convolutional code
Chapter 3 presents the Viterbi algorithms including hard-decision Viterbi algorithm, Soft-decision Viterbi algorithm and their performance analysis over particular channels
Chapter 4 presents the applied of Viterbi algorithm to digital data transmission in Viterbi decoder, the design and implementation of the Viterbi decoder and punctured convolutional codes
Chapter 5 presents the simulation and results of a Matlab 6.5 program simulate the Viterbi decoder
Chapter 6 presents the average results of repeatedly simulation in form of table and graph for particular set of parameters of Viterbi decoder then comment and conclude on the results
Trang 2Thuật toán Viterbi là một phương pháp phổ biến được sử dụng để giải mã hoá kênh cho các chuỗi tin đã được mã hoá kênh theo mã tích chập Giống như bộ giải mã cực đại khả năng, thuật toán Viterbi nhận ra chuỗi mã có xác suất tương thích với chuỗi đã truyền lớn nhất dựa trên chuỗi thu được và cấu trúc của bộ mã hoá Trong truyền dữ liệu số thuật toán Viterbi được áp dụng trong các bộ giải mã Viterbi dùng cho giải mã kênh Tuy nhiên một bộ giải mã Viterbi trong thực tế có nhiều điểm khác so với bộ giải mã Viterbi lý tưởng trên lý thuyết do phải thoả các giới hạn của thực tế và giới hạn về kỹ thuật Do đó phẩm chất của bộ giải mã Viterbi phụ thuộc vào nhiều tham số như: độ dài giới hạn của bộ mã hoá, độ sâu trace back, giải mã quyết định mềm hay giải mã quyết định cứng Luận văn này sẽ nghiên cứu chi tiết thuật toán Viterbi và tiến hành mô phỏng thuật toán bằng một chương trình Matlab và cuối cùng chạy chương trình mô phỏng nhiều lần với các bộ tham số khác nhau để tìm ra ảnh hưởng của các tham số riêng biệt lên tỷ lệ lỗi bit rồi rút ra kết luận dựa trên các kết quả này
Nội dung luận văn được chia làm 6 chương như sau:
Chương 1 : Giới thiệu một số các khái niệm cơ bản
Chương 2: Bao gồm các nghiên cứu chi tiết về mã tích chập bao gồm: Cấu trúc bộ mã hoá, Biểu diễn bộ mã hoá, Các mã tích chập Catastrophic, Đặc tính cấu trúc các mã tích chập và phân tích các phẩm chất của mã tích chập Chương 3 : Trình bày các thuật toán Viterbi bao gồm: Thuật toán Viterbi quyết định cứng, Thuật toán Viterbi quyết định mềm, và phân tích phẩm chất của chúng trên các kênh truyền cụ thể
Chương 4 : Trình bày sự áp dụng thuật toán Viterbi trong các hệ thống truyền dữ liệu số trong bộ giải mã Viterbi, thiết kế và thực hiện bộ giải mã kênh Viterbi và các mã tích chập bị đục lỗ
Chương 5 : Các kết quả và sự mô phỏng cuả một chương trình mô phỏng bộ mã hoá tích chập và giải mã Viterbi Chương trình viết bằng ngôn ngữ lập trình Matlab 6.5
Chương 6 : Biểu diễn các giá trị trung bình của chương trình mô phỏng của nhiều lần chạy theo dạng bảng và đồ thị cho một bộ các tham số của bộ mã hoá và giải mã Viterbi cụ thể sau đó đánh giá và kết luận dựa trên các kết quả mô phỏng
Trang 3CHƯƠNG I : GIỚI THIỆU
I GIỚI THIỆU HỆ THỐNG TRUYỀN TIN
Trong những năm gần đây, nhu cầu về độ tin cậy và hiệu suất của các hệ thống truyền dữ liệu số ngày càng tăng Nhu cầu này càng trở nên cấp thiết hơn bởi sự
cần thiết của các mạng truyền dữ liệu tốc độ cao, dung lượng lớn để trao đổi, xử lý và lưu trữ thông tin trong cuộc sống hàng ngày, sự kết hợp của thông tin và máy tính càng làm nhu cầu này trở nên bức thiết hơn
Một vấn đề cốt lõi trong việc thiết kế các hệ thống truyền tin là sự điều khiển lỗi để có thể tái tạo lại dữ liệu Năm 1948 Shannon đưa ra thuyết về dung lượng kênh trong đó nêu ra rằng bằng cách mã hoá thông tin theo một cách thích hợp, các lỗi gây ra bởi kênh truyền có nhiễu hoặc môi trường lưu trữ có thể giảm đến
một mức mong muốn khi tốc độ truyền r vẫn còn nhỏ hơn dung lượng kênh C Từ
đó đến nay đã có rất nhiều nỗ lực để đưa ra các phương pháp mã hoá và giải mã hiệu quả để điều khiển lỗi trong môi trường có nhiễu nhằm làm cho tốc độ truyền r ngày càng gần dung lượng kênh C
Các phát triển gần đây đã góp phần đem lại độ tin cậy cần thiết cho các hệ thống số tốc độ cao Việc mã hoá và giải mã để điều khiển lỗi đã trở thành một thành phần quan trọng trong việc thiết kế các hệ thống liên lạc hiện đại Một hệ thống truyền tin tiêu biểu có thể được biểu diễn bằng sơ đồ khối như trong hình 1.1 sau:
Hình 1.1: Sơ đồ khối của một hệ thống truyền dữ liệu tiêu biểu
CHương 1: Giới Thiệu HV:KS DƯƠNG QUANG SÁNG
Trang 4- Nguồn tin có thể là người hoặc máy, tín hiệu ra khỏi nguồn tin có thể có dạng sóng liên tục hoặc là một chuỗi các ký tự rời rạc
- Bộ mã hoá nguồn chuyển tín hiệu ra khỏi nguồn tin thành chuỗi các số nhị phân (bit) gọi là chuỗi tin U Trong trường hợp nguồn liên tục thì phải chuyển
đổi A/D Bộ mã hoá nguồn được thiết kế một cách lý tưởng sao cho số bit trong một đơn vị thời gian cần để biểu diễn nguồn tin là ít nhất và ngõ ra nguồn có thể được tái tạo một cách chắc chắn từ chuỗi U
- Bộ mã hoá kênh chuyển đổi chuỗi thông tin U thành một chuỗi rời rạc đã được mã hoá V được gọi là một từ mã Trong hầu hết các trường hợp V cũng là chuỗi nhị phân Việc thiết kế các bộ mã hoá kênh để chống lại nhiễu của môi trường là rất cần thiết
- Các tín hiệu rời rạc không thích hợp để truyền trên các kênh truyền vật lý Bộ
điều chế chuyển đổi mỗi ký tự ra khỏi bộ mã hoá kênh thành một dạng sóng có thời gian T giây tương thích cho việc truyền dẫn Dạng sóng này đi vào kênh truyền và bị làm rối bởi nhiễu Bộ giải điều chế xử lý mỗi dạng sóng nhận được trong một khoảng thời gian T và tạo ra một tín hiệu rời rạc (lượng tử hoá) hoặc liên tục ( không lượng tử hoá ) Chuỗi ra khỏi bộ giải điều chế tương ứng với chuỗi đã mã hoá V và được gọi là chuỗi nhận được r
- Bộ giải mã kênh chuyển đổi tín hiệu nhận được r thành chuỗi nhị phân
được gọi là chuỗi ước lượng (estimated sequense) Phương pháp giải mã dựa vào các luật mã hoá và các đặc tính nhiễu của đường truyền, một cách lý tưởng là chuỗi hoàn toàn giống với chuỗi U mặc dù kênh truyền có thể gây
ra một vài lỗi giải mã Thiết kế và thực hiện các bộ mã hoá kênh và giải mã kênh tốt để giảm thiểu xác suất lỗi giải mã là rất quan trọng
û
û
- Bộ giải mã nguồn chuyển chuỗi ước lượng û thành một ước lượng của chuỗi của tín hiệu nguồn và đưa đến đích đến
II CÁC LOẠI MÃ TRONG MÃ HOÁ KÊNH
Để mã hoá kênh có 2 loại mã khác nhau thường được sử dụng là mã khối và mã chập
- Bộ mã hoá mã khối chia chuỗi thông tin thành các khối tin mỗi khối gồm k bit
tin Mỗi khối tin được biểu diễn theo dạng véctơ u=(u1,u2, ,u k) gọi là mẩu tin (trong mã khối ký tự u thường được sử dụng để ký hiệu mẩu tin k bit mà không cần viết cả chuỗi tin) Có thể có mẩu tin khác nhau Bộ mã hoá
chuyển đổi một cách độc lập mỗi mẩu tin u thành một vectơ n chiều
của các ký tự rời rạc gọi là 1 từ mã (trong mã khối ký tự
v thường được sử dụng để ký hiệu cho một chuỗi tin n ký tự mà không cần
k
2)
,,
Trang 5viết toàn bộ chuỗi tin) do đó, tương ứng với mẩu tin khác nhau có các
từ mã khác nhau ở ngõ ra bộ mã hoá Bộ gồm từ mã có chiều dài n được gọi là khối mã (n,k) Tỷ số R=n/k được gọi là tốc độ mã và có thể được biên dịch như là số các bit thông tin đi vào bộ mã hoá trên một ký tự truyền Do từ
mã ra n ký tự chỉ phụ thuộc vào mẩu tin vào k bit tương ứng nên bộ mã là không nhớ và có thể được thực hiện bằng một mạch logic kết hợp
một mã Những bit thừa này làm cho mã có tính chống lại nhiễu kênh truyền
Cho một mã có tốc độ cố định R, có thể cộng thêm nhiều bit thừa bằng cách tăng độ dài khối n của mã và giữ tỷ lệ k/n không đổi Cách chọn các bit dư thừa sao cho đạt được độ tin cậy truyền dẫn cần thiết trên kênh truyền có nhiễu là vấn đề chính trong việc thiết kế bộ mã hoá
Một mã khối nhị phân có k = 4, n = 7 được biểu diễn trong bảng sau:
(0 0 0 0) (1 0 0 0) (0 1 0 0) (1 1 0 0) (0 0 1 0) (1 0 1 0) (0 1 1 0) (1 1 1 0) (0 0 0 1) (1 0 0 1) (0 1 0 1) (1 1 0 1) (0 0 1 1) (1 0 1 1) (0 1 1 1) (1 1 1 1)
(0 0 0 0 0 0 0) (1 1 0 1 0 0 0) (0 1 1 0 1 0 0) (1 0 1 1 1 0 0) (1 1 1 0 0 1 0) (0 0 1 1 0 1 0) (1 0 0 0 1 1 0) (0 1 0 1 1 1 0) (1 0 1 0 0 0 1) (0 1 1 1 0 0 1) (1 1 0 0 1 0 1) (0 0 0 1 1 0 1) (0 1 0 0 0 1 1) (1 0 0 1 0 1 1) (0 0 1 0 1 1 1) (1 1 1 1 1 1 1)
Bảng 1.1 : Mã khối nhị phân với k = 4 và n = 7
CHương 1: Giới Thiệu HV:KS DƯƠNG QUANG SÁNG
Trang 6- Bộ giải mã của mã chập cũng tiếp nhận các khối k bit của chuỗi thông tin U và tạo ra một chuỗi mã hoá (từ mã) V là một khối n ký tự Tuy nhiên khối đã
mã không chỉ phụ thuộc vào các khối tin k bit tương ứng tại thời điểm đó mà còn phụ thuộc vào m khối tin trước đó do bộ mã hoá có thứ tự nhớ (memory order ) là m Bộ các chuỗi đã mã hoá được tạo ra bởi bộ mã hoá có k bit vào,
n bit ra và thứ tự nhớ m được gọi là 1 mã chập (n,k,m) Tỷ số R = k/n được gọi
là tốc độ mã Do bộ mã hoá có chứa các phần tử nhớ nên nó được thực hiện bằng các mạch logic tuần tự Trong mã chập các bit thừa để chống lại nhiễu trên kênh truyền có thể được cộng vào chuỗi tin khi k < n hoặc R < 1 Một cách tiêu biểu k và n phải là các số nguyên nhỏ, các bit thừa được tăng thêm bằng cách tăng m và giữ nguyên n,k Một bộ mã hoá có k =1,n = 2, m = 2 như
sau:
Hình 1.2: Bộ mã hoá chập với k =1, n = 2, m = 3
III CÁC MÔ HÌNH KÊNH TRUYỀN
3.1 kênh nhị phân đối xứng
Xét kênh có nhiễu cộng và bộ điều chế, giải điều chế, xác định là một phần của
kênh Nếu bộ điều chế sử dụng các tín hiệu nhị phân và bộ quyết định thực hiện quyết định cứng thì kênh phức hợp trên hình 1.3 có dãy thông tin vào là nhị phân
rời rạc và dãy thông tin ra cũng là nhị phân rời rạc Kênh như vậy được đặc trưng bởi tập các giá trị đầu vào X ={ }0,1 và tập hợp các giá trị đầu ra Y ={ }0,1
CHương 1: Giới Thiệu HV:KS DƯƠNG QUANG SÁNG
Trang 7và tập hợp các xác suất có điều kiện liên hệ giữa các ký hiệu trên đầu vào và đầu ra
Nếu nhiễu trên kênh và các ảnh hưởng khác tạo ra các sai nhầm độc lập thống kê với xác suất trung bình p thì:
p X
Y P X
Y P
p X
Y P X
Y P
| 0 ( ) 1
| 1 (
) 0
| 1 ( ) 1
| 0 (
(1-1)
Hình 1.3: Kênh phức hợp đầu vào và ra phức hợp
Như vậy một hệ thống gồm bộ điều chế nhị phân, kênh tín hiệu, bộ giải điều chế và xác định tín hiệu được chuyển đổi thành một kênh rời rạc theo thời gian tương đương được biểu diễn bằng sơ đồ khối như trong hình vẽ:
Hình1.4 : Kênh nhị phân đối xứng
3.2 Kênh rời rạc không nhớ (BSC)
Kênh BSC là một trường hợp đặc biệt trong số các kênh có đầu vào và đầu ra rời rạc Giả thiết đầu ra của bộ mã hoá kênh là các tín hiệu q mức, tức là đầu vào của bộ điều chế là tập hợp X ={x o,x1 , ,x q−1} và ở đầu ra của bộ xác định là các tín hiệu Q mức, với q Nếu kênh và bộ điều chế là không
M
Q≥ =2
CHương 1: Giới Thiệu HV:KS DƯƠNG QUANG SÁNG
Trang 8nhớ thì quan hệ giữa đầu ra và đầu vào của kênh phức hợp được biểu diễn bởi
qQ xác suất có điều kiện :
)
|()
|(Y y i X x i P y i x i
Hình1.5 : Kênh rời rạc q đầu vào, Q đầu ra
Như vậy nếu đầu vào của kênh DMC là dãy n ký hiệu thuộc X và
n u u
u1, 2, ,
n v v
n n n
Y v Y
v
Y
P
1 2
2 1 1 2
3.3 Kênh đầu vào rời rạc đầu ra liên tục
Giả thiết đầu vào của bộ điều chế là các ký hiệu trong tập hữu hạn
{ 0 , 1 , , −1}
vậy đầu ra của bộ giải mã kênh nhận các giá trị trên trục thực (Y ={−∞,∞ )} Ta định nghĩa một kênh phức hợp không nhớ rời rạc theo thời gian đặc trưng bởi đầu vào X rời rạc, đầu ra Y liên tục và tập hợp các hàm phân bố mật độ xác suất
có điều kiện:
CHương 1: Giới Thiệu HV:KS DƯƠNG QUANG SÁNG
Trang 9,1,0
phương sai Như vậy:
k x
2
δ
2
2 / 2 ) (
2
1)
x X y
với mỗi dãy vào , dãy ra tương ứng là : X i
i i
n
y y
y
P
1 2
2 1 1 2
IV THUYẾT DUNG LƯỢNG KÊNH SHANNON
Thuyết 1-1: thuyết mã hoá kênh có nhiễu của Shannon
Với mọi kênh truyền ta có thể liên hệ với một “dung lượng kênh” C Có tồn tại các mã điều khiển sao cho thông tin có thể được truyền trên kênh truyền
ở tốc độ nhỏ hơn C với một tỷ lệ bit lỗi thấp tuỳ ý
Xét một kênh AWGN có ngõ ra
Trang 10Dung lượng kênh của một kênh AWGN được định nghĩa là giá trị cực đại của lượng tin tương hỗ giữa X và Z và được tính:
{I X Z C
x
max
) (
Trong đó lượng tin tương hỗ được cho bởi:
)
| ( ) ( )
1 )
Do nhiễu là Gaussian, phương sai của ngõ ra Z là tổng của các phương sai riêng biệt của ngõ vào và nhiễu
2δ
2 ( log 2
1 )
1
2
2 2
N
X C
Trang 11V GIỚI THIỆU SƠ LƯỢC
Như đã đề cập ở phần trên mã hoá kênh và giải mã kênh là một phần quan trọng trong một hệ thống truyền tin, quyết định rất nhiều đến chất lượng của hệ thống truyền tin Trong luận án này sẽ nghiên cứu sự áp dụng của thuật toán Viterbi vào trong bộ giải mã kênh Các tín hiệu sau khi đã mã hoá nguồn được đưa đến bộ mã hoá kênh và được mã hoá bằng mã tích chập Dữ liệu sau khi được mã hoá kênh được điều chế, truyền đi trên kênh truyền có nhiễu rồi giải điều chế, sau đó được giải mã để tìm ra chuỗi thông tin đã truyền ban đầu Trong
luận án này cũng nghiên cứu ảnh hưởng của các tham số khác nhau như độ sâu giải mã, phẩm chất đường truyền, độ dài ràng buộc của bộ mã, các tuỳ chọn của
bộ mã lên tỷ lệ lỗi bit (BER) của hệ thống Tiến hành mô phỏng và đánh giá, phân tích các kết quả thu được
CHương 1: Giới Thiệu HV:KS DƯƠNG QUANG SÁNG
Trang 12CHƯƠNG 2 MÃ TÍCH CHẬP
Mã tích chập được Elias giới thiệu lần đầu tiên vào năm 1955 như là một sự thay thế cho các mã khối Ngay sau đó, Wozencraft đề nghị phương pháp giải mã tuần tự như là một phương pháp giải mã hiệu quả cho mã tích chập Sau đó có rất nhiều các nghiên cứu khác nhau đã được tiền hành nhằm tìm ra phương pháp giải mã tốt nhất cho mã chập như phương pháp giải mã ngưỡng được Massey đưa
ra vào nằm 1963 Phương pháp giải mã Viterbi được Viterbi đưa ra vào năm 1967,… Từ năm 1970 mã tích chập được sử dụng nhiều để mã hoá kênh trong liên lạc vệ tinh và không gian
I CẤU TRÚC CỦA BỘ MÃ HOÁ MÃ TÍCH CHẬP
Một bộ mã hoá mã chập đưa các bit thừa hay các bit kiểm tra vào chuỗi bit dữ liệu thông qua việc sử dụng các bộ thanh ghi dịch tuyến tính D như trong hình 2.1
0 1
2 , ,
Hình 2.1 Bộ mã hoá mã chập tốc độ 1/2
Các bit thông tin được đưa vào các thanh ghi dịch và các bit ngõ ra đã được mã hoá thu được bằng các bộ cộng modulo-2 của các bit thông tin ngõ vào và nội dung của các thanh ghi dịch Như trong bộ mã hoá trên hình 2.1 chuỗi dữ liệu nhị
phần tử nhớ Với mỗi bit đi vào thanh ghi dịch, các nội dung của các phần tử nhớ được xuất ra và cộng modulo-2 theo các hàm khác nhau, tạo ra một cặp các
, ),,(x0 x1 x2
x=
, ) ,
, ( 0(0) 1(0) 2(0)
) 0 (
y y y
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 13chuỗi ra này được kết hợp để tạo ra một chuỗi dữ liệu duy nhất
y là từ mã mã tích chập
, ) ,
c
) 3 (
Trong đó m là số tầng lớn nhất trong bất kỳ bộ dịch nào
Các thanh ghi dịch lưu trữ thông tin trạng thái của bộ mã hoá tích chập và chiều dài ràng buộc liên hệ đến số lượng các bit mà ngõ ra phụ thuộc Với bộ mã tích
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 14chập như trong hình 2.1 tốc độ mã hoá là r = 2/3, kích thước bộ nhớ lớn nhất là m
= 3, và chiều dài ràng buộc là K = 4
Một bộ mã hóa tích chập tạo ra n bit đã mã hóa cho mỗi k bit thông tin có tốc độ mã r = k/n Tuy nhiên, chú ý rằng với một chuỗi thông tin có chiều dài hữu hạn
kL bit, từ mã tương ứng có độ dài n(L+m), trong đó n×m bit ngõ ra được tạo ra sau khi khối thông tin khác zero cuồi cùng đã đi vào bộ mã hoá Nói cách khác, một chuỗi thông tin được tận cùng với các khối toàn zero để cho phép xoá bộ nhớ của bộ mã hoá Nếu xem mã tích chập như một mã khối tuyến tính có ma trận sinh G, tốc độ mã khối được cho bởi tỷ số kL/n(L + m), tỷ lệ của số các bit thông tin trên độ dài của từ mã Nếu L >> m, thì L/(L-m)≈1, và tốc độ mã khối và tốc độ mã tích chập gần bằng nhau và do đó không cần phân biệt giữa tốc độ của bộ mã hoá tích chập và tốc độ của nó khi xem như là một mã khối Nếu L nhỏ so với m, tỷ số kL/n(L + m) là tốc độ hiệu dụng của sự truyền tin, sẽ bị suy giảm dưới tốc độ mã một lượng
m L
m n
k
m L n kL n
k
+
=+
−
/
)(/
c
Hình 2.3 : Bộ mã hoá tích chập với k = 1, n = 2, r = 1/2, m = 2, và K = 3
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 15II BIỂU DIỄN BỘ MÃ HOÁ TÍCH CHẬP
Bộ mã hoá mã chập có thể được biểu diễn bằng những cách sau đây:
• Biểu diễn bằng ma trận sinh
• Biểu diễn bằng biểu đồ cây
• Biểu diễn bằng biểu đồ trạng thái
• Biểu diễn bằng biểu đồ trellis
2.1 Biểu diễn bằng ma trận sinh
Trong mã tích chập, mỗi phần tử trong chuỗi ngõ ra y là một tổ hợp tuyến tính của các phần tử trong các chuỗi vào, trong hình 2.1 ngõ ra có thể biểu diễn như sau
) 1 (
i y
(2-4) )
0 ( 3 ) 0 ( 1 ) 0 ( )
1
(
−
− ++
)
(i j
g
Đáp ứng xung cho bộ mã hoá trong hình 2.1 là
) 1101 (
) 1011 (
) 1 (
) 0 (
=
=
g g
Các đáp ứng xung thường được xem như các bộ tạo hàm, sử dụng bộ tạo hàm vào biểu thức (2-4) thu được :
y
0
) ( )
(
Công thức (2-5) là sự biểu diễn cho tích chập rời rạc của 1 cặp các chuỗi Mỗi chuỗi ra mã hoá trong một mã tốc độ 1/n là tích chập của chuỗi ngõ vào x và đáp ứng xung
)
(i y
)
(i g
Trang 16y = xG (2-7)
trong đó G là ma trận sinh của bộ mã hoá tích chập Các đáp ứng xung đuợc gọi là các hàm sinh hay đa thức sinh của mã chập, thường được biểu diễn dưới dạng Octal
Trong trường hợp tổng quát một mã chập (n,k,m) có thể biểu diễn theo dạng ma trận sinh :
2 1 0
2 1 0
2 1 0
n n n
G G
G G
G G
G G
G G
G G
2 ( , ) 1 ( ,
) ( , 2 )
2 ( , 2 ) 1 ( , 2
) ( , 1 )
2 ( , 1 ) 1 ( , 1
n t k t
k t k
n t t
t
n t t
t
t
g g
g
g g
g
g g
g
G
2.2 Biểu diễn bằng biểu đồ trạng thái
Biểu đồ trạng thái biểu diễn thông tin trạng thái của bộ mã hoá tích chập Thông tin trạng thái của bộ mã tích chập được lưu trữ vào các thanh ghi dịch Hình 2-4 biểu diễn biểu đồ trạng thái của bộ mã tích chập trong hình 2-3
1/10
0/10
1/00
Hình 2.4: Biểu diễn bằng biểu đồ trạng thái cho
bộ mã tích chập trong hình 2.3
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 17Trong sơ đồ trạng thái, thông tin trạng thái của bộ mã tích chập được đưa ra trong vòng tròn Mỗi bit thông tin ngõ vào mới gây ra một sự chuyển tiếp từ một trạng thái này đến một trạng thái khác Thông tin đường giữa các trạng thái, được ký hiệu là x/c, biểu diễn bit thông tin ngõ vào x và bit được mã hoá ngõ ra
c thông thường, bắt đầu quá trình mã hoá là trạng thái tất cả zero Ví dụ, chuỗi thông tin ngõ vào x = {1011} (bắt đầu từ trạng thái tất cả zero) dẫn đến chuỗi chuyển tiếp trạng thái s = {10,01,10,11} và cho ra chuỗi được mã hoá ngõ ra c={11,10,00,01} Hình 2.5 biểu diễn đường đi trong sơ đồ trạng thái đối với ví dụ trên
Hình 2.5: Đường quá độ trạng thái cho chuỗi thông tin vào {1011}
2.3 Biểu diễn bằng sơ đồ cây
Mặc dù sơ đồ trạng thái đã hoàn toàn mô tả bộ mã hoá, tuy nhiên rất khó có thể sử dụng nó để theo dõi các chuyển đổi của bộ mã hoá theo thời gian do sơ đồ trạng thái không biểu diễn thời gian quá khứ Biểu đồ cây thêm chiều thời gian vào biểu đồ trạng thái Biểu đồ cây biểu diễn tất cả các thông tin có khả năng và các chuỗi đã mã hoá cho bộ mã hoá mã tích chập Hình 2.6 biểu diễn biểu đồ cây cho bộ mã hoá trong hình 2.3 trong khoảng thời gian gồm 4 bit vào
Trong biểu đồ cây, các đường liền nét biểu diễn các thông tin ngõ vào 0 và các đường đứt nét biểu diễn bit thông tin ngõ vào 1 các bit được mã hoá ngõ ra tương ứng được trình bày trên các nhánh của cây Một chuỗi thông tin ngõ vào định nghĩa một đường đặc biệt đi qua biểu đồ cây từ trái sang phải Ví dụ, chuỗi thông tin ngõ vào x = {1011} sinh ra chuỗi được mã hoá ngõ ra c = {11,10,00,01} Mỗi bit thông tin ngõ vào tương ứng với nhánh phía trên ( cho bit thông tin vào 0 ) hay nhánh phía dưới ( cho bit thông tin vào 1 ) ở mỗi nút của cây
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 18Hình 2.6 : Biểu diễn dưới dạng biểu đồ cây cho bộ mã hoá trong hình 2.3
trong khoảng thời gian 4 bit vào
2.4 Biểu diễn bằng biểu đồ trellis
Biểu đồ trellis là sự nới rộng của biểu đồ trạng thái của một mã tích chập trong đó có sự biểu diễn rõ ràng sự trôi qua của thời gian Ví dụ, xét bộ mã hoá trong hình 2.3 Bộ mã hoá có tốc độ 1/2 này có 2 phần tử nhớ và có thể được biểu diễn bằng biểu đồ trellis như trong hình 2.7 Các nhánh trong biểu đồ trellis được dán nhãn với các bit ngõ ra tương ứng với các chuyển đổi trạng thái tương ứng Trên biểu đồ trellis sử dụng ký hiệu jk để ký hiệu cho những nhánh đi từ trạng thái đến trạng thái trên trellis Các bit ngõ ra tương ứng được ký hiệu
Giả định rằng mã tích chập bất biến theo thời gian,
do đó là hằng số
j S
k S
),
Trang 19Hình 2.7a : Biểu đồ trellis cho bộ mã hoá trong hình 2.3
0/11
0/01
Thời gian
Hình 2.7b : Biểu đồ trellis rút gọn cho bộ mã hoá trong hình 2.3
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 20Mỗi từ mã trong mã tích chập được liên kết với một đường duy nhất, bắt đầu và kết thúc ở trạng thái , đi qua biểu đồ trellis kết hợp Cấu trúc của trellis cho phép tiến hành một vài phép tính đơn giản dẫn đến các kết quả rất hữu ích Xét một bộ mã hoá tích chập nhị phân tổng quát (n,k,m) có bộ nhớ có thứ hạng (order) lớn nhất là m, độ dài ràng buộc K Biểu đồ trellis kết hợp có 2
0
S
K-1 nút tại mỗi tầng, có 2k nhánh rời khỏi mỗi nút, mỗi nhánh cho mỗi tổ hợp có thể các giá trị ngõ vào Sau khi thời gian t = m, cũng có 2k nhánh đi vào mỗi nút Sau khi chuỗi ngõ vào đã vào hết trong bộ mã hoá, cần có m trạng thái chuyển đổi để đưa bộ mã hoá đến trạng thái , nếu đưa đến ngõ vào một chuỗi ngồm kL bit, biểu đồ trellis phải có L + m tầng, các tầng đầu và tầng cuối tương ứng là các tầng bắt đầu và kết thúc của một từ mã tích chập có chiều dài n(L + m) bit
0
S
III MÃ TÍCH CHẬP CATASTROPHIC
Một mã chập được gọi là catastrophic nếu biểu đồ trạng thái tương ứng của nó chứa một vòng mà một chuỗi vào không zero cho ra một chuỗi ra tất cả zero
Với một mã catastrophic, một số lượng nhỏ lỗi trong từ mã thu được gây ra một số lượng không giới hạn các lỗi dữ liệu
Ví dụ, xét bộ mã hoá như trong hình 2.9, có biểu đồ trạng thái như trong hình 2.8 lưu ý rằng có một vòng xung quanh trạng thái thoả điều kiện ngõ vào khác zero (“1”) cho ra ngã ra toàn zero
0/11
1/11
1/110/00
Hình 2.8: Biểu đồ trạng thái của một mã tích chập catastrophic
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 21) 0 ( 0 )
2 , , ,y y y
) 1 ( 0 ) 1 ( 1 ) 1 (
2 , , ,y y y
+
+
Hình 2.9: Bộ mã hoá mã tích chập catastrophic tương ứng với biểu đồ
trạng thái trên hình 2.8
là y = (11,00,11,00,00,00,00,…) Do đó một chuỗi thông tin với trọng số vô hạn tương ứng với một từ mã có trọng số hữu hạn Nếu nhiễu trên kênh truyền gây ra một số lỗi làm cho từ mã thu được y’=(10,00,00,00,00…) thì bộ giải mã cực đại khả năng sẽ sẽ quyết định rằng từ mã được truyền là từ mã toàn zero, dẫn đến dữ liệu giải mã được có vô số lỗi
, )1,1,1,1,1(
) 0 ( =
x
Ngoài ra vòng mà một chuỗi vào không zero cho ra một chuỗi ra tất cả zero không chỉ xảy ra tại 1 nút mà có thể xảy ra theo một vòng gồm nhiều trạng thái như trong hình 2.10, đây cũng là mã catastrophic
0/00
1/01
0/10
0/010/01
0/10
1/00
1/000/11
Vòng trọng số -Zero
Hình 2.10: Biểu đồ mã hoá cho một mã tích chập catastrophic
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 22) 0 ( 0 )
2 , , ,y y y
) 1 ( 0 ) 1 ( 1 ) 1 (
2 , , ,y y y
Hình 2.11: Bộ mã hoá Catastrophic tương ứng cho biểu đồ trong hình 2.10
Khi thiết kế các bộ mã hoá mã tích chập cần tránh các bộ mã hoá tích chập catastrophic Để thực hiện điều này cần kiểm tra điều kiện sau:
Điều kiện để một mã chập không phải là catastrophic
- Gọi C là một bộ mã hoá tích chập tốc độ 1/n với ma trận sinh G(D) có các bộ tạo hàm {G(0)(D),G(1)(D), , G(n−1)(D}, C không là mã catastrophic khi và chỉ khi
l n
D D G D G D G
))(), ,(),(( (0) (1) ( 1)
trong đó l là một số nguyên dương GCD là ước số chung lớn nhất ( Great Common Divisor ) của các bộ tạo hàm
- Gọi C là một mã tích chập tốc độ k/n với ma trận sinh G(D), C không là
mã catastrophic khi và chỉ khi
l
k
n i
Để làm rõ xét ví dụ sau:
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 23Biểu đồ mã hoá trong hình (2.10) cho thấy bộ mã hoá trong hình (2.11) tạo ra một bộ mã hoá tích chập Catastrophic Các bộ tạo hàm (generator sequences) cho bộ mã hoá như sau:
g(0) = (0111)
g(1) = (1110) Chuyển đổi D tương ứng thu được như sau
G(0) = D + D + D2 3
G(1) = 1 + D + D2
catastrophic theo nguyên lý trên
l D D D G
G GCD ( 0 ) ( 1 ) = + + 2 ≠
1],[
IV CÁC TÍNH CHẤT CẤU TRÚC CỦA MÃ TÍCH CHẬP
4.1 Hàm truyền của mã chập
Khi các bộ mã hoá tích chập được kết hợp với các biểu đồ trọng số trực tiếp (weighted directed graphs), ta có thể áp dụng ta các kỹ thuật phân tích rất mạnh, dùng công thức của Mason để tính hàm truyền (generating function) của một biểu đồ Các hàm truyền là các dụng cụ tổ hợp chuyển thông tin về một tiến trình thành dạng các hệ số và các số mũ của các số hạng trong một chuỗi đại số Sử dụng công thức của Mason thu được hàm truyền hay bộ liệt kê trọng số (weight enumerator) có dạng sau:
,
i j
j i
j X Y a Y
0
S
i jY , trong đó j là trọng số của véctơ ngõ vào Y (số của các trọng số khác
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 24zero) và i là trọng số của véctơ ngõ ra X Hình vẽ (2.12) là biểu đồ dòng tín hiệu tương ứng với biểu đồ mã hoá trong hình (2.1)
XY
XYXY
X2
1Y
X2Y
XY
Hình 2.12: Biểu đồ dòng tín hiệu mã hoá cho bộ mã hoá trong hình 2.1
(11000) và từ mã (11,10,11,01,11) Các trọng số trên các nhánh tương ứng là X
0 4 6 3 1
0,S ,S ,S ,S ,S S
2Y, XY, X ,X,X , khi nhân lại thu được độ lợi đường (path gain) là X2 2 8 2Y Trọng số của từ thông tin là số mũ của Y (2), trong khi đó trọng số của từ mã là số mũ của X (8)
Công thức của Masson tính hàm truyền T từ nguồn đến đích (source-to-sink) của biểu đồ dòng tín hiệu Nó được định nghĩa như là “tín hiệu” xuất hiện ở nút đích cho mỗi tín hiệu vào ở nút nguồn Với một biểu đồ dòng tín hiệu mã hóa, sự quá độ là tổng các độ lợi đường (path gains) cho tất cả các đường bắt đầu và kết thúc ở trạng thái S0
Trước khi đi trực tiếp vào công thức Masson cần tìm hiểu một số các định nghĩa
- Một vòng (loop) là một mạch không đi vào bất kỳ trạng thái nào hơn một lần
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 25- Một vòng thuận (forward loop) là một vòng bắt đầu và kết thúc tại cùng trạng thái Ví dụ, chuỗi là một vòng thuận, trong khi đó
0
S S0,S1,S2,S4,S0
0 4 2 5 2 1
0,S ,S ,S ,S ,S ,S S
- Một bộ các vòng được gọi là không chạm nhau (nontouching) nếu chúng
chạm nhau
0 4 2 1
0,S ,S ,S ,S
S S3,S6,S5,S3
là bộ tương ứng của các độ lợi đường ( là độ lợi đường cho vòng , …) Gọi
đỉnh và S0 C ={C1,C2, } là bộ tương ứng các độ lợi đường
Công thức Masson thường được biểu diễn theo dạng như sau:
Δ
Δ
i i i
F Y
i
C
) ,
Tổng đầu tiên trong công thức trên là trên tất cả các số mũ của các vòng
Tổng thứ hai được lấy cho tất cả các cặp các số mũ sao cho là một cặp các vòng không chạm nhau trong L Tổng thứ ba được lấy cho tất cả các bộ ba các số mũ
Sự tính toán của , phần phụ đại số của đường , cũng giống như sự tính toán cho trong công thức (2-14), ngoại trừ rằng tất cả các vòng chạm bị xoá khỏi tổng Ví dụ như, tổng thứ hai là trên các cặp của các số mũ sao cho bộ ba của các vòng ( là không chạm nhau
i K i
Δ
i K
Δ
( )
{l, m} )
m i
i
Trong biểu đồ mã hoá trong hình (2.12) bộ K bao gồm bảy vòng thuận
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 268 4
1 X Y
F =
0 4 2 5 6 7 3 1 0
2 : S ,S ,S ,S ,S ,S ,S
K
3 10
3 X Y
F =
0 4 2 5 6 3 1 0
3: S ,S ,S ,S ,S ,S ,S ,S
K
2 8
4 X Y
F =
0 4 6 3 1 0
5: S ,S ,S ,S ,S ,S ,S ,S ,S
K
3 10
6 X Y
F =
0 4 6 3 5 2 1 0
6 : S ,S ,S ,S ,S ,S ,S ,S
K
Y X
F7 = 6
0 4 2 1 0
7 : S ,S ,S ,S ,S
K
Bộ L gồm có 11 vòng
4 4
1 X Y
C =
1 4 2 5 6 7 3 1
1: S ,S ,S ,S ,S ,S ,S ,S
L
3 2
2 X Y
C =
1 4 6 7 3 1
6 : S ,S ,S ,S ,S ,S ,S
L
1 4 2 1
7 : S ,S ,S ,S
L
Y X
C8 = 2
2 5 2
8 : S ,S ,S
L
3 2
9 X Y
C =
3 5 6 7 3
10 : S ,S ,S ,S
L
7 7
4 4 8
Trang 27Có 2 bộ ba không chạm nhau trong L
(L4,L8,L11) C4C8C11 = X8Y4
(L7,L10,L11) 8 4
11 10
7C C X Y
Không có bộ nào gồm 4 hoặc nhiều hơn các vòng không chạm nhau trong L
Định thức biểu đồ được viết
3
6 2
3 2
4 8 4 8 3
6 2 4 2 4 3 6 4 4
4 8 3 6 3 6 4 8 4 4 2
2 4 3 2
2 2
3 6 4 4 2 4 3 6 3 2 4 4
23
21
)(
)
()
(1
Y X Y X Y X
Y X Y X Y
X Y X Y X Y X Y X
Y X Y X Y X Y X Y X Y X Y X Y X
Y X Y X Y X Y X Y X Y X Y X Y X
++
++
++
++
++
++
+
++
++
++
++
−
=
Δ
Sự tính toán các phần phụ đại số của các đường thuận diễn ra như sau
- Không có vòng nào mà không chứa các đỉnh đi ngang qua bởi các đường thuận và K1 K5 Do đó và bằng 1 Δ1 Δ5
1
5
1 =Δ =Δ
- Các đường thuận và không qua đỉnh và do đó không chạm vòng và chạm tất cả các vòng khác, do đó ta có
C11 2
6
3 =Δ =1− =1−Δ
- Đường thuận K2 không chạm đường nhưng chạm tất cả các vòng khác L8
Y X
2 =1− =1−Δ
- Đường thuận được biểu diễn trong hình vẽ (2.13) theo đó các vòng và (đường đứt nét) không chạm , hơn nữa, bản thân và là cặp các vòng không chạm nhau
11 8 11 8
4 =1−(C +C )+C C =1−2X Y+X Y
Δ
- Đường thuận được biểu diễn trong hình vẽ (2.14) theo đó các vòng
và không chạm , hơn nữa, và hình thành một cặp không chạm nhau
(1)(
)(
Trang 28XY XY
X 2
1 Y
XY
XY XY
X 2
1 Y
XY
Hình 2.14: Vòng thuận K7 và các vòng không chạm K7
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 29Công thức độ lợi cho ta như sau
)162(2
32
1
23
21
)1
()
1()
1(
)2
1()
1()
1()
1()
,
(
3 6 2
3 2
6 3 10 3 6
3 6 2
3 2
3 6 2
2 4 3 2 6
2 3
10 4
8
2 4 2
2 8 2
3 10 2
3 6 4
8
−+
−+
+
−+
−+
−+
=
Y X Y X Y X
Y X Y X Y X
Y X Y X Y X
Y X Y X Y X Y X Y X Y X Y
X Y
X
Y X Y X Y
X Y X Y
X Y X Y
X Y
8()
253()(
)172(
416
21
82
53
)
,
(
9 7 5
3 10 6
3 2 8 3 6
9 10 7
10 5
10
3 10 6
8 4 8 2 8 3 6 6
Y Y Y
Y X Y Y Y X Y Y X
Y X Y X Y
X
Y X Y X Y X Y X Y X Y X
Y
X
T
++
++
+++
+
=
−+
++
+
++
++
++
=
Hàm truyền này cho biết rằng có hai từ mã có trọng số là 6, một từ tương ứng với chuỗi thông tin có trọng số 1 (X6Y) Từ còn lại tương ứng với chuỗi thông tin có trọng số 3(X6 3Y ) Có 10 từ mã có trọng số 8, có 49 từ mã có trọng số 10,…
Những phân tích trên cho thấy các tiếp cận dùng hàm truyền để tìm sự phân bố trọng số của một mã tích chập là không thực tế khi tổng số các phần tử nhớ trong bộ mã hoá vượt 5 hoặc 6 Tuy nhiên các phẩm chất khoảng cách quan trọng của một từ mã có thể được tính một cách dễ dàng và trực quan từ hàm truyền, vì vậy hàm truyền vẫn là một công cụ quan trọng
4.2 Các mã có hệ thống và không hệ thống
Mã tích chập có hai loại, có hệ thống và không có hệ thống Trong một mã có hệ thống chuỗi ngõ ra k bit đầu tiên là sự lặp lại của k bit ngõ vào
(2-18)
k i
j i if
j i if
Trang 30Ma trận sinh được cho bởi
O O
m m
m
P P
P P
I
P P
P P
I
P P
P P
I
0
0 0
0
0 0
2 1
0
2 1
0
2 1
+ +
+ +
) ( , )
2 ( , ) 1 ( ,
) ( , 2 )
2 ( , 2 ) 1 ( , 2
) ( , 1 )
2 ( , 1 ) 1 ( , 1
n i k k
i k k
i k
n i k
i k
i
n i k
i k
i i
g g
g
g g
g
g g
g
P
L
MM
M
LL
và ma trận hàm truyền trở thành
)()
(1
00
)()
(0
10
)()
(0
01)
(
) ( )
1 (
) ( 2 )
1 ( 2
) ( 1 )
1 ( 1
D g D
g
D g D
g
D g D
g
D
G
n k k
k
n k
n k
LL
MM
MM
M
LL
LL
Do chuỗi ngõ ra k bit đầu tiên tương đương với chuỗi dữ liệu đầu vào nên chúng được gọi là chuỗi thông tin, và n – k chuỗi ngõ ra cuối cùng được gọi là các chuỗi chẳn lẻ Các mã tích chập không thoả (2-18) và (2-22) được gọi là các mã không hệ thống (nonsystematic)
Một lợi điểm của các mã có hệ thống là việc mã hoá đơn giản hơn rất nhiều so với các mã không hệ thống bởi vì phần cứng cần để thực hiện mã có hệ thống ít hơn nhiều Ví dụ, xét một mã tích chập có hệ thống (3,2,2) có ma trận hàm truyền như sau:
=
2 2
110
101)(
D
D D D
G
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 31khi thực hiện bộ mã hoá bằng cách trực tiếp bộ mã hoá cần 4 phần tử nhớ như trong hình 2.15a
Hình 2.15a: Bộ mã hoá (3,2,2) dạng không hệ thống Mặt khác do các chuỗi thông tin được cho bởi:
(1)
y (D) = x(1)(D) và y(2)(D) = x(2)(D)
và chuỗi chẵn lẻ được cho bởi
)()()()()
2 ) 2 ( )
3 ( 1 ) 1 ( )
3
(
D g D x D g D x D
Hình 2.15b : Một cách thực hiện khác của bộ mã hoá
có hệ thống (3,2,2)
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 32Mặc dù có ưu điểm này nhưng các mã tích chập tốt là các mã có khoảng cách tự
do càng lớn càng tốt, ở những trường hợp tỷ số tín hiệu trên lỗi lớn những mã này tối ưu nhất Một số mã tích chập không có hệ thống có cấu trúc khoảng cách tốt hơn Do đó các mã không có hệ thống thường được sử dụng hơn các mã tích chập có hệ thống vì chúng có khoảng cách tự do lớn hơn với cùng một giá trị m dẫn đến phẩm chất của chúng tốt hơn Các mã tích chập không có hệ thống thường được sử dụng trong các bộ giải mã Viterbi
V PHÂN TÍCH PHẨM CHẤT CỦA MÃ TÍCH CHẬP
5.1 Các đặc tính khoảng cách
Một vài các phép đo phẩm chất khác nhau có thể được sử dụng để so sánh các mã tích chập Sự thích hợp của một phép đo đã cho phụ thuộc vào kỹ thuật giải mã được sử dụng trong các ứng dụng Có 3 phép đo phẩm chất được sử dụng chủ yếu là :
- Hàm khoảng cách cột ( column distance function )
- Khoảng cách tối thiểu ( minimum distance )
- Khoảng cách tự do tối thiểu ( minimum free distance )
Hàm khoảng cách cột (CDF) rất hữu dụng trong việc đánh giá phẩm chất của các bộ giải mã tuần tự (Sequential decoder) Xét một mã C(n,k) với độ dài ràng buộc K Hãy xén bớt (truncate) chuỗi ngõ vào x và chuỗi ngõ ra y của mã C ở độ dài i Các chuỗi bị cắt ngắn này có thể được biểu diễn như sau:
1 )
1 ( 1 ) 0 ( 1 )
1 ( 1 ) 1 ( 1 ) 0 ( 1 ) 1 ( 0 ) 1 ( 0 ) 0 (
i i
i k
1 ( 1 ) 0 ( 1 )
1 ( 1 ) 1 ( 1 ) 0 ( 1 ) 1 ( 0 ) 1 ( 0 ) 0 (
i i
i n
n
y
Dẫn đến định nghĩa sau
Định nghĩa 2-1: Hàm khoảng cách cột (CDF)
Hàm khoảng cách cột (CDF) d, là khoảng cách Hamming tối thiểu giữa tất cả các cặp của các chuỗi ngõ ra bị xén ở độ dài i biết rằng các chuỗi ngõ vào tương ứng với cặp các ngõ ra khác nhau ở khối k bit đầu tiên
[ ] [ ] ( ) [ ] [ ]
Trang 33Nếu mã tích chập là tuyến tính, Công thức (2-23) có thể biểu diễn lại như sau
[ ] ( ) [ ]
Trong đó w(y) là trọng số Hamming của véctơ y
Thuật ngữ “Khoảng cách hàng” được rút ra từ mối quan hệ của hàm CDF với biểu thức của một từ mã như là tích của chuỗi thông tin và ma trận sinh G của mã Nếu chuỗi thông tin bị cắt ngắn đến độ dài ik bit, thì các chuỗi ngõ ra bị xén tương ứng chỉ phụ thuộc vào ni dòng đầu của G
CDF cho mã trong hình 2.1 được vẽ như trong hình 2.16
Hình 2.16: Hàm khoảng cách cột cho bộ mã hoá trong hình 2.1
Các kỹ thuật giải mã được phát triển vào thời kỳ đầu cho các mã tích chập (ví dụ như giải mã ngưỡng) chỉ sử dụng nK bit đầu tiên trong từ mã thu được để giải mã mỗi bit thu được, trong đó n là số ngõ ra của bộ mã hoá và K là độ dài ràng buộc của mã Dưới những chi tiết này khả năng sửa lỗi của một mã tích chập là một hàm của khoảng cách Hamming giữa các từ mã dựa trên nK bit đầu của nó tương ứng với một chuỗi vào không zero Cho khoảng cách này, các nhà lý luận mã chọn thuật ngữ khoảng cách tối thiểu
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 34Định nghĩa 2-2: Khoảng cách tối thiểu của mã tích chập
Khoảng cách tối thiểu của một mã tích chập (n,k) với độ dài ràng buộc
K là CDF tính tại i = K
min
d
i d
Khoảng cách tối thiểu của mã được định nghĩa bởi bộ mã hoá trong hình 2.1 do đó là dmin = d4 = 3
Bộ giải mã Viterbi lại sử dụng toàn bộ từ mã tích chập để giải mã cho một bit đơn Trong trường hợp này cần quan tâm đến khoảng cách Hamming giữa tất cả các từ mã tích chập hoàn chỉnh
Định nghĩa 2-3: Khoảng cách tự do cực tiểu của một mã tích chập
Khoảng cách tự do giữa một cặp 2 từ mã tích chập là khoảng cách Hamming giữa 2 từ mã đó Khoảng cách tự do tối thiểu, , là khoảng cách Hamming tối thiểu giữa tất cả các đôi từ mã tích chập và được định nghĩa
free d
Từ mã được định nghĩa bởi bộ mã hoá trong hình 2.1 có , như đã được kiểm tra trong công thức (2-17) Lưu ý rằng khoảng cách tự do tối thiểu của mã này gấp 2 lần khoảng cách tối thiểu của nó Do đó kỹ thuật giải mã sử dụng cả từ mã thay vì sử dụng nK bit đầu tiên cho ta phẩm chất tốt hơn
6
=
free d
Với các mã không phải Catastrophic, cách tiếp cận CDF cực tiểu khoảng cách tự
do khi i tăng
Không giống như trong trường hợp mã khối, các mã tích chập không hệ thống cho khoảng cách tự do tối thiểu lớn hơn các mã có hệ thống khi chúng có cùng chiều dài ràng buộc và tốc độ Các bảng sau cho ta thấy rõ điều này
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 35Có hệ thống Không có hệ thống Độ dài ràng buộc K d free lớn nhất d free lớn nhất
Bảng 2-1: d free cực đại cho các mã tích chập tốc độ 1/3
Có hệ thống Không có hệ thống Độ dài ràng buộc K d free lớn nhất d free lớn nhất
5.2 Xác suất lỗi
Có 2 xác suất lỗi liên quan đến mã tích chập, là xác suất lỗi sự kiện đầu và xác suất lỗi bit Xác suất lỗi sự kiện đầu tiên, là xác suất mà một lỗi bắt đầu ở một thời điểm cụ thể nào đó Xác suất lỗi bit, là số trung bình các bit lỗi trong chuỗi mã hoá Thông thường thì các xác suất lỗi này được xác định dựa trên giới hạn Chernoff
e P
b P
VI CÁC MÃ TÍCH CHẬP TỐT NHẤT ĐÃ BIẾT
Các bảng sau đây liệt kê theo độ dài ràng buộc các mã tích chập không hệ thống tốc độ 1/2 ,1/4 và 1/3 với khoảng cách tự do tối thiểu lớn nhất Các mã này được tìm thấy dựa trên việc phân tích trên máy tính Các đa thức sinh được viết theo dạng octal; ví dụ, các đa thức sinh cho mã tốc độ 1/3 với m = 3 tốt nhất là
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 36(64) và (74) Các bit zero được độn vào cuối các chuỗi để chiều dài tổng là một bội số của 3
free d
Bảng 2-4:Các bộ mã chập tốc độ 1/3 với khoảng cách tự do tối thiểu lớn nhất
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 37free d
) 0 ( 0
g
g
) 1 ( 1
) 1 ( 0
g
g
) 2 ( 1
) 2 ( 0
Bảng 2-6: Các bộ mã chập tốc độ 2/3 với khoảng cách tự do tối thiểu lớn nhất
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 38) 0 ( 2
) 0 ( 1
) 0 ( 0
g g g
) 1 ( 2
) 1 ( 1
) 1 ( 0
g g g
) 2 ( 2
) 2 ( 1
) 2 ( 0
g g g
) 3 ( 2
) 3 ( 1
) 3 ( 0
g g g
Bảng 2-7:Các bộ mã tích chập tốc độ 3/4 với khoảng cách tự do
tối thiểu lớn nhất
Chương 2: Mã Tích Chập HV:KS DƯƠNG QUANG SÁNG
Trang 39CHƯƠNG 3:
THUẬT TOÁN VITERBI VÀ CÁC PHẨM CHẤT KỸ THUẬT
Thuật toán Viterbi được đặt tên theo tên người đưa ra thuật toán năm 1967 Thuật toán được xem như là một phương pháp “ tiệm cận tối ưu” cho việc giải mã mã tích chập trong một môi trường có nhiễu không nhớ Thuật toán Viterbi là thuật toán cực đại khả năng (Maximum-likelihood) và cực đại trước (maximum a posteriori-MAP) cho việc giải mã mã chập Ở dạng tổng quát thuật toán Viterbi là một giải pháp cho vấn đề về “ Sự ước lượng MAP cho chuỗi trạng thái của một quá trình Markov rời rạc theo thời gian, hữu hạn trạng thái trong nhiễu không nhớ” Từ dạng tổng quát này thuật toán có thể áp dụng cho nhiều vấn đề gặp phải trong việc thiết kế các hệ thống thông tin liên lạc
I THUẬT TOÁN VITERBI
Xét vấn đề giải mã biểu diễn trong hình vẽ sau
Hình 3.1: Vấn đề giải mã mã tích chập
Một dãy thông tin x được mã hoá để hình thành từ mã tích chập y, từ mã này sau
đó được truyền qua một kênh truyền có nhiễu Bộ giải mã tích chập lấy vector thu được r và tạo ra một ước lượng y' của từ mã đã truyền
Bộ giải mã cực đại khả năng ( Maximum likelihood -ML) chọn, bằng định nghĩa,
một ước lượng y' sao cho nó làm cực đại xác suất p(r|y')
Một bộ mã hoá tích chập tốc độ k/n lấy k bit ngõ vào và tạo ra n bit ngõ ra cho mỗi lần dịch các thanh ghi trạng thái bên trong của nó Giả định rằng có một dãy
ngõ vào x bao gồm L các khối k bit
) , , ,
,
, , , ,
,
1 )
1 ( 1 )
1 ( 1 ) 0 ( 1 ) 1 ( 0 )
1 ( 0 ) 0 ( 0
k
x x
x x x x
x
Dãy ngõ ra y sẽ bao gồm L các khối n bit ( mỗi khối cho một khối ngõ vào ) và thêm m khối nữa, trong đó m là chiều dài của thanh ghi dịch dài nhất trong bộ mã hoá
Chương 3: Thuật Toán Viterbi Và Các Phẩm Chất Kỹ Thuật HV:KS DƯƠNG QUANG SÁNG
Trang 40(3-2)
) , ,
, ,
, , , ,
,
1 )
1 ( 1 )
1 ( 1 ) 0 ( 1 ) 1 ( 0 )
1 ( 0 ) 0 (
− +
−
−
m L n
n
y y
y y y y
y
y
Một phiến bản bị nhiễu tác động r của từ mã đã truyền đến được máy thu Ở đây
bộ giải mã tạo ra một ước lượng cực đại khả năng y' của dãy đã truyền r và y' có dạng như sau:
) , , ,
,
, , , ,
,
1 )
1 ( 1 )
1 ( 1 ) 0 ( 1 ) 1 ( 0 )
1 ( 0 ) 0 (
0
−
− +
−
−
m L n
n
r r
r r r r
r
r
(3-4)
) ' , , '
, ,
' , ' , ' , ,
' , '
1 )
1 ( 1 )
1 ( 1 ) 0 ( 1 ) 1 ( 0 )
1 ( 0 ) 0 ( 0
−
− +
−
−
m L n
n
y y
y y y y
y
y
Để ứng dụng các phân tích hãy giả định rằng kênh truyền là không nhớ Do đó, quá trình nhiễu ảnh hưởng đến một bit đã cho trong từ mã thu được r không phụ thuộc vào quá trình nhiễu ảnh hưởng đến tất các các bit đã nhận khác Do xác suất của các sự kiện độc lập chỉ đơn giản là tích các xác suất của các sự kiện riêng rẽ nên dẫn đến:
1 ( ) 1 ( ) 0 ( ) 0
( )
'
|
(
m L i
n i n i i
i i
r p y
) ( ) ( | ' (
m L i n j
j i j
r p
Biểu thức (3-5) còn được gọi là hàm khả năng (likelihood function) cho y' Do thuật toán tăng một cách đơn điệu nên sự ước lượng làm cực đại cũng là sự ước lượng làm cực đại logp(r|y') Bằng cách lấy log cả hai phía của biểu thức (3-5) ta thu được hàm log
) '
) ( ) ( | ' )(
log)
'
|(
i n j
j i j
r p y
r P
Trong việc mô phỏng và thực hiện phần cứng cho bộ giải mã Viterbi, biểu thức (3-5) thường được chuyển thành một dạng dễ thao tác hơn gọi là độ đo bit
Độ do bit có dạng như sau:
a y
r
i j i j
i j
i | ' ) = log ( | ' ) +
Trong biểu thức (3-7) a và b được chọn sao cho các độ đo bit là các số nguyên dương nhỏ để chúng có thể thao tác dễ dàng bởi các mạch số logic Độ đo đường
của từ mã y' được tính như sau :
Chương 3: Thuật Toán Viterbi Và Các Phẩm Chất Kỹ Thuật HV:KS DƯƠNG QUANG SÁNG