CHƯƠNG 3: GIẢI MÃ CHẬP DÙNG THUẬTTOÁN
ENCOUT ■ RECEIVED
RECEIVED 00 00 11 11 10 n
Những cấu trúc dữ liệu này được thực thi tốt nhất khi là các mảng. Sáu mảng chính mà chúng ta cần cho bộ giải mã viterbi là:
- Một bản sao của “Bảng trại thái kế tiếp” của bộ mã hóa mã chập, bảng chuyển trạng thái của bộ mã hóa. Kích cỡ của bảng này (hàng X cột) là 2(K_1) X 2K. Mảng này phải được khởi đầu trước khi bắt đầu tiến trình giải mã.
- Một bản sao của “bảng ngõ ra” của bộ mã hóa mã chập. Kích cỡ của bảng này là 2(K_1)X 2K. Mảng này cũng cần phải được khởi đầu trước khi bắt đầu tiến trình giải mã.
- Một mảng để lưu trữ trạng thái hiện tại và trạng thái kế của bộ mã hóa mã chập, với giá trị ngõ vào (0 hoặc 1) sẽ cho ra trạng thái kế tiếp và trạng thái hiện tại. Chúng ta sẽ gọi bảng này là “bảng ngõ vào”. Kích thước của bảng là 2(K~ 1)X2(k_1). Mảng này cũng cần phải được khởi đầu trước khi bắt đầu tiến trình giải mã.
- Một mảng để lưu trữ lịch sử các trạng thái trước cho mỗi trạng thái của bộ mã hóa cho Kx5 + 1 cặp kí hiệu kênh truyền nhận được. Chúng ta sẽ gọi bảng này là “bảng lịch sử trạng thái”. Kích thước của mảng này là 2(k1)x(Kx5 +1). Mảng này
không cần khải động trước khi bắt đầu tiến trình giải mã.
- Một mảng để lưu trữ thông số metric tích lũy cho mỗi trạng thái được tính toán sử dụng nguyên tắc cộng - so sánh - lựa chọn. Mảng này sẽ được gọi là “mảng thông số metric tích lũy”. Kích thước của mảng này là 2(K_1)x2. Mảng này không cần khởi động trước khi bắt đầu tiến trình giải mã.
- Một mảng dùng để lưu trữ danh sách các trạng thái đã được quyết định trong suốt quá trình truy hồi. Nó được gọi là “mảng chuỗi trạng thái”. Kích thước của mảng này là (Kx5+1). Mảng này không cần khởi động trước khi bắt đầu tiến trình giải mã.
Giờ chúng ta hãy nói về tốc độ của những bộ mã hóa chập mà có thể được giải mã bởi các bộ giải mã Viterbi. Ở trên chúng ta đã đề cập đến bộ mã hóa thủng, là một hướng chung của bộ mã hóa tốc độ cao, tốc độ lớn hơn từ k đến n. Punctured code được tạo ra bởi dữ liệu mã hóa đầu tiên sử dụng một bộ mã hóa tốc độ 1/n như là bộ mã hóa thí dụ được mô tả trước đây và sau đó xóa bỏ một vài ký hiệu kênh truyền ở ngõ ra của bộ mã hóa. Quá trình này được gọi là “puncturing”. Ví dụ, để tạo ra mã tốc độ % từ mã tốc độ Vi, thì đơn giản là sẽ xóa ký hiệu kênh truyền theo mẫu punctured sau đây.
Trong đó, bit “1” chi ra rằng một ký hiệu kênh truyền sẽ đuợc truyền, và bit “0” để chỉ ra rằng một kí hiệu kênh truyền sẽ được xóa. Để xem làm thế nào mà việc này có thể tạo ra bộ mã tốc độ %. Hãy nghĩ là mỗi cột của bảng trên tương ứng với một bit ngõ vào đến bộ mã hóa và mỗi một bit “1” ưong bảng tương ứng vói một ký hiệu kênh ở ngõ ra. Có 3 cột trong bảng và 4 bit “1”. Thậm chí bạn có thể tạo ra bộ mã tốc độ 2/3 sử dụng một bộ mã hóa Vi với mẫu puncturing sau với 2 cột và 3 bit “1”:
Để giải mã một punctured code, bit “1” phải thay thế những kí hiệu rỗng cho những kí hiệu đã bị xóa ở ngõ vào của bộ giải mã Vỉterbỉ. Kí hiệu rỗng có thể là kí hiệu được lượng tử đến mức “1” yếu và mức “0” yếu hoặc hơn nữa có thể là một kí hiệu cở đặc biệt, mà khỉ được xử lí bằng mạch ACS trong bộ giải mã, kết quả là không thay đồi thông số metric tích lũy từ trạng thái trước.
Dĩ nhiên, n không phải bằng 2. Ví dụ, một mã tốc độ 1/3 và K=3 (7,7,5) có thể được mã hóa sử dụng bộ mã hóa như bên dưới:
Hình 3.18. Bộ mã tốc độ 1/3 và K= (7,7,5).
Bộ mã hóa này có 3 bộ cộng modulo, vì vậy với mỗi một bit ngõ vào, có thể tạo ra 3 ngõ ra kí hiệu kênh truyền. Dĩ nhiên, với mẫu puncturing phù hợp, bạn có thể tạo ra những mã tốc độ cao hơn sử dụng bộ mã hóa này.
3.2. ứng dụng của thuật toán Viterbỉ trong giảỉ mã chập
Trong giải mã chập, giải mã quyết định mềm và quyết định cúng dựa vào loại lượng tử hóa được sử dụng ở các bỉt nhận được. Giải mã quyết định cứng sử dụng loại lượng tử hóa 1 bit trên các giá trị kênh nhận được. Giải mã quyết định mềm sử dụng loại lượng tử hóa nhiều bỉt trên các giá trị kênh nhận được. Đối với giải mã quyết đinh mềm lý tưởng (lượng tử hóa không xác định), các giá trị kênh nhận được
1 1
được sử dụng trực tiếp trong bộ giải mã hóa kênh. Hình 3.12 biểu diễn giải mã quyết định cứng và quyết định mềm.
Hình 3.19. Giải mã quyết định cứng và quyết định mềm.