Bài 1: Kỹ thuật mã hóa kênh I. Lý thuyết: - Mã hóa kênh: kỹ thuật này giúp việc truyền thông tin chính xác hơn trong môi trường nhiễu loạn của kênh truyền thông. Vấn đề mã kênh dựa trên ý tưởng thêm các ký hiệu mới vào trong dữ liệu được truyền, để có thể xây dựng các loại mã nhằm mục đích có thể phát hiện lỗi và sửa sai các lỗi. - Có 4 dạng kiểm tra lỗi cơ bản dùng mã thừa trong truyền dữ liệu: +VRC (vertical redundancy check): kiểm tra tính chẵn lẻ của tổng bit ‘1’ trong một đơn vị dữ liệu. + LRC (longitudinal redundancy check): kiểm tra tính chẵn lẻ của tổng các bit ‘1’ trong một khối. + CRC (cyclic redundancy check): kiểm tra chu kỳ dư. + Checksum: kiểm tra tổng. Ba dạng đầu thường được thiết lập trong lớp vật lý để dùng trong lớp kết nối dữ liệu. Dạng checksum thường được dùng trong các lớp trên. - Sửa lỗi: có 2 cách sửa lỗi + Khi phát hiện một mỗi, máy thu phải yêu cầu máy phát truyền lại dữ liệu. + Máy thu dùng các mã sửa lỗi, để sửa tự động một số lỗi. - 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 (phát hiện sai và sửa sai). Mã khối tuyến tính c có mục đích mã hóa các khối tin k bit thành các từ mã n bit trước khi truyền đi, nói cách khác, trong n bit của từ mã truyền đi có k bit chứa thông tin, còn n-k bit là thêm vào (mã hóa) đề chống nhiễu. - Mã hóa bản tin dùng mã khối tuyến tính (4, 7) là một tin nguồn gồm 4 bit đã được mã hóa thành một mã nguồn gồm 7 bit, 4 bit chứa thông tin và 3 bit thêm vào là để chống nhiễu. - Mã hóa bản tin dùng mã khối tuyến tính (7, 11) là một tin nguồn gồm 7 bit đã được mã hóa thành một mã nguồn gồm 11 bit, 7 bit chứa thông tin và 4 bit thêm vào là để chống nhiễu. Hệ thống thông tin số điển hình:
II. Bài tập:
Bài 1: Thực hiện mã hóa ASCII cho đoạn văn bản sau: Faculty of Electronic and Telecommunication - Giả sử lỗi rơi vào các vị trí 1, 2, 4, 3, 3, 5, 7, 1, 6 của các ký tự màu đỏ. Giải mã. - Nhận xét về khả năng phát hiện lỗi của mã ASCII. Bài 2: Cho đoạn văn sau: Electronic - Mã hóa bản tin trên dùng mã khối tuyến tính (4, 7) với đa thức sinh như trong ví dụ. Tính tỷ lệ mã. - Giải mã bản tin trên với giả sử lỗi xuất hiện ở vị trí 1, 7 trong ký tự “e” màu đỏ. Nhận xét về khả năng phát hiện lỗi của mã (4, 7). Bài 3: - Thực hiện bài tập 2 với mã (7, 11). Đa thức sinh tự chọn. - So sánh mã (4, 7) và (7, 11) về các tiêu chí: + Tỷ lệ mã. + Khả năng phát hiện lỗi. III. Hướng dẫn thực hiện Bài 1: Các bước thực hiện: - Input a chuỗi trước khi mã hóa, output c là chuỗi sau khi mã hóa. - Tạo chuỗi ký tự rỗng. - Sử dụng vòng lặp for i từ điểm 1 đến kích thước của ascii. + Mã hóa tại điểm i thành mã nhị phân 7 bits. + Thực hiện vòng lặp và mã hóa từng ký tự của đoạn văn bản dùng hàm dec2bin mã hóa về mã ASCII. + Thực hiện nối chuỗi. - Giả sử lỗi theo yêu cầu của đề bài. - Giải mã chuỗi sau khi đã thêm lỗi. - Xuất kết quả chuỗi. Bài 2: - Mã hóa đoạn văn được cho theo mã ASCII - Tạo mã khối (4, 7): - Giả sữ mã khối lỗi: + Trường hợp 1: lỗi ở vị trí 1 (tức vị trí 1 trong c) ta thu được c1. + Trường hợp 2: Lỗi ở vị trí 7 (tức vị trí 10 trong c) ta thu được c2. + Trường hợp 3: Lỗi ở vị trí 1 và 7 ta thu được c3. - Sửa lỗi: + Tính: si = ei x H-T + Lấy 7bits/1 lần nhân với H-T: sa = c(1/2/3) x H-T + Kết quả của từng sa so sánh với từng si. Nếu giống với si nào thì mã khối (4, 7) phát hiện được lỗi, nếu không giống với si nào thì mã khối (4, 7) không phát hiện được lỗi + Lấy từng c(1/2/3) cộng với ei tương ứng phát hiện lỗi si, nếu giống với c thì mã khối (4, 7) sửa được lỗi, khác c thì mã khối (4, 7) không sửa được. Bài 3: Thực hiện tương tự như bài 2.