FEC-Sửa lỗi hướng tớ

Một phần của tài liệu Đồ án liên kết mạng IP qua hệ thống vệ tinh thế hệ sau (Trang 72 - 84)

P b= log s

3.5. FEC-Sửa lỗi hướng tớ

Sửa lỗi hướng tới trước, là một hệ thống quản lý và sửa lỗi trong truyền thơng kỹ thuật số. Nguyên tắc của FEC là người gửi thêm thơng tin trùng lặp vào trong thơng điệp gửi đi, điều đĩ cho phép người nhận cĩ thể tự kiểm tra và sửa lỗi (nếu cĩ) gây ra do kênh truyền. Lợi điểm của FEC là khơng yêu cầu gửi lại thơng tin.

FEC cĩ hai loại chính: mã hĩa khối và mã hĩa chập.

Kỹ thuật FEC là đưa các đoạn dư vào thơng tin truyền đi, sau đĩ khi ở đầu thu khi nhận được dữ liệu sẽ sử dụng các thơng tin dư này để kiểm tra lỗi và sửa lỗi nếu cĩ lỗi xảy ra trong quá trình truyền dữ liệu được minh hoạ trong hình 3.21

Mã FEC là một lớp rất rộng nên ta chỉ giới thiệu tĩm tắt về một số loại của mã FEC bao gồm mã khối tuyến tính,mã tuần hồn, mã chập và mắt lưới và mã turbo(Mã Turbo (hay mã lốc) , là một kỹ thuật mã hĩa sửa sai (FEC). Turbo Codes thuộc họ mã lưới (mã hĩa theo Trellis) và được xây dựng dựa trên 1 mã chập (Convolution Codes) Sở dĩ gọi là mã Turbo (lốc xốy) vì cấu trúc giải mã được thực hiện theo giải thuật

vịng lặp (iteration) và sau mỗi vịng lặp, tỷ số tín hiệu trên nhiễu SNR sẽ được tăng dần) d1, d2 ,...., dk c1 , c2 ,....,cn d1, d2 ,...., dk c1 , c2 ,....,cn

Hình 3.21 Mã hố sửa lỗi hướng tới trước

3.5.1. Mã hố khối tuyến tính

Mã khối tuyến tính là một lớp mã được dùng rất phổ biến trong việc chống nhiễu ,loại mã này được xây dựng dựa trên các kết quả của đại số tuyến tính ,ở đây ta chỉ nghiên cứu về mã nhị phân.

• Định nghĩa

Một mã khối cĩ chiều dài n gồm 2k từ mã được gọi là mã tuyến tính c(n,k) nếu và chỉ nếu 2k từ mã hình thành một khơng gian vectơ con k chiều của khơng gian vectơ n chiều gồm tất cả các vectơ n thành phần trên trường GF(2)

Trường GF(2) (galois field(2)) là trường nhị phân đồng thời phép cộng là phép cộng modul 2 (í hiệu là ⊕ ) cịn phép nhân là phép và (AND)

0 ⊕ 0=0 0 ⊕ 1=1 1 ⊕ 0=1 1 ⊕ 1=1

0.0=0 0.1=0 1.0=0 1.1=1

Mã tuyến tính C(n,k) cĩ mục đích mã hố những khối tin (hay thơng báo) k bit thành những từ mã n bit. Hay nĩi cách khác trong n bit của từ mã cĩ chứa k bit thơng tin.

nhị phân ra với

n

Đặt m=[m0,m1,m2,….,mk-1] thành bit dữ liệu, b=[b0,b1,….,bn-k-1] và P thành

k (n

k) sau:

hệ số ma trận thiết bị phát và thiết bị thu . ta cĩ thể tạo ra các bit parity như B=mP (*)

Nếu từ mã được truyền là c=[b:m] ta sẽ cĩ thể kiểm tra một số lỗi hoặc thậm chí sửa một số lỗi bằng cách sử dụng phương trình (*)

Một ví dụ của mã tuyến tính là mã Harming (n,k) với chiều dài mã là n=2r-1 số bit thơng tin

k = 2rr − 1(hoặc k + r − 1 = 2r ) và số bit parity là r = n k .

Mã Bose-Chaudhuri-Hocquenghem(BCH) là một loại của mã khối tuyến tính với các tham số sau:chiều dài khối n = 2m

− 1

số bit thơng tin là k ≥ (n

mt)

và khoảng

cách tối thiểu là

d min ≥ 2t + 1 với m là các số nguyên và 2 m − 1 t = 2 là số lỗi lớn nhất cĩ thể phát hiện được.

Mã Reed-Solomon(RS) là một lớp phụ của mã BCH khơng nhị phân. Mã RS (n,k) được sử dụng đễ mã hố m bit symbol trong khối gồm cĩ n = (2m

− 1)

symbol = m(2m

− 1) bit .Mã sửa lỗi RS cĩ các tham số sau :chiều dài khối là n = (2m − 1) symbol, độ lớn thơng tin là k symbol ,độ lớn kiểm tra parity là (n k)

= 2t

symbol và khoảng cách tối thiểu là

3.5.2. Mã tuần hồn

d min ≥ 2t + 1 symbol.

Đặt g(X) là đa thức cĩ bậc nhỏ nhất của (n-k) và cũng được gọi là đa thức sinh của mã tuần hồn và được định nghĩa như sau:

Đặt g( X ) = 1 + 1 2 nk −1 ∑ g i i =1 k −1 X i + X nk 1 2 nk −1 m( X ) = m0 X +m1 X + ... + mk −1 X , và b( X ) = b0 X +b1 X + ... + bnk −1 X ta cĩ thể chia X nk m( X ) bằng đa thức sinh g( X ) để nhận được phần dư b( X ) và cộng b( X ) vào X nk m( X ) để nhận được c( X ) .

Mã tuần hồn thường được sử dụng cho mục đích kiểm tra lỗi vì nĩ cĩ khả năng phát hiện nhĩm lỗi và cũng được gọi là mã kiểm tra độ dư vịng (CRC)

Bảng 3.2 cho ta một số mã CRC hữu ích. Code polynomial Generator

g( X ) n k Mã CRC-12 1 + X + X 2 + X 3 + X 12 + X 12 12 Mã CRC-12(USA) 1 + X 2 + X 15 + X 16 16 Mã CRC-ITU 1 + X 5 + X 12 + X 16 16

Bảng 3.2 Một số mã CRC hữu ích

Mã CRC nhị phân (n,k) cĩ khả năng phát hiện các mẫu lỗi sau đây: — Tất cả các lỗi khối cĩ chiều dài (n

k) hoặc nhỏ hơn. — Một phần của lỗi khối cĩ chiều dài bằng

1 − 2−(nk −1)

n k + 1 mà lớn hơn hoặc bằng — Kết hợp của tất cả (d min

− 1)

hoặc 1 vài lỗi, trong đĩ dmin là khoảng cách nhỏ nhất của mã khối tuyến tính. khoảng cách này được định nghĩa là số các vị trí bit khác nhau giữa 2 chuỗi mã và được gọi là mã hamming. — Tất cả các mẫu lỗi với số lẻ của lỗi nếu đa thức sinh

cĩ số chẵn với hệ số khác 0. 3.5.3. Mã hố lưới mắt cáo và mã chập

g( X

)

cho các mã

Mã lưới mắt cáo sử dụng “bộ nhớ” bằng cách nhớ k-1 tín hiệu vào ngay phía trước khối đích của tín hiệu vào L. những tín hiệu nhị phân đầu vào

(K − 1) + L = (K + L

− 1) được sử dụng để tạo ra n[(K − 1)

+ L]

L

tín hiệu nhị phân đầu ra

tương ứng với tín hiệu vào L. vì vậy chu kỳ mã là

[n(K + L − 1)] .

Mã chập là 1 tập hợp con của mã tuyến tính Trellis( mã lưới mắt cáo). Mã chập cĩ thể được ghép với máy trạng thái hữu hạn lưu trữ (K − 1) bit thơng tin, vào thời điểm j, phần chứa chuỗi thơng tin gần bit k nhất

(m j k +1 , j k +1 , m j K + 2 ,..., m j −1 , m j ) với m j là bit hiện tại. bộ giải mã mã chập tính như là bộ nhớ khi thử để đánh giá chuỗi dữ liệu thích hợp nhất mà cung cấp cho chuỗi mã bit nhận và được gọi là phương pháp tối ưu cho giải mã mã chập. vào năm 1967 Andrew Viterbi đã phát triển kỹ thuật giải mã mã chập sử dụng phương pháp này mà kể từ đĩ trở thành tiêu chuẩn cho việc giải mã mã chập.

3.5.4. Mã ghép

Những mã khối Tuyến tính hiệu quả hơn trong việc sửa những chuỗi lỗi và mã chập cĩ hiệu quả hơn trong những lỗi ngẫu nhiên, tuy nhiên,ta cĩ thể gây ra các chuỗi lỗi nếu như xuất hiện quá nhiều lỗi ngẫu nhiên. Vào năm 1974, Joseph Odenwalder kết hợp hai kỹ thuật này để hình thành mã ghép.

Theo thứ tự sắp xếp thì mã khối được sử dụng đầu tiên như là mã trong, sau đĩ là mã chập được sử dụng như mã ngồi để mã hố, đối với việc giải mã thì đầu tiên là mã chập ngồi sau đĩ là mã khối trong.

Hiệu quả cĩ thể nâng cao hơn nữa nếu cĩ sự đan xen kỹ thuật giữa hai giai đoạn mã hố làm giảm bất kỳ nhĩm nào mà cĩ thể quá dài đối với mã khối để giải

quyết một cách cĩ hiệu quả. Kỹ thuật ghép xen là những hàm ánh xạ vào ra mà hốn vị vị trí của các bit hay symbol trong bản tin vì vậy vị trí của chuỗi bit ghép xen độc lập đối với chuỗi bit gốc, và các lỗi khối cĩ thể được làm ngẫu nhiên trở thành các lỗi

đơn ngẫu nhiên phân bố vào trong chuỗi bit khi giải ghép xen.Một thiết bị hay một khối chức năng của kỹ thuật ghép xen thường được gọi là interleaver.

3.5.5. Mã Turbo

Vào năm 1993 Berrou, Glavieux và Thitimajashima đã đưa ra một sơ đồ mã hĩa mới cho các mã chập được gọi là mã Turbo (Hình 3.22). Trong sơ đồ này dịng thơng tin vào được mã hĩa hai lần với một bộ xáo trộn đặt giữa hai bộ mã hĩa nhằm tạo ra hai dịng dữ liệu được mã hĩa cĩ thể xem là độc lập thống kê với nhau.

Hình 3.22 Bộ mã hố Turbo

Trong sơ đồ này các bộ mã hĩa thường được sử dụng là các bộ mã hĩa cho mã chập cĩ tốc độ R = 1/2 .

Các mã này được sử dụng rất hiệu quả trên các kênh phađinh. Người ta đã chứng tỏ rằng hiệu năng của mã Turbo sẽ tăng khi tăng kích thước của bộ xáo trộn. Tuy nhiên trong nhiều ứng dụng quan trọng (chẳng hạn khi truyền tiếng nĩi), kích thước bộ xáo trộn quá lớn khơng sử dụng được do kết quả giải mã bị giữ chậm.

Ví dụ: Xét sơ dồ mã hĩa Turbo cĩ hàm truyền sau: (Hình 3.23)

G(x) = 1

1 + x

2

với bộ xáo trộn được mơ tả bởi phép hốn vị ∏ ∏ = {8,3,7,6,9,0,2,5,1,4 } C (1) (x) ∏ ∧ (2) C (x) ∧ (2 ) C (x) ∧ m Hình 3.23 ∧ (3) C (x)

∧ (2)

C (x) = [1,1,1,1,0,1,1,1,0,0]

Dãy bit được hốn vị đưa vào bộ mã hố thứ 2 là :

m(x) = [1,0,0,1,1,1,0,0,1,1] Dãy ra của bộ mã hố thứ 2 là : ∧ (3) C (x) = [1,0,1,1,0,0,0,1,1] ∧ (2)

Bộ trích chọn sẽ chọn đưa ra các bít được gạch dưới lần lượt ở các đầu C

∧ (3) (x)

C

(x)

Dãy bít được mã hĩa ở đầu ra cĩ giá trị

R = 1

2 là:

v(x) = [1,1,1, 0, 0,1, 0,1,1, 0, 0, 0,1,1, 0, 0,1, 0,1,1]

Khi khơng dùng bộ trích chọn dãy bít ra sẽ cĩ tốc độ R = 1

3

và sẽ cĩ dạng:

v(x) = [1,1,1,1,1, 0, 0,1,1, 0,1,1,1, 0, 0, 0,1, 0,1,1, 0, 0,1, 0,1, 0,1,1, 0,1]

Dãy ra v(x) được điều chế và phát qua kênh, ở đầu ra kênh tín hiệu nhận được giải điều chế để tạo ra vectơ r (1) (x) (tương ứng

với C (1) (x) ) và r (2) (x) (tương ứng với C (2) (x)) và r (1) (x) (tương ứng với C (3) (x) ),. 3.24).

Hoạt động chung của thuật tốn giải mã Turbo cĩ thể mơ tả như sau (xem hình Dữ liệu ( r (1) (x), r (2 ) (x)) được đưa tới bộ giải mã 1. trước tiên bộ giải mã này sử dụng thơng tin tiên nghiệm trên các bit đã phát và tạo ra các bít cĩ xác suất xuất hiện phụ thuộc vào dữ liệu quan sát được. Đầu ra đánh giá này của bộ giải mã 1 được xáo trộn theo luật hốn vị ∏ và được đưa tới bộ giải mã 2 và được làm thơng tin tiên nghiệm. Cùng đưa tới bộ giải mã 2 là dữ liệu nhận được ( r (1) (x), r (3) (x)) , cần chú ý

rằng r

(1) (x) cần phải đưa đến bộ xáo trộn ∏. Đầu ra đánh giá của bộ giải mã 2 được

giải xáo trộn bằng luật hốn vị ngược ∏ −1 và được đưa trở lại làm thơng tin tiên nghiệm cho bộ giải mã 1. Quá trình chuyển thơng tin tiên nghiệm sẽ được tiếp tục cho đến khi bộ giải mã quyết định rằng quá trình đã hội tụ (hoặc cho tới khi đạt được một số lần lặp nhất định)

Phần quan trọng nhất của thuật tốn giải mã này là một thuật tốn giải mã quyết định mềm, thuật tốn này sẽ cung cấp các đánh giá của các xác suất hiệu nghiệm cho mỗi bít vào.

∏ −1r(1) (x) r(1) (x) r (2) (x) (1)( ) ∏ −1 r x r (3) (x)

Hình 3.24 Sơ đồ khối chức năng của bộ giải mã Turbo

3.5.6. Hoạt động của FEC

Thiết bị thu cĩ thể giải mã hố dữ liệu trong hầu hết các trường hợp ngay cả khi dữ liệu đã bị hư hỏng trong suốt quá trình truyền, bằng cách sử dụng kỹ thuật FEC . Thiết bị thu cĩ thể khơng cĩ khả năng để khơi phục dữ liệu nếu cĩ quá nhiều mẫu bit bị hư hỏng, từ đĩ ta chỉ cĩ thể cho phép một mức nhất định của lỗi. Ta thấy rằng tỷ số

Eb

là tham số ảnh hưởng tới hiệu suất lỗi của truyền dẫn vệ tinh đối với mã hố và

N

0

tài nguyên băng thơng đã cho. FEC cho phép liên kết qua vệ tinh được phép truyền dẫn với lỗi cao hơn giải mã dữ liệu trong điều kiện hiệu suất lỗi. Đây là điều rất hữu ích khi truyền dẫn vệ tinh độc lập khĩ cĩ thể đạt được mức độ nhất định của hiệu suất vì sự giới hạn của cơng suất truyền tại những điều kiện liên kết nhất định.

Lấy một ví dụ : Giả thiết R Là tốc độ truyền thơng tin, tốc độ mã hố dữ liệu Rc , như được định nghĩa đối với mã khối (n,k) với n bit được gửi cho k bit thơng tin là

Rc = Rn . Mối quan hệ của yêu cầu cơng suất giữa mã hĩa và giải mã dữ liệu cho

k cùng tỷ lệ lỗi bit là: C k  C     R cn  R   k  Eb  = =    N 0 N on  N 0 

Những mã này phải trả một giá đĩ là yêu cầu băng thơng lớn hay tổng chi phí lớn (giảm lưu lượng thơng tin) nhằm cung cấp mã hố cĩ lợi để duy trì chất lượng đường truyền mong muốn cĩ thể sử dụng cùng Eb . Khơng đi sâu vào các phân tích

N 0

Eb

(dB)

N0

Hình 3.25 So sánh của mã FEC

Một phần của tài liệu Đồ án liên kết mạng IP qua hệ thống vệ tinh thế hệ sau (Trang 72 - 84)