Báo Cáo Tìm hiểu mã CRC

Thảo luận trong 'Điện - Điện Tử' bắt đầu bởi Quy Ẩn Giang Hồ, 15/2/15.

  1. Quy Ẩn Giang Hồ

    Quy Ẩn Giang Hồ Administrator
    Thành viên BQT

    Bài viết:
    3,084
    Được thích:
    23
    Điểm thành tích:
    38
    Xu:
    0Xu
    LỜI NÓI ĐẦU

    Trong quá trình sử dụng máy tính, chắc hẳn bạn đã không ít lần cảm thấy khó chịu (đặc biệt là khi bạn đã tốn hàng giờ để download một tập tin quan trọng) khi gặp phải thông báo lỗi của WinZip từ chối xả nén một tập tin vì phép kiểm CRC thấy bại. Tại sao các phần mềm nén lại phải thực hiện phép kiểm tra CRC mỗi khi xả nén một tập tin? Vậy CRC là gì ? và trong việc xả nén nó có công dụng gì ?

    1. CRC là gì ?
    CRC là một loại mã phát hiện lỗi. Cách tính toán của nó giống như phép toán chia số dài trong đó thương số được loại bỏ và số dư là kết quả, điểm khác biệt ở đây là sử dụng cách tính không nhớ (carry-less arithmetic) của một trường hữu hạn. Độ dài của số dư luôn nhỏ hơn hoặc bằng độ dài của số chia, do đó số chia sẽ quyết định độ dài có thể của kết quả trả về. Định nghĩa đối với từng loại CRC đặc thù quyết định số chia nào được sử dụng, cũng như nhiều ràng buộc khác.
    CRC rất phổ biến, vì nó rất đơn giản để lắp đặt trong các máy tính sử dụng hệ cơ số nhị phân, dễ dàng phân tích tính đúng, và rất phù hợp để dò các lỗi gây ra bởi nhiễu trong khi truyền dữ liệu.

    2.Cách thức hoạt động
    CRC dựa chủ yếu vào phần bit bổ sung, kỹ thuật CRC dựa trên phép chia nhị phân. Trong CRC, thay vì thêm các bit để cùng đạt được một tính chẵn lẻ theo mong đợi, thì một chuỗi các bit dư thừa được gọi là CRC hay số dư CRC, được ghép vào cuối các đơn vị dữ liệu do đó đơn vị dữ liệu kết quả có thể chia hết cho số nhị phân thứ hai được xác định trước. Tại đích của nó, đơn vị dữ liệu đến được chia bởi cùng số đó. Nếu tịa bước này, phép chia có số dư bằng 0, đơn vị dũ liệu được coi là nguyên vẹn và do đó được chấp nhận. Nếu số dư khác không có nghĩa là đơn vị dữ liệu đó đã bị hư hại trong quá trình truyền và do đó bị loại bỏ. Các bit dư thừa được sử dụng bởi CRC lấy được từ phép chia đơn vị dữ liệu theo số chia đã xác định trước, phần dư của phép chia sẽ là CRC.
    Xét khung dữ liệu gồm k bit và nếu ta dùng n bit cho khung
    kiểm tra FCS (Frame check sequence) thì khung thông tin kể cả dữ liệu kiểm tra gồm (k+n)
    bit sao cho (k+n) bit này chia đúng cho một số P có (n+1) bit chọn trước (dùng phép chia
    Modulo-2). Ở máy thu khi nhận được khung dữ liệu, lại mang chia cho số P này và nếu phép
    chia đúng thì khung dữ liệu không chứa lỗi


    MỤC LỤC

    LỜI MỞ ĐẦU
    Phần 1 : Giới Thiệu
    Phần 2 : Nội Dung
    2.1. Định nghĩa
    - CRC là gì ?
    - Giới thiệu chung về CRC
    2.2. Tư tưởng của phương pháp CRC
    2.2.1. Xác định mã CRC dùng thuật toán Mod – 2
    2.2.2. Dùng phép biểu diễn đa thức
    2.2.3. Khả năng dò sai của mã CRC
    2.2.4. Mạch tạo mã CRC
    2.3. Thuật toán
    - Thuật toán dò sai của CRC
    - Lưu đồ thuật toán
    2.4. Giới thiệu phần mềm TURBO C
    2.5. Mô phỏng CRC trên TURBO C
    - Code mô phỏng
    - Chạy chương trình , thực hiện mô phỏng vài ví dụ
    2.6. Ứng dụng thực tế
    Phần 3. Tổng kết
    KẾT LUẬN
    TÀI LIỆU THAM KHẢO
    PHỤ LỤC
     

    Các file đính kèm:

Đang tải...