UTF-8 Compression ˆ Huffman’S Algorithm

Total Page:16

File Type:pdf, Size:1020Kb

UTF-8 Compression ˆ Huffman’S Algorithm Computer Mathematics Week 5 Source coding and compression Department of Mechanical and Electrical System Engineering last week Central Processing Unit data bus address IR DR PC AR bus binary representations of signed numbers increment PC registers 0 4 sign-magnitude, biased 8 CU 16 20 one’s complement, two’s complement 24 operation 28 ALU select Random PSR Access signed binary arithmetic Memory negation Universal Serial Bus Input / Output PCI Bus Controller addition, subtraction Mouse Keyboard, HDD GPU, Audio, SSD signed overflow detection multiplication, division width conversion sign extension floating-point numbers 2 this week Central Processing Unit data bus address coding theory IR DR PC AR bus increment PC registers 0 4 source coding 8 CU 16 20 24 28 operation ALU information theory concept select Random PSR Access information content Memory Universal Serial Bus Input / Output PCI Bus binary codes Controller Mouse Keyboard HDD GPU Audio SSD Net numbers text variable-length codes UTF-8 compression Huffman’s algorithm 3 coding theory coding theory studies the encoding (representation) of information as numbers and how to make encodings more efficient (source coding) reliable (channel coding) secure (cryptography) 4 binary codes a binary code assigns one or more bits to represent some piece of information number digit, character, or other written symbol colour, pixel value audio sample, frequency, amplitude etc. codes can be arbitrary, or designed to have desirable properties fixed length, or variable length static, or generated dynamically for specific data 5 a code for numbers movement 1 1 encoded position 1 why a code for numbers? 0 binary is ambiguous between values e.g., electro-mechanical sensor moves from position 7 to 8 no guarantee all bits change simultaneously a better code would have one bit difference between adjacent positions also known as minimum-change codes 6 reflected binary code begin with a single bit encoding two positions (0 and 1) this has the property we need: 3-bit 2-bit 1-bit – only one bit changes between adjacent positions 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 to double the size of the code... 1 1 0 reflect repeat the bits by reflecting them 1 1 1 1 0 1 reflect – the two central positions now have the same code 1 0 0 prefix the first half with 0, and the second half with 1 this still has the property we need: – only the newly-added first bit changes between the two central positions this is Gray code, named after its inventor 7 Gray code and binary conversion from binary to Gray code add (modulo 2) each input digit to the input digit on its left (there is an implicit 0 on the far left) implicit 0 binary = 0 1 0 0 0 1 0 0 0 + Gray = 11 0 0 1 1 0 0 + binary = 0 1 0 0 0 1 0 0 0 conversion from Gray code to binary add (modulo 2) each input digit to the output digit on its left (there is an implicit 0 on the far left) 8 binary and Gray code rotary encoders 9 high-resolution Gray code rotary encoder 10 fixed length codes for text Baudot code (5 bits) ! International Telegraph Alphabet (ITA) No. 2 (5 bits) ! ASCII (7+1 bits) 11 fixed length codes for text: ASCII ASCII (American Standard Code for Information Interchange) latin alphabet, arabic digits common western punctuation and mathematical symbols the ASCII codes, in hexadecimal: least significant digit 0123456789ABCDEF 0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT NL VT NP CR SO SI 1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2 SP ! " # $ % & ’ () * + , - . / 3 0123456789:;<=>? 4 @ABCDEFGHIJKLMNO 5 PQRSTUVWXYZ[ n ] ^ 6 ‘ ABCDEFGHIJKLMNO most significant digit 7 PQRSTUVWXYZ{|}~ DEL text: H E L L O ␣ T H E R E ! hex encoding: 48 65 6C 6C 6F 20 74 68 65 72 65 21 12 fixed length codes for text: UTF-32 Unicode is a mapping of all written symbols to numbers modern languages, ancient languages, math/music/art symbols (and far too many useless emoticons) 21-bit numbering, usually written ‘U+hexadecimal-code’ first 127 Unicode characters are the same as ASCII (hexadecimal) name symbol Unicode ASCII asterisk * U+2A 2A star F U+2605 n/a shooting star U+1F320 n/a UTF (Unicode Transformation Format) is an encoding of Unicode in binary UTF-32 is a fixed length encoding each character’s number is represented directly as a 32-bit integer 13 variable length codes for text: UTF-8 UTF-32 is wasteful most western text uses the 7-bit ASCII subset U+20 – U+7F most other modern text uses characters with numbers < 216 – kana are in the range U+3000 – U+30FF – kanji are in the range U+4E00 – U+9FAF UTF-8 is a variable length encoding of Unicode characters are between 1 and 4 bytes long first byte encodes the length of the character most common Unicode characters are encoded as one, two or three UTF-8 bytes number of bits code points byte 1 byte 2 byte 3 byte 4 7 0016 – 7F16 0XXXXXXX2 11 (5 + 6) 008016 – 07FF16 110XXXXX2 10XXXXXX2 16 (4 + 6 + 6) 080016 – FFFF16 1110XXXX2 10XXXXXX2 10XXXXXX2 21 (3 + 6 + 6 + 6) 01000016 – 10FFFF16 11110XXX2 10XXXXXX2 10XXXXXX2 10XXXXXX2 " number of leading ‘1’s encodes the length in bytes U+2605 (‘F’) = 0010 011000 0001012 = 111000102 100110002 100001012 = E2 98 8516 14 information theory how much information is carried by a message? information is conveyed when you learn something new if the message is predictable (e.g., series of ‘1’s) minimum information content zero bits of information per bit transmitted if the message is unpredictable (e.g., series of random bits) maximum information content one bit of information per bit transmitted if the probability of receiving a given bit (or symbol, or message) ‘x’ is Px, then 1 information content of x = log2 bits Px 15 variable length encoding of known messages messages often use only a few symbols from a code e.g., in typical English text 12.702% of letters are ‘e’ 0.074% of letters are ‘z’ considering their probability in English text ‘e’ conveys few bits of information (log2(1=0:12702) = 2:98 bits) ‘z’ conveys many bits of information (log2(1=0:00074) = 10:4 bits) and yet they are both encoded using 8 bits of UTF-8 (or ASCII) if we know the message in advance we could construct an encoding optimised for it make high-probability (low information) symbols use few bits make low-probability (high information) symbols use more bits this is the goal of source coding, or ‘compression’ 16 binary encodings as decision trees follow the path from the root to the symbol in the decision tree a 0 means ‘go left’ and a 1 means ‘go right’ root (start here) 0 1 UTF-8 multibyte characters 80-F7 digits and punctuation 1 00-3F capital letters 0 1 40-5F 0 1 1 0 60-63 0 1 7C-7F 1 0 . .d e f g . .x y z { . 01100101 (6516) 01111010 (7A16) for English, we really want ‘E’ to have a shorter path (be closer to the root) than ‘Z’ 17 Huffman coding Huffman codes are variable-length codes that are optimal for a known message the message is analysed to find the frequency (probability) of each symbol a binary encoding is then constructed, from least to most probable symbols create a list of ‘subtrees’ containing just each symbol labeled with its probability repeatedly – remove the two lowest-probability subtrees s; t – combine them into a new subtree p – label p with the sum of the probabilities of s and t – insert p into the list until only one subtree remains the final remaining subtree in the list is an optimal binary encoding for the message 18 Huffman coding example known message ‘GOOGLING’: f symbol P (s) 1 LIN 1=8 (3:00 bits of information) 2 O 2=8 (2:00 bits) 3 G 3=8 (1:42 bits) repeatedly combine two lowest-probability subtrees 1. 1 1 1 2 3 code table: symbol encoding l i n o g N 00 2. 12 2 3 n o g 1 1 O 01 l i L 100 3. 2 3 3 g I 101 1 1 1 2 l i n o G 11 4. 3 5 G O O G L I N G 12 2 3 encoded message: 11 01 01 11 100 101 00 11 n o g 1 1 l i message length: 64 bits (UTF-8) vs. 18 bits (encoded) 5. 8 compression ratio: 64=18 = 3:6 0 1 3 5 0 1 0 1 12 2 3 actual information: 3 × 3:0 + 2 × 2:0 + 3 × 1:42 = 17:26 bits n o 0 1 g .. 1 1 encoding optimal? d17:26e = 18 (^) l i 19 common source coding algorithms zip Huffman coding with a dynamic encoding tree tree updated to keep most recent common byte sequences efficiently encoded video mp2, or MPEG-2 (Moving Picture Expert’s Group layer 2), for DVDs mp4, or MPEG-4, for web video avi (Audio Video Interleave), wmv (Windows Media Video), flv (Flash Video) lossy audio (decoded audio has degraded quality and is permanently damaged) mp3, or MPEG-3 (Motion Picture Expert’s Group layer 3) AAC (Apple Audio Codec), wma (Windows Media Audio) lossless audio (decoded audio is identical to the original) ALAC (Apple Lossless Audio Codec) FLAC (Free Lossless Audio Codec) (CODEC = coder-decoder, a program that both encodes and decodes data) 20 next week Central Processing Unit data bus address coding theory IR DR PC AR bus increment PC registers 0 channel coding 4 8 CU 16 20 24 28 operation information theory concept ALU select Random PSR Access Hamming distance Memory Universal Serial Bus Input / Output PCI Bus error detection Controller Mouse Keyboard HDD GPU Audio SSD Net motivation parity cyclic redundancy checks error correction motivation block parity Hamming codes 21 homework practice converting between binary and gray code write a Python program to do it practice encoding and decoding some UTF-8 characters write a Python program to do it practice constructing Huffman codes write a Python program to do it ask about anything you do not understand it will be too late for you to try to catch up later! I am always happy to explain things differently and practice examples with you 22 glossary ASCII — American Standard Code for Information Interchange.
Recommended publications
  • Unicode and Code Page Support
    Natural for Mainframes Unicode and Code Page Support Version 4.2.6 for Mainframes October 2009 This document applies to Natural Version 4.2.6 for Mainframes and to all subsequent releases. Specifications contained herein are subject to change and these changes will be reported in subsequent release notes or new editions. Copyright © Software AG 1979-2009. All rights reserved. The name Software AG, webMethods and all Software AG product names are either trademarks or registered trademarks of Software AG and/or Software AG USA, Inc. Other company and product names mentioned herein may be trademarks of their respective owners. Table of Contents 1 Unicode and Code Page Support .................................................................................... 1 2 Introduction ..................................................................................................................... 3 About Code Pages and Unicode ................................................................................ 4 About Unicode and Code Page Support in Natural .................................................. 5 ICU on Mainframe Platforms ..................................................................................... 6 3 Unicode and Code Page Support in the Natural Programming Language .................... 7 Natural Data Format U for Unicode-Based Data ....................................................... 8 Statements .................................................................................................................. 9 Logical
    [Show full text]
  • Data Encoding: All Characters for All Countries
    PhUSE 2015 Paper DH03 Data Encoding: All Characters for All Countries Donna Dutton, SAS Institute Inc., Cary, NC, USA ABSTRACT The internal representation of data, formats, indexes, programs and catalogs collected for clinical studies is typically defined by the country(ies) in which the study is conducted. When data from multiple languages must be combined, the internal encoding must support all characters present, to prevent truncation and misinterpretation of characters. Migration to different operating systems with or without an encoding change make it impossible to use catalogs and existing data features such as indexes and constraints, unless the new operating system’s internal representation is adopted. UTF-8 encoding on the Linux OS is used by SAS® Drug Development and SAS® Clinical Trial Data Transparency Solutions to support these requirements. UTF-8 encoding correctly represents all characters found in all languages by using multiple bytes to represent some characters. This paper explains transcoding data into UTF-8 without data loss, writing programs which work correctly with MBCS data, and handling format catalogs and programs. INTRODUCTION The internal representation of data, formats, indexes, programs and catalogs collected for clinical studies is typically defined by the country or countries in which the study is conducted. The operating system on which the data was entered defines the internal data representation, such as Windows_64, HP_UX_64, Solaris_64, and Linux_X86_64.1 Although SAS Software can read SAS data sets copied from one operating system to another, it impossible to use existing data features such as indexes and constraints, or SAS catalogs without converting them to the new operating system’s data representation.
    [Show full text]
  • Information, Characters, Unicode
    Information, Characters, Unicode Unicode © 24 August 2021 1 / 107 Hidden Moral Small mistakes can be catastrophic! Style Care about every character of your program. Tip: printf Care about every character in the program’s output. (Be reasonably tolerant and defensive about the input. “Fail early” and clearly.) Unicode © 24 August 2021 2 / 107 Imperative Thou shalt care about every Ěaracter in your program. Unicode © 24 August 2021 3 / 107 Imperative Thou shalt know every Ěaracter in the input. Thou shalt care about every Ěaracter in your output. Unicode © 24 August 2021 4 / 107 Information – Characters In modern computing, natural-language text is very important information. (“number-crunching” is less important.) Characters of text are represented in several different ways and a known character encoding is necessary to exchange text information. For many years an important encoding standard for characters has been US ASCII–a 7-bit encoding. Since 7 does not divide 32, the ubiquitous word size of computers, 8-bit encodings are more common. Very common is ISO 8859-1 aka “Latin-1,” and other 8-bit encodings of characters sets for languages other than English. Currently, a very large multi-lingual character repertoire known as Unicode is gaining importance. Unicode © 24 August 2021 5 / 107 US ASCII (7-bit), or bottom half of Latin1 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SS SI DLE DC1 DC2 DC3 DC4 NAK SYN ETP CAN EM SUB ESC FS GS RS US !"#$%&’()*+,-./ 0123456789:;<=>? @ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_ `abcdefghijklmno pqrstuvwxyz{|}~ DEL Unicode Character Sets © 24 August 2021 6 / 107 Control Characters Notice that the first twos rows are filled with so-called control characters.
    [Show full text]
  • Programming Unicode
    Programming Unicode SIMSON L. GARFINKEL Simson L. Garfinkel is an Many people I work with understand neither Unicode’s complexities nor how Associate Professor at the they must adapt their programming style to take Unicode into account . They Naval Postgraduate School were taught to program without any attention to internationalization or localiza- in Monterey, California. His tion issues . To them, the world of ASCII is enough—after all, most programming research interests include computer forensics, courses stress algorithms and data structures, not how to read Arabic from a file the emerging field of usability and security, and display it on a screen . But Unicode matters—without it, there is no way to personal information management, privacy, properly display on a computer the majority of names and addresses on the planet . information policy, and terrorism. He holds six My goal with this article, then, is to briefly introduce the vocabulary and notation US patents for his computer-related research of Unicode, to explain some of the issues that arise when encountering Unicode and has published dozens of journal and data, and to provide basic information on how to write software that is more or less conference papers in security and computer Unicode-aware . Naturally, this article can’t be comprehensive . It should, however, forensics. give the Unicode-naïve a starting point . At the end I have a list of references that [email protected] will provide the Unicode-hungry with additional food for thought . Unicode is the international standard used by all modern computer systems to define a mapping between information stored inside a computer and the letters, digits, and symbols that are displayed on screens or printed on paper .
    [Show full text]
  • Data Communications Fundamentals: Signals, Codes, Compression, Integrity, Powerline Communications, and Skype
    Signals Codes Analog and Digital Signals Compression Data integrity Powerline communications Skype Data Communications Fundamentals: Signals, Codes, Compression, Integrity, Powerline Communications, and Skype Cristian S. Calude March{May 2008 Data Communications Fundamentals: Signals, Codes, Compression, Integrity, Powerline Communications, and Skype 1 / 209 Signals Codes Analog and Digital Signals Compression Data integrity Powerline communications Skype Thanks to Nevil Brownlee and Ulrich Speidel for stimulating discussions and critical comments. Data Communications Fundamentals: Signals, Codes, Compression, Integrity, Powerline Communications, and Skype 2 / 209 Signals Codes Analog and Digital Signals Compression Data integrity Powerline communications Skype Assignment and exam Test (3 questions): 24 April, 1.30 - 2.20 pm. Exam: prepare all results discussed in class Exam: try to solve as many problems as possible from the proposed list Data Communications Fundamentals: Signals, Codes, Compression, Integrity, Powerline Communications, and Skype 3 / 209 Signals Codes Analog and Digital Signals Compression Data integrity Powerline communications Skype Goals Understand digital and analog signals Understand codes and encoding schemes Understand compression, its applications and limits Understand flow-control and routing Discuss recent issues related to the above topics Data Communications Fundamentals: Signals, Codes, Compression, Integrity, Powerline Communications, and Skype 4 / 209 Signals Codes Analog and Digital Signals Compression Data integrity Powerline communications Skype References 1 S. A. Baset, H. Schulzrinne. An analysis of the Skype Peer- to-Peer Internet Telephony Protocol, 15 Sept. 2004, 12 pp. 2 B. A. Forouzan. Data Communications and Networking, McGraw Hill, 4th edition, New York, 2007. 3 S. Huczynska. Powerline communication and the 36 officers problem, Phil. Trans. R. Soc. A 364 (2006), 3199{3214.
    [Show full text]
  • Baudot Documentation Release 0.1.1.Post2
    baudot Documentation Release 0.1.1.post2 Author Mar 17, 2019 Contents: 1 About this library and the Baudot code3 1.1 What is the Baudot code?........................................3 1.2 How did it work?.............................................3 1.3 So, why this library?...........................................4 1.4 More resources..............................................4 2 User Guide 5 2.1 Library walk-through...........................................5 2.2 Basic usage................................................5 2.3 Examples.................................................6 3 API Reference 9 3.1 baudot..................................................9 3.2 baudot.core................................................ 10 3.3 baudot.codecs.............................................. 10 3.4 baudot.handlers.............................................. 11 3.5 baudot.exceptions............................................ 13 4 Indices and tables 15 Python Module Index 17 i ii baudot Documentation, Release 0.1.1.post2 Baudot is a Python library for encoding and decoding 5-bit stateful encoding. This library is named after Jean-Maurice-Émile Baudot (1845-1903), the French engineer who invented this code. The Baudot code was the first practical and widely used binary character encoding, and is an ancestor of the ASCII code we are familiar with today. Contents: 1 baudot Documentation, Release 0.1.1.post2 2 Contents: CHAPTER 1 About this library and the Baudot code 1.1 What is the Baudot code? The Baudot code was the first (or at least the first practical) fixed-length character encoding to be used widely in the telecommunications industry. This system, invented and patented by the French engineer Jean-Maurice-Émile Baudot in 1870, was intended as a replacement for Morse code when sending telegraph messages. It allowed the use of a machine (also patented) to read the messages automatically.
    [Show full text]
  • PDF Copy of Whole Course
    About This PDF This PDF file is a compilation of all of the Lesson Plan, Teacher Resource, and Student Resource Word documents that make up this NAF course. Please note that there are some course files that are not included here (such as Excel files). This “desk reference” enables you to easily browse these main course materials, as well as search for key terms. For teaching purposes, however, we recommend that you use the actual Word files. Unlike PDF files they are easy to edit, customize, and print selectively. Like all NAF curriculum materials, this PDF is for use only by NAF member academies. Please do not distribute it beyond your academy. NAF Principles of Information Technology Lesson 1 Course Introduction Special Note to Teachers Principles of Information Technology was written originally as the first course for students in the Academy of Information Technology. Because this course covers topics that are relevant and applicable to any career, it is now available for all NAF students, regardless of academy theme. Here are some important notes for teachers in the Academies of Finance, Hospitality & Tourism, and Health Sciences who are teaching Principles of Information Technology for the first time: You may need to modify more technical aspects of the course or make other adjustments to suit your students. We’ve incorporated some industry examples for finance, hospitality and tourism, and health sciences, but please include additional examples appropriate for your students, as you would do with any NAF course. This course may include activities that are duplicates of ones your students have already completed in another NAF course.
    [Show full text]
  • Encoding Schemes and Number System
    Chapter 2 Encoding Schemes and Number System 2.1 INTRODUCTION “We owe a lot to the Have you ever thought how the keys on the computer Indians, who taught us how keyboard that are in human recognisable form are to count, without which interpreted by the computer system? This section briefly no worthwhile scientific discusses text interpretation by the computer. discovery could have been We have learnt in the previous chapter that made.” computer understands only binary language of 0s and 1s. Therefore, when a key on the keyboard is pressed, it –Albert Einstein is internally mapped to a unique code, which is further converted to binary. Example 2.1 When the key ‘A’ is pressed (Figure 2.1), it is internally mapped to a decimal value 65 (code value), which is then converted to its equivalent binary value for the computer to understand. In this chapter » Introduction to Figure 2.1: Encoding of data entered using keyboard Encoding Similarly, when we press alphabet ‘अ’ on hindi keyboard, » UNICODE internally it is mapped to a hexadecimal value 0905, » Number System whose binary equivalent is 0000100100000101. » Conversion So what is encoding? The mechanism of converting Between Number Systems data into an equivalent cipher using specific code is 2021-22 Ch 2.indd 27 08-Apr-19 11:38:00 AM 28 COMPUTER SCIENCE – CLASS XI called encoding. It is important to understand why code value 65 is used for the key “A” and not any other value? Is it same for all the keyboards irrespective of Cipher means something converted to a coded form their make? to hide/conceal it from Yes, it is same for all the keyboards.
    [Show full text]
  • Ascii 1 Ascii
    ASCII 1 ASCII The American Standard Code for Information Interchange (ASCII /ˈæski/ ASS-kee) is a character-encoding scheme originally based on the English alphabet that encodes 128 specified characters - the numbers 0-9, the letters a-z and A-Z, some basic punctuation symbols, some control codes that originated with Teletype machines, and a blank space - into the 7-bit binary integers.[1] ASCII codes represent text in computers, communications equipment, and other devices that use text. Most modern character-encoding A chart of ASCII from a 1972 printer manual schemes are based on ASCII, though they support many additional characters. ASCII developed from telegraphic codes. Its first commercial use was as a seven-bit teleprinter code promoted by Bell data services. Work on the ASCII standard began on October 6, 1960, with the first meeting of the American Standards Association's (ASA) X3.2 subcommittee. The first edition of the standard was published during 1963, a major revision during 1967, and the most recent update during 1986. Compared to earlier telegraph codes, the proposed Bell code and ASCII were both ordered for more convenient sorting (i.e., alphabetization) of lists, and added features for devices other than teleprinters. ASCII includes definitions for 128 characters: 33 are non-printing control characters (many now obsolete) that affect how text and space are processed[2] and 95 printable characters, including the space (which is considered an invisible graphic[3][4]). The IANA prefers the name US-ASCII to avoid ambiguity. ASCII was the most commonly used character encoding on the World Wide Web until December 2007, when it was surpassed by UTF-8, which includes ASCII as a subset.
    [Show full text]
  • Cs2204 Analog and Digital Communication Unit Iv Data
    CS2204 ANALOG AND DIGITAL COMMUNICATION UNIT IV DATA COMMUNICATIONS • Introduction • History of Data Communications • Standard Organizations for data communication • Data communication circuits • Data communication codes • Error control • Error Detection • Error correction • Data communication Hardware • Serial and Parallel Interfaces • Data Modems • Asynchronous modem • Synchronous modem • Low-Speed modem • Medium and High speed modem • Modem Control Introduction Data - are defined as information that is stored in digital form. The word data is plural and a single unit of data is a datum. Data communications - is the process of transferring digital information between two or more points. Information - is defined as knowledge or intelligence. Information that has been processed, organized and stored is called data. Data communications circuit - which is used to transfer digital information from one place to another. Network - It is a set of devices sometimes called nodes or stations interconnected by media links. Data communications networks - are systems of interrelated computers and computer equipments. Data communications networks applications : ATMs, Internet, workstations,mainframe computers,airline and hotel reservation systems, news networks, Email etc. ______________________________________ X _______________________________________ History of Data Communications 1753- Scottish magazine suggested running a communications line between villages comprised of 26 parallel wires. 1833- Carl Friedrich Gauss developed an unusal system based on a five-by-five matrix representing 25 letters. 1832- Samuel F.B.Morse invented telegraph. Morse developed the first practical data communication code which he called the Morse Code. With telegraph, dots and dashes analogous to logic 1s and 0s are transmitted across a wire using electromechanical induction. Various combination of dots and dashes and pauses represented binary codes for letters, numbers and special characters.
    [Show full text]
  • Download (4Mb)
    A Thesis Submitted for the Degree of PhD at the University of Warwick Permanent WRAP URL: http://wrap.warwick.ac.uk/108066 Copyright and reuse: This thesis is made available online and is protected by original copyright. Please scroll down to view the document itself. Please refer to the repository record for this item for information to help you to cite it. Our policy information is available from the repository home page. For more information, please contact the WRAP Team at: [email protected] warwick.ac.uk/lib-publications IEDDED CODING ALGORITHMS APPLICABLE TO TIME VARIABLE CHANNELS By: Farshid Zolghadr, B.Sc., AMIEE A thesis presented for the degree of Doctor of Philosophy in the Department of Engineering, University of Warwick November 1989 THE BRITISH LIBRARY DOCUMENT SUPPLY CENTRE BRITISH THESES NOTICE The quality of this reproduction is heavily dependent upon the quality of the original thesis submitted for microfilming. Every effort has been made to ensure the highest quality of reproduction possible. If pages are missing, contact the university which granted the degree. Som e pages may have indistinct print, especially if the original pages were poorly produced o r if the university sent us an inferior copy. Previously copyrighted materials (j°urnal articles, published texts, etc.) are not filmed. Reproduction of this thesis, other than as permitted under the United Kingdom Copyright Designs and Patents A ct 1988, or under specific agreement with the copyright holder, is prohibited. THIS THESIS HAS BEEN MICROFILMED EXACTLY AS RECEIVED TH E B R IT ISH f LIB R A R Y DOCUMENT SUPPLY CENTRE Boston Spa, Wetherby West Yorkshire.
    [Show full text]
  • Binary Codes Are Suitable for the Computer Applications
    BBIINNAARRYY CCOODDEESS http://www.tutorialspoint.com/computer_logical_organization/binary_codes.htm Copyright © tutorialspoint.com In the coding, when numbers, letters or words are represented by a specific group of symbols, it is said that the number, letter or word is being encoded. The group of symbols is called as a code. The digital data is represented, stored and transmitted as group of binary bits. This group is also called as binary code. The binary code is represented by the number as well as alphanumeric letter. Advantages of Binary Code Following is the list of advantages that binary code offers. Binary codes are suitable for the computer applications. Binary codes are suitable for the digital communications. Binary codes make the analysis and designing of digital circuits if we use the binary codes. Since only 0 & 1 are being used, implementation becomes easy. Classification of binary codes The codes are broadly categorized into following four categories. Weighted Codes Non-Weighted Codes Binary Coded Decimal Code Alphanumeric Codes Error Detecting Codes Error Correcting Codes Weighted Codes Weighted binary codes are those binary codes which obey the positional weight principle. Each position of the number represents a specific weight. Several systems of the codes are used to express the decimal digits 0 through 9. In these codes each decimal digit is represented by a group of four bits. Non-Weighted Codes In this type of binary codes, the positional weights are not assigned. The examples of non-weighted codes are Excess-3 code and Gray code. Excess-3 code The Excess-3 code is also called as XS-3 code.
    [Show full text]