Wireless Information Transmission System Lab. Introduction to Digital Communications System Institute of Communications Engineering National Sun Yat-sen University Recommended Books Digital Communications / Fourth Edition (textbook) -- John G. Proakis, McGraw Hill Communication Systems / 4th Edition -- Simon Haykin, John Wiley & Sons, Inc. Digital Communications – Fundamentals and Applications / 2nd Edition -- Bernard Sklar, Prentice Hall Principles of Communications / Fifth Edition -- Rodger E. Ziemer and William H. Tranter, John Wiley & Sons, Inc. Modern Digital and Analog Communication Systems -- B.P. Lathi, Holt, Rinehart and Winston, Inc. 2 Example of Communications System Local Loop Switch Transmission Equipment Central Office Local Loop Switch Transmission Equipment Central Office Local Loop Switch Transmission Equipment Central Office Mobile Switching Center T1/E1 Facilities regenerator Base Station A/D Conversion (Digitization) T1/E1 Facilities regenerator SONET SDH M U X T1/E1 Facilities A/D Conversion (Digitization) T1/E1 Facilities regenerator Mobile Switching Center A/D Conversion (Digitization) Public Switched Telephone Network (PSTN) 3 Base Station Basic Digital Communication Nomenclature Textual Message: information comprised of a sequence of characters. Binary Digit (Bit): the fundamental information unit for all digital systems. Symbol (mi where i=1,2,…M): for transmission of the bit stream; groups of k bits are combined to form new symbol from a finite set of M such symbols; M=2k. Digital Waveform: voltage or current waveform representing a digital symbol. Data Rate: Symbol transmission is associated with a symbol duration T. Data rate R=k/T [bps]. Baud Rate: number of symbols transmitted per second [baud]. 4 Nomenclature Examples 5 Messages, Characters, and Symbols 6 Typical Digital Communications System From Other Sources Information Bits Source Bits Source Encoding Format Encryption Channel Bits Channel Encoding Multiplexing Interleaving Modulation Frequency Spreading Multiple Access TX RF PA si (t ) Digital Input C H A N N E L mi Bit Stream Synchronization Digital Waveform Digital Output m̂ i Format sˆi (t ) Source Decoding Information Sink Decryption Source Bits Channel Decoding Demultiplexing Deinterleaving Channel Bits Optional Essential To Other Destinations 7 Demodulation Frequency Despreading Multiple Access RX RF IF Wireless Information Transmission System Lab. Format Institute of Communications Engineering National Sun Yat-sen University Typical Digital Communications System From Other Sources Information Bits Source Bits Source Encoding Format Encryption Channel Bits Channel Encoding Multiplexing Interleaving Modulation Frequency Spreading Multiple Access si (t ) Digital Input C H A N N E L mi Bit Stream Synchronization Digital Waveform Digital Output m̂ i Format TX RF PA sˆi (t ) Source Decoding Information Sink Decryption Source Bits Channel Decoding Demultiplexing Deinterleaving Channel Bits Optional Essential To Other Destinations 9 Demodulation Frequency Despreading Multiple Access RX RF IF Formatting and Baseband Transmission 10 Sampling Theorem 11 Sampling Theorem Sampling Theorem: A bandlimited signal having no spectral components above fm hertz can be determined uniquely by values sampled at uniform intervals of Ts seconds, where 1 TS ≤ or sampling rate f S ≥ 2 f m 2 fm In sample-and-hold operation, a switch and storage mechanism form a sequence of samples of the continuous input waveform. The output of the sampling process is called pulse amplitude modulation (PAM). 12 Sampling Theorem 1 X S ( f ) = X ( f ) ∗ Xδ ( f ) = TS 13 ∞ ∑ X ( f − nf n = −∞ S ) Spectra for Various Sampling Rates 14 Natural Sampling 15 Pulse Code Modulation (PCM) PCM is the name given to the class of baseband signals obtained from the quantized PAM signals by encoding each quantized sample into a digital word. The source information is sampled and quantized to one of L levels; then each quantized sample is digitally encoded into an ℓ-bit (ℓ=log2L) codeword. 16 Example of Constructing PCM Sequence 17 Uniform and Non-uniform Quantization 18 Statistical Distribution of Single-Talker Speech Amplitudes 50% of the time, speech voltage is less than ¼ RMS. Only 15% of the time, voltage exceeds RMS. Typical voice signal dynamic range is 40 dB. 19 Problems with Linear Quantization Fact: Unacceptable S/N for small signals. Solution: Increasing quantization levels – price is too high. Applying nonlinear quantization – achieved by first distorting the original signal with a logarithmic compression characteristic and then using a uniform quantizer. At the receiver, an inverse compression characteristic, called expansion, is applied so that the overall transmission is not distorted. The processing pair is referred to as companding. 20 Implementation of Non-linear Quantizer 21 Companding Characteristics In North America: μ-law compression: loge [1 + µ ( x / xmax )] ⋅ sgn x y = ymax loge (1 + µ ) where ⎧+ 1 for x ≥ 0 sgn x = ⎨ ⎩−1 for x < 0 In Europe: A-law compression: ⎧ A( x / x max ) ⋅ sgn x ⎪ y max 1 + log e A ⎪ y=⎨ ⎪ y 1 + log e [ A( x / x max )] ⋅ sgn x ⎪⎩ max 1 + log e A 22 0< x 1 ≤ A x max x 1 < ≤1 A x max Compression Characteristics Standard values of μ is 255 and A is 87.6. 23 Wireless Information Transmission System Lab. Source Coding Institute of Communications Engineering National Sun Yat-sen University Typical Digital Communications System From Other Sources Information Bits Source Bits Source Encoding Format Encryption Channel Bits Channel Encoding Multiplexing Interleaving Modulation Frequency Spreading Multiple Access si (t ) Digital Input C H A N N E L mi Bit Stream Synchronization Digital Waveform Digital Output m̂ i Format TX RF PA sˆi (t ) Source Decoding Information Sink Decryption Source Bits Channel Decoding Deinterleaving Demultiplexing Channel Bits Optional Essential To Other Destinations 25 Demodulation Frequency Despreading Multiple Access RX RF IF Source Coding Source coding deals with the task of forming efficient descriptions of information sources. For discrete sources, the ability to form reduced data rate descriptions is related to the information content and the statistical correlation among the source symbols. For analog sources, the ability to form reduced data rate descriptions, subject to a fixed fidelity criterion I related to the amplitude distribution and the temporal correlation of the source waveforms. 26 Huffman Coding The Huffman code is source code whose average word length approaches the fundamental limit set by the entropy of a discrete memoryless source. The Huffman code is optimum in the sense that no other uniquely decodable set of code-words has smaller average code-word length for a given discrete memoryless source. 27 Huffman Encoding Algorithm 1. The source symbols are listed in order of decreasing probability. The two source symbols of lowest probability are assigned a 0 and a 1. 2. These two source symbols are regarded as being combined into a new source symbol with probability equal to the sum of the two original probabilities. The probability of the new symbol is placed in the list in accordance with its value. 3. The procedure is repeated until we are left with a final list of source statistics of only two for which a 0 and a 1 are assigned. 4. The code for each (original) source symbol is found by working backward and tracing the sequence of 0s and 1s assigned to that symbol as well as its successors. 28 Example of Huffman Coding Symbol S0 S1 S2 S3 S4 Symbol S0 S1 S2 S3 S4 Probability 0.4 0.2 0.2 0.1 0.1 Code Word 00 10 11 010 011 Stage 1 Stage 2 Stage 3 Stage 4 0.4 0.2 0.2 0.1 0 0.1 1 0.4 0.2 0.2 0 0.2 1 0.4 0.4 0 0.2 1 0.6 0 0.4 1 29 Properties of Huffman Code Huffman encoding process is not unique. Code words for different Huffman encoding process can have different lengths. However, the average code-word length is the same. When a combined symbol is moved as high as possible, the resulting Huffman code has a significantly smaller variance than when it is moved as low as possible. Huffman code is a prefix code. A prefix code is defined as a code in which no code-word is the prefix of any other code-word. 30 Bit Compression Technologies for Voice Differential PCM (DPCM) Adaptive DPCM Delta Modulation (DM) Adaptive DM (ADM) . . . Speech Encoding 31 Differential PCM (DPCM) 32 Delta Modulation (DM) Delta modulation is a one-bit DPCM. Advantage: bit compression. Disadvantage: slope overload. 33 Speech Coding Objective Reduce the number of bits needed to be transmitted, therefore lowering the bandwidth required. 34 Speech Properties Voiced Sound Arises in generation of vowels and latter portion of some consonants. Displays long-term repetitive pattern corresponding to the duration of a pitch interval Pulse-like waveform. Unvoiced Sound Arises in pronunciation of certain consonants such as “s”, “f”, “p”, “j”, “x”, …, etc. Noise-like waveform. 35 Categories of Speech Encoding Waveform Encoding Treats voice as analog signal and does not use properties of speech: Source Model Coding or Vocoding Treats properties of speech to preserve word information Hybrid or parametric methods Combines waveform and vocoding 36 Linear Predictive Coder (LPC) 37 Multi-Pulse Linear Predictive Coder (MP-LPC) 38 Regular Pulse Excited Long Term Prediction Coder (RPE-LPT) 39 Code-Excited Linear Predictive (CELP) 40 Speech Coder Complexity 41 Speech Processing for GSM Composition of the 13 kbps signal: 36 bits for filter parameters every 20 ms. 9 bits for LTP every 5 ms. 47 bits for RPE every 5 ms. Thus, in a 20 ms (2080-bit block, or 260 sample) interval, we need a total of 36+9*20/5+47*20/5=260 bits. Data Rate = 260/(20 ms) = 13 kbps. 42 Speech Processing for IS-54 Composition of the 7.95 kbps signal: 43 bits for filter parameters every 20 ms. 7 bits for LTP every 5 ms. 88 bits for codebook every 20 ms. Thus, in a 20 ms (2080-bit block, or 260 samples) interval, we need a total of: 43+7*20/5+88=159 bits. Data Rate = 159/(20ms) = 7.95 kbps. 43 Wireless Information Transmission System Lab. Channel Coding Institute of Communications Engineering National Sun Yat-sen University Typical Digital Communications System From Other Sources Information Bits Source Bits Source Encoding Format Encryption Channel Bits Channel Encoding Multiplexing Interleaving Modulation Frequency Spreading Multiple Access si (t ) Digital Input C H A N N E L mi Bit Stream Synchronization Digital Waveform Digital Output m̂ i Format TX RF PA sˆi (t ) Source Decoding Information Sink Decryption Source Bits Channel Decoding Deinterleaving Demultiplexing Channel Bits Optional Essential To Other Destinations 45 Demodulation Frequency Despreading Multiple Access RX RF IF Channel Coding Error detecting coding: Capability of detecting errors so that re-transmission or dropping can be done. Cyclic Redundancy Code (CRC) Error Correcting Coding: Capability of detecting and correcting errors. Block Codes: BCH codes, RS codes, … etc. Convolutional codes. Turbo codes. 46 Linear Block Codes Encoder transforms block of k successive binary digits into longer block of n (n>k) binary digits. Called an (n,k) code. Redundancy = n-k; Code Rate = k/n; There are 2k possible messages. There are 2k possible code words corresponding to the messages. Code word (or code vector) is an n-tuple from the space Vn of all n-tuple. Storing the 2k code vector in a dictionary is prohibitive for large k. 47 Vector Spaces The set of all binary n-tuples, Vn, is called a vector space over GF (2). GF: Galois Field. Two operations are defined: Addition: V + U = V1 + U 1 + V2 + U 2 + ... + Vn + U n Scalar Multiplication: aV = aV1 + aV2 + ... + aVn Example: Vector Space V4 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 (0101)+(1110)=(0+1, 1+1, 0+1, 1+0)=(1, 0, 1, 1) 1·(1010)=(1·1, 1·0, 1·1, 1·0)=(1, 0, 1, 0) 48 Subspaces A subset S of Vn is a subspace if The all-zero vector is in S The sum of any two vectors in S is also in S. Example of S: V 0 = 0000 V 1 = 0101 V 2 = 1010 V 3 = 1111 49 Reducing Encoding Complexity Key feature of linear block codes: the 2k code vectors form a k-dimensional subspace of all n-tuples. Example: k = 3, 2k = 8, n = 6, ( 6 , 3 ) code Message 000 100 010 110 001 101 011 111 Code Word 000000 110100 011010 101110 101001 011101 110011 000111 50 ⎫ ⎪ ⎪ ⎪ ⎪ ⎪ A 3 - dimensiona l subspace of ⎬ ⎪ the vector space of all 6 - tuples. ⎪ ⎪ ⎪ ⎪ ⎭ Reducing Encoding Complexity It is possible to find a set of k linearly independent n tuples v1 , v 2 , ..., v k such that each n-tuple of the suspace is a linear combination of v1 , v 2 , ..., v k . Code word u = m1 v1 + m2 v 2 + ... + mk v k where mi = 0 or 1 i = 1,..., k 51 Generator Matrix v1n ⎤ ⎡ v1 ⎤ ⎡ v11 v12 ⎥ ⎢ v ⎥ ⎢v v v 2n ⎥ G = ⎢ 2 ⎥ = ⎢ 21 22 = k × n Generator Matrix ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ v v v v ⎢⎣ k ⎥⎦ ⎢⎣ k1 k 2 kn ⎥ ⎦ The 2k code vectors can be described by a set of k linearly independent code vectors. Let m=[m1, m2, … , mk] be a message. Code word corresponding to message m is obtained by: ⎡ v1 ⎤ ⎢v ⎥ u = mG = [m1 m2 mk ] ⎢ 2 ⎥ ⎢ ⎥ ⎢ ⎥ ⎣v k ⎦ 52 Generator Matrix Storage is greatly reduced. The encoder needs to store the k rows of G instead of the 2k code vectors of the code. For example: ⎡ v1 ⎤ ⎡ 1 1 0 1 0 0 ⎤ Let G = ⎢⎢ v 2 ⎥⎥ = ⎢⎢ 0 1 1 0 1 0 ⎥⎥ and m = [1 1 0 ] ⎢⎣ v 3 ⎥⎦ ⎢⎣ 1 0 1 0 0 1 ⎥⎦ Then ⎡ v1 ⎤ = 1 ⋅ v1 + 1 ⋅ v 2 + 0 ⋅ v 3 u = [1 1 0 ] ⎢⎢ v 2 ⎥⎥ = 1 ⋅ [110100 ] + 1 ⋅ [ 011010 ] + 0 ⋅ [101001] ⎢⎣ v 3 ⎥⎦ = [1 0 1 1 1 0] Code Vector for m = [110 ] 53 Systematic Code 54 Parity Check Matrix For each generator matrix G, there exists a parity check matrix H such that the rows of G are orthogonal to the rows of H. (u·h=0) ⎡ h1 ⎤ ⎡ h11 ⎢ h ⎥ ⎢ h 2 ⎥ 21 ⎢ ⎢ H= = ⎢ ⎥ ⎢ ⎢ ⎥ ⎢ ⎢⎣ h( n − k ) ⎥⎦ ⎢⎣ h( n − k )1 u = u1 , u2 ,… , un uH T = u1hi1 + u2 hi 2 + h12 h22 h( n − k )2 h1n ⎤ h2 n ⎥⎥ ⎥ ⎥ h( n − k ) n ⎥⎦ + un hin = 0 where i = 1, 2,… , n − k U is a code word generated by matrix G if and only if uHT=0 55 Parity Check Matrix and Syndrome In a systematic code with G=[Pkxr Ikxk] H=[Irxr PTrxk] r u e Received Vector Code Vector Error Vector = + Syndrome of r used for error detection and correction s = rH T ⎧= 0 Syndrome s ⎨ ⎩≠ 0 If r is a code vector Otherwise 56 Example of Syndrome Test ⎡ ⎢1 1 0 ⎢ G = ⎢0 1 1 ⎢1 0 1 ⎢⎣ P ⎤ 1 0 0⎥ ⎥ 0 1 0⎥ 0 0 1⎥ ⎥ Ik ⎦ H = [ I n − k PT ] ⎡1 0 0 1 0 1 ⎤ H = ⎢⎢0 1 0 1 1 0 ⎥⎥ ⎢⎣0 0 1 0 1 1 ⎥⎦ The 6-tuple 1 0 1 1 1 0 is the code vector corresponding to the ⎡1 0 0 ⎤ message 1 1 0. ⎢0 ⎢ ⎢0 T s = u ⋅ H = [1 0 1 1 1 0] • ⎢ ⎢1 ⎢0 ⎢ ⎢⎣1 0 ⎥⎥ 1⎥ ⎥ = [ 0 0 0] 0⎥ 1⎥ ⎥ 0 1 ⎥⎦ 1 0 1 1 Compute the syndrome for the non-code-vector 0 0 1 1 1 0 s = [ 0 0 1 1 1 0] ⋅ H T = [1 0 0] 57 Weight and Distance of Binary Vectors Hamming Weight of a Vector: w(v) = Number of non-zero bits in the vector. Hamming Distance between 2 vectors: d(u,v) = Number of bits in which they differ. For example: u=10010110001 v=11001010101 d(u,v) = 5. d(u,v) =w(u+v) The Hamming Distance between 2 vectors is equal to the Hamming Weight of their vector sum. 58 Minimum Distance of a Linear Code The set of all code vectors of a linear code form a subspace of the n-tuple space. If u and v are 2 code vectors, then u+v must also be a code vector. Therefore, the distance d(u,v) between 2 code vectors equals the weight of a third code vector. d(u,v) =w(u+v)=w(w) Thus, the minimum distance of a linear code equals the minimum weight of its code vectors. A code with minimum distance dmin can be shown to correct (dmin-1)/2 erroneous bits and detect (dmin-1) erroneous bits. 59 Example of Minimum Distance dmin=3 60 Example of Error Correction and Detection Capability v u d min (u , v ) = 7 t max ⎢ d min − 1 ⎥ =⎢ : Error Correcting Strength ⎥ 2 ⎣ ⎦ mmax = d min − 1 : Error Detecting Strength 61 Convolutional Code Structure 1 1 2 2 k 1 K 2 k 1 2 k k bits + 1 + 2 + + n-1 Output 62 n Convoltuional Code Convolutional codes k = number of bits shifted into the encoder at one time k=1 is usually used!! n = number of encoder output bits corresponding to the k information bits r = k/n = code rate K = constraint length, encoder memory Each encoded bit is a function of the present input bits and their past ones. 63 Generator Sequence u r0 r1 v r2 g 0(1) = 1, g1(1) = 0, g 2(1) = 1, and g 3(1) = 1 . Generator Sequence: g(1)=(1 0 1 1) u r0 r1 r2 r3 v g 0( 2 ) = 1, g1( 2 ) = 1, g 2( 2 ) = 1, g 3( 2 ) = 0, and g 4( 2 ) = 1 . Generator Sequence: g(2)=(1 1 1 0 1) 64 Convolutional Codes An Example – (rate=1/2 with K=2) x1 G1(x)=1+x2 G2(x)=1+x1+x2 x2 0(00) 00 Present Next 0 00 00 00 1 00 10 11 0 01 00 11 1 01 10 00 0 10 01 01 1 10 11 10 0 11 01 10 1 11 11 01 1(11) 0(11) Output 0(01) 01 10 1(00) 0(10) 1(10) 11 1(01) State Diagram 65 Trellis Diagram Representation 10 0( 11 ) 01 0(0 1 ) 0(0 1 0(0 1 ) ) ) 0(0 1 10 01 0(00) 0) 1(0 0) 0) 1(0 1 (0 10 01 00 ) 01 0(00) 00 0( 11 ) 0( 11 ) 0( 11 ) 01 00 0(00) ) 1 (1 1 00 0(00) ) 1 (1 1 ) 1 (1 1 00 0(00) 0( 11 ) 0(00) ) 1 (1 1 00 0(0 1 0(00) ) 1 (1 1 10 10 ) 0(10 ) 0(10 ) 0(10 ) 10 1( ) 10 1( ) 10 1( ) ) 10 1( 0(10 00 11 1(01) 11 1(01) 11 1(01) 11 Trellis termination: K tail bits with value 0 are usually added to the end of the code. 66 00 Encoding Process 01 ) 0) 0) ) ) 01 1 (0 1 (0 0) 0(0 1 0(0 1 0(00) 00 10 10 10 ) 0(10 ) 0(10 ) 0(10 0(10 ) 10 1( ) 10 1( ) 10 1( ) ) 10 1( 11 1(01) 11 1(01) 11 1(01) 11 67 0 11 00 0(00) 0( 11 ) 0( 11 ) 0( 11 ) 01 1 (0 10 00 0(00) 0( 11 ) 00 0(00) 0 10 ) 1 (1 1 01 10 1 01 ) 1 (1 1 ) 1 (1 1 00 0(00) 1 10 0(0 1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 0 01 0( 11 ) Input: 1 Output: 11 01 00 Viterbi Decoding Algorithm Maximum Likelihood (ML) decoding rule received sequence r ML detected sequence d min(d,r) !! Viterbi Decoding Algorithm An efficient search algorithm Performing ML decoding rule. Reducing the computational complexity. 68 Viterbi Decoding Algorithm Basic concept Generate the code trellis at the decoder The decoder penetrates through the code trellis level by level in search for the transmitted code sequence At each level of the trellis, the decoder computes and compares the metrics of all the partial paths entering a node The decoder stores the partial path with the larger metric and eliminates all the other partial paths. The stored partial path is called the survivor. 69 Viterbi Decoding Process 1 (0 0(0 1 ) ) ) 0) 0) 0) ) 01 10 10 10 ) 0(10 ) 0(10 ) 0(10 ) 0(10 ) 10 1( ) 10 1( ) 10 1( 11 1(01) 11 1(01) 11 1(01) 11 70 11 11 00 0(00) 0( 11 ) 01 1 (0 1 (0 0(0 1 0( 11 ) 01 0(00) 00 ) 10 1( 0 10 00 0(00) 0( 11 ) 0( 11 ) 0( 11 ) 00 0(00) 10 11 ) 1 (1 1 01 10 01 01 ) 1 (1 1 00 0(00) 10 10 0(0 1 00 00 ) 1 (1 1 2 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 01 11 0(0 1 Output: 11 Receive: 11 01 00 Viterbi Decoding Process ) ) 0(0 1 0(0 1 ) 0) ) 10 10 10 ) 0(10 ) ) 0(10 0(10 ) 10 1( ) 10 1( ) 10 1( ) 2 11 1(01) 11 1(01) 11 1(01) 11 1 71 11 11 00 0(00) 0( 11 ) 01 1 (0 0) 0(0 1 0(00) 00 0( 11 ) 01 1 (0 0) 10 ) 10 1( 0 01 1 (0 10 00 0(00) 0( 11 ) 0( 11 ) 0( 11 ) 01 1 00 0(00) 10 11 ) 1 (1 1 4 01 01 ) 1 (1 1 00 0(00) 10 10 0(0 1 00 00 ) 1 (1 1 2 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 01 11 0(10 Output: 11 Receive: 11 01 00 Viterbi Decoding Process 0(10 ) ) 10 ) 10 1( ) 10 ) 10 1( ) 10 1( ) 0(0 1 ) 0(0 1 0(0 1 ) ) 0(0 1 1 11 1(01) 11 1(01) 11 1(01) 11 1 2 72 11 11 00 0(00) 0( 11 ) 01 0) 2 0(00) 00 1 (0 0) 0) 10 ) 01 1 (0 1 (0 ) 10 1( 10 0(10 0( 11 ) 0( 11 ) 0( 11 ) 01 2 00 0(00) 0( 11 ) 3 10 11 ) 1 (1 1 4 ) 1 (1 1 00 0(00) 1 0 01 01 00 0(00) 01 10 10 10 0(10 00 00 ) 1 (1 1 2 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 01 11 0(10 Output: 11 Receive: 11 01 00 Viterbi Decoding Process 10 11 3 3 1 3 ) ) 10 1( ) 10 1( ) 10 1( 0(10 10 ) 2 ) 10 ) 0(0 1 ) 0(0 1 ) 0(0 1 0(0 1 10 ) 0) ) 10 1( 10 0(10 01 1 (0 2 0) 0) ) 01 1 (0 1 (0 2 0( 11 ) 0( 11 ) 0( 11 ) 0( 11 ) 01 11 1(01) 11 1(01) 11 1(01) 11 1 2 73 1 0(00) 00 11 11 00 0(00) 0( 11 ) 4 ) 1 (1 1 00 0(00) ) 1 (1 1 00 0(00) 1 0 01 01 00 0(00) 01 10 10 10 0(10 00 00 ) 1 (1 1 2 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 01 11 0(10 Output: 11 Receive: 11 01 00 Viterbi Decoding Process 10 11 4 3 3 0( 11 ) ) 0(0 1 ) 0(0 1 0(0 1 ) 3 0) 0(0 1 01 1 (0 0) 0) 1 (0 1 (0 ) 01 2 1 3 3 0(10 0(10 ) 10 1( ) 10 1( ) 10 1( ) 2 ) 10 ) 10 ) 10 0(10 ) 10 1( 10 11 1(01) 11 1(01) 11 1(01) 11 1 2 74 1 0(00) 00 11 11 00 0(00) 3 0( 11 ) 0( 11 ) 0( 11 ) 01 2 ) 1 (1 1 00 0(00) ) 1 (1 1 00 0(00) 1 0 01 01 00 0(00) 01 10 10 10 1 0( 11 ) 00 00 ) 1 (1 1 2 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 01 11 0(10 Output: 11 Receive: 11 01 00 Viterbi Decoding Process 10 11 4 3 3 0( 11 ) ) 0(0 1 ) 0(0 1 0(0 1 ) 0) 0(0 1 2 3 0(10 0(10 ) 10 1( ) 10 1( ) 10 1( ) 3 ) 1 ) 2 ) 10 0(10 ) 10 1( 10 11 1(01) 11 1(01) 11 1(01) 11 75 1 1 0(00) 3 3 10 2 00 01 10 1 11 11 01 1 (0 0) 0) 1 (0 1 (0 ) 01 2 0(00) 00 3 0( 11 ) 0( 11 ) 0( 11 ) 01 2 ) 1 (1 1 00 0(00) ) 1 (1 1 00 0(00) 1 0 01 01 00 0(00) 01 10 10 10 0( 11 ) 00 00 ) 1 (1 1 2 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 01 11 0(10 Output: 11 Receive: 11 00 Viterbi Decoding Process 10 11 4 3 3 0( 11 ) ) 0(0 1 ) 0(0 1 0(0 1 ) 0) 0(0 1 2 3 0(10 0(10 ) 10 1( ) 10 1( ) 10 1( ) 3 ) 1 ) 2 ) 10 0(10 ) 10 1( 10 11 1(01) 11 1(01) 11 1(01) 11 76 1 1 0(00) 3 3 10 2 00 01 10 1 11 11 01 1 (0 0) 0) 1 (0 1 (0 ) 01 2 0(00) 00 3 0( 11 ) 0( 11 ) 0( 11 ) 01 2 ) 1 (1 1 00 0(00) ) 1 (1 1 00 0(00) 1 0 01 01 00 0(00) 01 10 10 10 0( 11 ) 00 00 ) 1 (1 1 2 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 01 11 0(10 Output: 11 Receive: 11 00 2 Viterbi Decoding Process 10 11 4 3 3 0( 11 ) ) 0(0 1 ) 0(0 1 0(0 1 ) 0) 0(0 1 2 3 0(10 0(10 ) 10 1( ) 10 1( ) 10 1( ) 3 ) 1 ) 2 ) 10 0(10 ) 10 1( 10 11 1(01) 11 1(01) 11 1(01) 11 77 1 1 0(00) 3 3 10 2 00 01 10 1 11 11 01 1 (0 0) 0) 1 (0 1 (0 ) 01 2 0(00) 00 3 0( 11 ) 0( 11 ) 0( 11 ) 01 2 ) 1 (1 1 00 0(00) ) 1 (1 1 00 0(00) 1 0 01 01 00 0(00) 01 10 10 10 0( 11 ) 00 00 ) 1 (1 1 2 0(00) ) 1 (1 1 00 0 (0 1) 0(00) ) 1 (1 1 00 01 11 0(10 Decision:11 Receive: 11 00 2 Channel Coding in GSM 78 Channel Coding in IS-54/136 79 Turbo Codes Basic Concepts Turbo coding uses parallel concatenation of two recursive systematic convolutional codes joined through an interleaver. Information bits are encoded block by block. Turbo codes uses iterative decoding techniques. Soft-output decoder is necessary for iterative decoding. Turbo codes can approach to Shannon limit. 80 Turbo Codes Encoder - An Example X(t) Y(t) X(t) Interleaver Y’(t) X'(t) When the switch is placed on the low position, the tail bits are feedback and the trellis will be terminated. 81 Turbo Codes Encoding Example A systematic convolutional encoder with memory 2 The dotted line is for termination code Test sequence: 1011 X0 X1 1101 D D 82 Turbo Codes Encoding Example X0=1 X1=1 1101 0 0 00 01 11 10 11 83 Turbo Codes Encoding Example X0=0 X1=1 110 1 0 00 01 10 11 01 11 84 Turbo Codes Encoding Example X0=1 X1=0 11 1 1 00 01 10 11 11 01 10 85 Turbo Codes Encoding Example X0=1 X1=0 1 1 1 00 01 10 11 11 01 10 10 86 Turbo Codes Encoding Example X0=0 X1=1 1 1 00 01 10 11 11 01 01 10 10 87 Turbo Codes Encoding Example X0=1 X1=1 0 1 00 01 10 11 11 11 01 01 10 10 88 Turbo Codes Encoding Example X0=0 X1=0 0 0 00 01 10 11 11 11 01 01 10 10 89 00 Turbo Codes Encoding Example X0 1101 X1 D D Interleaver 1011 (X0) X2 D D Output sequence: X0, X1, X2, X0, X1, X2, X0, X1, X2,... 90 Turbo Codes Encoding Example The second encoder input is the interleaved data 1 0 1101 1011 1 1 00 00 01 11 11 10 00 10 10 11 91 00 CRC in WCDMA gCRC24(D) = D 24 + D 23 + D 6 + D 5 + D + 1; gCRC16(D) = D 16 + D 12 + D 5 + 1; gCRC12(D) = D 12 + D 11 + D 3 + D 2 + D + 1; gCRC8(D) = D 8 + D 7 + D 4 + D 3 + D + 1. 92 Channel Coding Adopted in WCDMA Type of TrCH Coding scheme Coding rate Convolutional coding 1/2 BCH PCH RACH 1/3, 1/2 CPCH, DCH, DSCH, FACH Turbo coding No coding 93 1/3 Convolutional Coding in WCDMA Input D D D D D D D D Output 0 G0 = 561 (octal) Output 1 G1 = 753 (octal) (a) Rate 1/2 convolutional coder Input D D D D D D D D Output 0 G0 = 557 (octal) Output 1 G1 = 663 (octal) Output 2 G2 = 711 (octal) (b) Rate 1/3 convolutional coder 94 Turbo Coder in WCDMA xk 1st constituent encoder zk xk Input D D D Output Input Turbo code internal interleaver Output x’k 2nd constituent encoder D D z’k D x’k 95 Wireless Information Transmission System Lab. Interleaving Institute of Communications Engineering National Sun Yat-sen University Typical Digital Communications System From Other Sources Information Bits Source Bits Source Encoding Format Encryption Channel Bits Channel Encoding Multiplexing Interleaving Modulation Frequency Spreading Multiple Access si (t ) Digital Input C H A N N E L mi Bit Stream Synchronization Digital Waveform Digital Output m̂ i Format TX RF PA sˆi (t ) Source Decoding Information Sink Decryption Source Bits Channel Decoding Deinterleaving Demultiplexing Channel Bits Optional Essential To Other Destinations 97 Demodulation Frequency Despreading Multiple Access RX RF IF Bursty Error in Fading Channel 98 Interleaving Mechanism (1/2) x Bit Interleaver y y x j x n-bit Shift registers Write Clock Read Clock Bit Stream before entering bit interleaver: x=(a11 a12 … a1n a21 a22 … a2n … aj1 aj2 … ajn) 99 Interleaving Mechanism (2/2) Conceptually, the WRITE clock places the bit stream x by the row while the REA clock takes the bit stream y by the column: ⎡ a11 ⎢a ⎢ 21 ⎢ . ⎢ ⎢ . ⎢ . ⎢ ⎢⎣ a j1 a12 a 22 . . . a j2 . . . . . . . . . . . . . a1n ⎤ . a 2 n ⎥⎥ . . ⎥ ⎥ . . ⎥ . . ⎥ ⎥ . a jn ⎥⎦ Bit stream at the output of the bit interleaver: y = (a11 a21 ... a j1 a12 a22 ... a j 2 ... a1n 100 a2 n ... a jn ) Burst Error Protection with Interleaver 101 Wireless Information Transmission System Lab. Modulation Institute of Communications Engineering National Sun Yat-sen University Typical Digital Communications System From Other Sources Information Bits Source Bits Source Encoding Format Encryption Channel Bits Channel Encoding Interleaving Multiplexing Modulation Frequency Spreading Multiple Access si (t ) Digital Input C H A N N E L mi Bit Stream Synchronization Digital Waveform Digital Output m̂ i Format TX RF PA sˆi (t ) Source Decoding Information Sink Decryption Source Bits Channel Decoding Deinterleaving Demultiplexing Channel Bits Optional Essential To Other Destinations 103 Demodulation Frequency Despreading Multiple Access RX RF IF Modulation Digital Modulation: digital symbols are transformed into waveforms that are compatible with the characteristics of the channel. In baseband modulation, these waveforms are pulses. In bandpass modulation, the desired information signal modulates a sinusoid called a carrier. For radio transmission, the carrier is converted in an electromagnetic (EM) wave. Why modulation? Antenna size should be comparable with wave length – baseband transmission is not possible. Modulation may be used to separate the different signals using a single channel. 104 PCM Waveform Representations 105 PCM Waveform Representations PCM waveform is also called line codes. Digital baseband signals often use line codes to provide particular spectral characteristics of a pulse train. NRZ-L. NRZ-M. NRZ-S. Unipolar-RZ. Polar-RZ. Bi-φ-L. Bi-φ-M. Bi-φ-S. Dicode-NRZ. Dicode-RZ. Delay Mode. 4B3T. Multi-level. … etc. 106 PCM Waveform : NRZ-L 1 0 1 1 0 0 0 1 1 0 +E 0 -E NRZ Level (or NRZ Change) “One” is represented by one level. “Zero” is represented by the other level. 107 1 PCM Waveform : NRZ-M 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E NRZ Mark (Differential Encoding) “One” is represented by a change in level. “Zero” is represented by a no change in level. 108 PCM Waveform : NRZ-S 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E NRZ Space (Differential Encoding) “One” is represented by a no change in level. “Zero” is represented by a change in level. 109 PCM Waveform : Unipolar-RZ 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E Unipolar - RZ “One” is represented by a half-bit width pulse. “Zero” is represented by a no pulse condition. 110 PCM Waveform : Polar-RZ 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E Polar - RZ “One” and “Zero” are represented by opposite level polar pulses that are one half-bit in width. 111 PCM Waveform : Bi-φ-L 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E Bi-φ-L (Biphase Level or Split Phase Manchester 11 + 180o) “One” is represented by a 10. “Zero” is represented by a 01. 112 PCM Waveform : Bi-φ-M 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E Bi-φ-M ( Biphase Mark or Manchester 1) A transition occurs at the beginning of every bit period. “One” is represented by a second transition one half bit period later. “Zero” is represented by no second transition. 113 PCM Waveform : Bi-φ-S 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E Bi-φ-S ( Biphase Space) A transition occurs at the beginning of every bit period. “One” is represented by no second transition. “Zero” is represented by a second transition one-half bit period later. 114 PCM Waveform : Dicode - NRZ 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E Dicode Non-Return-to-Zero A “One” to “Zero” or “Zero” to “One” changes polarity. Otherwise, a “Zero” is sent. 115 PCM Waveform : Dicode - RZ 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E Dicode Return-to-Zero A “One” to “Zero” or “Zero” to “One” transition produces a half duration polarity change. Otherwise, a “Zero” is sent. 116 PCM Waveform : Delay Mode 1 0 1 1 0 0 0 1 1 0 1 +E 0 -E Dicode Non-Return-to-Zero A “One” is represented by a transition at the midpoint of the bit interval. A “Zero” is represented by a no transition unless it is followed by another zero. In this case, a transition is placed at the end of bit period of the first zero. 117 PCM Waveform : 4B3T O -- 118 PCM Waveform : 4B3T Ternary words in the middle column are balanced in their DC content. Code words from the first and third columns are selected alternately to maintain DC balance. If more positive pulses than negative pulses have been transmitted, column 1 is selected. Notice that the all-zeros code word is not used. 119 PCM Waveform : Multilevel Transmission Multilevel transmission with 3 bits per signal interval. 120 Criteria for Selecting PCM Waveform DC component: eliminating the dc energy from the signal’s power spectrum. Self-Clocking: Symbol or bit synchronization is required for any digital communication system. Error detection: some schemes provide error detection without introducing additional error-detection bits. Bandwidth compression: some schemes increase bandwidth utilization by allowing a reduction in required bandwidth for a given data rate. Noise immunity. Cost and complexity. 121 Spectral Densities of Various PCM Waveforms 122 Linear Modulation Techniques Digital modulation techniques may be broadly classified as linear and nonlinear. In linear modulation techniques, the amplitude of the transmitted signal, s(t), varies linearly with the modulating digital signal, m(t). Linear modulation techniques are bandwidth efficient, though they must be transmitted using linear RF amplifiers which have poor power efficiency. Using power efficient nonlinear amplifiers leads to the regeneration of filtered sidelobes which can cause severe adjacent channel interference, and results in the loss of all the spectral efficiency gained by linear modulation. Clever ways have been developed to get around these difficulties: QPSK, OQPSK, π/4-QPSK. 123 Digital Modulations Basic digital modulated signal: v(t) = A(t) cos (ωt + θ) Where A(t) = Amplitude; ω = Frequency; θ = Phase; 124 Basic Digital Modulations 125 Extended Modulated Signals – M-FSK Example: 16-FSK Every 4 bits is encoded as: A ⋅ cos(ω j t ) Gray Coding. 126 j = 1,2,…,16 Extended Modulated Signals – M-PSK Example: 16-PSK Every 4 bits is encoded as: A ⋅ sin(ω t + θ j ) Gray Coding. Dotted lines are decision boundaries. 127 j = 1, 2,… ,16 Extended Modulated Signals – 16-QAM Every 4 bits is represented by one point in the signal constellation. Every point has its unique “amplitude” and “phase”. 128 Binary Phase Shift Keying (BPSK) In BPSK, the phase of a constant amplitude carrier signal is switched between two values according to the two possible signals m1 and m2 corresponding to binary 1 and 0. Normally, the two phases are separated by 180o. 2 Eb sBPSK ( t ) = m ( t ) cos ( 2π f c t + θ c ) 0 ≤ t ≤ Tb Tb = Re { g BPSK ( t ) exp ( j 2π f c t )} ⎛ sin π fTb ⎞ 2 Eb jθc g BPSK ( t ) = m ( t ) e ⇒ Pg BPSK (t ) ( f ) = 2 Eb ⎜ ⎟ Tb fT π b ⎝ ⎠ 2 2 2 ⎡ Eb ⎛ sin π ( f − f c ) Tb ⎞ ⎛ sin π ( − f − f c ) Tb ⎞ ⎤ ⎢⎜ ⎥ + PBPSK ( f ) = ⎟ ⎜ ⎟ 2 ⎢⎝⎜ π ( f − f c ) Tb ⎠⎟ ⎝⎜ π ( − f − f c ) Tb ⎠⎟ ⎥ ⎣ ⎦ 129 Power Spectral Density (PSD) of a BPSK Signal. 130 BPSK Receiver BPSK uses coherent or synchronous demodulation, which requires that information about the phase and frequency of the carrier be available at the receiver. If a low level pilot carrier signal is transmitted along with the BPSK signal, then the carrier phase and frequency may be recovered at the receiver using a phase locked loop (PLL). If no pilot carrier is transmitted, a Costas loop or squaring loop may be used to synthesize the carrier phase and frequency from the received BPSK signal. 131 BPSK Receiver with Carrier Recovery Circuits 132 Operations of BPSK Receiver with Carrier Recovery Circuits The received signal is squared to generate a DC signal and an amplitude varying sinusoid at twice the carrier frequency. The DC signal is filtered out using a bandpass filter with center frequency tuned to 2fc. A frequency divider is used to recreate the waveform cos(2πfct+θ). The output of the multiplier is applied to an integrate and dump circuit which forms the low pass filter segment of a BPSK detector. If the transmitter and receiver pulse shapes are matched, then the detection will be optimum. A bit synchronizer is used to facilitate sampling of the integrator output precisely at the end of each bit period. 133 Differential Phase Shift Keying (DPSK) Differential PSK is a noncoherent form of phase shift keying which avoids the need for a coherent reference signal at the receiver. d k = mk ⊕ d k −1 134 Block Diagram of DPSK Receiver 135 Quadrature Phase Shift Keying (QPSK) 136 Spectrum of QPSK Signals ⎡⎛ sin π ( f − f ) T c s PQPSK ( f ) = Eb ⎢⎜⎜ ⎢⎝ π ( f − f c ) T ⎣ 137 2 ⎞ ⎛ sin π ( − f − f c ) Ts ⎟⎟ + ⎜⎜ ⎠ ⎝ π ( − f − fc ) T ⎞ ⎟⎟ ⎠ 2 ⎤ ⎥ ⎥ ⎦ Block Diagram of a QPSK Transmitter 138 Block Diagram of a QPSK Receiver 139 Offset QPSK (OQPSK) For QPSK, the occasional phase shift of πradians can cause the signal envelope to pass through zero for just an instant. The amplification of the zero-crossings brings back the filtered sidelobes since the fidelity of the signal at small voltage levels is lost in transmission. To prevent the regeneration of sidelobes and spectral widening, it is imperative that QPSK signals that use pulse shaping be amplified only using linear amplifiers, which are less efficient. A modified form of QPSK, called offset QPSK (OQPSK) or staggered QPSK is less susceptible to these deleterious effects and supports more efficient amplification. OQPSK ensures there are fewer baseband signal transitions. Spectrum of an OQPSK signal is identical to that of QPSK. 140 Offset QPSK (OQPSK) The time offset waveforms that are applied to the in-phase and quadrature arms of an OQPSK modulator. Notice that a halfsymbol offset is used. 141 π/4-DQPSK 142 Generic π/4-DQPSK Transmitter 143 π/4-DQPSK Baseband Differential Detector 144 Detection of Binary Signals in Gaussian Noise 145 Digital Demodulation Techniques Coherent detection: Exact replicas of the possible arriving signals are available at the receiver. This means that the receiver has exact knowledge of the carrier wave’s phase reference, in which case we say the receiver is phase-locked to the transmitter. Coherent detection is performed by crosscorrelating the received signal with each one of the replicas, and then making a decision based on comparisons with preselected thresholds. Non-coherent detection: Knowledge of the carrier wave’s phase is not required. The complexity of the receiver is thereby reduced but at the expense of an inferior error performance, compared to a coherent system. 146 Correlation Demodulator 147 Matched Filter Demodulator 148 Inter-Symbol Interference (ISI) 149 Inter Symbol Interference (ISI) Inter-Symbol Interference (ISI) arises because of imperfections in the overall frequency response of the system. When a short pulse of duration Tb seconds is transmitted through a band-limited system, the frequency components constituting the input pulse are differentially attenuated and differentially delayed by the system. Consequently, the pulse appearing at the output of the system is dispersed over an interval longer than Tb seconds, thereby resulting in intersymbol interference. Even in the absence of noise, imperfect filtering and system bandwidth constraints lead to ISI. 150 Nyquist Channels for Zero ISI The Nyquist channel is not physically realizable since it dictates a rectangular bandwidth characteristic and an infinite time delay. Detection process would be very sensitive to small timing errors. Solution: Raised Cosine Filter. 151 Raised Cosine Filter ⎧1 ⎪⎪ 2 π f + W − 2W0 H ( f ) = ⎨cos ( ) 4 W − W0 ⎪ ⎪⎩ 0 1 W0 = 2T Excess Bandwidth : W − W0 W − W0 Roll - Off Factor : r = W0 152 for f < 2W0 − W for 2W0 − W < f < W for f > W Raised Cosine Filter Characteristics 153 Raised Cosine Filter Characteristics 154 Equalization In practical systems, the frequency response of the channel is not known to allow for a receiver design that will compensate for the ISI. The filter for handling ISI at the receiver contains various parameters that are adjusted with the channel characteristics. The process of correcting the channel-induced distortion is called equalization. 155 Equalization 156 Introduction to RAKE Receiver Multiple versions of the transmitted signal are seen at the receiver through the propagation channels. Very low correlation between successive chips is in CDMA spreading codes. If these multi-path components are delayed in time by more than a chip duration, they appear like uncorrelated noise at a CDMA receiver. Combine Coherently Equalization is NOT necessary 157 Introduction to RAKE Receiver To utilize the advantages of diversity techniques, channel parameters are necessary to be estimated. Arrival time of each path, Amplitude, and Phase. Maximal Ratio Combiner (MRC): The combiner that achieves the best performance is one in which each output is multiplied by the corresponding complexvalued (conjugate) channel gain. The effect of this multiplication is to compensate for the phase shift in the channel and to weight the signal by a factor that is proportional to the signal strength. 158 Maximum Ratio Combining (MRC) MRC: Gi=Aie-jqi G1 G2 Coherent Combining GL Channel Estimation Best Performance Receiver 159 Maximum Ratio Combining (MRC) L Received Envelope:rL = ∑ Gl ⋅ rl l =1 L Total Noise Power: σ = ∑ Gl σ n2,l 2 n 2 l =1 L 2 L r = SNR: SNRL = 2 2 ⋅σ n ∑G ⋅r l =1 L l 2 l 2 ⋅ ∑ Gl ⋅ σ n2,l 2 l =1 L Since ∑G ⋅r l =1 l l 2 ⎛ rl = ∑ Glσ n ,l ⎜ ⎜σ l =1 ⎝ n ,l L 160 ⎞ ⎟⎟ ⎠ 2 Maximum Ratio Combining (MRC) 2 L L L Chebychev's Inequality : ∑ Gl ⋅ rl ≤ ∑ Glσ n ,l ⋅ ∑ l =1 L SNRL ≤ Gσ ∑ 1 l =1 2 l L 2 n ,l L ⋅∑ l =1 2 l =1 l =1 rl 2 σ n ,l 2 rl σ n ,l 2 L rl 1 = ∑ 2 = ∑ SNRl 2 l =1 σ n ,l l =1 L 2 G σ ∑ l n ,l 2 l =1 With equality hold : Glσ n ,l = k rl* σ n ,l ⇒ Output SNR = Sum of SNRs from all branches @ Gl ∝ rl* 161 Example of RAKE Receiver Structure 162 Advantages of RAKE Receiver Consider a receiver with only one finger: Once the output of a single correlator is corrupted by fading, large bit error is expected. Consider a RAKE receiver If the output of a single correlator is corrupted by fading, the others may NOT be. Diversity is provided by combining the outputs Overcome fading Improve CDMA reception 163