MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 305

Mã hóa kênh truyền

274

Giá trị ngõ vào bằng 0 biểu thị mức 0 với độ tin cậy cao nhất, còn giá trị

2^nsdec-1

biểu thị

mức 1 với độ tin cậy cao nhất. Các giá trị khác biểu thị mức 0 hoặc mức 1 với độ tin cậy kém
hơn. Ví dụ đối với trường hợp số bit quyết định mềm bằng 3, ta có bảng mô tả như sau:

Bảng 17.5

. Ý nghĩa của các giá trị ngõ vào

Giá trị ngõ vào

Biểu thị

0 Mức 0 với độ tin cậy cao nhất (cấp 1)

1 Mức 0 với độ tin cậy cấp 2

2 Mức 0 với độ tin cậy cấp 3

3 Mức 0 với độ tin cậy thấp nhất

4 Mức 1 với độ tin cậy thấp nhất

5 Mức 1 với độ tin cậy cấp 3

6 Mức 1 với độ tin cậy cấp 2

7 Mức 1 với độ tin cậy cao nhất

o Ngoài các thông số cơ bản nêu trên, người sử dụng có thể cung cấp thêm các thông tin về

các điều kiện đầu của bộ giải mã như các độ đo trạng thái đầu, các trạng thái khởi đầu và các
ngõ vào ban đầu. Đồng thời, hàm vitdec cũng trả về các độ đo trạng thái cuối cùng, các trạng
thái cuối và các giá trị ngõ vào sau cùng.

>> decoded = vitdec(..., 'cont', ..., init_metric,init_states,init_inputs)

>> [decoded final_metric final_states final_inputs] = vitdec(..., 'cont',

...)

Đọc giả có thể tìm thên các thông tin về các thông số này bằng cách gõ lệnh help vitdec ở cửa
sổ lệnh của MATLAB.
Ví dụ 17-8. Minh hoạ phương pháp giải mã mã chập bằng quyết định mềm.
Đoạn chương trình dưới đây minh hoạ phương pháp giải mã quyết định mềm với số bit quyết
định mềm bằng 3. Đầu tiên ta sử dụng hàm convenc để tạo một thông điệp mã hoá bằng mã
chập. Thông điệp này sau đó được cộng với nhiễu Gauss tạo bằng hàm awgn để mô phỏng
thông điệp bị nhiễu. Trước khi giải mã, ta tiến hành lượng tử tín hiệu thu với số mức lượng tử
bằng 8 để chuyển dữ liệu nhiễu thành các số nguyên từ 0 đến 7. Dữ liệu gần bằng 0 được gán
giá trị 0, dữ liệu ở gần 1 được gán giá trị 7, các dữ liệu cách xa 0 và 1 hơn sẽ được gán các giá
trị từ 2 đến 6 tuỳ theo việc chúng gần 0 và 1 như thế nào. Cuối cùng, tiến hành giải mã bằng
hàm vitdec và tính tỷ lệ lỗi bit. Do sử dụng chế độ hoạt động liên tục (

‘cont’

) nên bộ giải

mã sẽ tạo ra một khoảng thời gian trễ bằng với

tblen

, và

msg(1)

sẽ tương ứng với

decode(tblen+1)

.

msg = randint(4000,1,2,139); % Dữ liệu ngẫu nhiên

t = poly2trellis(7,[171 133]); % Định nghĩa cấu trúc trellis.

code = convenc(msg,t); % Mã hoá dữ liệu.

ncode = awgn(code,6,'measured',244); % Cộng nhiễu.

% Lượng tử hoá để chuẩn bị giải mã bằng phương pháp lấy ngưỡng mềm

qcode = quantiz(ncode,[0.001,.1,.3,.5,.7,.9,.999]);

tblen = 48; delay = tblen; % Độ sâu dò tìm

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.