Mã hóa kênh truyền
273
'outputs',[0 3;1 2;3 0;2 1]);
Số ký hiệu ngõ vào của bộ mã bằng 2 vì bộ mã hoá có một ngõ vào nhận 1 trong 2 giá trị 0
hoặc 1. Tương tự, số ký hiệu ngõ ra là
2
2 = 4 vì bộ mã có 2 ngõ ra. Số trạng thái của bộ mã
bằng 4 vì thanh ghi dịch của bộ mã gồm có hai khối trễ. Để xác định các ma trận
nextStates
và
outputs
, ta dựa vào sơ đồ mô tả ở hình 13.4. Các ma trận này có bốn cột
ứng với bốn trạng thái của bộ mã và hai cột ứng với hai ký hiệu ngõ vào là 0 hoặc 1. Các phần
tử của ma trận
nextStates
là trạng thái mà mũi tên tương ứng chỉ đến, còn các phần tử của
ma trận outputs là giá trị ghi trên mũi tên tương ứng.
17.2.3. MAÕ HOÙA VAØ GIAÛI MAÕ MAÕ CHAÄP
Mã hoá mã chập được thực hiện bằng lệnh convenc. Hàm này trả về vector ngõ ra
code
ứng với thông điệp ngõ vào
msg
, với
trellis
là cấu trúc mô tả bộ mã hoá.
>> [code final_state] = convenc (msg,trellis,init_state)
init_state
là một thông số phụ, xác định trạng thái khởi đầu của thanh ghi dịch, đó là một
số nguyên trong khoảng từ 0 đến
trellis.numStates – 1
. Giá trị mặc định là 0.
Hàm này cũng trả về trạng thái sau cùng
final_state
của bộ mã hoá sau khi xử lý xong
thông điệp.
Giải mã mã chập: MATLAB sử dụng giải thuật Viterbi để giải mã mã chập. Có hai phương
pháp giải mã: phương pháp quyết định cứng và phương pháp quyết định mềm.
o Phương pháp quyết định cứng: thông điệp mã hoá ngõ vào
code
có dạng nhị phân và
thông điệp giải mã ở ngõ ra
decoded
cũng là một vector nhị phân, không cần thực hiện thêm
các xử lý khác.
>> decoded = vitdec(code,trellis,tblen,opmode,dectype)
opmode
cho biết chế độ hoạt động của bộ giải mã. Có ba khả năng lựa chọn:
‘trunc’
: bộ mã hoá được xem như khởi đầu từ trạng thái all-zero (toàn bit 0). Bộ giải mã sẽ
thực hiện dò từ trạng thái ứng với độ đo tốt nhất.
‘term’
: bộ mã hoá được xem như khởi đầu và kết thúc ở trạng thái all-zero. Bộ giải mã tiến
hành d2 từ trạng thái all-zero.
‘cont’
: bộ mã hoá được xem như khởi đầu từ trạng thái all-zero. Bộ giải mã sẽ thực hiện dò
từ trạng thái ứng với độ đo tốt nhất. Trường hợp này có xét tới độ trễ bằng
tblen
ký hiệu.
dectype cho biết phương pháp giải mã:
‘unquant’
: bộ giải mã nhận vào tín hiệu thực, có dấu. Giá trị +1 biểu diễn mức logic 0 và
giá trị -1 biểu diễn mức logic 1.
‘hard’
: phương pháp quyết định cứng, dữ liệu vào có dạng nhị phân.
‘soft’
: phương pháp quyết định mềm, sẽ được trình bày sau.
tblen
là độ sâu dò tìm của bộ giải mã.
o Phương pháp quyết định mềm: cần xác định số bit quyết định mềm
nsdec
, đồng thời dữ
liệu ngõ vào cũng bao gồm các số nguyên từ 0 đến
2^nsdec-1
.
>> decoded = vitdec(code,trellis,tblen,opmode,'soft',nsdec).