PHƯƠNG PHÁP SỬA LỖI CIRC:Cross Interleave Reed Selomon code: Mặc dù việc xử lý tín hiệu số được thiết lập để loại bỏ các sai sót về xử lý tín hiệu, nhưng việc truyền dòng dữ liệu tới bề
Trang 1PHƯƠNG PHÁP SỬA LỖI TÍN HIỆU
I PHƯƠNG PHÁP SỬA LỖI CIRC:(Cross Interleave Reed Selomon code):
Mặc dù việc xử lý tín hiệu số được thiết lập để loại bỏ các sai sót về xử lý tín hiệu, nhưng việc truyền dòng dữ liệu tới bề mặt đĩa gốc, vẫn còn phụ thuộc vào mối quan hệ vật lý giữa bộ phận ghi và mặt đĩa Nó cũng có thể dẫn đến những sai sót dữ liệu do 2 nguyên nhân
Do bề mặt đĩa có bụi, vết dấu tay, trầy xước
Những biến đổi về cơ làm mất tính đồng bộ trong việc ghi tín hiệu số sai khác bit dữ liệu
Do vậy quá trình sửa sai là quá trình rất quan trọng và phức tạp Đối với CD, VCD,… Người ta dùng mã xen chéo Reed Solomon (CIRC) làm mã sửa sai
Trong quá trình thực hiện xử lý tính hiệu số, người ta cũng đưa đến kết luận có
2 loại lỗi xảy ra: Lỗi thứ I là lỗi chỉ xảy ra trên 1 Symbol đơn còn gọi là lỗi ngẫu nhiên (Ramdom) Lỗi thứ II là lỗi xảy ra từ 2 Symbol trở lên trong 1 frame của 1 kênh gọi là lỗi chùm (burst)
1) Sửa lỗi Ramdom:
Lỗi Ramdom là lỗi chỉ xảy ra trên 1 Symbol đơn, trong quá trình sửa lỗi thì
mã bị lỗi sẽ được phát hiện, vị trí lỗi được xác định và công việc sửa sai sẽ thực hiện Do vậy công việc phát hiện và sửa lỗi không đơn giản chút nào Để phát hiện được lỗi này và sửa lỗi Thì đối với kỹ thuật CD, VCD người ta dùng phương pháp sửa lỗi Reed Solomon Phương pháp sửa lỗi Reed Solomon không sửa lỗi trực tiếp dựa trên các bit mà nó sửa lỗi dựa theo các symbol Vì vậy phương pháp sửa lỗi Reed Solomon sử dụng một mã loại khác gọi là tác nhân cân bằng (mã cân bằng) được cộng xen vào
Để dể hiểu trong phương pháp sửa lỗi Reed Solomon này, ta chỉ ví dụ dòng
dữ liệu gốc có 4 Symbol( Thực tế phương pháp sửa lỗi Reed Solomon sử dụng trong CD, VCD người ta dùng 12 symbol trong 1 mã cân bằng) Nguyên lý sửa lỗi
4 symbol này có thể được miêu tả dưới dạng lưu đồ
Trang 2Hình I.3: Lưu đồ phương pháp sửa lỗi Reed Solomon
Giả sử dòng dữ liệu gốc có 4 symbol: A, B, C, D thì qui tắc sửa lỗi Reed Solomon dùng 2 loại mã cân bằng P và Q được ấn định sao cho hệ phương trình sau đây thỏa mãn phương trình sau:
A + B + C + D + P = 0 (1)
A + 2B + 3C + 4D + Q = 0 (2)
Giả định các tín hiệu được thu nhận sau quá trình xử lý là A’, B’, C’, D’, P’
và Q’ nếu các Symbol thu nhận không có lỗi thì chúng thỏa mãn phương trình (1)
và (2) Tuy nhiên khi có lỗi xảy ra cả hai phương trình trên đều không thỏa mãn và kết quả tương ứng chúng khác 0 Do đó sẽ hình thành nên các phương trình (3) và (4)
S0 = A’ + B’ + C’ + D’ + P’ = 0 (3)
S1 = A’ + 2B’ + 3C’ + 4D’ + Q’ = 0 (4)
S0, S1 được gọi là hội chứng (Syndrome) Chính những hội chứng S0, S1 này xác định được vị trí của lỗi xảy ra
DỮ LIỆUGỐC (Original Data)
A = 4
B = 3
C = 2
D = 1
DỮ LIỆU GIẢI MÃ
(Decoded Data) A’ = 2 B’ = 3 C’ = 2 D’ = 1 P’ = -10 Q’= -20
PHẦN TỬ CÂN BẰNG
(Parity)
A + B + C + D + P = 0
A + 2B + 3C + 4D + Q = 0
P = -10
Q = -20
HỘI CHỨNG
(Syndrome) S0 = A’ + B’ + C’ + D’ + P’ = -2 S1 = A’ + 2B’ + 3C’ + 4D’ + Q’ = -2 S0 = S1 = -2 = a
PHÁT HIỆN LỖI (Erroor Detection) A’= A + a A = A’ – a
A = 2 – (-2) = 4
Trang 3Bây giờ ta giả sử rằng có 1 trong 4 Symbol trên bị sai Ví dụ Symbol A’ chẳng hạn:A’ =A + Ea (5) Thành phần lỗi nằm trong tín hiệu phát Còn các Symbol còn lại không có lỗi như vậy lấy phương trình (5) thay vào (3), (4) ta có:
A + Ea + B + C + D + P = S0 (6)
A + Ea + 2B + 3C + 4D + Q = S1 (7)
Từ 2 phương trình này ta thế số dữ liệu ban đầu vào được: S0 = S1 = Ea lỗi đã được phát hiện
Để sửa lại Symbol A’ đúng với Symbol ban đầu thì việc sử dụng rất dễ dàng bởi phương trình
A = P - B – C – D Hoặc A = A’ -Ea
Do đó giá trị thật của A sẽ được tìm thấy
Tương tự Symbol B,C,D lần lượt bị lỗi cũng có thể phát hiện được Sau đây
là bảng tóm tắt khi lỗi xảy ra trên từng Symbol:
Khi S0 = S1 = 0 : không có lỗi xảy ra
S0 = S1 = const : A’ là dữ liệu lỗi
2S0 = S1 : B’ là dữ liệu lỗi
3S0 = S1 : C’ là dữ liệu lỗi
4S0 = S1 : D’ là dữ liệu lỗi
Đến đây chỉ biết được vị trí lỗi của từng Symbol bị sai Nếu như mã cân bằng
bị lỗi thì việc sửa lỗi các Symbol trên không thể thực hiện được, nhưng thật may mắn từ phương trình (5), (6) cũng phát hiện được lỗi Khi mã cân bằng bị sai được kết quả như sau:
Nếu P lỗi khi S0 = Ep và S1 = 0
Nếu Q lỗi khi S0 = 0 S1 = Eq
Như vậy nhờ vào sự kiểm tra mối liên hệ giữa các hội chứng S0, S1 thông qua hai mã cân bằng P và Q, lỗi nằm tại vị trí nào sẽ được xác định và dữ liệu thật sẽ được tìm ra
2) Sửa lỗi brust:
Lỗi Brust là lỗi xảy ra từ 2 Symbol trở lên trong 1 frame của 1 kênh Lỗi brust này thường xảy ra trên các vết trầy …Do đó nếu dữ liệu ghi trực tiếp thì các lỗi brust cũng thường xuyên xảy ra, mà việc tìm kiếm xem dữ liệu nào bị lỗi là điều không thể thực hiện, dẫu biết rằng có sự tồn tại của lỗi Để giải quyết các lỗi này người ta đã dùng kỹ thuật đan xen dữ liệu (Cross interleave) Mục đích của việc đan xen là biến đổi lỗi brust thành lỗi Ramdom mà phương pháp sửa lỗi Reed Solomon xử lý rất hữu hiệu
3) Qui tắc reed solomon trong kỹ thuật đan chéo CIRC:(cross interleave reed solomon code)
Qui tắc kỳ diệu Solomon với 2 mã cân bằng C1 và C2 đã thực hiện ngoạn mục công việc sửa lỗi, trong sự kết hợp với nghệ thuật đan chéo các dữ liệu Đối
Trang 4với các chùm lỗi kép tương đối ngắn, CIRC có khả năng giải quyết sạch sẽ Đối với các chùm lỗi cực dài (vết xước trầm trọng), người ta thực hiện một phương pháp đan xen khác phức tạp hơn Nói chung, hệ thống sửa lỗi trong hệ thống CD ngày nay đã được cải tiến rất cao
Dưới đây sẽ giải thích trình tự của CIRC được sử dụng trên thực tế, trong phạm vi giải quyết các chùm lỗi tương đối ngắn
Trang 5HÌNH I.4: Qui tắc sửa lỗi CIRC đối với lỗi ngắn
Chú thích đầu vào sơ đồ hình 3:
S’1 S’2
S’3
S’4 S’5
S’6 S’7
S’8
S’9 S’10
S’11
S’12 Q’13 Q’14
Q’15
Q’16 Xáo trộn
dữ liệu c
ủa các từ
dữ liệu
S’17
S’18
S’19 S’20
S120.A
L60
S120.B
S120+1.A
R60
S120+1.B
S120+2.A
L60+1
S120+2.B
S120+3.A
R60+1
S120+3.B
S120+4.A
L60+2
S120+4.B
S120+5.A
R60+2
S120+5.B
S120+6.A
L60+3
S120+6.B
S120+7.A
R60+3
S120+7.B
S120+8.A
L60+4
S120+8.B
S120+9.A
R60+4
S120+9.B
S120+10.A
L60+5
S120+10.B
S120+11.A
R60+5
S120+11.B
D
D
D
D
D
D
D
D
D
D
D
D
6D 5D 4D 3D 2D 1D
14D
13 12D 11D 10D 9D 8D 7D
23D 22D 21D 20D 19D 18D 17D 16D 15D
27D 26D 25D 24D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D C2
C1
mẫu lẻ: L60+1, R60+1 L60+3, R60+3 L60+5, R60+5
Xáo trộn
dữ liệu của các từ
dữ liệu chẵn:
L60, R60 L60+2, R60+2 L60+4, R60+4
Trễ Cổng NOT
Dạng tổng quát của tín hiệu ngõ ra
sai với
mã cân bằng
Làm trễ
Sửa sai với mã cân bằng
Dạng tổng quát
của tín hiệu ngõ
vào
Hình VII.8: Trình xử lý CIRC
Trang 6 L6 o, R6 o được hiểu là:
L: từ dữ liệu mẫu kênh trái; R: từ dữ liệu mẫu kênh phải
6: Biểu tượng của qui ước “6 từ dữ liệu mẫu lấy ở mỗi kênh cho mỗi khung”
o: Chỉ ra trật tự dữ liệu mẫu (0, 1, …… , 5) trong một khung (theo chiều đứng)
L6 o, R6 o là các từ dữ liệu mẫu chẵn
L6 o + 1, R6 o + 1: Theo cách giải thích trên, đây là dữ liệu kênh trái & kênh phải, chiếm trật tự kế tiếp trật tự “o” đây là các từ dữ liệu mẫu lẻ
Cùng một cách giải thích cho (L6 o + 2, R6 o + 2),… , (L6 o + 5, R6 o + 5)
S12 o.A, S12 o.B được hiểu là:
S: Ký tự biểu tượng
12: Chỉ số ký tự biểu tượng lấy ở mỗi kênh cho một khung
o: Chỉ trật tự cặp “ký tự biểu tượng” trong cùng một khung đứng
o.A: Chỉ trật tự của “ký tự biểu tượng trên” trong một từ dữ liệu mẫu
o.B: Chỉ trật tự của “ký tự biểu tượng dưới” trong một từ dữ liệu mẫu
Tương tự, S12 o + 1.A và S12 o + 1.B là cặp ký tự biểu tượng trên, dưới chiếm
vị trí kế tiếp trong khung đứng Cùng cách giải thích cho các cặp còn lại…… (1) Tại đầu vào mạch CIRC, từng khung dữ liệu gồm 6 từ dữ liệu mẫu kênh trái và
6 từ mẫu kênh phải được tuần tự đưa vào
(2) Trong số 6 từ dữ liệu mẫu của mỗi kênh, các từ đánh số chẵn được phân bố vào đường trễ (Delay) với thời gian trễ là hai khung, và được sắp xếp lại như sơ đồ trình bày Động tác sắp lại dữ liệu này được thực hiện nhằm tạo lần lượt các khung mới gồm các dữ liệu “đợi chờ” (do chậm qua mạch trễ) hội nhập với các
dữ liệu đến sau (cách đó 2 khung và không qua mạch trễ) bắt kịp Chẳng qua đây là động tác xáo trộn dữ liệu (Scramble)
(3) Sau giai đoạn xáo trộn lần đầu, 4 ký tự biểu tượng cân bằng Q của mã Reed Solomon được chèn vào chung với 24 ký tự biểu tượng thuộc khung mới Như vậy, cho đến lúc này, có tất cả 28 ký tự biểu tượng trong một khung
(4) Kế tiếp sau đó, toàn thể 28 ký tự biểu tượng dữ liệu thuộc khung mới này lại lần lượt được làm trễ với thời trễ tăng dần lên theo qui tắc sau:
Gọi D là thời trễ 4 khung
Ký tự biểu tượng tại hàng đầu tiên của khung sẽ không làm trễ: 0 x D
Ký tự biểu tượng đứng hàng kế tiếp sẽ được làm trễ: 1 x D
Ký tự biểu tượng đứng hàng thứ 3 sẽ được làm trễ: 1 x D
………
Ký tự biểu tượng đứng chót (hàng 27) sẽ được làm trễ: 27 x D
Như vậy, có nghĩa là dữ liệu đến đây đã được phân tán rải rác trên khắp
4 x 27 = 108 khung, theo chu kỳ 4 khung và thời trễ tăng theo cấp số cộng
(5) Sau đó, người ta đưa vào thêm 4 ký tự cân bằng P của mã Solomon để hình thành một khung mới gồm 32 ký tự như sơ đồ minh họa
(6) Kế tiếp người ta cần mẫn xáo trộn dữ liệu lần cuối cùng bằng cách làm trễ xen
kẽ nghĩa là cứ cách một hàng, dữ liệu lại được làm trễ với thời trễ là một khung
Trang 7Cuối cùng tín hiệu đầu vào gồm 24 ký tự cho mỗi khung, đã trở thành 32 ký tự sau các đợt xáo trộn nhờ cộng thêm 8 ký tự cân bằng để sửa lỗi
Ngoài ra khi việc sửa lỗi là khả thi, một giá trị xấp xỉ gần đúng sẽ được nhặt ra từ
dữ liệu đúng trước đó và sau dữ liệu sai Đây là công việc của mạch so sánh và nội suy Động tác xáo trộn ở mục (2) là cách tạo thuận tiện cho công đoạn sửa lỗi này Động tác xáo trộn ở mục (6) là phương thức nhằm nâng cao khả năng sửa lỗi đối với các lỗi nhỏ
4) Giải mã CIRC:
Quá trình giải đan xen dữ liệu để sửa lỗi là quá trình ngược lại xử lý CIRC được diển tả như ở hình II.5
Trang 8HÌNH II.5: Giải mã CIRC
22D 23D 24D 25D 26D 27D
14D 15D 16D 17D 18D
19 20D 21D
5D 6D 7D 8D 9D 10D 11D 12D 13D
1D 2D 3D 4D
2D
2D
2D 2D 2D
2D 2D
2D
2D 2D
2D
2D
S’1
S’2
S’3
S’4
S’5
S’6
S’7
S’8
S’9
S’10
S’11
S’12
S’13
S’14
S’15
S’16
S’17
S’18
S’19
S’20
S’21
S’22
S’23
S’24
S’25
S’26
S’27
S’28
S’29
S’30
S’31
S’32
S120A L60 S120B S120+1A L60 S120+1B S120+2A L60+1 S120+2B
S120+3A L60+1 S120+3B S120+4A L60+2 S120+4B S120+5A L60+2 S120+5B
S120+6A L60+3 S120+6B S120+7A L60+3 S120+7B S120+8A L60+4 S120+8B S120+9A
Làm trễ
Giải đan xen
Sửa sai
De- Scrambling(giải xáo trộn)
Hình VII.31: Quá trình đanxen dữ liệu để sửa lỗi khi
phát lại