Introduction

The challenge of Digital Communication

In his revolutionary paper "A mathematical Theory of Communication", C.E. Shannon, the "founder of Information Theory" defines the challenge of Digital Communication:

"The fundamental problem of communication is that of reproducing at one point either exactly or approximately a message selected at another point. Frequently the messages have meaning; that is they refer to or are correlated according to some system with certain physical or conceptual entities. These semantic aspects of communication are irrelevant to the engineering problem. The significant aspect is that the actual message is one selected from a set of possible messages. The system must be designed to operate for each possible selection, not just the one which will actually be chosen since this is unknown at the time of design." [1]

Let's examine this short paragraph: Digital communication is aimed to deliver messages from a source to a target. The source and the target may be separated by place (for example: a computer in Tel-Aviv that downloads a file from a computer in Haifa), or by time (for example: on Monday, Fofo Long saves his phone list to a text file on his hard-disk. After two days he retrieves the phone-list so he'll be able to call a friend. In this case the source and target were Fofo but in different times). There should be some physical mean to deliver a message (in the first example it was the Internet, and in the second- Fofo's hard-disk), however this mean may be non-optimal, in the sense that it may interfere or intervene in delivering the data. Another aspect that should be understood, is that although the messages that can be delivered are chosen from a finite set, the actual choice is not known to the target in advance (actually, if it were known we wouldn't have needed the system). The last fact and knowing that the physical mean may corrupt our messages, reveals the essence of the challenge of digital communication. In our next section, we'll present a general model of a digital communication system, which will enable us to further study this issue.


The Transmitter-Channel-Receiver Model

The following block-diagram represents a common structure for a digital-communication system [2]:
This diagram defines the most important tasks a communication system should deal with in-order to fulfill it tasks. There are three main parties in this model:
  • The transmitter - the party who aims to deliver messages to the other side.
  • The channel - represents the physical media that binds the transmitter and receiver.
  • The receiver - the party who aims to receive and interpret the messages of the transmitter.
We've chosen to draw the model in a "stack-like fashion" that might resemble the reference models that are common in data communication (like OSI and TCP/IP). As in these models each "layer" has closed and defined task, and basically communicate with the parallel level on the other side. For example: the source decoder expects to get the output of the source encoder as input, in-order to restore the information that was sent. However, while the common way to pass data between adjacent layers in data-communication is done by adding headers and trailers to current payload - this scheme is not used in digital communication solutions. Instead, each block performs information processing on the data given to it by the pervious block, which usually change the way the data was represented by the previous layer. The corresponding side in the target should return the data to its original representation. Also note, that the model is not a symmetric one: the receiver only receives data, and the transmitter only transmits, while in the data-communication models the communicating parties are usually equal.

We will now briefly review the blocks in the diagram.

Information Source/Target
The information source is the component in the system that creates the information that should be sent to the information target. The data it generates may be formatted in many ways: it can be a discrete series of analog values, an analog waveform, or a series of binary digits (bits). The latter option is usually the case in computer-based data-communication so we will concentrate on this option:
The Data-Link Layer generates frames that contain a series of bits that should be delivered to the other side. The information target is assuming that the data it gets as input is very closely related to the data seen as output of the information source (hopefully, it is the same data).

Source Coding
The challenge of source coding is to represent the data it receives as input, in an efficient and compact way. This task is also known as data-compression. The rate in which data is sent over the channel is one of qualities we seek in a communication system. Therefore, representing the data in a compact way may enable us to have a shorter delivery time for the same data. As an example, consider the time taken for downloading a zipped file from a server against the downloading time of uncompressed file. Both of the files contain the same data, however the time to acquire the data in the first case is smaller than the time in the second case.
However, one should remember that the compression algorithms might cost us in processing time. Thus, the complexity of these solutions should also be considered. There are two approaches to source coding:
  • Lossless compression – the source encoder doesn’t loose information when performing this kind of compression, so the decoder on the other side may restore the data without any distortion.
  • Lossy compression – the source encoder loose some of the information of the source when performing this kind of compression. This may manifests itself as a distortion when the decoder tries to restore the data on the other side. Metrics of distortion are defined so one may estimate the worst case, or expected values of the distortion when using these methods. Although this method seems compelling, as it will achieve better compression rates than lossless compression, introducing distortion in data communication is usually not an acceptable choice, even for small distortion values.

Channel Coding
As we will see in 1.3, the channel usually contains elements of distortion and interference to the transmission of data over it. Therefore, sending the data as is, may result in errors on the other side. The Channel Encoder/Decoder tries to decrease the level of interference that the channel may introduce, by using redundancy in the data representation. Using error-correcting codes, the data is processed and redundancy is added. Therefore, in case of certain interferences the other side may be able to overcome the errors and restore the data that was originally sent. As we will see, the interference that is introduced is usually a statistical one so one cannot expect to overcome all the possible errors that the channel poses, but only to reduce the probability of the receiver to make decision errors.
Roughly speaking, a channel decoder
1 gets a block of k information bits (which are the output of the source encoder) and maps them to a block of n code bits (n>k). The redundancy is the number of bits that were added to the original block (n-k). We are usually interested in the number of information bits that are represented in each code bit, this term is known as the code rate ( and denoted by R) . In this case:

This is a term of the loss we suffer when using channel coding: we send information in a less rate than we potentially could. However, doing so should decrease the probability of error on the receiver (in fact as we will see later, C.E.Shannon has proved that there is a limit to the code rate that can be used to transmit data on a given channel with a probability of error that goes to zero. This limit is known as the Channel Capacity).

As in source encoding, one should also consider the efficiency of the encoding and decoding algorithms. As Shannon showed, for good codes with fixed R, the probability of error tends to decrease ( exponentially fast) when the code’s block length (n) increases. However, the longer the block, the longer the time it takes to encode or decode it. This fact stresses the tradeoff between efficiency and correctness, thus the communication engineer should mitigate between the time it takes to deliver data, and the probability of error in interpreting the data.
There are many kinds of error correcting codes to choose from: Block Codes, Convolution Codes, Trellis Coded Modulation, Turbo Codes and LDPC are only some of the common methods, each of them contain several techniques of decoding.

Modulation / Demodulation
So far we’ve described a signal that represents a flow of bits that is compressed and added a redundancy to combat the channel interference. This signal is usually processed in synchronized digital signal processing (DSP) system, so representing it by a discrete time series is appropriate. However, physical channels are usually analog in nature, therefore one cannot use the local signaling system at the receiver or the transmitter to pass the data over the channel. Furthermore, the channel may have other limitations and requirements (which will be described in section 1.3) that will enforce us to fit the signaling constellation used in it.
The modulation block receives an array of bits and maps them to an analog waveform that is appropriate to the physical specification of the channel. It then transmits the waveform on the channel using the appropriate signaling method (for example: for copper wire we will be using electrical signals, while for optic-fiber wires we may be using a laser beam). On the other side, the Demodulator will transform the waveform into a discrete series of bits. It should be noted, that before the Demodulator block there should be an analog front-end that usually performs filtering on the analog data, reducing the impact of the noise introduced by the channel. The following simplistic example should clarify this issue:

Example: Assume we have an ideal channel. We’ll define the following analog pulse:

The modulator is given as input a discrete series of bits (that will be denoted by cn), and will produce the analog waveform , using the appropriate signaling mechanism. Since the channel is ideal there are no interferences to the transmitted data. The receiver just samples the signal x(t) in fixed interval ( T ) . The sampling point is located at the middle of the pulse (noted by red dots on the waveform).




The Challenge of Synchronization.
In our discussion, we’ve assumed that the receiver and the transmitter have a global clock that helps them performing their operations in a synchronized manner. Although it makes life easier, this is not a trivial assumption, as the transmitter and the receiver may be located in different parts of the world. So an engineer should also handle the task of making the receiver know about the transmitter’s clock.

There are methods for designing the pulse shape so it will contain also a synchronization information .As an example, suppose that at the beginning of the communication session the transmitter will send to the receiver an agreed series of bits – a “training series” so the receiver can adapt itself to the clock used in the transmitter.

Performance Measuring and Cost of a Communication System
The quality of a given communication system is usually defined in terms of its performance and the resources it consumes (i.e. its operation cost). Obviously, we would like to have the best performance in the lowest cost possible.

Performance Measures
Information Rate
This measure is an obvious one: we would like to send a large quantity2 of information in a short period of time. The bit rate is the number of information bits that are sent per-second. In our review we’ve examined several ways to increase the information rate: One obvious option is to use a higher code rate channel encoder/decoder scheme. However, one must take into consideration that using this approach might lead to a greater distortion (BER) at the receiver.

Average Probability Of Error (BER)
The channel can interfere in the transmission and may lead to wrong interpretation of the data that was sent on it. Bit Error Rate (BER) – is the average probability that an information bit will be misinterpreted at the receiver. Of course, we would like to reduce it to the possible minimum. This can be achieved by using a stronger error-correcting code, which may decrease the information rate (by using a smaller R) and introduce an algorithmic delay to the system.

Cost and Limitations
Power of Transmission
The power of transmission is the average energy that is used to transmit signals on the channel per unit of time. Usually, increasing this parameter will make the signal a more dominant component in the channel, therefore decreasing the impact of interferences created by noise. This may result in decreasing the BER. On the other hand, this cannot be done without a price: Devices whose work consumes higher power, uses more electricity resources, which may be expressed in a higher electricity bill or in the need to change batteries on portable devices more often. Furthermore, when transmitting in a higher power, you might also create interference for other communication system that you might also need (this interference is called cross talk). This is why there are legal regulations and limitations on this parameter, so different communication systems can co-exist in the same vicinity.

Used Bandwidth
As we know from signals theorem, one can describe a signal in terms of its Fourie transform, from which he can deduce the realm in the frequency domain that the signal exists in3. Exploiting this observation, it is possible to transmit different signals on the same channel, while keeping them from overlapping in the frequency domain (this is known as Frequency Division Multiplexing, FDM). This method is very useful on shared media scenarios such as the wireless cases.
Usually, there is a governmental regulator that is in charge of dividing the bandwidth between the users, allocating each one a specific interval of frequencies. These resources cost money, so for this reason we will probably want to use less bandwidth as possible. On the other hand, having more bandwidth may enable us to increase the possible information rate.
Other scenarios of limited bandwidth may arise, when using a physical channel that has a non-ideal frequency response. That is to say, there are frequencies that it distorts more than other. Knowing the frequency response of the channel may enable us to fit the signal to the channel.


The Channel

Physical Channel vs. Mathematical Model
We’ve already introduced the channel as the element that enables data to flow from the transmitter to the receiver. When considering this “connector” we can describe it in terms of physical terminology. Here are some of the specifications we might be interested in:
  • The materials the channel is made of.
  • The mechanism used for signal’s propagation on it.
  • The weaknesses of the channel.
  • The cost of deploying it.
These topics are interesting and important when we consider which type of media we should implement, and we will consider them at the second part of the work.
The fact that many different channels share same functional behavior/characteristics leads us to a second approach: It may be beneficial to describe the channel in terms of an exact mathematical model. This mathematical model will reflect the most important characteristic of the physical model. The exact notation that mathematics provides us will make it very convenient to design transmitters and the receivers and analyze their performance. On the next section we will explore common properties of channels, and survey some of the popular mathematical model.

Characteristics of the Ideal Channel
The ideal channel behaves as an isolated short circuit between the modulator and the de-modulator. The signal at the output of the channel equals to the signal at the input of the channel. Furthermore, the channel cannot be tapped on.

Imperfection a Channel may suffer from
An Ideal channel seems like a nice idea, however it is usually not realizable. Realistic channels suffer from imperfections. In this section we’ll describe some of the common shortcomings of channels.

Delay

Attenuation

Bandwidth Limitations
When the attenuation as function of frequency is taken to the limit, we get a channel that has an interval (or intervals) of frequencies that it passes with reasonable attenuation and frequencies outside this set that are not passed by the channel or signal components in them are so severely distorted that they cannot be used). The Communication engineer must verify that the spectrum of the signals transmitted on the media doesn’t exist in this forbidden area.

Inter Symbol Interference (ISI)
There are channels in which a signal may be traveling in many paths on his way from the transmitter to the receiver. Consider, as an example, a cellular modem that is used to download a file: it is common that multiple copies of the signals used in this system will arrive at the receiver due to reflections (from walls, building, mountains etc… ). As the signal traverses in different paths some components of it may suffer from larger delay than the others. Therefore “left-overs” of the past of the signals may interfere with current data. This might lead us to make mistakes when decoding the message at the receiver.
If we consider the example in 1.2.4, and assume that the channel response to p(t) is:

(Roughly speaking there are three paths : the shortest one that suffer no delay and has an amplitude attenuation of 2 , and two other paths that suffer a delay of T, and 2T seconds respectively and amplitude attenuation of 4 ). The output of the channel to the sequence 1101001 is given in the following figure. Note, that the difference between the pulses related to transmitted “zeros” and pulses related to transmitted “ones” was decreased, so the receiver may find it harder to distinguish between them. In fact, the third bit (0) is now seems to the receiver as 1, due to ISI, so in the current scheme it will not be able to distinguish between it and zero, and we will get a bit error. The situation will be more complicated when we introduce noise.


Fading

Noise
On the ideal channel, when data was not transmitted on the line, the channel could be considered to be idle. However, on a realistic channel, even if there is no transmission on the line, there are perturbations on it. This is known as the line noise level (or simply noise). There can be many sources of noise:
  • Thermal Noise: this noise is a result of the random motion of electrons in the channel and receiver. At all temperatures above absolute zero all transmission media will experience some kind of thermal noise. This noise is usually having uniform power components in all frequencies, and is therefore considered to be white.
  • Crosstalk: this interference is caused when a nearby channel is capacitively coupled to our system causing signals that transmitted on this channel to be reflected on our system. (Example: hearing another call in the background when one uses his telephone line).
  • Man made impulse noise: this noise is caused by impulses of electrical energy associated with external activity or equipment near our signal line (such as automobile ignition noise, or electrical impulses caused by old switching circuits in the telephony exchange).
  • Atmospheric noise: such as electrical lightning discharges during a thunderstorm.
The noise is usually modeled as a stochastic process. A common property of it is its average power (denoted by N). It is useful to compare the average power of the signal to the average power of the noise. We define the signal to noise ratio (SNR) to be:

The higher the SNR, the smaller is the impact of the noise on the performance of the system.

Mathematical Models
In this section we’ll survey some of the popular model of channels used in digital communication research field. In each model we’ll give a block diagram of the channel: the input to the channel will be denoted by an analog signal s(t) and the output will be denoted by the signal r(t). Note that in this review each model is a generalization of the previous one.

Additive Noise Channel
In this model a stochastic process n(t) is added to an attenuated signal s(t) creating the output signal r(t), i.e. . - is the level of amplitude amplification that is caused by the channel to the input ().


This is a very common model: For example it may describe interferences from electronic devices and amplifiers, which are characterized as thermal noise. On this case, the noise is defined statistically as Gaussian noise process (thus the channel is called AGNC – Additive Gaussian Noise Channel). Because of the fact that it describes a broad range of phenomena and it is well understood mathematically, this is the predominant model used in analysis and design of communication systems.

Additive Channel with Dispersion
There are physical channel where the response of the channel is frequency selective (the channel attenuate some of the frequencies more than the other). Furthermore, some channels suffer from multi-path and therefore ISI. These two phenomena can be modeled by inserting s(t) into a Linear Time Invariant (LTI) system ( = linear filter ) and adding the noise to the output of the system.



It is known from linear systems theory that, an LTI system is completely characterized by the system’s response to impulse ( Dirak’s delta ) which we denote here by c(t). Therefore:

For example: in order to create a multi path response as the one experienced in 1.3.3.1 we’ll set the following parameters:


Additive Channel with Fading.
In fading channels, the channel behavior is time variant and random. The following is the mathematical model for this channel:


denotes the attenuation of signal component in delay at time t, and is a stochastic process.


The Affect of Channel Imperfections on the Performance of a Communication System: A Brief Overview of Shannon’s Channel Coding Theorem.
So far, we’ve learned about the deviation of practical channels from the ideal channel model, and how a mathematical model can specify those imperfections. Obviously, imperfections do not contribute to the performance of the communication system at hand, but a question should arise, how exactly they will limit our implementation’s performance.

C.E Shannon has showed that given a mathematical model of the channel, one can find the channel capacity, denoted by C, which is the maximal code rate that can be used on the channel. To be more exact, if R<C, there exists a series of channel codes with this rate, that their average probability of error goes to zero as the block length of the codes goes to infinity. And for every code with R>C there is an error floor for the average probability of error, that is to say: there is a lower bound on the probability of error when using this code. In other words, the capacity sets an upper bound on the rates of reliable codes in a specific channel. We remind the reader that this term is one of the important aspects of performance in communication systems.

The computation of the capacity is dependant on the statistical properties of the channel, and is outside the scope of this overview (we refer the interested reader to
[4] for a thorough discussion of this interesting and elegant topic). Here, we only cite the following result:
Given an additive white Gaussian noise channel (AWGNC), that has the following parameters:
W – is the bandwidth of the channel (in Hz).
P – is the average power of the source (in Watts).
The power spectrum density of the noise is uniform in all the frequencies, and has a value of .
So, .

Then the capacity of the channel is:



Observe the following intuitive observations:
  • The capacity increases as the SNR increases (as the power of the signal increases and the power of the noise decreases). Thus given the same transmission power, in a noisier channel, one will not be able to achieve the same rates as on a clammier channel.
  • The capacity increase as the bandwidth of the channel increases.
Finding a code (i.e. a mapping) that will achieve capacity as block length goes to infinity is not a hard task5 (you can even do that in a random way [4]). However, as we mentioned earlier, one has to take into consideration the algorithmic delay that is the price tag on channel coding implementation. So one has to find good codes (in a sense of probability error) that will also enable usage of an efficient decoding system. This is usually done, by using codes with a well-defined mathematical structure. Modern coding techniques gets very close to the capacity limits, we refer the interested reader to [5] as an excellent source about this topic.

1 Actually, this is a description of a typical block code encoder/decoder.
2 Does information has a quantity? Surprisingly, there are well agreed and useful definitions to quantify information, by using the statistics of its information source. See [4 ; chapter 2] for a discussion of this issue.
3 We’ll ignore stochastic processes in our discussion.
4 If the channel is noisy, this approach might not be optimal, since it may cause an increase in the power of the noise, which may lead to performance deterioration.
5 A code that achieves capacity is a mapping system with rate that equals the capacity bound, with error probability that goes to zero when the block length goes to infinity.