Mã khối tuyến tính phổ biến,Mã Xoắn,Mã đặc tính :Sơ đồ Trellis,mã Turbo,Giải mã Maximum Likelihood ,Thuật toán Viterbi,Thuộc tính Khoảng cách,Coded modulation,mã liên kết,mã hóa mạng không dây,ma hoa khong day ,wireless coding channel
Trang 11 Mã khối tuyến tính phổ biến
Bây giờ chúng ta mô tả một số các mã khối tuyến tính phổ biến.Các loại phổ biến nhấtcủa mã khối là một mã Hamming,diễn tả theo 1 hàm số nguyên m≥2
.Đối với một (n, k)
Mã Hamming,n=2m−1
và k= − −2m m 1
vì vậyn k m− =
bit dư thừa được đưa bởi các
mã.Khoảng cách tối thiểu của tất cả các mã Hamming là dmin =3
, cho nên t = 1 lỗitrong n=2 1
m−
ký tự từ mã có thể được sửa chữa.Mặc dù mã Hamming không phải là rấtlớn.Chúng là các mã hoàn hảo, và do đó có xác suất lỗi được đưa ra một cách chính xác
ở công thức (8,34)
Mã Golay và mã Golay mở rộng là một lớp khác của các mã hóa kênh với hiệu suất
tốt.Mã Golay là một mã tuyến tính (23,12) mã với dmin =7 và t = 3.Mã Golay mở rộngthu được bằng cách thêm một bit chẵn lẻ duy nhất vào mã Golay.Kết quả trong một mã
khối (24,12) với dmin =8
và t = 3.Các bit chẵn lẻ thêm vào không làm thay đổi khả năng sửalỗi bởi vì t vẫn như cũ.Nhưng nó thực hiện rất đơn giản bởi vì tỷ lệ bit thông tin là mộtnửa tỷ lệ bit được mã hóa.Như vậy, cả hai dòng bit không được mã hóa và bit được mãhóa có thể được tạo ra bởi cùng một đồng hồ sử dụng mỗi mẫu đồng hồ khác để tạo ra
các bit không được mã hóa Các mã này có cao hơn dminvà do vậy khả năng hiệu chỉnhlỗi tốt hơn so với mã Hamming.Nhưng giải mã phức tạp hơn và tỷ lệ mã thấp hơn
Trang 2thường tốt hơn tất cả các mã khối khác với cùng một n và k tại giá trị của SNR từ trungbình đến cao.Lớp mã này cung cấp một lựa chọn lớn của độ dài khối, tỷ lệ mã, và khảnăng hiệu chỉnh lỗi.Đặc biệt, các mã BCH phổ biến nhất có 2 1
m
cho bất kỳ sốnguyên m ≥3
Pb cho một số mã BCH dưới giải mã quyết định cứng và điều chế BPSK kết hợp đượcthể hiện trong hình 8.4 Hình vẽ được dựa trên công thức (8.40) trong đó, điều chế
Trang 3Hình 8.4: Pb cho mã BCH khác nhau.
22 Mã khối không tuyến tính phổ biến:mã Reed Solomon
Một mã khối không nhị phân có tính chất tương tự như các mã nhị phân.Nó có K bitthông tin ánh xạ vào các từ mã có chiều dài N.Tuy nhiên N ký tự từ mã của mỗi từ mãđược lựa chọn từ một bảng chữ cái nonbinary kích thước q > 2.Như vậy, các biểu tượng
từ mã có thể lấy bất kỳ giá trị trong {0,1 ,q−1}.Thường 2
Trang 4Mã RS có 1 2 1
k
N q= − = −
và K =1 ,2, ,N−1.Giá trị của K là điều kiện khả năng sửa lỗi
của mã.Đặc biệt, một mã RS có thể sửa chữa lên đến t=0.5(N K− )
lỗi ký tự từ mã.Trongcác mã không nhị phân khoảng cách tối thiểu giữa các từ mã là định nghĩa như số lượngcác ký tự từ mã trong đó các từ mã là khác nhau.Mã RS đạt được một khoảng cách tối
thiểu dmin =N k− +1 đó là khoảng cách tối thiểu có thể lớn nhất giữa từ mã cho bất kỳ
mã tuyến tính với cùng một đầu vào bộ mã hóa và các độ dài khối ngõ ra
Bởi vì mã không nhị phân và mã RS trong tường hợp đặc biệt tạo ra các ký tự tương ứng
với 2k
bit.Đôi khi chúng được sử dụng cho M-ary kỹ thuật điều chế cho M=2k
.Đặc biệt
với 2k
-ary điều chế ký tự từ mã được truyền qua các kênh như là một trong những 2k
điểm chòm sao có thể.Nếu xác suất lỗi liên quan đến việc điều chế( xác suất nhầm lẫn
các điểm chòm sao nhận được cho một điểm chòm sao khác hơn điểm truyền) là P M.Khi
đó xác suất của lỗi ký tự liên quan với mã không nhị phân bị chặn trên bởi:
Trang 5thêm vào các toán tử với đầu vào lấy từ tất cả các K giai đoạn:các toán tử tạo ra một từ
mã có độ dài n cho mỗi chuỗi đầu vào k bit.Đặc biệt, dữ liệu đầu vào nhị phân đượcchuyển vào từng giai đoạn của thanh ghi dịch k bit tại một thời điểm và mỗi lần dịch tạo
Hình 8.5 Bộ mã hóa mã xoắn
8.3.1 Mã đặc tính :Sơ đồ Trellis
Khi một từ mã có chiều dài n được tạo ra bởi một bộ mã hóa xoắn.Từ mã này phụ thuộc
cả vào k bit đầu vào cho giai đoạn đầu tiên của thanh ghi dịch cũng như trạng thái của
bộ mã hóa,định nghĩa là các nội dung trong K -1 giai đoạn khác của thanh ghi dịch.Để
mô tả một mã xoắn chúng ta phải mô tả các từ mã phụ thuộc cả vào các bit k đầu vào và
Trang 6là các đại diện cây tự lặp lại khi mà số lượng các trạng thái trong cây vượt quá độ dàihạn chế của mã.Các sơ đồ trellis đơn giản đại diện cây bằng cách kết hợp các nút trongcây tương ứng với trạng thái mã hóa tương tự Trong phần này chúng tôi sẽ tập trungvào biểu diễn đại diện trellis của một mã xoắn vì nó là đặc tính phổ biến nhất.Các chitiết của các đại diện sơ đồ trellis được mô tả bằng một ví dụ.
Hãy xem xét các bộ mã hóa xoắn thể hiện trong hình 8.6 với n =3 , k =1, và K =3.Trong
bộ mã hóa này, một bit tại một thời điểm được chuyển vào Giai đoạn 1 của 3 giai đoạncủa thanh ghi dịch.Tại một thời điểm t cho chúng ta biểu thị các bit trong giai đoạn icủa thanh ghi dịch như S i.3 giai đoạn của thanh ghi dịch được sử dụng để tạo ra một từ
mã có độ dài 3,C C C1 2 3,từ hình vẽ chúng ta thấy rằng C1=S1+S2,C2 =S1+S2+S3 và C3=S3.Một chuỗi U bit chuyển thành các bộ mã hóa tạo ra một chuỗi các ký tự mã hóa,mà
chúng biểu thị bởi C.Lưu ý rằng những biểu tượng được mã hóa tương ứng với C3 chỉ làcác bit thông tin gốc.Như với các mã khối, khi một trong những ký tự được mã hóatrong một mã cập tương ứng với các bit thông tin ban đầu,chúng ta nói rằng mã có hệthống.Chúng tôi xác định trạng thái mã hóa như S =S S2 3 Các nội dung của hai giai đoạncuối cùng của bộ mã hóa, và có
2
2 = 4
giá trị có thể cho trạng thái mã hóa này.Để mô tảcác bộ mã hóa, chúng ta phải hiển thị cho mỗi bit đầu vào và mỗi trạng thái có thể mã
Trang 7hóa những cái mà đầu ra bộ mã hóa sẽ được,và làm thế nào các bit đầu vào mới thay đổitrạng thái mã hóa cho các bit đầu vào tiếp theo.
Trang 8các phép cộng cái mà hình thành từ mã C C C1 2 3.Bởi vì tổng hợp lại với nhau bất cứ số 0
luôn bằng 0.Các phần của Trellis giữa thời gian t i =t i+1
được gọi là nhánh thứ i của
trellis.Hình 8.7 chỉ ra rằng trạng thái ban đầu vào thời điểm t0 là tất cả trạng thái là0.Trellis đạt được trạng thái ổn định,được định nghĩa là điểm mà tất cả các trạng thái có
thể được nhập từ một trong hai trạng thái trước ,ở thời gian t3Sau khi trạng thái ổn địnhnày đạt được,trellis tự lặp lại trong mỗi khoảng thời gian Cũng lưu ý rằng trong trạngthái ổn định mỗi lần chuyển đổi trạng thái cho một trong hai trạng thái mới có thể.Trong
cấu trúc Trellis nói chung bắt đầu từ trạng thái tất cả là 0 lúc t0 đạt được trạng thái ổn
định vào thời điểm t k
Hình 8.7: Sơ đồ Trellis
Trang 9Đối với giá trị tổng quát của k và K sơ đồ trellis sẽ có
con đường vào mỗi nút và có 2k
con đường rời khỏi mỗi nút.Như vậy, số lượng
các đường dẫn thông qua trellis tăng theo hàm mũ với k K, và chiều dài của các đườngdẫn Trellis
Ví dụ 8,7: Xem xét các mã xoắn đại diện bởi trellis trong hình 8.7.Đối với một trạng
thái ban đầu S S S= 2 3 =01
tìm chuỗi trạng thái ban đầu S ngõ ra bộ mã hóa Ccho chuỗibit đầu vào U=011
Giải: Sự xuất hiện đầu tiên của S =01
trong trellis ở thời điểm t2.Chúng ta nhìn thấy ở
thời điểm t2
rằng nếu bit thông tin S1=0
chúng ta theo đường liền mạch trong trellis từ01
S =
tại thời điểm t2để S =00
tại thời điểm t3 và ngõ ra tương ứng với con đường này
qua trellis là C=011
.Bây giờ ở tại thời điểm t3bắt đầu ở S =00
cho bit thông tin S1=1
chúng ta đi theo các đường nét đứt trong trellis đến S =10
ở tại thời điểm t4 Và ngõ ra
tương ứng với con đường này qua trellis là C =111
,cuối cùng, tại thời điểm t4bắt đầu ở10
S =
cho bit thông tin S1=1
chúng ta đi theo nét đứt trong trellis đến S =11
Trang 10Các mã xoắn được tạo ra bởi sự thay đổi hữu thanh ghi dịch là một máy trạng thái hữuhạn cơ bản.Vì vậy, không giống như một mã khối (n, k).nơi mà maximum likelihood đòihỏi tìm kiếm từ mã có chiều dài cái mà gần nhất để nhận được độ dài n từ mã,maximumlikelihood phát hiện một mã xoắn đòi hỏi phải tìm kiếm các chuỗi có khả năng nhất củacác ký tự được mã hóa C cho tín hiệu thu được của chuỗi các ký tự được mã hóa,cái mà
chúng ta biểu thị bởi R, Đặc biệt, đối với một chuỗi nhận R, các bộ giải mã quyết định
rằng chuỗi các ký tự được mã hóa C * được truyền qua nếu:
p R C∗ ≥ p R C C ∀
(8.51)Bởi vì mỗi chuỗi C có thể tương ứng với một con đường thông qua các sơ đồ trellis củamã.Giải mã maximum likelihood tương ứng với việc tìm kiếm con đường tối ưu nhấtthông qua các sơ đồ trellis.Đối với một kênh AWGN, tiếng ồn ảnh hưởng đến mỗi ký tựđược mã hóa một cách độc lập.Như vậy, đối với một mã xoắn của tỉ lệ 1 / n, chúng ta cóthể thể hiện likelihood(8.51) như :
là ký tự nhận được mã hóa thứ j tương ứng với R i
.Các hàm log likelihood được định nghĩa là log của p R C( )được đưa ra là :s
Trang 11mã mềm cho các biểu thức log p R C( ij ij)
.Cho hard decision decoding,các ij
Trong quyết định giải mã mềm các giá trị của những ký tự được nhận ij
R
được sử dụngtrực tiếp trong các bộ giải mã chứ không phải là lượng tử hóa chúng để 1 hoặc 0
Trang 12Hàm của Maximizing likelihood này là tương đương với việc lựa chọn C ijcái gần nhất
trong khoảng cách Euclide đến ij
R
.Trong việc xác định chuỗi C tối đa hóa chức nănglog likelihood.Tương tự như vậy, chúng ta có thể mở rộng tất cả các điều khoản trong(8.53) mà không thay đổi trình tự tối đa hóa,Như vậy, bằng cách bỏ qua các yếu tố mở
rộng quy mô và các điều kiện trong (8.57) là chung cho bất kỳ C ij,chúng ta có thể thay
Trang 13Bây giờ chúng ta minh họa việc tính toán số liệu dưới cả hai quyết định cứng và mềmcho mã xoắn của hình 8.6 với sơ đồ trellis trong Hình 8.7.Để đơn giản, chúng ta sẽ chỉxem xét hai con đường có thể thông qua các trellis, và tính toán các khả năng tương ứng
của chugn1 đối với một chuỗi nhận được R.Giả sử chúng ta bắt đầu vào thời điểm t0
trong trạng thái hoàn toàn không.Con đường đầu tiên chúng ta xem xét là con đường tất
cả là zero,tương ứng với chuỗi đầu vào tất cả các số không,Con đường thứ hai, chúng ta
xem xét bắt đầu trong trạng thái S = 00 vào thời điểm t0
và chuyển tiếp đến trạng thái S
= 10 vào thời điểm t1
sau đó đến trạng thái S = 01 tại thời điểm t2
, và kết thúc đến trạng
thái S = 00 tại thời điểm t3
.tại thời điểm đó đường này kết hợp với đường dẫn tất cả
các số không.Bởi vì các con đường và do đó số liệu nhánh của chúng tại thời điểm t t< 0
và t t≥ 3
là tương tự.Con đường the maximum likelihood tương ứng với con đường tổnghợp có số liệu nhánh qua các nhánh, trong đó hai con đường khác nhau là nhỏ hơn,Từhình 8.7, chúng ta thấy rằng con đường tất cả các số không qua trellis tạo ra chuỗi mã
hóa C0 =000000000
trong ba nhánh đầu tiên trong trellis,Con đường thứ hai tạo ra các
trình tự mã hóa C1=110110011
trong ba nhánh đầu tiên trong trellis
Hãy để chúng tôi đầu tiên xem xét quyết định cứng giải mã với xác suất lỗi p.Giả sửchuỗi nhận được hơn ba nhánh là R=100110111
,Lưu ý rằng khoảng cách Hamming giữa
R và C0
là 6 trong khi khoảng cách Hamming giữa R và C1
là 2,Như đã thảo luận ở trên,
Trang 14con đường có khả năng nhất do đó tương ứng với C1
vì nó có khoảng cách Hamming tốithiểu đến R Các số liệu đường dẫn cho các con đường tất cả zero là :
( )
2 3 0
( )
2 3 0
mã tối đa là sự phức tạp của tính toán hàm log likelihood (8.53) tăng lên theo hàm mũ với bộ nhớ của mã, và tính toán này phải được thực hiện cho mọi đường dẫn có thể qua
Trang 15vách ngăn Thuật toán Viterbi, được thảo luận trong phần tiếp theo, làm giảm sự phức tạp của giải mã có khả năng tối đa bằng cách tận dụng cấu trúc của phép tính số liệu đường đi
8.3.3 Thuật toán Viterbi
Thuật toán Viterbi, phát hiện bởi Viterbi năm 1967 nhằm làm giảm sự phức tạp của giải
mã bằng cách loại bỏ các đường đi một cách có hệ thống nhờ vào việc so sánh lựa chọn đường dẫn có chỉ số cao nhất Tiền đề cơ bản là sự xem xét dữ liệu đường dẫn được liên kết với tất cả các đường dẫn vào một nút cho trước (Nút N) trong lưới Do các đường dẫn có thể qua nút N giống nhau cho mỗi đường vào, đường dẫn của đường dẫn hoàn chỉnh với chỉ số đường đi cao nhất đi qua Nút N phải trùng với con đường có chỉ số đường dẫn có chỉ số cao nhất đến nút N Điều này được minh họa trong hình 8.8, trong
đó Đường P1, Đường P2, và Đường P3 nhập Nút N, đường P1 có lượng dữ liệu nhiều nhất Đường dẫn hoàn chỉnh là đường có dữ liệu tốt nhất được in đậm lên, là một nhánh của B(k) sau khi qua nút N
Thuật toán Viterbi chiếm ưu thế của cấu trúc này bằng cách loại bỏ tất cả các đường dẫnvào một nút nhất định, ngoại trừ đường dẫn có số liệu đường đi một phần lớn nhất đến nút đó Con đường không bị bỏ đi được gọi là con đường sống sót Do đó, đối với ví dụ của Hình 8.8, Đường 1 là người sống sót tại nút N và Đường 2 và 3 sẽ bị loại bỏ khi
một cho mỗi trạng thái mã hóa có thể Một chi nhánh cho một giai đoạn nhất định của lưới không thể được giải mã cho đến khi tất cả các đường dẫn còn sót lại ở giai đoạn lưới tiếp theo chồng lên nhau với nhánh đó, như thể hiện trong hình 8.9 Con số này cho
cả những đường dẫn còn sót lại này có thể được bắt nguồn từ nhánh gốc thông thường
nhánh của lưới Lưu ý rằng không có sự chậm trễ giải mã cố định liên quan đến khoảng bao xa trở lại trong lưới có một thân chung xảy ra cho một tập hợp các đường dẫn còn sót lại, sự chậm trễ này phụ thuộc vào k, K và đặc tính mã cụ thể Để tránh sự chậm trễ trong việc giải mã ngẫu nhiên, thuật toán Viterbi thường được sửa đổi sao cho ở một giai đoạn nhất định trong lưới, các nhánh n phần trở lại sẽ được quyết định dựa trên các chỉ số đường đi một phần đến điểm đó Mặc dù sự sửa đổi này không mang lại độ xác suất chính xác tối đa, cho n đủ lớn (thường là n ≥ 5K) đó là một sự xấp xỉ tốt
Trang 16Maximum Likelihood Path
Figure 8.8: Partial Path Metrics on Maximum Likelihood Path
toán trong giải mã và các yêu cầu về bộ nhớ cho thuật toán gia tăng theo cấp số với k và
K Điều này hàm ý rằng đối với các mã thực hiện thực tế, các mã xoắn được hạn chế vớicác giá trị tương đối nhỏ của k và K
8.3.4 Thuộc tính Khoảng cách
Cũng giống như các mã khối, khả năng hiệu chỉnh lỗi của mã xoắn phụ thuộc vào
khoảng cách giữa các chuỗi từ mã Vì các mã xoắn là tuyến tính, khoảng cách tối thiểu giữa tất cả các chuỗi mã có thể được tìm thấy bằng cách xác định khoảng cách tối thiểu
Trang 17từ bất kỳ dãy nào hoặc tương đương với bất kỳ đường dẫn nào tới đường dẫn all-zero
Rõ ràng đường dẫn của đường hầm với khoảng cách tối thiểu tới con đường không bằngnhau sẽ phân rã và quay trở lại với con đường không hoàn toàn, sao cho hai đường dẫn trùng với nhau, ngoại trừ một số nhánh Để tìm đường đi từ xa tối thiểu này, chúng ta phải xem xét tất cả các đường đi phân rã từ trạng thái không số không và sau đó lại với trạng thái này Ví dụ, trong hình 8.10, chúng ta vẽ tất cả các đường dẫn trong hình 8.7 giữa các lần t0 và t5 phân tách và sửa lại với trạng thái zero-zero Lưu ý rằng Đường 2 giống như Đường 1, chỉ cần chuyển theo thời gian, và do đó không được coi là một con đường riêng Lưu ý rằng chúng ta có thể nhìn qua một khoảng thời gian dài hơn, nhưng bất kỳ đường đi nào khác nhau và đi qua trong khoảng thời gian dài hơn này sẽ đi qua cùng một nhánh (thay đổi theo thời gian) như là một trong những đường dẫn cộng thêm một số nhánh bổ sung và do đó có các chỉ số đường đi lớn hơn Cụ thể, chúng ta thấy rằng Đường 4 đi qua cùng một nhánh như Đường 1, 00-10-01 và sau đó là 01-00, cộng với các nhánh 01-10-01 Do đó chúng ta không cần phải cân nhắc khoảng thời gian dài hơn để tìm đường đi từ xa tối thiểu Đối với mỗi đường dẫn trong hình 8.7, chúng ta đánh dấu khoảng cách Hamming của từ mã trên mỗi nhánh thành từ mã không zero trong nhánh tương ứng của đường đi bằng 0 Bằng cách tổng hợp các khoảng cách Hamming trên tất cả các nhánh của mỗi đường, chúng ta thấy Đường 1 có khoảng cách Hamming là 6 và Đường 3 và 4 có khoảng cách Hamming là 8 Nhắc lại rằng các đường
kẻ đứt cho thấy các đầu vào 1 bit, trong khi các đường kẻ liền cho biết các đầu vào 0 bit,chúng ta thấy rằng Path 1 tương ứng với một dãy bit đầu vào từ t 0 đến t5 của 10000, đường dẫn 3 tương ứng với một chuỗi bit đầu vào là 11000, và đường dẫn 4 tương ứng với một dãy bit đầu vào là 10100 Do đó, đường dẫn 1 kết quả trong một bit lỗi, liên quan đến tất cả các chuỗi không, và đường 3 và 4 gây ra lỗi hai bit
cách tự do, là
t k t k+1 t k+2 t k+3
Common Stem
C i