1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo cơ sở lý thuyết truyền tin

4 778 5
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về mã sủa sai
Chuyên ngành Cơ Sở Lý Thuyết Truyền Tin
Thể loại Báo cáo bài tập
Định dạng
Số trang 4
Dung lượng 53 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu về mã sửa sai. Sử dụng bit chẵn lẻ trong mã Hamming để sửa sai.

Trang 1

BÁO CÁO BÀI TẬP CSLTTT

Đề bài: Tìm hiểu về mã sủa sai

Bài làm: Sử dụng bit chẵn lẻ trong mã Hamming để sửa sai

Thuật toán cho việc sử dụng bit chẵn lẻ trong 'mã Hamming' thông thường

được xác định như sau:

1 Tất cả các bit ở vị trí là các số mũ của 2 (powers of two) được dùng

làm bit chẵn lẻ (các vị trí như 1, 2, 4, 8, 16, 32, 64 v.v hay nói cách khác 20, 21, 22, 23, 24, 25, 26 v.v.)

2 Tất cả các vị trí bit khác được dùng cho dữ liệu sẽ được mã hóa (các

vị trí 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)

3 Mỗi bit chẵn lẻ tính giá trị chẵn lẻ cho một số bit trong từ mã (code

word) Vị trí của bit chẵn lẻ quyết định chuỗi các bit mà nó luân phiên

kiểm tra và bỏ qua (skips)

o Vị trí 1 (n=1): bỏ qua 0 bit(n-1), kiểm 1 bit(n), bỏ qua 1 bit(n), kiểm 1 bit(n), bỏ qua 1 bit(n), v.v

o Vị trí 2(n=2): bỏ qua 1 bit(n-1), kiểm 2 bit(n), bỏ qua 2 bit(n), kiểm 2 bit(n), bỏ qua 2 bit(n), v.v

o Vị trí 4(n=4): bỏ qua 3 bit(n-1), kiểm 4 bit(n), bỏ qua 4 bit(n), kiểm 4 bit(n), bỏ qua 4 bit(n), v.v

o Vị trí 8(n=8): bỏ qua 7 bit(n-1), kiểm 8 bit(n), bỏ qua 8 bit(n), kiểm 8 bit(n), bỏ qua 8 bit(n), v.v

o Vị trí 16(n=16): bỏ qua 15 bit(n-1), kiểm 16 bit(n), bỏ qua 16 bit(n), kiểm 16 bit(n), bỏ qua 16 bit(n), v.v

o Vị trí 32(n=32): bỏ qua 31 bit(n-1), kiểm 32 bit(n), bỏ qua 32 bit(n), kiểm 32 bit(n), bỏ qua 32 bit(n), v.v

o và tiếp tục như trên

Nói cách khác, bit chẵn lẻ tại vị trí 2k kiểm các bit ở các vị trí bit k có giá trị bằng 1(2) (the bit is set)

Nội dung chương trình: đưa thông tin lên kênh truyền, làm cho tín hiệu bị nhiễu và sửa sai ( Thực hiện với 8 bit thông tin )

Mã hóa thông tin:

Trang 2

- Như đã nói ở trên, các bit ở vị trí thứ 20, 21, 22, 23 ( mã hóa 8 bit) được dùng làm bit chẵn lẻ (Pi)

- Tất cả các vị trí bit khác sẽ được dùng cho mã hóa dữ liệu, các vị trí 3,

5, 6, 7, 9, 10, 11, 12.(di)

- Quy luật kiểm tra và bỏ qua như trên

Từ đó ta có bảng sau: ví dụ với 8 bit nhập vào là 11010011

Thông tin sau

khi mã hoá là

* Mã hóa đối với trường hợp cụ thể trên:

- Dùng mảng 2 chiều Ban đầu gán giá trị 8 bit vừa nhập vào các vị trí 3,

5, 6, 7, 9, 10, 11, 12 như sau:

(với NP[i] là số nhị phân vừa nhập vào)

- Sau đó thực hiện tính các giá trị P1, P2, P3, P4 như sau: (cộng modul 2)

Trang 3

P1= d3 + d5 + d7 + d9 + d11

P2= d3 + d6 + d7 + d10 +d11

P3= d5 + d6 + d7 + d12

P4= d9 + d10 + d11 + d12

Như vậy ta đã được chuỗi mã hoá là: 011110100011

Sử dụng hàm Random(12) để chọn một giá trị ngẫu nhiên trong khoảng

từ 1 đến 12 và làm sai ở giá trị đó:

* Giải mã từ tín hiệu sai vừa nhận được để tìm ra vị trí sai: Thực hiện tính lại các giá trị Pi’ như đối với Pi rồi thực hiện so sánh Nếu Pi’ khác Pi thì thông tin bị sai ở dòng đó Sẽ xảy ra trường hợp các dòng sai như sau + Nếu dòng 1 sai, các dòng khác đúng  sai ở bit thứ 1

+ Nếu dòng 2 sai, các dòng khác đúng  sai ở bit thứ 2

+ Nếu dòng 3 sai, các dòng khác đúng  sai ở bit thứ 4

+ Nếu dòng 1 sai, các dòng khác đúng  sai ở bit thứ 8

+ Nếu dòng 1, dòng 2 sai, các dòng khác đúng  sai ở bit thứ 3

t=random(12)+1;

for(j=1;j<13;j++)

{

if(j==t)

{

if(MH[0][j]==1)

{

MH[0][j]=0;

}

else

{

MH[0][j]=1;

}

}

}

Trang 4

+ Nếu dòng 1, dòng 3 sai, các dòng khác đúng  sai ở bit thứ 5.

+ Nếu dòng 1, dòng 4 sai, các dòng khác đúng  sai ở bit thứ 9

+ Nếu dòng 2, dòng 3 sai, các dòng khác đúng  sai ở bit thứ 6

+ Nếu dòng 2, dòng 4 sai, các dòng khác đúng  sai ở bit thứ 10 + Nếu dòng 3, dòng 4 sai, các dòng khác đúng  sai ở bit thứ 12 + Nếu dòng 1, dòng 2, dòng 3 sai, các dòng khác đúng sai ở bit thứ 7 + Nếu dòng 1, dòng 2, dòng 4 sai, các dòng khác đúng sai ở bit thứ 11

Khi đã xác định được bít sai ta chỉ cần đảo ngược bit là được

Ngày đăng: 20/01/2014, 15:45

TỪ KHÓA LIÊN QUAN

w