Nó quyết định nhiều mặt hoạt động của xã hội, giúp con người nắm bắt nhanh chóng các thông tin, các giá trị văn hoá, kinh tế, khoa học kỹ thuật rất đa dạng và phong phú.Với nhu cầu cả về
Trang 1LỜI MỞ ĐẦU
Cùng với sự phát triển của Khoa học – Công Nghệ của thế giới, nước ta đã và đang áp dụng ngày càng nhều các thành tựu của Khoa học – Công Nghệ vào trong các lĩnh vực kinh tế, khoa học, xã hội và đời sống…nói chung và trong ngành viễn thông nói riêng
Trong cuộc sống hàng ngày thông tin liên lạc đóng một vai trò rất quan trọng
và không thể thiếu Nó quyết định nhiều mặt hoạt động của xã hội, giúp con người nắm bắt nhanh chóng các thông tin, các giá trị văn hoá, kinh tế, khoa học kỹ thuật rất
đa dạng và phong phú.Với nhu cầu cả về số lượng và chất lượng của khách hàng sử dụng các dịch vụ viễn thông ngày càng cao, đòi hỏi phải có những phương tiện thông
tin hiện đại nhằm đáp ứng các nhu cầu đa dạng của khách hàng “mọi lúc, mọi nơi” mà
họ cần.Thông tin di động ngày nay đã trở thành một dịch vụ kinh doanh không thể thiếu được của tất cả các nhà khai thác viễn thông trên thế giới Đối với các khách hàng viễn thông, nhất là các nhà doanh nghiệp thì thông tin di động trở thành phương tiện liên lạc quen thuộc và không thể thiếu
Với sự đa dạng về các loại hình kết nối và yêu cầu của mạng thông tin rộng khắp thì việc thiết kế, thi công và lắp đặt các mạng truyền dẫn đòi hỏi phải mềm dẻo và phù hợp với yêu cầu của khách hàng Chính vì thế, việc phát triển mạng truyền dẫn vô
tuyến là đương nhiên và rất cần thiết Với Truyền Dẫn Vô Tuyến, chúng ta có thể khắc
phục được sự hạn chế về mặt địa lý, đồng thời thúc đẩy sự phát triển của các dịch vụ thông tin vô tuyến, nhất là trong thông tin di động Do vậy, việc lựa chọn sản phẩm phụ thuộc rất nhiều vào nhà cung cấp sản phẩm Đồng thời, viêc đào tạo đội ngũ cán bộ kỹ thuật, công nhân viên phụ vụ cho việc vận hành, khai thác và bảo trì cũng là vấn đề cấp thiết
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 1
MỤC LỤC 2
CHƯƠNG 1: GIỚI THIỆU CHUNG 3
1.1 LỊCH SỬ PHÁT TRIỂN 3
CHƯƠNG 2: LỔI THƯỜNG GẶP TRONG TRUYỀN DẪN 5
VÔ TUYẾN 5
2.1 ĐỊNH NGHĨA BIT VÀ LỔI BIT 5
2.2 BỘ MÃ PHÁT HIỆN LỔI 5
2.3 PHÂN LOẠI 6
2.4 MỘT SỐ LOẠI MÃ PHÁT HIỆN VÀ SỮA LỔI 6
CHƯƠNG 3: MỘT SỐ LOẠI MÃ PHÁT HIỆN VÀ SỮA LỔI TRONG TRUYỀN DẪN VÔ TUYẾN 7
3.1 MÃ HAMMING 7
3.2 MÃ KIỂM TRA CHẴNN LẺ (Paruty Check) 8
3.2.1 Dùng mã kiểm tra chẵn lẻ để dò ra một bit sai 8
3.2.2.Dùng mã kiểm tra chẵn lẻ để dò sai hai bit 9
3.2.3.Dùng kiểm tra chẵn lẻ để dò ra một chuỗi bit sai 9
3.2.4.Kiểm tra khối 10
3.3 MÃ KIỂM TRA THEO CHIỀU DỌC(Longitudinal Redundancy Check or Checksum) 11
3.4 MÃ KIỂM TRA PHẦN DƯ 12
3.4.1 Xác định mã CRC dùng thuật toán Mod-2 12
3.4.2 Dùng phép biểu diễn đa thức 14
TÀI LIỆU THAM KHẢO 17
Trang 3CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1 LỊCH SỬ PHÁT TRIỂN
Viễn thông là một thuật ngữ liên quan tới việc truyền tin và tín hiệu Ngay từ ngày xa xưa, những người tiền sử đã biết dùng khói để báo hiệu, những người thổ dân
ở những hòn đảo xa xôi dùng các cột khói để liên lạc, báo hiệu và truyền tin Mai An
Tiêm dùng dưa hấu để truyền tin về đất liền, có thể nói thuật ngữ viễn thông đã có từ
xa xưa Tuy nhiên có thể nói, khái niệm viễn thông được chính thức sử dụng khi cha
đẻ của máy điện báo Samuel Finley Breese Morse sau bao ngày đêm nghiên cứu vất
vả, ông đã sáng chế chiếc máy điện báo đầu tiên Bức điện báo đầu tiên dùng mã Morse được truyền đi trên trái đất từ Nhà Quốc Hội Mỹ tới Baltimore cách đó 64 km
đã đánh dấu kỷ nguyên mới của viễn thông Trong bức thông điệp đầu tiên này Morse
đã viết "Thượng Đế sáng tạo nên những kỳ tích" Nói đến lịch sử của Viễn thông, không thể không nhắc đến Alexader Graham Bell, ông là người đầu tiên sáng chế ra điện thoại Để tưởng nhớ ông, ngày 7 tháng 8 năm 1922 mọi máy điện thoại trên nước
Mỹ đều ngừng hoạt động để tưởng nhớ và bày tỏ lòng biết ơn nhà khoa học xuất sắc A.G Bell (1847 - 1922) Trên quy mô xã hội, nếu điện tín (1884), điện thoại (1876), radio (1895) và vô tuyến truyền hình (1925) đã làm thay đổi cách giao tiếp trong quan
hệ con người thì sự xuất hiện của vệ tinh viễn thông (1960) sợi quang học (1977), công nghệ không dây đã làm nên một hệ thần kinh thông minh nhạy bén trên trái đất
Có thể nói lĩnh vực viễn thông đã làm thay đổi bộ mặt, tính cách của trái đất, đã hiện thực hóa khả năng liên kết của mỗi người của mỗi quốc gia, gắn kết mọi người với nhau nhờ một mạng lưới viễn thông vô hình và hữu hình trên khắp trái đất và vũ
trụ Sự hội tụ trong lĩnh vực viễn thông Chữ xiên Cùng với sự phát triển của xã hội,
nhu cầu sử dụng và truyền dữ liệu của con người cũng tăng lên theo hàm số mũ Ngành VT đóng góp vai trò lớn lao trong việc vận chuyển đưa tri thức của loài người đến mỗi người, thúc đẩy quá trình sáng tạo đưa thông tin khắp nơi về các ngành lĩnh vực khoa học, các thông tin giải trí cũng như thời sự khác Viễn thông đem lại sự hội
tụ, hay sự thống nhất về các loại hình dịch vụ truyền dữ liệu dịch vụ như thoại, video (truyền hình quảng bá và truyền hình theo yêu cầu), và dữ liệu Internet băng rộng thúc đẩy ngành công nghệ thông tin phát triển lên một mức cao hơn với đa dạng các loại hình dịch vụ và chi phí rẻ hơn Mạng viễn thông giúp người sử dụng có thể gọi điện
Trang 4thoại qua mạng Internet, có thể xem hình ảnh của bạn bè trên khắp thế giới, có thể chia
sẻ nguồn dữ liệu, có thể thực hiện những giao dịch mua bán tới mọi nơi trên thế giới một cách đơn giản Viễn thông ngày càng tạo nên một thế giới gần hơn hội tụ cho tất
cả mọi người
Trang 5CHƯƠNG 2: LỔI THƯỜNG GẶP TRONG TRUYỀN DẪN
VÔ TUYẾN
2.1 ĐỊNH NGHĨA BIT VÀ LỔI BIT
- Bit là đơn vị lưu trữ thông tin cơ bản nhất trên tất cả các thiết bị số Mỗi bít chỉ có thể lưu trữ một trong hai giá trị 0 hoặc 1
- Lỗi bit xuất hiện khi giá trị đáng là 0 thì lại là 1 và ngược lại Lỗi bit có thể xảy
ra trong bất kỳ thao tác truyền dữ liệu nào đó Đó là trường hợp bị lổi trên đường truyền Ví dụ như trong thao tác upload một file, có ít nhất 3 pha truyền dữ liệu có chứa đựng rủi ro lỗi bit như sau:
Pha 1.Đọc file tại máy trạm: dữ liệu đi từ thiết bị lưu trữ vào bộ nhớ
Pha 2.Dữ liệu truyền từ máy trạm đến máy chủ thông qua kết nối mạng
Pha 3.Lưu file tại máy chủ: dữ liệu chuyển từ bộ nhớ vào thiết bị lưu trữ
Riêng trong Pha 1 nói trên, nếu phân tích kỹ ra thì nó cũng bao gồm nhiều bước truyền dữ liệu (Giả sử đọc từ đĩa cứng thì dữ liệu sẽ lần lượt chuyển từ bề mặt lưu trữ qua đầu từ, qua cache của HDC-Hard Disk Controller, qua ATA cable, qua Chipset, qua bus, RAM) Lỗi bit cũng có thể xuất hiện trong trạng thái dữ liệu tĩnh, đó là trường hợp dữ liệu bị thay đổi ngay trên thiết bị lưu trữ do thời gian hoặc do các tác động của môi trường Mọi thiết bị lưu trữ cũng như giao thức truyền dẫn đều có công bố tỷ lệ tần suất lỗi dữ liệu như là một chỉ tiêu kỹ thuật bắt buộc Các thiết bị và giao thức đều
có cơ chế tự kiểm tra và sửa lỗi bên trong nên số lượng lỗi có thể ghi nhận từ bên ngoài là rất ít Tỉ lệ này thường rất nhỏ, chỉ là 1 phần vài chục tới vài trăm tỷ nhưng các bạn nên nhớ rằng cho dù rất rất nhỏ nhưng nó không bao giờ bằng 0 Trong thực tế
tỉ lệ lỗi dữ liệu này có khác biệt, ví dụ đối với đĩa cứng, tỉ lệ lỗi được thống kê dựa trên thao tác truy xuất thông thường, nhưng nếu đọc hoặc ghi liên tục một khối lượng lớn
dữ liệu thì tỉ lệ lỗi sẽ tăng lên vài lần, nếu việc đảo pha đọc ghi phải thực hiện liên tục
mà không có thời gian nghỉ thì tần suất lỗi còn tăng cao hơn nữa
2.2 BỘ MÃ PHÁT HIỆN LỔI
Khi truyền tải một chuỗi các bit, các lỗi có thể phát sinh ra, bit 1 có thể biến thành bit 0 hay ngược lại
Ta định nghĩa tỷ lệ lỗi bởi tỷ số sau:
τ = Số bít bị lỗi / Tổng số bít được truyền
Trang 6Tỷ lệ lỗi này có giá trị từ 10-5 đến 10-8 Tùy thuộc vào từng loại ứng dụng, một lỗi
có mức độ nghiêm trọng khác nhau, chính vì thế cần có các cơ chế cho phép phát hiện lỗi cũng như sửa lỗi
Các thống kê cho thấy rằng 88% các lỗi xẩy ra do sai lệch một bit và 10% các lỗi xảy ra do sự sai lệch 2 bit kề nhau Chính vì thế ta ưu tiên cho vấn đề phát hiện các lỗi trên một bit và sửa đổi chúng một cách tự động
Với ý tưởng như thế, ta sử dụng các mã phát hiện lỗi: bên cạnh các thông tin hữu ích cần truyền đi, ta thêm vào các thông tin điều khiển Bên nhận thực hiện việc giải
mã các thông tin điều khiển này để phân tích xem thông tin nhận được là chính xác hay có lỗi
Hình 2.1: Mô hình xử lý lỗi trong truyền dữ liệu
2.3 PHÂN LOẠI
Thông tin điều khiển được đưa vào có thể theo 2 loại:
• Loại thứ nhất gọi là bộ mã sửa lỗi (Error-correcting codes)
• Loại thứ hai gọi là bộ mã phát hiện lỗi (Error-detecting codes)
Bộ mã sửa lỗi cho phép bên nhận có thể tính toán và suy ra được các thông tin bị lỗi (sửa dữ liệu bị lỗi) Trong khi bộ mã phát hiện lỗi chỉ cho phép bên nhận phát hiện
ra dữ liệu có lỗi hay không Nếu có lỗi bên nhận sẽ yêu cầu bên gởi gởi lại thông tin Với tốc độ của đường truyền ngày càng cao, người ta thấy rằng việc gởi lại một khung thông tin bị lỗi sẽ ít tốn kém hơn so với việc tính toán để suy ra giá trị ban đầu của các
dữ liệu bị lỗi Chính vì thế đa số các hệ thống mạng ngày nay đều chọn bộ mã phát hiện lỗi
2.4 MỘT SỐ LOẠI MÃ PHÁT HIỆN VÀ SỮA LỔI
• Mã kiểm tra chẵn lẻ
• Mã kiểm tra theo chiều dọc
• Mã kiểm tra phần dư
Trang 7CHƯƠNG 3: MỘT SỐ LOẠI MÃ PHÁT HIỆN VÀ SỮA LỔI
TRONG TRUYỀN DẪN VÔ TUYẾN
3.1 MÃ HAMMING
Mã Hamming là một bước phát triển của kiểm tra chẵn lẻ và có khả năng sửa sai
do xác định được vị trí lỗi Số lượng bit của mã Hamming tùy thuộc số lượng bit của chuỗi dữ liệu Ta có thể lý luận như sau để xác định số lượng bit của mã Hamming Gọi m là số bit của chuỗi dữ liệu và n là số bit của mã Hamming, tổng số bit phát
đi là m+n
- Với n = 1 ta xác định được 1 trong 2 kết quả : chuỗi dữ liệu sai hoặc đúng nhưng không biết vị trí lỗi
- Với n = 2, 1 trong 4 trường hợp xảy ra: 2 phép kiểm tra đều cho kết quả đúng, 2 phép kiểm tra đều cho kết quả sai, phép kiểm tra thứ nhất sai, phép kiểm tra thứ hai đúng và ngược lại 4 trường hợp này cho phép kết luận được 1 bit sai ở 1 trong 3 vị trí
- Với n=3, có 8 khả năng xảy ra và ta có thể kết luận được 1 bit sai ở 1 trong 7 vị trí
- Với số n bất kỳ, có 2n khả năng xảy ra và ta có thể kết luận được 1 bit sai ở 1 trong 2n -1 vị trí
Vậy để có thể phát hiện 1 lỗi tại 1 vị trí cụ thể thì số n nhỏ nhất được chọn phải thỏa:
2n- 1 ≥ Um + n hay 2n ≥ Um + n + 1
Các bit của mã Hamming chèn vào vị trí 2n và dùng cho kiểm tra chẵn lẻ Các bit khác là bit thông tin (dữ liệu)
Dưới đây là một ví dụ để thấy cách xác định mã Hamming:
Giả sử chuỗi dữ liệu cần truyền gồm 4 bit như sau :
1 0 1 0
Với m = 4, ta chọn n = 3, bất đẳng thức trên được thỏa
Gọi các bit của mã Hamming là H1 H2 và H4 (1, 2, 4 là các vị trí mà ta sẽ đặt 3 bit của mã Hamming vào dòng dữ liệu) Gọi các bit dòng dữ liệu là X3, X5, X6, X7
Tổ hợp các bit dữ liệu và bit mã, ta đươc
1 2 3 4 5 6 7
H1 H2 X3 H4 X5 X6 X7
Trang 8Giả sử ta chọn Parity chẵn, các bit mã sẽ được xác định như sau:
H1 ⊕ X3 ⊕ X5 ⊕ X7 = 0
H1 = X3 ⊕ X5 ⊕ X7 = 1 ⊕ (0 ⊕ 0) = 1 ⊕ 0 = 1
Tương tự:
H2 = X3 ⊕ X6 ⊕ X7 = 1 ⊕ (1 ⊕ 0) = 1 ⊕ 1 = 0
H4 = X5 ⊕ X6 ⊕ X7 = 0 ⊕ (1 ⊕ 0) = 0 ⊕ 1 = 1
Bản tin bao gồm bit mã trở thành: 1 0 1 1 0 1 0
Ở máy thu để kiểm tra người ta thực hiện các phép toán:
C1 = H1 ⊕ X3 ⊕ X5 ⊕ X7
C2 = H2 ⊕ X3 ⊕ X6 ⊕ X7
C4 = H4 ⊕ X5 ⊕ X6 ⊕ X7
Nếu C1 = C2 = C4 = 0, không có lỗi xảy ra
Nếu C1 = 1, C2 = C4 = 0, một trong các bit ở vị trí 1, 3, 5, 7 bị lỗi
Nhưng C2 = C4 = 0 có nghĩa là các bit ở vị trí 2, 3, 6, 7 và 4, 5, 6, 7 đã đúng Vậy bit sai phải ở vị trí 1 Lý luận tương tự ta có các trường hợp khác
Thí dụ nếu C1 = C2 = C4 = 1 thì bit lỗi là bit ở vị trí 7
Thí dụ bản tin nhận được là 1 0 1 1 1 1 0
Mạch dò sai sẽ tính C1 , C2 , C4 như sau:
C1 = H1 ⊕ X3 ⊕ X5 ⊕ X7 = 1 ⊕ 1 ⊕ 1 ⊕ 0 = 1
C2 = H2 ⊕ X3 ⊕ X6 ⊕ X7 = 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0
C4 = H4⊕ X5⊕ X6⊕ X7 = 1 ⊕ 1 ⊕ 1 ⊕ 0 = 1
Vì chỉ bit X5 thuộc cả C1 và C4 nên bit sai là bit thứ 5
Quan sát tổ hợp C4 C2 C1 ta thấy C4 C2 C1 = 1 0 1 = (5)10
Như vậy giá trị có được của tổ hợp này cho ta biết vị trí bit sai cần sửa chữa Nếu tổ hợp này bằng 0 chứng tỏ bản tin nhận đúng
Mã Hamming có thể được phát triển để dò ra hai bit sai và sửa được một bit lỗi
3.2 MÃ KIỂM TRA CHẴNN LẺ (Paruty Check)
3.2.1 Dùng mã kiểm tra chẵn lẻ để dò ra một bit sai
Đây là phương pháp kiểm tra đơn giản nhất, bằng cách thêm vào sau chuỗi dữ liệu (thường là một ký tự) một bit sao cho tổng số bit 1 kể cả bit thêm vào là số chẵn (hoặc lẻ), ở máy thu kiểm tra lại tổng số này để biết có lỗi hay không Phương pháp đơn giản nên chất lượng không cao, nếu số lỗi là chẵn thì máy thu không nhận ra
Trang 93.2.2 Dùng mã kiểm tra chẵn lẻ để dò sai hai bit
Vì mỗi lần thực hiện kiểm tra chẵn lẻ cho phép dò ra một bit lỗi nên ta có thể nghĩ rằng nếu thực hiện nhiều phép kiểm tra đồng thời cho phép dò được nhiều lỗi
Ví dụ:
Để dò ra 2 lỗi của một chuỗi dữ liệu có thể thực hiện hai phép kiểm tra, một với các bit chẵn và một với các bit lẻ Cho chuỗi dữ liệu: 01101000 Lần lượt thực hiện kiểm tra chẵn với các bit ở vị trí 1, 3, 5, 7 và các bit ở vị trí 2, 4, 6, 8
Gọi P1 và P2 là các bit kiểm tra:
P1=0+1+1+0 = 0
P2=1+0+0+0 = 1
Chuỗi dữ liệu phát: 01101000 01
Máy thu dò ra lỗi khi 2 bit liên tiếp bị sai Tuy nhiên, nếu hai bit sai đều là 2 bit chẵn (hoặc 2 bit lẻ) thì máy thu cũng không dò ra
3.2.3 Dùng kiểm tra chẵn lẻ để dò ra một chuỗi bit sai
Đôi khi nhiễu làm sai cả một chuỗi dữ liệu (ta gọi là burst errors), để dò ra được chuỗi bit sai này, người ta làm theo cách lưu và truyền dữ liệu của máy tính (lưu từng bit của một byte trong các chip riêng để truyền trên các đường khác nhau và nơi nhận
sẽ tái hợp) để thực hiện việc kiểm tra Chuỗi dữ liệu sẽ được chia ra thành các khung (frames), thực hiện kiểm tra cho từng khung, thay vì phát mỗi lần một khung, người ta phát các tổ hợp bit cùng vị trí của các khung, nhiễu có thể làm hỏng một trong các tổ hợp này và chuỗi bit sai này có thể được nhận ra ở máy thu
Ví dụ dưới đây minh họa cho việc kiểm tra phát hiện chuỗi dữ liệu sai:
Máy thu dò ra các khung có lỗi (các bit parity có dấu *) nhưng không xác định được cột nào bị sai do đó phải yêu cầu máy phát phát lại tất cả các cột
Trang 103.2.4 Kiểm tra khối
Một cải tiến của kiểm tra chẵn lẻ là kiểm tra khối (Block Check Character, BCC) Bản tin được viết thành khối và việc kiểm tra chẵn lẻ được thực hiện theo cả 2 chiều
dọc (Vertical Redundancy Check, VRC) và ngang ( Longitudinal Redundancy Check, LRC)
Gọi các bit của mỗi ký tự là bij (i=1, , n là thứ tự các bit trong ký tự ; j=1, , m
là thứ tự của ký tự)
Rj là bit parity của ký tự thứ j, giả sử chọn parity chẵn, ta có :
Rj = b1j + b2j + + bnj
Ci là bít parity của tất cả bít thứ i
Ci = bi1 + bi2 + + bim +
Tập hợp các bit Ri (j = 1, ,m) dùng kiểm tra chiều dọc và tập hợp các bit Ci (i = 1, ,n) dùng kiểm tra chiều ngang
Phương pháp kiểm tra khối cho phép phát hiện và sửa một lỗi vì xác định được vị trí của lỗi đó, chính là giao điểm của hàng và cột có bit sai Máy thu có khả năng phát hiện hai lỗi sai trên cùng một hàng hoặc cột nhưng không xác định được vị trí bit lỗi
Ví dụ hai bit 1 và 3 của ký tự thứ nhất cùng sai thì bit kiểm tra VRC không phát hiện được nhưng bit LRC thì thấy ngay Nếu bây giờ có thêm các bit 1 và 3 của ký tự thứ 5 cùng sai thì máy thu sẽ không phát hiện được, như vậy cũng còn trường hợp không phát hiện được lỗi nếu số lỗi là một số chẵn theo những vị trí xác định nào đó, tuy nhiên trường hợp này rất hiếm xảy ra