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ậyquá 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).
9 trang |
Chia sẻ: maiphuongtt | Lượt xem: 2250 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Phương pháp sửa lỗi tín hiệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
PHƯƠ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 đồ.
Hì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
Bâ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
vớ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.
HÌ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
Xáo trộn dữ liệu Sửa
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
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.
Cuố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.
HÌ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
C1
C2
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