1. The document discusses various principles of digital and analog transmission including modulation, demodulation, and encoding/decoding of signals.
2. It describes how analog signals are converted to digital pulses for transmission and reconverted at the receiver.
3. Several types of pulse modulation are covered, including how the amplitude, width, or timing of pulses can be varied to represent the modulating signal. Pulse-amplitude modulation is discussed as one of the simplest forms of pulse modulation.
This document discusses Cyclic Redundancy Check (CRC), a technique used to detect errors in digital data during transmission or storage. CRC works by calculating a checksum based on the remainder of binary long division of the transmitted data divided by a fixed, predetermined polynomial. The sender appends the CRC checksum to the end of the message before transmission. The receiver re-calculates the CRC and checks if it matches, to detect any errors introduced during transmission. Examples are provided to demonstrate how CRC encoding and decoding works using different generator polynomials.
Data Integrity Techniques: Aviation Best Practices for CRC & Checksum Error D...Philip Koopman
油
Author: Prof. Philip Koopman, Carnegie Mellon University
Abstract:
This talk includes both a tutorial and explanation of research results on the proper use of Cyclic Redundancy codes (CRCs) and checksums in an aviation context. More than 50 years since the invention of the CRC, the proper use of these error detection codes is still hampered by a combination of misleading folklore, sub-optimality of standard approaches, general inaccessibility of research results, and the occasional typographical error in key reference materials. However, recent work has been able to exhaustively explore the CRC design space and identify optimal selection criteria based on key system characteristics. This talk will covers the following areas: checksum and CRC theory with an emphasis on intuitive understanding rather than heavy math; why using a standard or widely used CRC can be suboptimal (or worse); how to pick a good checksum/CRC; the key parameters that affect the error detection capability of a checksum/CRC; CRC pitfalls illustrated via examples from Controller Area Network and ARINC-825; an example CRC selection process for achieving a required level of functional criticality; and a seven deadly sins list for CRC/checksum use. Some key research findings that are discussed include: a well-chosen CRC is usually dramatically better than a checksum for relatively little additional computational cost; you can usually do a lot better than standard CRC (especially CRC-32); Hamming Distance at the target payload length is the predominant selection criterion of interest; and it is important to avoid bit encoding approaches that undermine CRC effectiveness.
Bio:
Dr. Philip Koopman is a professor at Carnegie Mellon University, with research interests in the areas of software robustness, embedded networking, dependable embedded computer systems, and autonomous vehicle safety. Previously, he was a US Navy submarine officer, an embedded CPU architect for Harris Semiconductor, and an embedded system researcher at United Technologies. In addition to a variety of academic publications and two dozen patents, he has authored the book Better Embedded System Software based on lessons learned from more than a hundred design reviews of industry software. He has affiliations with both the Carnegie Mellon Electrical & Computer Engineering Department (ECE) and the National Robotics Engineering Center (NREC). He is a senior member of IEEE, senior member of the ACM, and a member of IFIP WG 10.4 on Dependable Computing and Fault Tolerance.