Hoàng Hữu Hiệp Trang 1 Më ®Çu Bộ mã hóa và giải mã Turbo cho chất lượng rất cao và được ứng dụng rộng rãi trong thông tin di động

Nghiên cứu mã Turbo trong CDMA 2000

Thông tin tài liệu

Tác giả

Hoàng Hữu Hiệp

instructor Thạc sĩ Đoàn Hữu Chức
Trường học

Đại học Dân lập Hải Phòng

Chuyên ngành Điện tử - Viễn thông
Loại tài liệu Khóa luận
city Hải Phòng
Ngôn ngữ Vietnamese
Định dạng | PDF
Dung lượng 2.76 MB

Tóm tắt

I.Khái niệm về Mã Chập và Mã Khối

Bài viết so sánh mã chậpmã khối, nhấn mạnh sự khác biệt về cấu trúc, công cụ phân tích và thiết kế. Mã khối dựa nhiều vào đặc tính đại số để tối ưu hiệu suất giải mã, trong khi hiệu suất của mã chập phụ thuộc vào bản chất trạng thái chuỗi. Một mã chập (n, k, N) được định nghĩa, với đầu ra n bit phụ thuộc vào k bit hiện tại và (N-1)k bit trước đó, thể hiện bộ nhớ của mã. Mô tả về ma trận sinh G của mã chập cũng được đề cập, chỉ ra kết nối giữa các thanh ghi dịch và bộ cộng môđun-2.

1. So sánh Mã Chập và Mã Khối

Phần này làm rõ sự khác biệt cơ bản giữa mã chập và mã khối. Mã khối, dựa trên các tính chất đại số, có cấu trúc và phương pháp thiết kế, phân tích khác biệt so với mã chập. Hiệu suất giải mã của mã khối được cải thiện nhờ đặc tính đại số của cấu trúc mã. Ngược lại, hiệu quả của mã chập chủ yếu phụ thuộc vào bản chất trạng thái chuỗi, được đánh giá thông qua tính toán toàn diện hơn là dựa trên tính chất đại số. Điều này nhấn mạnh sự khác biệt trong phương pháp tiếp cận thiết kế và phân tích của hai loại mã này, dẫn đến các kỹ thuật tối ưu khác nhau.

2. Mô tả Mã Chập và Ma Trận Sinh

Phần này đi sâu vào mô tả mã chập. Với véc tơ đầu vào u và véc tơ mã hóa x, việc mô tả bộ mã hóa yêu cầu hiểu rõ sự kết nối giữa các thanh ghi đầu vào và đầu ra. Tuy nhiên, cách tiếp cận nhấn mạnh cấu trúc đại số có thể dẫn đến ký hiệu phức tạp và không tập trung vào mục tiêu giải mã. Do đó, bài viết chuyển sang mô tả mã hóa từ những góc nhìn khác. Giả thiết mã chập sử dụng số nhị phân, mỗi lần dịch sẽ có k bit đầu vào và k bit đầu ra, không tham gia vào quá trình tạo chuỗi bit đầu ra. Chuỗi đầu ra n bit được tạo từ n bộ cộng môđun-2. Giá trị chuỗi đầu ra phụ thuộc vào k bit hiện tại và (N-1)k bit trước đó, tạo thành bộ nhớ của mã chập (n, k, N). Ma trận sinh G được giới thiệu, chỉ ra cách sử dụng các hàm tương ứng để tạo véc tơ dài n bit, với mỗi phần tử là một bộ cộng môđun-2. Các tham số N x k trong ma trận G biểu diễn kết nối từ các trạng thái của bộ ghi dịch tới bộ cộng môđun-2.

3. Phân tích Sơ đồ Chuyển trạng thái và Phân bố Trọng số

Phần này tập trung vào việc phân tích sơ đồ chuyển trạng thái của mã chập. Chuỗi n bit đầu ra phụ thuộc vào chuỗi k bit hiện tại và (N-1)k bit trước đó. Ví dụ mã chập (3,2,2) được phân tích chi tiết, với 4 trạng thái có thể có của hai thanh ghi dịch. Sơ đồ hình cây và sơ đồ lưới được sử dụng để minh họa quá trình chuyển trạng thái, cho thấy hoạt động của lưới ổn định sau tầng thứ hai. Khái niệm phân bố trọng số của mã chập được giới thiệu, được định nghĩa là tập hợp {..., ..., ...}, tính toán bằng cách cải tiến sơ đồ chuyển đổi trạng thái. Sơ đồ trạng thái được cải tiến bằng cách triển khai từ trạng thái ban đầu "toàn 0" (S0 hoặc Sin) đến trạng thái kết thúc "toàn 0" (Sout). Trọng số chuỗi mã Ai biểu diễn số lượng chuỗi mã phân kỳ từ trạng thái "toàn 0" và hồi quy về trạng thái "toàn 0" lần đầu tiên tại các nút tiếp theo. Nói cách khác, Ai là số lượng tuyến có trọng số i trong sơ đồ chuyển đổi trạng thái mở rộng.

II. Mã Kề và Phương pháp Giải mã Tầng

Mã kề, được giới thiệu năm 1966, nhằm giảm xác suất lỗi theo hàm mũ. Lợi ích chính là việc giải mã từng giai đoạn, làm giảm độ phức tạp bằng cách giải mã từng mã thành phần (ví dụ: mã Reed-Solomon và mã chập) riêng biệt. Forney (1966) đã chỉ ra rằng việc giải mã tầng tối ưu cần sử dụng đánh giá xác suất hậu nghiệm (APP) và giải mã mềm.

1. Giới thiệu Mã Kề và Mục đích

Mã kề, được giới thiệu năm 1966, hướng đến mục tiêu giảm xác suất lỗi theo hàm mũ với tốc độ nhỏ hơn dung lượng kênh, trong khi độ phức tạp giải mã tăng lên. Điều này trái ngược với việc tối ưu dựa trên tính chất đại số như trong mã khối. Mã kề đã được chuẩn hóa trong các ứng dụng đòi hỏi độ tăng ích mã hóa cao và điều kiện phức tạp. Sự ra đời của mã kề đã thu hút sự quan tâm lớn từ các nhà nghiên cứu lý thuyết, mở ra hướng đi mới trong việc thiết kế mã hiệu quả và đáp ứng các yêu cầu thực tế khắt khe hơn.

2. Giải mã Tầng và Vai trò của Giải mã Mềm

Lợi ích chính của mã kề là phương pháp giải mã tầng, giảm độ phức tạp của quá trình giải mã bằng cách chia nhỏ vấn đề thành các tầng giải mã đơn giản hơn. Quá trình này liên quan đến việc giải mã tuần tự các mã thành phần. Kết quả giải mã ở mỗi tầng có thể là quyết định cứng hoặc mềm, ảnh hưởng đến quá trình giải mã ở tầng tiếp theo. Forney (1966) đã chứng minh rằng đánh giá xác suất hậu nghiệm (APP) của ký hiệu mã hóa ở tầng trước là cách tốt nhất để tối ưu quá trình giải mã tầng. Điều này đòi hỏi sử dụng giải mã mềm cho cả bộ giải điều chế và bộ giải mã ở tầng trên, cho phép tận dụng thông tin mềm để cải thiện hiệu quả sửa lỗi.

3. Kỹ thuật Xáo trộn và Ứng dụng của Mã Kề

Kỹ thuật xáo trộn đóng vai trò quan trọng trong việc nâng cao khả năng sửa lỗi, đặc biệt khi trên kênh truyền xuất hiện lỗi cụm (ví dụ: kênh fading đa đường). Xáo trộn thay đổi thứ tự sắp xếp của chuỗi đầu vào trước khi truyền, làm phân tán lỗi cụm thành các lỗi đơn lẻ, đơn giản hóa quá trình sửa lỗi. Ngoài ra, xáo trộn làm giảm độ tương quan giữa các chuỗi đầu vào các mã thành phần, giúp cải thiện chất lượng mã hóa khi sử dụng giải mã nhiều trạng thái. Giản đồ mã kề, được Forney đề xuất, kết hợp hai hoặc nhiều mã đơn giản (mã thành phần) để tạo ra mã có khả năng sửa lỗi cao hơn. Mã kề thường được sử dụng trong các hệ thống giới hạn công suất, ví dụ như các bộ phát trên các đầu dò không gian. Kết hợp mã Reed-Solomon (ngoài) và mã chập (trong) là một cấu trúc phổ biến. Mã Turbo có thể được xem như một sự phát triển hoàn thiện của cấu trúc mã kề, kết hợp với thuật toán giải mã lặp.

III. Mã Turbo Cấu trúc và Nguyên lý

Mã Turbo, được giới thiệu năm 1993 bởi Berrou, Glavieux, và Thitimajshima, là sự kết hợp hoàn hảo giữa cấu trúc mã kề và thuật toán giải mã lặp. Chúng sử dụng hai hoặc nhiều mã thành phần, thường là mã chập đệ quy hệ thống (RSCC), kết hợp với bộ xáo trộn. Khác với mã chập, mã Turbo sử dụng giải mã mềm (SISO) và thuật toán lặp để cải thiện hiệu suất. Thông tin ngoại lai (extrinsic information) được trao đổi giữa các bộ giải mã thành phần trong mỗi lần lặp.

1. Giới thiệu Mã Turbo và Đặc điểm chính

Mã Turbo, được giới thiệu năm 1993 bởi Berrou, Glavieux, và Thitimajshima, đạt được hiệu suất vượt trội so với các mã khác. Đặc điểm nổi bật là sử dụng cấu trúc mã kề và thuật toán giải mã lặp. Kết quả ban đầu cho thấy khả năng sửa lỗi bit đạt 10⁻⁵ với tốc độ mã 1/2 trên kênh nhiễu trắng AWGN (Additive White Gaussian Noise) và điều chế BPSK. Mã Turbo được tạo bởi hai hoặc nhiều mã thành phần, thường là mã chập, được xử lý lặp lại trên cùng một chuỗi thông tin. Sự khác biệt quan trọng so với mã chập là mã Turbo sử dụng giải mã mềm (soft-input soft-output - SISO) và thuật toán lặp, không chỉ dựa vào quyết định cứng ở bước cuối cùng.

2. Cấu trúc Mã Turbo Mã Chập Đệ Quy Hệ Thống và Bộ Xáo Trộn

Cấu trúc mã Turbo bao gồm hai mã chập đệ quy hệ thống (Recursive Systematic Convolution Code - RSCC) mắc song song, kết hợp với bộ xáo trộn và thuật toán giải mã lặp. Hai mã chập RSCC này được gọi là mã thành phần. Bộ xáo trộn đặt giữa hai mã thành phần, nhằm làm thay đổi trật tự bit dữ liệu trước khi được mã hóa bởi mã chập thứ hai, giúp giảm sự tương quan giữa các bit và cải thiện khả năng sửa lỗi, đặc biệt hiệu quả trong xử lý lỗi cụm trên kênh truyền. Dữ liệu đầu vào được mã hóa bởi mã chập thứ nhất và sau khi được xáo trộn, được mã hóa bởi mã chập thứ hai. Các bit hệ thống và bit kiểm tra được ghép kênh và truyền đi. Tỷ lệ mã có thể là 1/2 (khi loại bỏ xen kẽ bit kiểm tra) hoặc 1/3 (khi không loại bỏ).

3. Nguyên lý Giải mã Lặp và Trao đổi Thông tin Ngoại lai

Nguyên lý hoạt động của mã Turbo dựa trên việc giải mã lặp. Thông tin ngoại lai (extrinsic information) đóng vai trò then chốt. Sau mỗi lần lặp, thông tin ngoại lai được tính toán và trao đổi giữa các bộ giải mã thành phần. Thông tin này được sử dụng để cải thiện ước lượng xác suất a priori của dữ liệu, giúp nâng cao độ chính xác của quá trình giải mã. Quá trình lặp lại cho đến khi đạt được kết quả mong muốn hoặc đạt đến số lần lặp tối đa. Việc sử dụng giải mã mềm (SISO) cho phép tận dụng thông tin độ tin cậy của các bit nhận được, giúp cải thiện hiệu suất giải mã đáng kể so với giải mã cứng. Sự tương tác giữa các bộ giải mã thành phần thông qua thông tin ngoại lai là yếu tố then chốt tạo nên hiệu quả của mã Turbo.

IV.Giải mã Mã Turbo Thuật toán MAP và SOVA

Bài viết trình bày hai thuật toán giải mã mã Turbo: thuật toán MAP (Maximum a posteriori), một phương pháp tối ưu nhưng phức tạp, và thuật toán SOVA (Soft Output Viterbi Algorithm), một phương pháp gần đúng đơn giản hơn. Cả hai đều sử dụng xác suất hậu nghiệm (APP)xác suất tiền nghiệm để tối ưu quá trình giải mã. Hàm log-hợp lệ và các phép tính LLR (Log-Likelihood Ratio) đóng vai trò quan trọng trong các thuật toán này.

1. Thuật toán MAP Maximum a posteriori Phương pháp tối ưu

Thuật toán MAP là phương pháp tối ưu để tính toán xác suất hậu nghiệm (APP) cho mỗi bit, nhằm giảm thiểu xác suất lỗi bit. Nó được gọi là thuật toán BCJR (Bahl-Cocke-Jelinek-Raviv), dựa trên việc ước lượng xác suất của các trạng thái ẩn trong một quá trình Markov. Tuy nhiên, thuật toán MAP thuộc loại thuật toán dạng tích, có độ phức tạp tính toán rất cao, khiến việc ứng dụng thực tế gặp nhiều khó khăn. Do đó, các thuật toán gần đúng như Log-MAP và Max-log-MAP được sử dụng để giảm độ phức tạp, trong đó Max-log-MAP sử dụng hàm đơn giản hơn, tuy nhiên chất lượng giải mã có thể bị giảm nhẹ so với Log-MAP, khoảng 0.5dB trong kênh nhiễu Gauss.

2. Thuật toán SOVA Soft Output Viterbi Algorithm Giải pháp gần đúng

Thuật toán SOVA là một thuật toán gần đúng, được thiết kế để giảm độ phức tạp tính toán so với thuật toán MAP. SOVA dựa trên việc sửa đổi thuật toán Viterbi truyền thống, bổ sung thêm các thông tin độ tin cậy (metric) để cung cấp đầu ra mềm. Khác với thuật toán Viterbi truyền thống chỉ đưa ra quyết định cứng, SOVA cung cấp cả quyết định bit ước đoán và thông tin a posteriori (LLR). Việc triển khai SOVA thường gồm hai bộ giải mã riêng biệt: một bộ tính toán đường ML (Maximum Likelihood) và một bộ tính toán và cập nhật giá trị độ tin cậy, giúp giảm độ phức tạp tính toán. Trong thực tế, SOVA được sử dụng rộng rãi do tính toán đơn giản hơn nhưng vẫn giữ được hiệu quả giải mã chấp nhận được.

3. So sánh MAP và SOVA và Ứng dụng trong Giải mã Turbo

Cả MAP và SOVA đều là thuật toán ngõ ra mềm (soft-output) dựa trên sơ đồ trellis, nhưng mục tiêu khác nhau: MAP hướng đến giảm thiểu xác suất lỗi bit, còn Viterbi truyền thống (và SOVA cải tiến) hướng đến giảm thiểu xác suất lỗi từ mã. MAP là phương pháp tối ưu cho ước đoán trạng thái và đầu ra của quá trình Markov trong nhiễu trắng, nhưng độ phức tạp tính toán cao. SOVA, mặc dù không tối ưu, lại có độ phức tạp thấp hơn nhiều. Khi áp dụng vào giải mã mã Turbo, việc sử dụng bộ giải mã Viterbi thông thường gặp hai khó khăn: đầu ra cứng và lỗi bit từ bộ giải mã bên trong ảnh hưởng đến bộ giải mã bên ngoài. SOVA khắc phục được những khó khăn này bằng cách cung cấp giá trị độ tin cậy, giúp cải thiện hiệu quả giải mã. Mô tả về việc tính toán độ tin cậy trong SOVA dựa trên trị tuyệt đối giữa metric tích lũy của đường survivor và đường cạnh tranh được đưa ra, nhấn mạnh sự khác biệt về độ tin cậy giữa các quyết định.

V.Ứng dụng Mã Turbo trong Hệ thống CDMA 2000

Bài viết đề cập đến ứng dụng mã Turbo trong hệ thống CDMA 2000, bao gồm việc mã hóa dữ liệu, bit kiểm tra chất lượng khung (CRC), và việc sử dụng tỷ lệ mã (R = 1/2, 1/3, 1/4). Các kỹ thuật phối hợp tốc độ và kỹ thuật xáo trộn được sử dụng để cải thiện hiệu suất trong môi trường truyền không dây, đặc biệt là xử lý lỗi cụm do hiện tượng fading.

1. Mã hóa Turbo trong CDMA 2000 Quy trình và Thông số

Trong hệ thống CDMA 2000, mã Turbo được sử dụng để mã hóa dữ liệu, bit chỉ thị chất lượng khung (CRC) và hai bit dành trước. Bộ mã hóa tạo ra Nturbo/R ký hiệu dữ liệu và 6/R ký hiệu đuôi, với R là tỷ lệ mã (1/2, 1/3, hoặc 1/4). Cấu trúc mã hóa gồm hai mã chập đệ quy hệ thống (RSCC) mắc song song, kết hợp với bộ chèn đặt trước mã chập thứ hai. Các đầu ra của mã chập được trích bỏ và lặp lại để đạt được Nturbo bit mã hóa. Việc lựa chọn tỷ lệ mã R ảnh hưởng trực tiếp đến số lượng bit đầu ra và độ phức tạp của quá trình mã hóa. Các thông số này cần được thiết lập một cách chính xác để đảm bảo hiệu quả mã hóa và chất lượng truyền dẫn trong hệ thống CDMA 2000.

2. Phối hợp Tốc độ và Kỹ thuật Xáo trộn

Hệ thống CDMA 2000 sử dụng kỹ thuật phối hợp tốc độ (lặp hoặc trích bỏ ký hiệu trên kênh truyền tải - TrCH) để đảm bảo tốc độ ký hiệu nhất quán cho các kênh có tốc độ bit khác nhau. Thuộc tính phối hợp tốc độ được lớp cao hơn định nghĩa và chỉ có thể thay đổi theo thông báo từ lớp cao. Kỹ thuật xáo trộn cũng được tích hợp để xử lý lỗi cụm thường gặp trong truyền thông di động do hiện tượng fading sâu. Xáo trộn chia khối bản tin thành các cụm nhỏ hơn, sau đó hoán vị các cụm này giữa các khối bản tin khác nhau. Khi xảy ra lỗi cụm, mỗi khối chỉ mất một phần nhỏ dữ liệu, giúp quá trình giải mã dễ dàng hơn. Kết hợp xáo trộn và mã Turbo giúp cải thiện đáng kể hiệu quả sửa lỗi trong môi trường truyền không dây phức tạp của CDMA 2000.

VI.Mô phỏng và Kết luận

Bài viết đề cập đến một chương trình mô phỏng mã Turbo sử dụng Matlab, cho phép kiểm tra hiệu quả của mã Turbo với các thông số khác nhau (số lần lặp, số bit khung). Kết luận nhấn mạnh vai trò của mã kênh, bao gồm mã chập, mã kề, và mã Turbo, trong việc nâng cao chất lượng hệ thống thông tin số. Khả năng sửa lỗi vượt trội của mã Turbo so với các loại mã khác cũng được khẳng định.

1. Mô phỏng Mã Turbo bằng Matlab

Bài viết đề cập đến việc sử dụng Matlab để mô phỏng mã Turbo, cho phép kiểm tra thực tiễn các khía cạnh lý thuyết đã được trình bày trước đó. Mô phỏng bao gồm việc nhập các bit dữ liệu khác nhau, thay đổi số lần lặp giải mã và số bit trong khung để đánh giá tỉ lệ lỗi bit (BER) và hiệu quả của mã. Kết quả mô phỏng cho phép hiểu sâu hơn về khả năng sửa lỗi của mã Turbo và so sánh với các loại mã khác, đặc biệt khi tốc độ bit cao. Việc mô phỏng này đóng vai trò quan trọng trong việc kiểm chứng lý thuyết và đánh giá hiệu quả thực tế của mã Turbo trong các điều kiện khác nhau.

2. Kết luận về Vai trò và Ứng dụng của Mã Turbo

Kết luận nhấn mạnh vai trò của mã kênh, bao gồm mã chập, mã kề và mã Turbo, trong việc nâng cao chất lượng của hệ thống thông tin số. Luận văn đã phân tích cấu trúc, nguyên lý của mã Turbo thông qua quá trình mã hóa và giải mã lặp, đồng thời giới thiệu hai thuật toán giải mã quan trọng là MAP và SOVA. Ứng dụng của mã Turbo trong hệ thống CDMA 2000 cũng được đề cập, cùng với những hạn chế nhất định. Mã Turbo, với khả năng sửa lỗi vượt trội và độ phức tạp chấp nhận được, được đánh giá là một trong những bộ mã tốt nhất hiện nay, phù hợp với nhiều ứng dụng, đặc biệt trong môi trường truyền thông không dây và các hệ thống đòi hỏi độ tin cậy cao.