Giao tiếp kỹ thuật số - Mã hóa kiểm soát lỗi

Nhiễu hoặc Lỗi là vấn đề chính của tín hiệu, làm ảnh hưởng đến độ tin cậy của hệ thống thông tin liên lạc. Error control codinglà thủ tục mã hóa được thực hiện để kiểm soát sự xuất hiện của lỗi. Những kỹ thuật này giúp phát hiện lỗi và sửa lỗi.

Có nhiều mã sửa lỗi khác nhau tùy thuộc vào các nguyên tắc toán học áp dụng cho chúng. Tuy nhiên, về mặt lịch sử, những mã này đã được phân loại thànhLinear block codesConvolution codes.

Mã khối tuyến tính

Trong mã khối tuyến tính, các bit chẵn lẻ và các bit thông báo có sự kết hợp tuyến tính, có nghĩa là từ mã kết quả là sự kết hợp tuyến tính của hai từ mã bất kỳ.

Hãy để chúng tôi xem xét một số khối dữ liệu, chứa kcác bit trong mỗi khối. Các bit này được ánh xạ với các khối cóncác bit trong mỗi khối. Đâyn lớn hơn k. Máy phát thêm các bit dư thừa(n-k)chút ít. Tỉ lệk/ncode rate. Nó được ký hiệu làr và giá trị của rr < 1.

Các (n-k) bit được thêm vào đây, là parity bits. Các bit chẵn lẻ giúp phát hiện lỗi và sửa lỗi cũng như định vị dữ liệu. Trong dữ liệu được truyền, phần lớn bit bên trái của từ mã tương ứng với các bit thông báo và phần lớn bên phải của từ mã tương ứng với các bit chẵn lẻ.

Mã hệ thống

Bất kỳ mã khối tuyến tính nào cũng có thể là mã có hệ thống, cho đến khi nó bị thay đổi. Do đó, mã khối không thay đổi được gọi làsystematic code.

Sau đây là đại diện của structure of code word, theo phân bổ của họ.

Nếu thông báo không bị thay đổi, thì nó được gọi là mã hệ thống. Nó có nghĩa là, việc mã hóa dữ liệu không được thay đổi dữ liệu.

Mã chuyển đổi

Cho đến nay, trong các mã tuyến tính, chúng ta đã thảo luận rằng mã không thay đổi có hệ thống được ưu tiên hơn. Đây, dữ liệu của tổng sốn bit nếu được truyền, k bit là bit thông báo và (n-k) bit là bit chẵn lẻ.

Trong quá trình mã hóa, các bit chẵn lẻ được trừ khỏi toàn bộ dữ liệu và các bit thông báo được mã hóa. Bây giờ, các bit chẵn lẻ lại được thêm vào và toàn bộ dữ liệu lại được mã hóa.

Hình sau đây trích dẫn một ví dụ cho các khối dữ liệu và luồng dữ liệu, được sử dụng để truyền thông tin.

Toàn bộ quá trình, đã nêu ở trên là tẻ nhạt và có nhược điểm. Việc phân bổ bộ đệm là một vấn đề chính ở đây, khi hệ thống đang bận.

Hạn chế này được xóa trong mã tích chập. Nơi toàn bộ luồng dữ liệu được gán các ký hiệu và sau đó được truyền đi. Vì dữ liệu là một dòng bit nên không cần bộ đệm để lưu trữ.

Mã Hamming

Thuộc tính tuyến tính của từ mã là tổng của hai từ mã cũng là một từ mã. Mã Hamming là loạilinear error correcting mã, có thể phát hiện đến hai lỗi bit hoặc chúng có thể sửa lỗi một bit mà không phát hiện ra lỗi chưa sửa.

Trong khi sử dụng mã hamming, các bit chẵn lẻ bổ sung được sử dụng để xác định một lỗi bit. Để chuyển từ mẫu bit này sang mẫu bit khác, dữ liệu phải thay đổi một số bit. Số lượng bit như vậy có thể được gọi làHamming distance. Nếu tính chẵn lẻ có khoảng cách là 2, có thể phát hiện lật một bit. Nhưng điều này không thể được sửa chữa. Ngoài ra, không thể phát hiện bất kỳ lần lật hai bit nào.

Tuy nhiên, mã Hamming là một thủ tục tốt hơn những thủ tục đã thảo luận trước đây trong việc phát hiện và sửa lỗi.

Mã BCH

Mã BCH được đặt theo tên của các nhà phát minh Bose, Chaudari và Hocquenghem. Trong quá trình thiết kế mã BCH, có quyền kiểm soát số lượng ký hiệu cần sửa và do đó có thể sửa nhiều bit. Mã BCH là một kỹ thuật mạnh mẽ trong việc sửa lỗi mã.

Đối với bất kỳ số nguyên dương nào m ≥ 3t < 2m-1có tồn tại mã nhị phân BCH. Sau đây là các thông số của mã đó.

Chiều dài khối n = 2m-1

Số chữ số kiểm tra chẵn lẻ n - k ≤ mt

Khoảng cách tối thiểu dmin ≥ 2t + 1

Mã này có thể được gọi là t-error-correcting BCH code.

Mã tuần hoàn

Thuộc tính tuần hoàn của các từ mã là bất kỳ sự dịch chuyển theo chu kỳ nào của một từ mã cũng là một từ mã. Mã tuần hoàn tuân theo thuộc tính tuần hoàn này.

Đối với mã tuyến tính C, nếu mọi từ mã, tức là, C = (C1, C2, ...... Cn)từ C có sự dịch chuyển sang phải theo chu kỳ của các thành phần, nó trở thành một từ mã. Sự dịch chuyển bên phải này bằngn-1dịch chuyển trái theo chu kỳ. Do đó, nó là bất biến trong bất kỳ sự thay đổi nào. Vì vậy, mã tuyến tínhC, vì nó bất biến theo bất kỳ sự thay đổi nào, có thể được gọi là Cyclic code.

Mã tuần hoàn được sử dụng để sửa lỗi. Chúng chủ yếu được sử dụng để sửa lỗi kép và lỗi cụm.

Do đó, đây là một vài mã sửa lỗi sẽ được phát hiện ở đầu thu. Các mã này ngăn không cho xuất hiện các lỗi và làm ảnh hưởng đến giao tiếp. Chúng cũng ngăn tín hiệu bị chạm bởi những người nhận không mong muốn. Có một lớp kỹ thuật báo hiệu để đạt được điều này, sẽ được thảo luận trong chương tiếp theo.