Implementation of communication using Cyclic Redundancy Check
|
|
|
- Gervase Singleton
- 9 years ago
- Views:
Transcription
1 Implementation of communication using Cyclic Redundancy Check Jyoti Wadhwani 1, Prof. Nitin Narkhede 2 1 Department of Electronics Engineering RCOEM, Nagpur, 2 Department of Electronics & Telecommunication Engineering, RCOEM, Nagpur Abstract- Cyclic redundancy checking is a method of checking for errors in data that has been transmitted on a communications link. The Cyclic Redundancy Check (CRC) is an efficient technique for detecting errors during digital data transmissions between a source and a destination. It is designed to be fast and easy to implement in a hardware by using logic XOR (exclusive OR) gates and shifters. The algorithm provides very good protection from burst errors, which are typical for transmission lines. Thanks to easy implementation, it is useful for error detection but cannot safely rely on data integrity verification. This paper describes the mathematical basis behind CRC in an intuitive fashion and then explains Algorithm for the serial CRC generating and checking at both transmitter and receiver side. This includes analyzing various types of error during transmission. Keywords- Checksum, Codeword, CRC standards, Generator polynomial, Syndrome. I. INTRODUCTION Every modern communication protocols uses one or more error-detection algorithms to achieve reliable communication between source and destination. CRC is by far the most popular. The ser and receiver agree on a certain fixed polynomial called the generator polynomial.crc properties are defined by length and coefficients of the generator polynomial.. The protocol specification generally defines CRC in hexadecimal or polynomial notation. Table 1 shows the generator polynomials used by some common CRC standards. The Hex column of the Table shows the hexadecimal representation of the generator polynomial; the most significant bit is omitted, as it is always 1. TABLE 1. GENERATOR POLYNOMIAL OF SOME CRC CODES[5] Comman Name r Polynomial Generotor Hex CRC x 12 + x 11 + x 3 + x 2 +x+1 80F CRC x 16 + x 15 + x CRC- CCITT 16 X 16 + x 12 + x CRC X 32 +x 26 +x 23 +x 22 +x 16 + x 12 +x 11 +x 10 +x 8 +x 7 +x 5 +x 4 +x C11DB7 The CRC standards differ in ways other than the choice of generating polynomial. Most initialize by assuming that the message has been preceded by certain nonzero bits, others do no such initialization. Most transmit the bits within a byte least significant bit first, some most significant bit first. Most app the checksum least significant byte first, others most significant byte first. Some complement the checksum. CRC-12 is used for transmission of 6-bit character streams, and the others are for 8-bit characters, or 8-bit bytes of arbitrary data. CRC-16 is used in IBM s BISYNCH communication standard. The CRC-CCITT polynomial, also known as ITU-TSS, is used in communication protocols such as XMODEM, X.25, IBM s SDLC, and ISO s HDLC [Tanen]. CRC-32 is also known as AUTODIN-II and ITU-TSS (ITU-TSS has defined both 16- and a 32-bit polynomials). It is used in PKZip, Ethernet, AAL5 (ATM Adaptation Layer 5), FDDI (Fiber Distributed 228
2 Data Interface), the IEEE-802 LAN/MAN standard, and in some DOD applications. This application note describes the Cyclic Redundancy Check (CRC) theory and implementation. This application describes the implementation of the CRC-CCITT polynomial. II. WORKING OF CRC The CRC is based on polynomial arithmetic, in particular, on computing the remainder of dividing one polynomial in GF(2) (Galois field with two elements) by another. It is a little like treating the message as a very large binary number, and computing the remainder on dividing it by a fairly large prime number such as Intuitively, one would expect this to give a reliable checksum. A polynomial in GF(2) is a polynomial in a single variable x whose coefficients are 0 or 1. Addition and subtraction are done modulo 2 that is, they are both the same as the exclusive OR operator. The CRC method treats the message as a polynomial in GF(2). For example, the message , where the order of transmission is from left to right(110 ) is treated as a representation of the polynomial x7 + x6 + x The ser and receiver agree on a certain fixed polynomial called the generator polynomial G(x). The CRC-CCITT generator polynomial is shown in Table 1. The polynomial can be translated into a binary value, For example, the CRC-CCITT polynomial translates to b. All coefficients, like x 12 or x 5, are represented by a logical 1 in the binary value. III. CRC HARDWARE IMPLEMENTATION Figure 1. HARDWARE CRC-CCITT GENERATOR The CRC calculation is realized with a shift registers and XOR gates. Figure 1 shows a CRC generator for the CRC- CCITT polynomial. Each bit of the data is shifted into the CRC shift register (Flip-Flops) after being XOR ed with the CRC s most significant bit. IV. CRC SOFTWARE IMPLEMENTATION Following are steps for implementing a CRC in software. The steps for CRC computation are followed at transmitter side and that for CRC Checking are followed at receiver side. 4.1 Steps of CRC computation at transmitter[4] To compute an n-bit binary CRC, line the bits representing the input in a row, and position the (n+1)-bit pattern representing the CRC's divisor (called a "generator polynomial") underneath the left-hand of the row. Start with the message to be encoded: = X 7 + x 3 + x 2 +x 1 This is first padded with zeroes corresponding to the bit length n of the CRC. Here is the first calculation for computing a 16-bit CRC: <--- input right <--- divisor (17 bits) = x16+x12+x <--- result Three Steps The divisor is XOR ed into the input Note: in other words, the input bit above each 1-bit in the divisor is toggled The divisor is then shifted one bit to the right, and the process is repeated until the divisor reaches the right-hand of the input row. Here is the entire calculation: <--- input right <--- result <--- result <---remainder (16 bits) 229
3 Since the leftmost divisor bit zeroed every input bit it touched, when this process s the only bits in the input row that can be nonzero are the n bits at the right-hand of the row. These n bits are the remainder of the division step, and will also be the value of the CRC function called as checksum. The validity of a received message can easily be verified by performing the above calculation again, this time with the check value added instead of zeroes. The remainder should equal zero if there are no detectable errors. computation result i.e checksum integer i; // loop counter poly = 17'b ; (data_in1, message) data_in1 = {message, 16'b }; // 4.2 Steps of CRC Checking at receiver to detect error[4] <--- input right <--- result <--- result <---remainder (16 bits) Algorithm of Software Implementation Figure 2 shows a basic implementation of CRC-CCITT computation in software. The program initializes the register named poly to binary value of CRC-CCITT generator polynomial equivalent, apps 16 zero bits to the message and checks its MSB bit. If value of MSB is 0 then data is copied as it is into temporary register r1 otherwise the data is XOR ed with the generator polynomial to store the result in the register r1. Then data is left shifted by one bit and same operation is repeated. At last the result of CRC computation called as checksum is assigned to crc register. reg [7:0] message; reg [16:0] poly; // store generator polynomial reg[23:0] data_in1; reg[16:0] r1; // to store intermediate result app 16 zero bits to the message if (data_in1[23] == 0) r1 = data_in1[23:7]; r1 = data_in1[23:7] ^ poly[16:0]; for (i = 6; i >=0; i = i-1) r1 = {r1[15:0], data_in1[i]}; if (r1[16] == 0) r1 = r1; r1 = r1 ^ poly; Fig.2. Basic CRC-CCITT Computation algorithm Figure 3 shows a basic implementation of CRC-CCITT checking in software. The program is exactly same as that of Fig.2 except that the received message will be of 24 bits and 16 zero bits are replaced by checksum value present in the received message to the receiver. reg [15:0] crc; // output port to store crc 230
4 reg [23:0] codeword; // Received Message reg [16:0] poly; // store same generator polynomial reg [15:0] syndrome; crc checking result i.e syndrome poly = 17'b ; reg[23:0] data_in1; reg[16:0] r1; integer i; (data_in1, codeword) // output port to store data_in1 = codeword; // here we do not app 16 zero bits if (data_in1[23] == 0) r1 = data_in1 [23:7]; r1 = data_in1 [23:7] ^ poly [16:0]; for (i = 6; i >= 0; i = i-1) r1 = {r1 [15:0], data_in1 [i]}; if (r1 [16] == 0) r1 = r1; r1 = r1 ^ poly; Communication using CRC error detection algorithm Fig 4 shows the communication application using CRC as error detection algorithm. The PRNG Pseudo Random Number Generator Is used to generate 8 bit messages d(x). The Transmitter will perform CRC computation to encode the message by adding checksum value to it. This encoded message is called codeword c(x). The channel is unreliable transmission line which may corrupt the message due to noise, attenuation and interference. The possibly corrupted codeword at the receiver is decoded using CRC checking algorithm. Note that transmitter and receiver agrees on common generator polynomial G(x). The result of CRC checking is called Syndrome s(x) is used to detect error in the received message. Fig.4. Communication using CRC technique Detecting and Verifying errors. A cyclic code can be analyzed to find its capabilities by using polynomials. Message: d(x) Codeword: c(x) Generator: g(x) Syndrome: s(x) Error: e(x) In this analysis the intention is to find the criteria that must be imposed on the generator, G(x) to detect the type of error [7]. Here, received codeword = c(x) + e(x) The receiver divides the received codeword by g(x) to get the syndrome. This can be written as: Received codeword = c(x) + e(x) G(x) G(x) G(x) The first term does not have remainder. The second term does not have a remainder (syndrome = 0), in two cases :- Fig.3. Basic CRC Checking algorithm 231
5 1. The first case when e(x) is 0 if there is no error. 2. The second case when e(x) is divisible by G(x). Those errors that are divisible by g(x) are not caught. 3. In a cyclic code, those e(x) errors that are divisible by g(x) are not caught. V. CONCLUSION The CRC error correction is mostly used where large data packages are transmitted, for example, in local area networks such as Ethernet. We designed the serial circuit shown in figure.1 and reported the output of the circuit for a sample division. This is basic implementation of CRC-CCITT in software. This work can be exted to next version which employs table lookup. This is the usual way that CRC-32 is calculated. Although the programs above work one bit at a time, the table lookup method (as usually implemented) works one byte at a time. A table of 256 full-word constants is used. REFERENCES [1] Hamed Sheidaeian and Behrouz Zolfaghari,2012, International Journal of Computer Networks & Communications (IJCNC) Vol.4, No.1. PARALLEL COMPUTATION OF CRC USING SPECIAL GENERATOR POLYNOMIALS [2] Tanenbaum, Andrew S. Computer Networks, Second Edition. Prentice Hall, [3] Thomas Schmidt : Microchip Technology Inc., Microchip AN730, CRC Generating and Checking [4] Wikipedia, the free encyclopedia. [5] Chapter 14. Cyclic Redundancy Check 7/28/09 [6] P. Hlavka, V. Rehak, A. Smrcka, P. Simecek, D. Safranek, and T. Vojnar,2011, supported by the CESNET activity Programmable hardware. Formal Verification of the CRC Algorithm Properties. [7] An approach for a Standard Polynomial for Cyclic Redundancy Check.International Journal of Computer Applications ( ), December [8] Lattice semiconductorcorporation, April 2011 Reference Design RD1105. CYCLIC REDUNDANCY CHECKS IN USB 232
CYCLIC REDUNDANCY CHECKS IN USB. Introduction. Two-minute mathematical background
CYCLIC REDUNDANCY CHECKS IN USB Introduction The USB specification calls for the use of Cyclic Redundancy Checksums (CRC) to protect all non-pid fields in token and data packets from errors during transmission.
Data Link Layer Overview
Data Link Layer Overview Date link layer deals with two basic issues: Part I How data frames can be reliably transmitted, and Part II How a shared communication medium can be accessed In many networks,
The finite field with 2 elements The simplest finite field is
The finite field with 2 elements The simplest finite field is GF (2) = F 2 = {0, 1} = Z/2 It has addition and multiplication + and defined to be 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 0 0 = 0 0 1 = 0
Sheet 7 (Chapter 10)
King Saud University College of Computer and Information Sciences Department of Information Technology CAP240 First semester 1430/1431 Multiple-choice Questions Sheet 7 (Chapter 10) 1. Which error detection
8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory
AVR236: CRC Check of Program Memory Features CRC Generation and Checking of Program Memory Supports all AVR Controllers with LPM Instruction Compact Code Size, 44 Words (CRC Generation and CRC Checking)
Data Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine
Data Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine Virtual communication versus actual communication: Specific functions
Error detection using CRC
Error detection using CRC The goal of this task is to become familiar with functional principles of CRC (Cyclic Redundancy Check): - math background - error detection features - practical implementation
The string of digits 101101 in the binary number system represents the quantity
Data Representation Section 3.1 Data Types Registers contain either data or control information Control information is a bit or group of bits used to specify the sequence of command signals needed for
A Practical Parallel CRC Generation Method
F EATURE ARTICLE by Evgeni Stavinov A Practical Parallel CRC Generation Method Do you understand the mechanics of the cyclic redundancy check (CRC) well enough to build a customized parallel CRC circuit
Review of Error Detection of Data Link Layer in Computer Network
Middle-East Journal of Scientific Research 18 (8): 1105-1110, 2013 ISSN 1990-9233 IDOSI Publications, 2013 DOI: 10.5829/idosi.mejsr.2013.18.8.11835 Review of Error Detection of Data Link Layer in Computer
Systems I: Computer Organization and Architecture
Systems I: Computer Organization and Architecture Lecture 2: Number Systems and Arithmetic Number Systems - Base The number system that we use is base : 734 = + 7 + 3 + 4 = x + 7x + 3x + 4x = x 3 + 7x
2011, The McGraw-Hill Companies, Inc. Chapter 3
Chapter 3 3.1 Decimal System The radix or base of a number system determines the total number of different symbols or digits used by that system. The decimal system has a base of 10 with the digits 0 through
Lecture 2. Binary and Hexadecimal Numbers
Lecture 2 Binary and Hexadecimal Numbers Purpose: Review binary and hexadecimal number representations Convert directly from one base to another base Review addition and subtraction in binary representations
RS-485 Protocol Manual
RS-485 Protocol Manual Revision: 1.0 January 11, 2000 RS-485 Protocol Guidelines and Description Page i Table of Contents 1.0 COMMUNICATIONS BUS OVERVIEW... 1 2.0 DESIGN GUIDELINES... 1 2.1 Hardware Design
Binary Adders: Half Adders and Full Adders
Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order
EE 261 Introduction to Logic Circuits. Module #2 Number Systems
EE 261 Introduction to Logic Circuits Module #2 Number Systems Topics A. Number System Formation B. Base Conversions C. Binary Arithmetic D. Signed Numbers E. Signed Arithmetic F. Binary Codes Textbook
The Answer to the 14 Most Frequently Asked Modbus Questions
Modbus Frequently Asked Questions WP-34-REV0-0609-1/7 The Answer to the 14 Most Frequently Asked Modbus Questions Exactly what is Modbus? Modbus is an open serial communications protocol widely used in
Section 1.4 Place Value Systems of Numeration in Other Bases
Section.4 Place Value Systems of Numeration in Other Bases Other Bases The Hindu-Arabic system that is used in most of the world today is a positional value system with a base of ten. The simplest reason
Computer Networks. Data Link Layer
Computer Networks The Data Link Layer 1 Data Link Layer Application Transport Network DLL PHY 2 What does it do? What functions it performs? Typically: Handling transmission errors, a.k.a., error control.
Cyclic Redundant Checker Calculation on Power Architecture Technology and Comparison of Big-Endian Versus Little-Endian
Freescale Semiconductor Document Number:AN4657 Application Note Rev. 0, 01/2013 Cyclic Redundant Checker Calculation on Power Architecture Technology and Comparison of Big-Endian Versus Little-Endian by:
Erasure Codes Made So Simple, You ll Really Like Them
Erasure Codes Made So Simple, You ll Really Like Them W. David Schwaderer August 7, 214 [email protected] Santa Clara, CA 1 Agenda Errors Versus Erasures HDD Bit Error Rate Implications RAID 4,
Application Note AN-00160
Considerations for Sending Data Over a Wireless Link Introduction Linx modules are designed to create a robust wireless link for the transfer of data. Since they are wireless devices, they are subject
6.02 Fall 2012 Lecture #5
6.2 Fall 22 Lecture #5 Error correction for linear block codes - Syndrome decoding Burst errors and interleaving 6.2 Fall 22 Lecture 5, Slide # Matrix Notation for Linear Block Codes Task: given k-bit
plc numbers - 13.1 Encoded values; BCD and ASCII Error detection; parity, gray code and checksums
plc numbers - 3. Topics: Number bases; binary, octal, decimal, hexadecimal Binary calculations; s compliments, addition, subtraction and Boolean operations Encoded values; BCD and ASCII Error detection;
How To Fix A 3 Bit Error In Data From A Data Point To A Bit Code (Data Point) With A Power Source (Data Source) And A Power Cell (Power Source)
FPGA IMPLEMENTATION OF 4D-PARITY BASED DATA CODING TECHNIQUE Vijay Tawar 1, Rajani Gupta 2 1 Student, KNPCST, Hoshangabad Road, Misrod, Bhopal, Pin no.462047 2 Head of Department (EC), KNPCST, Hoshangabad
1.Eastron SDM220Modbus Smart Meter Modbus Protocol Implementation V1.0
1.Eastron SDM220Modbus Smart Meter Modbus Protocol Implementation V1.0 1.1 Modbus Protocol Overview This section provides basic information for interfacing the Eastron Smart meter to a Modbus Protocol
Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language
Chapter 4 Register Transfer and Microoperations Section 4.1 Register Transfer Language Digital systems are composed of modules that are constructed from digital components, such as registers, decoders,
BINARY CODED DECIMAL: B.C.D.
BINARY CODED DECIMAL: B.C.D. ANOTHER METHOD TO REPRESENT DECIMAL NUMBERS USEFUL BECAUSE MANY DIGITAL DEVICES PROCESS + DISPLAY NUMBERS IN TENS IN BCD EACH NUMBER IS DEFINED BY A BINARY CODE OF 4 BITS.
Manchester Encoder-Decoder for Xilinx CPLDs
Application Note: CoolRunner CPLDs R XAPP339 (v.3) October, 22 Manchester Encoder-Decoder for Xilinx CPLDs Summary This application note provides a functional description of VHDL and Verilog source code
Levent EREN [email protected] A-306 Office Phone:488-9882 INTRODUCTION TO DIGITAL LOGIC
Levent EREN [email protected] A-306 Office Phone:488-9882 1 Number Systems Representation Positive radix, positional number systems A number with radix r is represented by a string of digits: A n
Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards
Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals of Computer Organization and Design. Introduction
Protocol Overhead in IP/ATM Networks
Protocol Overhead in IP/ATM Networks John David Cavanaugh * Minnesota Supercomputer Center, Inc. This paper discusses the sources of protocol overhead in an IP/ATM protocol stack. It quantifies the amount
LLC: Frame Construction. Layer 2: Division into two Parts. Error-detecting and -correcting Codes. Error-correcting Codes
Sicherungsebene Layer 2: Division into two Parts Logical Link Control (LLC) (Layer 2b) Organization of the data to be sent into frames Guarantee (if possible) an error free transmission between neighboring
Solution for Homework 2
Solution for Homework 2 Problem 1 a. What is the minimum number of bits that are required to uniquely represent the characters of English alphabet? (Consider upper case characters alone) The number of
Enhancing High-Speed Telecommunications Networks with FEC
White Paper Enhancing High-Speed Telecommunications Networks with FEC As the demand for high-bandwidth telecommunications channels increases, service providers and equipment manufacturers must deliver
CS101 Lecture 11: Number Systems and Binary Numbers. Aaron Stevens 14 February 2011
CS101 Lecture 11: Number Systems and Binary Numbers Aaron Stevens 14 February 2011 1 2 1 3!!! MATH WARNING!!! TODAY S LECTURE CONTAINS TRACE AMOUNTS OF ARITHMETIC AND ALGEBRA PLEASE BE ADVISED THAT CALCULTORS
Keywords Cloud Computing, CRC, RC4, RSA, Windows Microsoft Azure
Volume 3, Issue 11, November 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Cloud Computing
Technical Information. Digital Signals. 1 bit. Part 1 Fundamentals
Technical Information Digital Signals 1 1 bit Part 1 Fundamentals t Technical Information Part 1: Fundamentals Part 2: Self-operated Regulators Part 3: Control Valves Part 4: Communication Part 5: Building
Chapter 3: Sample Questions, Problems and Solutions Bölüm 3: Örnek Sorular, Problemler ve Çözümleri
Chapter 3: Sample Questions, Problems and Solutions Bölüm 3: Örnek Sorular, Problemler ve Çözümleri Örnek Sorular (Sample Questions): What is an unacknowledged connectionless service? What is an acknowledged
Binary Division. Decimal Division. Hardware for Binary Division. Simple 16-bit Divider Circuit
Decimal Division Remember 4th grade long division? 43 // quotient 12 521 // divisor dividend -480 41-36 5 // remainder Shift divisor left (multiply by 10) until MSB lines up with dividend s Repeat until
Chapter 2. Binary Values and Number Systems
Chapter 2 Binary Values and Number Systems Numbers Natural numbers, a.k.a. positive integers Zero and any number obtained by repeatedly adding one to it. Examples: 100, 0, 45645, 32 Negative numbers A
How To Write A Hexadecimal Program
The mathematics of RAID-6 H. Peter Anvin First version 20 January 2004 Last updated 20 December 2011 RAID-6 supports losing any two drives. syndromes, generally referred P and Q. The way
ESPA 4.4.4 Nov 1984 PROPOSAL FOR SERIAL DATA INTERFACE FOR PAGING EQUIPMENT CONTENTS 1. INTRODUCTION 2. CHARACTER DESCRIPTION
PROPOSAL FOR SERIAL DATA INTERFACE FOR PAGING EQUIPMENT CONTENTS 1. INTRODUCTION 2. CHARACTER DESCRIPTION 2.1 CHARACTER STRUCTURE 2.2 THE CHARACTER SET 2.3 CONTROL CHARACTERS 2.3.1 Transmission control
Computer Science 281 Binary and Hexadecimal Review
Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two
CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012
CDA 3200 Digital Systems Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012 Outline Data Representation Binary Codes Why 6-3-1-1 and Excess-3? Data Representation (1/2) Each numbering
Digital Design. Assoc. Prof. Dr. Berna Örs Yalçın
Digital Design Assoc. Prof. Dr. Berna Örs Yalçın Istanbul Technical University Faculty of Electrical and Electronics Engineering Office Number: 2318 E-mail: [email protected] Grading 1st Midterm -
2. What is the maximum value of each octet in an IP address? A. 128 B. 255 C. 256 D. None of the above
1. How many bits are in an IP address? A. 16 B. 32 C. 64 2. What is the maximum value of each octet in an IP address? A. 128 B. 255 C. 256 3. The network number plays what part in an IP address? A. It
CSI 333 Lecture 1 Number Systems
CSI 333 Lecture 1 Number Systems 1 1 / 23 Basics of Number Systems Ref: Appendix C of Deitel & Deitel. Weighted Positional Notation: 192 = 2 10 0 + 9 10 1 + 1 10 2 General: Digit sequence : d n 1 d n 2...
Some facts about polynomials modulo m (Full proof of the Fingerprinting Theorem)
Some facts about polynomials modulo m (Full proof of the Fingerprinting Theorem) In order to understand the details of the Fingerprinting Theorem on fingerprints of different texts from Chapter 19 of the
Technical Specifications for KD5HIO Software
Technical Specifications for KD5HIO Software Version 0.2 12/12/2000 by Glen Hansen, KD5HIO HamScope Forward Error Correction Algorithms HamScope is a terminal program designed to support multi-mode digital
Base Conversion written by Cathy Saxton
Base Conversion written by Cathy Saxton 1. Base 10 In base 10, the digits, from right to left, specify the 1 s, 10 s, 100 s, 1000 s, etc. These are powers of 10 (10 x ): 10 0 = 1, 10 1 = 10, 10 2 = 100,
ENTTEC Pixie Driver API Specification
ENTTEC Pixie Driver API Specification Purpose This document specifies the interface requirements for PC based application programs to use the ENTTEC Pixie Driver board to drive RGB or RGBW type LED strips.
Binary Numbers. Binary Octal Hexadecimal
Binary Numbers Binary Octal Hexadecimal Binary Numbers COUNTING SYSTEMS UNLIMITED... Since you have been using the 10 different digits 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 all your life, you may wonder how
Binary Representation. Number Systems. Base 10, Base 2, Base 16. Positional Notation. Conversion of Any Base to Decimal.
Binary Representation The basis of all digital data is binary representation. Binary - means two 1, 0 True, False Hot, Cold On, Off We must be able to handle more than just values for real world problems
Reed-Solomon Codes. by Bernard Sklar
Reed-Solomon Codes by Bernard Sklar Introduction In 1960, Irving Reed and Gus Solomon published a paper in the Journal of the Society for Industrial and Applied Mathematics [1]. This paper described a
Today. Binary addition Representing negative numbers. Andrew H. Fagg: Embedded Real- Time Systems: Binary Arithmetic
Today Binary addition Representing negative numbers 2 Binary Addition Consider the following binary numbers: 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 How do we add these numbers? 3 Binary Addition 0 0 1 0 0 1 1
Chapter 1: Digital Systems and Binary Numbers
Chapter 1: Digital Systems and Binary Numbers Digital age and information age Digital computers general purposes many scientific, industrial and commercial applications Digital systems telephone switching
IP - The Internet Protocol
Orientation IP - The Internet Protocol IP (Internet Protocol) is a Network Layer Protocol. IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network
PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 TUTORIAL OUTCOME 2 Part 1
UNIT 22: PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 TUTORIAL OUTCOME 2 Part 1 This work covers part of outcome 2 of the Edexcel standard module. The material is
1 Overview. T10/03-176 revision 9
Date: October 22, 2003 To: T10 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: End-to-End Data Protection 1 Overview Any inconsistencies between this section and the remaining sections in the
CPEN 214 - Digital Logic Design Binary Systems
CPEN 4 - Digital Logic Design Binary Systems C. Gerousis Digital Design 3 rd Ed., Mano Prentice Hall Digital vs. Analog An analog system has continuous range of values A mercury thermometer Vinyl records
= 2 + 1 2 2 = 3 4, Now assume that P (k) is true for some fixed k 2. This means that
Instructions. Answer each of the questions on your own paper, and be sure to show your work so that partial credit can be adequately assessed. Credit will not be given for answers (even correct ones) without
Process Control and Automation using Modbus Protocol
Process Control and Automation using Modbus Protocol Modbus is the fundamental network protocol used in most industrial applications today. It is universal, open and an easy to use protocol. Modbus has
The mathematics of RAID-6
The mathematics of RAID-6 H. Peter Anvin 1 December 2004 RAID-6 supports losing any two drives. The way this is done is by computing two syndromes, generally referred P and Q. 1 A quick
COMBINATIONAL CIRCUITS
COMBINATIONAL CIRCUITS http://www.tutorialspoint.com/computer_logical_organization/combinational_circuits.htm Copyright tutorialspoint.com Combinational circuit is a circuit in which we combine the different
Network Security. Security of Wireless Local Area Networks. Chapter 15. Network Security (WS 2002): 15 Wireless LAN Security 1 Dr.-Ing G.
Network Security Chapter 15 Security of Wireless Local Area Networks Network Security WS 2002: 15 Wireless LAN Security 1 IEEE 802.11 IEEE 802.11 standardizes medium access control MAC and physical characteristics
Written examination in Computer Networks
Written examination in Computer Networks February 14th 2014 Last name: First name: Student number: Provide on all sheets (including the cover sheet) your last name, rst name and student number. Use the
A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts
[Mechanical Translation, vol.5, no.1, July 1958; pp. 25-41] A Programming Language for Mechanical Translation Victor H. Yngve, Massachusetts Institute of Technology, Cambridge, Massachusetts A notational
Today s topics. Digital Computers. More on binary. Binary Digits (Bits)
Today s topics! Binary Numbers! Brookshear.-.! Slides from Prof. Marti Hearst of UC Berkeley SIMS! Upcoming! Networks Interactive Introduction to Graph Theory http://www.utm.edu/cgi-bin/caldwell/tutor/departments/math/graph/intro
Cyber Security Workshop Encryption Reference Manual
Cyber Security Workshop Encryption Reference Manual May 2015 Basic Concepts in Encoding and Encryption Binary Encoding Examples Encryption Cipher Examples 1 P a g e Encoding Concepts Binary Encoding Basics
Moven Studio realtime. streaming
Moven Studio realtime network streaming UDP protocol specification Document MV0305P Revision B, 19 December 2007 Xsens Technologies B.V. phone +31 88 XSENS 00 Pantheon 6a +31 88 97367 00 P.O. Box 559 fax
Lecture 9 - Message Authentication Codes
Lecture 9 - Message Authentication Codes Boaz Barak March 1, 2010 Reading: Boneh-Shoup chapter 6, Sections 9.1 9.3. Data integrity Until now we ve only been interested in protecting secrecy of data. However,
Error Control Coding and Ethernet
Error Control Coding and Ethernet Steven W. McLaughlin and David Warland Calimetrics, Inc. Alameda, CA [email protected] 1 Agenda Background on error control coding History of error control coding
EE4367 Telecom. Switching & Transmission. Prof. Murat Torlak
Packet Switching and Computer Networks Switching As computer networks became more pervasive, more and more data and also less voice was transmitted over telephone lines. Circuit Switching The telephone
WAN Data Link Protocols
WAN Data Link Protocols In addition to Physical layer devices, WANs require Data Link layer protocols to establish the link across the communication line from the sending to the receiving device. 1 Data
Numbering Systems. InThisAppendix...
G InThisAppendix... Introduction Binary Numbering System Hexadecimal Numbering System Octal Numbering System Binary Coded Decimal (BCD) Numbering System Real (Floating Point) Numbering System BCD/Binary/Decimal/Hex/Octal
DATA COMMUNICATION (Basics of data communication, OSI layers.)
DATA COMMUNICATION (Basics of data communication, OSI layers.) K.K.DHUPAR SDE (NP-II) ALTTC ALTTC/NP/KKD/Data Communication 1 Data Communications History 1838: Samuel Morse & Alfred Veil Invent Morse Code
Network Layer. Introduction Datagrams and Virtual Circuits Routing Traffic Control. Data delivery from source to destination.
Layer Introduction Datagrams and Virtual ircuits Routing Traffic ontrol Main Objective Data delivery from source to destination Node (Router) Application Presentation Session Transport Data Link Data Link
(Refer Slide Time: 02:17)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #06 IP Subnetting and Addressing (Not audible: (00:46)) Now,
Applied Data Communication Lecture 14
Applied Data Communication Lecture 14 Character oriented Data Link Character-oriented data link control Asynchronous Synchronous Kristjan Sillmann reaalajasüsteemide õppetool TTÜ automaatikainstituut character-oriented
Introduction to Algebraic Coding Theory
Introduction to Algebraic Coding Theory Supplementary material for Math 336 Cornell University Sarah A. Spence Contents 1 Introduction 1 2 Basics 2 2.1 Important code parameters..................... 4
Switch Fabric Implementation Using Shared Memory
Order this document by /D Switch Fabric Implementation Using Shared Memory Prepared by: Lakshmi Mandyam and B. Kinney INTRODUCTION Whether it be for the World Wide Web or for an intra office network, today
Divide: Paper & Pencil. Computer Architecture ALU Design : Division and Floating Point. Divide algorithm. DIVIDE HARDWARE Version 1
Divide: Paper & Pencil Computer Architecture ALU Design : Division and Floating Point 1001 Quotient Divisor 1000 1001010 Dividend 1000 10 101 1010 1000 10 (or Modulo result) See how big a number can be
Ethernet. Ethernet. Network Devices
Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking
Oct: 50 8 = 6 (r = 2) 6 8 = 0 (r = 6) Writing the remainders in reverse order we get: (50) 10 = (62) 8
ECE Department Summer LECTURE #5: Number Systems EEL : Digital Logic and Computer Systems Based on lecture notes by Dr. Eric M. Schwartz Decimal Number System: -Our standard number system is base, also
Lecture 8. IP Fundamentals
Lecture 8. Internet Network Layer: IP Fundamentals Outline Layer 3 functionalities Internet Protocol (IP) characteristics IP packet (first look) IP addresses Routing tables: how to use ARP Layer 3 functionalities
Streaming Lossless Data Compression Algorithm (SLDC)
Standard ECMA-321 June 2001 Standardizing Information and Communication Systems Streaming Lossless Data Compression Algorithm (SLDC) Phone: +41 22 849.60.00 - Fax: +41 22 849.60.01 - URL: http://www.ecma.ch
Candidates should attempt FOUR questions. All questions carry 25 marks.
UNIVERSITY OF ABERDEEN Exam 2010 Degree Examination in ES 3567 Communications Engineering 1B Xday X Notes: 9.00 a.m. 12 Noon (i) CANDIDATES ARE PERMITTED TO USE APPROVED CALCULATORS (II) CANDIDATES ARE
Chapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
CRC32 Based Signature Generation Methods for URL Routing
CRC32 Based Signature Generation Methods for URL Routing Zornitza Genova Prodanoff and Ronnie King Department of Computer and Information Sciences University of North Florida 4567 Saint Johns Bluff Road
Number Representation
Number Representation CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Topics to be Discussed How are numeric data
2003 HSC Notes from the Marking Centre Software Design and Development
00 HSC Notes from the Marking Centre Software Design and Development 004 Copyright Board of Studies NSW for and on behalf of the Crown in right of the State of New South Wales. This document contains Material
Design and Implementation of Asymmetric Cryptography Using AES Algorithm
Design and Implementation of Asymmetric Cryptography Using AES Algorithm Madhuri B. Shinde Student, Electronics & Telecommunication Department, Matoshri College of Engineering and Research Centre, Nashik,
Let s put together a Manual Processor
Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce
The Keyed-Hash Message Authentication Code (HMAC)
FIPS PUB 198-1 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION The Keyed-Hash Message Authentication Code (HMAC) CATEGORY: COMPUTER SECURITY SUBCATEGORY: CRYPTOGRAPHY Information Technology Laboratory
AN1229. Class B Safety Software Library for PIC MCUs and dspic DSCs OVERVIEW OF THE IEC 60730 STANDARD INTRODUCTION
Class B Safety Software Library for PIC MCUs and dspic DSCs AN1229 Authors: Veena Kudva & Adrian Aur Microchip Technology Inc. OVERVIEW OF THE IEC 60730 STANDARD INTRODUCTION This application note describes
Lecture 6: Finite Fields (PART 3) PART 3: Polynomial Arithmetic. Theoretical Underpinnings of Modern Cryptography
Lecture 6: Finite Fields (PART 3) PART 3: Polynomial Arithmetic Theoretical Underpinnings of Modern Cryptography Lecture Notes on Computer and Network Security by Avi Kak ([email protected]) January 29, 2015
