To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
In Chapter 3 we introduced linear error-correcting codes, and discussed how long codes can be obtained from short codes by the product construction. Reed–Solomon (RS) codes over larger alphabets were presented in Chapter 4, where we discussed the Datamatrix format as an example of how RS codes can be used to protect binary data. In this chapter we continue the analysis of these themes insofar as they relate to error correction in video and other applications.
We describe constructions of long error-correcting codes that are suitable for encoding of two-dimensional (2-D) media. The size of the pages makes it desirable to have relatively long codes, and 2-D constructions are often used to obtain long codes. However, there is not necessarily a link between the 2-D structure of the media and the code. In the last section we suggest that very long codes could be given a structure that would allow the 2-D structures to be connected, and that such a code could be partially decoded in cases in which only a subset of the data has to be retrieved.
Binary images of Reed–Solomon codes
The RS codes that are used in applications are always based on the fields F(2m). Here m = 8 is the traditional choice, but future applications are likely to use larger fields. As discussed in Section 4.6, the field is often constructed from a so-called primitive polynomial, p(z).
The past few years have witnessed significant developments in algebraic coding theory. This book provides an advanced treatment of the subject from an engineering perspective, covering the basic principles and their application in communications and signal processing. Emphasis is on codes defined on the line, on the plane, and on curves, with the core ideas presented using commutative algebra and computational algebraic geometry made accessible using the Fourier transform. Starting with codes defined on a line, a background framework is established upon which the later chapters concerning codes on planes, and on curves, are developed. The decoding algorithms are developed using the standard engineering approach applied to those of Reed-Solomon codes, enabling them to be evaluated against practical applications. Integrating recent developments in the field into the classical treatment of algebraic coding, this is an invaluable resource for graduate students and researchers in telecommunications and applied mathematics.
The class of convolutional codes was invented by Elias in 1955 and has been widely in use for wireless, space, and broadcast communications since about 1970. Their popularity stems from the relative ease with which the maximum-likelihood sequence decoder may be implemented and from their effectiveness when concatenated with a Reed–Solomon code. Since the early 1990s, they have enjoyed new respect and popularity due to the efficacy of concatenations of multiple convolutional codes in turbo (-like) codes.
In this chapter, we introduce the class of convolutional codes. We first present algebraic descriptions of convolutional codes, which were pioneered by Forney and extended by Johannesson and Zigangirov. We also discuss various encoder realizations and matrix representations of convolutional codes. We then discuss a graphical (trellis) representation, which aids two optimal decoding algorithms, the Viterbi algorithm and the BCJR algorithm. Finally, we present techniques for bounding the performance of convolutional codes based on the technique of Viterbi. Our discussion in this chapter will include only binary convolutional codes. Extensions of the various details to the nonbinary case are straightforward. See for additional information on convolutional codes, including tables of optimal codes.
The Convolutional Code Archetype
Convolutional codes are linear codes with a very distinct algebraic structure. While they can be utilized in block-oriented (packet-based) situations, their encoders are frequently described as stream-oriented. That is, in contrast with a block code, whose encoder assigns an n-bit codeword to each block of k data bits, a convolutional encoder assigns code bits to an incoming information bit stream continuously, in a stream-oriented fashion.
Digital communication systems are ubiquitous in our daily lives. The most obvious examples include cell phones, digital television via satellite or cable, digital radio, wireless internet connections via Wi-Fi and WiMax, and wired internet connection via cable modem. Additional examples include digital data-storage devices, including magnetic (“hard”) disk drives, magnetic tape drives, optical disk drives (e.g., CD, DVD, blu-ray), and flash drives. In the case of data-storage, information is communicated from one point in time to another rather than one point in space to another. Each of these examples, while widely different in implementation details, generally fits into a common digital communication framework first established by C. Shannon in his 1948 seminal paper, A Mathematical Theory of Communication. This framework is depicted in Figure 1.1, whose various components are described as follows.
Source and user (or sink). The information source may be originally in analog form (e.g., speech or music) and then later digitized, or it may be originally in digital form (e.g., computer files). We generally think of its output as a sequence of bits, which follow a probabilistic model. The user of the information may be a person, a computer, or some other electronic device.
Source encoder and source decoder. The encoder is a processor that converts the information source bit sequence into an alternative bit sequence with a more efficient representation of the information, i.e., with fewer bits. […]
The initial focus of this chapter is on the most significant issue to solve in the MAC sublayer of LANs and MANs: how to allow a given number of stations to share a common channel to communicate. Among the different solutions that can be devised, the answer successfully adopted by current LANs is introduced and critically commented on.
Such treatment is followed by a description of the general IEEE framework where LAN and MAN standards sit. There finds its place the standard for the implementation of Ethernet LANs, also known as the IEEE 802.3 standard, whose physical layer and MAC sublayer specifications are faced next. An adequate coverage is provided for the admissible topologies, MAC frame format and main algorithms; the evolution that this type of LAN has undergone in the last years is also illustrated, from the original solutions to fast and current gigabit Ethernet networks.
What follows is a description of the reference standards that modern cabling systems have to conform to. The intent is twofold: to make the reader understand (i) how crucial the cabling system is in guaranteeing a successfully operative network; (ii) how important its physical properties are when striving to support higher and higher data rates.
The chapter is closed by a few dense practices, which aim at explaining several real-world issues: the relation between layer-3 and layer-2 addressing schemes; the configuration of the hardware device that allows the station to connect to the LAN and to the Internet; and the layout of the cabling system for a campus network.
This chapter takes the reader into the modern world of computer networks: it first illustrates the main standardization bodies for telecommunications and data networking, then it exposes the general principles that underlie communications in a packet-switched network and describes the features of the main protocols ruling the proper functioning of the Internet.
An adequate, thorough treatment is devoted to the Internet protocol (IP), as its functionalities are the basis on which the entire Internet communication model relies: the original classful and the current classless addressing schemes are presented, followed by the subnetting and supernetting procedures IP allows. Direct and indirect datagram delivery is also introduced. Every topic is complemented by some explanatory examples, whose aim is immediately to translate into useful, working cases, the theoretical concepts.
The chapter is closed by two sections that present the salient attributes of the transmission control protocol (TCP) and of the user datagram protocol (UDP).
Who's who in the telecommunication world
It is appropriate to place in this opening section a brief, yet meaningful overview of the most representative bodies within the telecommunication and networking arena, and of their role. As the topics covered in the next chapters will quantitatively testify, the networking field heavily relies upon standards: they are needed to guarantee for systems and services not only quality, safety, reliability and efficiency, but also interoperability, a magic word when the ultimate objective is to “connect.”
In the previous chapters the most popular solutions for wired and wireless local area networks have been presented. Signal propagation impairments, on one side, and the multiple access technique adopted by the MAC, on the other, contribute to limit both the maximum distance that a LAN is capable of covering and its achievable performance.
However, the need to deploy LANs spanning larger areas, like an entire enterprise or university campus, has pushed toward the implementation of specific devices that allow these limits to be circumvented: repeaters, bridges and switches [65]. Such devices are also used to implement high-performance and flexible cabling schemes, according to the most up-to-date standard requirements.
This chapter describes these commonly used LAN devices, and then discusses a widely accepted solution for traffic isolation using virtual LANs. The chapter ends with a few practical examples of LAN device management and virtual LAN configuration.
Repeaters and bridges
It has already been mentioned that signal quality degrades with distance, so that a maximum span exists, beyond which a receiver cannot correctly recover the associated information.
This constraint can be bypassed using a repeater, an active device that links two or more LAN segments, with the goal of extending the physical connection between two LAN stations. A repeater amplifies a signal received on any input port and repeats it to all output ports. A repeater decodes incoming bit streams, re-encodes and resynchro-nizes them before retransmission. A repeater can then be classified as a layer-1 device. Regarding the synchronism regeneration, a repeater achieves it either by buffering part of the frame and then adding a delay, or by cutting some header bits for the time required to get resynchronized.
Finite geometries, such as Euclidean and projective geometries, are powerful mathematical tools for constructing error-control codes. In the 1960s and 1970s, finite geometries were successfully used to construct many classes of easily implementable majority-logic decodable codes. In 2000, Kou, Lin, and Fossorier [1–3] showed that finite geometries can also be used to construct LDPC codes that perform well and close to the Shannon theoretical limit with iterative decoding based on belief propagation. These codes are called finite-geometry (FG)-LDPC codes. FG-LDPC codes form the first class of LDPC codes that are constructed algebraically. Since 2000, there have been many major developments in construction of LDPC codes based on various structural properties of finite geometries [4–18]. In this chapter, we put together all the major constructions of LDPC codes based on finite geometries under a unified frame. We begin with code constructions based on Euclidean geometries and then go on to discuss those based on projective geometries.
Construction of LDPC Codes Based on Lines of Euclidean Geometries
This section presents a class of cyclic LDPC codes and a class of quasi-cyclic (QC) LDPC codes constructed using lines of Euclidean geometries. Before we present the constructions of these two classes of Euclidean-geometry (EG)-LDPC codes, we recall some fundamental structural properties of a Euclidean geometry that have been discussed in Chapter 2.
In the previous chapters, a few network devices have been presented. Repeaters are layer-1 devices that perform functions related to physical signal processing. Bridges are layer-2 devices that are able to detect frames and interpret their fields, such as MAC addresses. A switch is a multiport bridge, still a layer-2 device, but with high frame-processing performance.
Even if LAN interconnections in wide areas may be done by using bridges, and until the early 1990s this was quite common, the best way for managing wide area connections is through layer-3 devices, usually called routers. Routers perform all functions from layer-1 up to layer-3: they can process packets and are the main devices for network layer management. Indeed, routers represent the most important intermediate systems used to interconnect heterogeneous networks on a geographical scale, building a consistent and cooperative complex system commonly known as an internet.
This chapter illustrates the main concepts behind IP-based routers, discussing the most important functions performed and describing the most common architectures available. Some details of the IP packet processing and forwarding operations are provided, followed by the description of more advanced network layer functionalities, such as packet filtering and address translation. The chapter is concluded by a few practical configuration examples.
What is a router?
A possible way to start presenting routers is to try to compare them with bridges [65]. A bridge physically connects different LANs but, actually, they can be logically considered the same network, with the same network rules and the same network protocol. A router, on the other hand, completely separates LANs and networks, both physically and logically.
Low-density parity-check (LDPC) codes are a class of linear block codes with implementable decoders, which provide near-capacity performance on a large set of data-transmission and data-storage channels. LDPC codes were invented by Gallager in his 1960 doctoral dissertation and were mostly ignored during the 35 years that followed. One notable exception is the important work of Tanner in 1981, in which Tanner generalized LDPC codes and introduced a graphical representation of LDPC codes, now called a Tanner graph. The study of LDPC codes was resurrected in the mid 1990s with the work of MacKay, Luby, and others [3–6], who noticed, apparently independently of Gallager's work, the advantages of linear block codes with sparse (low-density) parity-check matrices.
This chapter introduces LDPC codes and creates a foundation for further study of LDPC codes in later chapters. We start with the fundamental representations of LDPC codes via parity-check matrices and Tanner graphs. We then learn about the decoding advantages of linear codes that possess sparse parity-check matrices. We will see that this sparseness characteristic makes the code amenable to various iterative decoding algorithms, which in many instances provide near optimal performance. Gallager of course recognized the decoding advantages of such low-density parity-check codes and he proposed a decoding algorithm for the BI-AWGNC and a few others for the BSC. These algorithms have received much scrutiny in the past decade, and are still being studied.
The intent of this chapter is to complement the previous discussion on wired LANs, providing a thorough picture of the technologies and standards available today to build wireless network infrastructures. These aim to cover a wide range of areas successfully, spanning from personal to local and metropolitan coverage solutions.
The impressive pace of technological advances of the last decade has acquainted us with technologies that replace cable over very short distances, as testified by palm computers, cellular headsets and plenty of technological “toys” equipped with Bluetooth ports. Wireless LANs have an unprecedented popularity too, rapidly pervading private houses and enterprises; in metropolitan areas, municipalities are also getting into the game, supporting projects of wireless connectivity for communities that would otherwise be confined to low-speed Internet access. This all started with some impressive – at the time – 1 and 2 Mbit/s raw transmission rates that the first Wireless LAN standard guaranteed: current products achieve 54 Mbit/s of raw throughput, rates of 250 Mbit/s are on the way, and the specifications for wireless MAN head to even higher data rates, extended coverage and mobility support.
The logical organization of the chapter reflects the colloquial description above: the first section is devoted to wireless LANs and to the corresponding set of specifications, belonging to the IEEE 802.11 family of standards; the second section deals with the issue of fixed – and mobile – radio broadband access that wireless MANs have to provide. For the sake of completeness, the next sections rapidly look at wireless personal area networks (WPANs) and wireless mesh networks. The chapter is closed by some practical – and crucial – considerations on traffic monitoring and security issues in wireless networks.
In this chapter we cover some of the more common applications of LDPC codes. The breadth and depth of work reported in the literature on the application of LDPC codes to data transmission and storage would fill many volumes. Thus, this chapter has the modest goal of introducing selected applications. These applications include coded modulation, turbo equalization and code design for intersymbol-interference channels, estimation of the level LDPC error floors, and decoder design for low error floors. We also provide in this chapter a brief introduction to LDPC convolutional codes. Because of their importance, we also include a section on so-called digital fountain codes, which have application to file transfer over networks and closely resemble LDPC codes.
LDPC-Coded Modulation
Trellis-coded modulation, multilevel coding, and bit-interleaved coded modulation (BICM), are all well-known bandwidth- and power-efficient coded-modulation schemes. More recently, turbo and LDPC codes have been combined with higher-order modulation schemes. For example, LDPC codes have been designed for multilevel coding in [6] and for MIMO channels in [7]. Near-capacity performance has been demonstrated in these higher-order signaling systems. The system under study is shown in Figure 15.1. We do not consider the multilevel coding format because it is shown in [8] and elsewhere that the single-code format of Figure 15.1 is superior for LDPC codes. Although this is a BICM-like system, because an LDPC encoder is employed, a bit interleaver is not necessary here. An interleaver would be equivalent to permuting the columns in the code's parity-check matrix.
Turbo codes, which were first presented to the coding community in 1993, represent one of the most important breakthroughs in coding since Ungerboeck introduced trellis codes in 1982. In fact, the invention of turbo codes and their iterative “turbo” decoders started a revolution in iteratively decodable codes and iterative receiver processing (such as “turbo equalization”). Most frequently, a turbo code refers to a concatenation of two (or more) convolutional encoders separated by interleavers. The turbo decoder consists of two (or more) soft-in/soft-out convolutional decoders which iteratively feed probabilistic information back and forth to each other in a manner that is reminiscent of a turbo engine. In this chapter we introduce the most important classes of turbo codes, provide some heuristic justification as to why they should perform well, and present their iterative decoders. Our focus will be on parallel-and serial-concatenated convolutional codes (PCCCs and SCCCs) on the binary-input AWGN channel, but we also include the important class of turbo product codes. These codes involve block codes arranged as rows and columns in a rectangular array of bits. The decoder is similar to that for PCCCs and SCCCs, except that the constituent decoders are typically suboptimal soft-in/soft-out list decoders. The reader is advised to consult the leading papers in the field for additional information on the codes considered in this chapter: [4–19]. Our focus is on the binary-input AWGN channel. Nonbinary turbo codes for the noncoherent reception of orthogonal signals are considered in [20].
Many channels, such as wireless, magnetic recording, and jammed channels, tend to suffer from time intervals during which their reliability deteriorates significantly, to a degree that compromises data integrity. In some scenarios, receivers are able to detect the presence of these time intervals and may choose, accordingly, to “erase” some (or all of the) symbols received during such intervals. This technique causes symbol losses at known locations. This chapter is devoted to LDPC codes for correcting (or recovering) transmitted symbols that have been erased, called erasures. The simplest channel model with erasures is the binary erasure channel over which a transmitted bit is either correctly received or erased. There are two basic types of binary erasure channel, random and burst. Over a random binary erasure channel (BEC), erasures occur at random locations, each with the same probability of occurrence, whereas over a binary burst erasure channel (BBEC), erasures cluster into bursts. In this chapter, we first show that the LDPC codes constructed in Chapters 10–12, besides performing well over the AWGN channel, also perform well over the BEC. Then, we construct LDPC codes for correcting bursts of erasures. A list of references on LDPC codes for the binary erasure channels is given at the end of this chapter.
Iterative Decoding of LDPC Codes for the BEC
For transmission over the BEC, a transmitted symbol, 0 or 1, is either correctly received with probability 1 – p or erased with probability p, called the erasure probability, as shown in Figure 13.1.