152
Comm Library ® A Guide To the Communications Library

Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Embed Size (px)

Citation preview

Page 1: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

®

A Guide

To the

Communications Library

Page 2: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

SystemView by ELANIX® Copyright © 1994-2005, Eagleware Corporation All rights reserved. Eagleware-Elanix Corporation 3585 Engineering Drive, Suite 150 Norcross, GA 30092 USA Phone: +1 (678) 291-0995, Fax: +1 (678) 291-0971 Support e-mail: [email protected] Web: www.eagleware.com Unpublished work. All rights reserved under the U.S. Copyright Act. Restricted Rights Apply. This document may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without the prior written consent of Eagleware Corporation. This document and the associated software are proprietary to Eagleware Corporation. SystemView by ELANIX, and ELANIX are registered trademarks of Eagleware Corporation. MetaSystem is a trademark of Eagleware Corporation. Windows is a trademark of Microsoft Corporation. Other trademarks or registered trademarks used in this document are the property of their respective owners. Document Number SVU-COMM0902 Printed in the United States of America.

2 SystemView Communications Library

Page 3: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Table of Contents Tokens Listed by Group Channel ModelsAbbrev: Token Name: FadeChnl ............Fade........................ .................................................................................... 55 Jakes Chn............Jakes Mobile Channel ................................................................................. 77 Mpth Chn............Multipath Channel . .................................................................................... 81 NBI .....................Narrow Band Interferer............................................................................... 83 Rice Chn .............Rice Fading Channel................................................................................. 124 Rmlr Chn ............Rummler Fading Channel ......................................................................... 126

Demodulators Abbrev: Token Name: Costas .................Costas Loop ........... .................................................................................... 40 FSK Dmod..........Noncoherent MFSK Demodulator .............................................................. 86 OFDMDmod.......Orthogonal Frequency Division Demodulator (OFDM)............................. 93 PLL.....................Phase Lock Loop ... .................................................................................... 95 PPD.....................Pulse Position Demodulator...................................................................... 101 PSK Dmod..........PSK Demodulator .. .................................................................................. 104 PWD ...................Pulse Width Demodulator......................................................................... 107 QAMDet.............Quadrature Amplitude Modulation Detector ............................................ 113 TDDmux.............Time Division DeMultiplexor................................................................... 129

Encoders/DecodersAbbrev: Token Name: BER ....................Bit Error Rate (BER) Counter..................................................................... 10 Bit->Sym ............Bit to Symbol Converter ............................................................................. 13 Blk Coder ...........Block Error Correcting Coder..................................................................... 18 Blk dCode...........Block Error Correcting Decoder ................................................................. 22 Cnv Coder...........Convolutional Error Correcting Coder ....................................................... 30 Cnv dCode..........Convolutional Error Correcting Decoder.................................................... 32 DPunct ................DePuncture............. .................................................................................... 46 Gray Code...........Gray Encoder/Decoder................................................................................ 66 Punct...................Puncture ................. .................................................................................. 110 Sym->Bit ............Symbol to Bit ......... .................................................................................. 128 WalDec...............Walsh Decoder (Fast) ............................................................................... 132 WalEnc ...............Walsh Encoder ....... .................................................................................. 133

3 SystemView Communications Library

Page 4: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

FiltersAbbrev: Token Name: Equalizer.............Constant Modulus Algorithm (CMA) Equalizer.........................................27 GoldCode............Gold Code Generator ..................................................................................63 Int-Dmp ..............Integrate and Dump Filter ...........................................................................68 InvSinc................Inverse Sinc Function..................................................................................73 WalGen...............Walsh Function Generator ........................................................................135

ModulatorsAbbrev: Token Name: DSB-AM.............Double Sideband AM Modulation ..............................................................51 FCPT...................Frequency Controlled Pulse Train ..............................................................60 FMPT..................Frequency Modulated Pulse Train ..............................................................61 MFSK .................M-ary Frequency Modulation .....................................................................79 OFDMMod .........Orthogonal Frequency Division Modulator ................................................90 PPM ....................Pulse Position Modulator ..........................................................................100 PWM...................Pulse Width Modulator .............................................................................109 Q Mod.................Quadrature Modulation .............................................................................122 TDMux ...............Time Division Multiplexor .......................................................................131

ProcessorsAbbrev: Token Name: Bit Sync ..............Bit Synchronizer .... ....................................................................................15 Compand.............Compander ............. ....................................................................................24 cnvl Interleave ....Convolutional Interleaver ...........................................................................37 DeIntrlv...............IEEE Standard 802.11a DeInterleaver ........................................................46 DeCompand ........Inverse Compander ....................................................................................43 Divide N .............Divide by N............ ....................................................................................48 EVM ...................Error Vector Magnitude ..............................................................................52 Intrlv ...................IEEE Standard 802.11a Interleaver.............................................................71 Interleave ............Interleaver .............. ....................................................................................71 IQ Mixer .............I-Q Downconverter ....................................................................................75 NCO....................Numerically Controlled Oscillator ..............................................................88 PN Gen ...............PN Generator ......... ....................................................................................98 P Shape ...............Pulse Shape ............ .................................................................................. 102 QAMMap............Quadrature Amplitude Modulation Mapper..............................................117 QAMDmap .........Quadrature Amplitude Modulation DeMapper .........................................120 Appendices Appendix A: Using SystemView to Generate Bit Error Rate (BER) Curves .......................139 Appendix B: The Rummler Three-Path Fade Model............................................................148 Appendix C: Independent Fading Channel Models (Rayleigh and Rician)..........................151

4 SystemView Communications Library

Page 5: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Table of Contents Tokens Listed Alphabetically Abbrev: Group Token Name: BER ....................Encode/Decode ......Bit Error Rate (BER) Counter .................................... 11 Bit->Sym ............Encode/Decode ......Bit to Symbol Converter ............................................. 13 Bit Sync ..............Processors ..............Bit Synchronizer ......................................................... 15 Blk Coder ...........Encode/Decode ......Block Error Correcting Coder..................................... 18 Blk dCode...........Encode/Decode ......Block Error Correcting Decoder................................. 22 Compand ............Processors ..............Compander.................................................................. 24 Cnv Coder...........Encode/Decode ......Convolutional Error Correcting Coder ....................... 30 Cnv dCode..........Encode/Decode ......Convolutional Error Correcting Decoder ................... 32 Cnvl Interleave ...Filters .....................Convolutional Interleaver ........................................... 37 Costas .................Demodulators.........Costas Loop ................................................................ 40 DeCompand........Processors ..............Inverse Compander ..................................................... 43 DeIntrlv ..............Filters .....................IEEE Standard 802.11a Deinterleaver ........................ 46 DPunct ................Encode/Decode ......DePuncture ................................................................. 46 Divide N .............Processors ..............Divide by N................................................................. 48 DSB-AM ............Modulators .............Double Sideband AM Modulation.............................. 51 Equalizer.............Filters .....................Constant Modulus Algorithm (CMA) Equalizer ........ 27 EVM ...................Processors ..............Error Vector Magnitude.............................................. 52 FadeChn..............Channel Models .....Fade ............................................................................ 55 FCPT ..................Modulators .............Frequency Controlled Pulse Train .............................. 60 FMPT..................Modulators .............Frequency Modulated Pulse Train .............................. 61 FSK Dmod..........Demodulators.........Noncoherent MFSK Demodulator.............................. 86 GoldCode............Filters .....................Gold Code Generator .................................................. 63 Gray Code...........Encode/Decode ......Gray Encoder/Decoder ............................................... 66 Int-Dmp ..............Filters .....................Integrate and Dump Filter........................................... 68 Inrtlv ...................Filters .....................IEEE Standard 802.11a Interleaver ............................ 71 Interleave ............Filters .....................Interleaver ................................................................... 71 InvSinc................Filters .....................Inverse Sinc Function ................................................. 73 IQ Mixer .............Processors ..............I-Q Downconverter ..................................................... 75 Jakes Chn............Channel Models .....Jakes Mobile Channel................................................. 77 MFSK .................Modulators .............M-ary Frequency Modulation..................................... 79 Mpth Chn............Channel Models .....Multipath Channel ...................................................... 81

5 SystemView Communications Library

Page 6: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Tokens Listed Alphabetically, Continued Abbrev: Group: Token Name: NBI .....................Channel Models .....Narrow Band Interferer...............................................83 NCO....................Processors ..............Numerically Controlled Oscillator..............................88 OFDMMod .........Modulators .............Orthogonal Frequency Division Modulator................90 OFDMDmod.......Demodulators ........Orthogonal Frequency Division Demodulator ...........93 PLL .....................Demodulators .........Phase Lock Loop ........................................................95 PN Gen ...............Processors ..............PN Generator ..............................................................98 PPM ....................Modulators .............Pulse Position Modulator ..........................................100 PPD.....................Demodulators .........Pulse Position Demodulator......................................101 P Shape ...............Processors ..............Pulse Shape ...............................................................102 PSK Dmod..........Demodulators .........PSK Demodulator .....................................................104 PWD ...................Demodulators .........Pulse Width Demodulator.........................................107 PWM...................Modulators .............Pulse Width Modulator .............................................109 Punct ...................Encode/Decode ......Puncture ....................................................................110 QAMDet .............Demodulators .........Quadrature Amplitude Modulation Detector ............113 QAMMap............Processors ..............Quadrature Amplitude Modulation Mapper..............117 QAMDmap .........Processors .............Quadrature Amplitude Modulation DeMapper.........120 Q Mod.................Modulators .............Quadrature Modulation.............................................122 Rice Chn .............Channel Models .....Rice Fading Channel.................................................124 Rmlr Chn ............Channel Models .....Rummler Fading Channel .........................................126 Sym->Bit ............Encode/Decode ......Symbol to Bit ............................................................128 TDDmux.............Demodulators .........Time Division DeMultiplexor...................................129 TDMux ...............Modulators .............Time Division Multiplexor .......................................131 WalDec ...............Encoder/Decoder....Walsh Decoder (Fast) ...............................................132 WalEnc ...............Encoder/Decoder....Walsh Encoder ..........................................................133 WalGen...............Filters .....................Walsh Function Generator ........................................135 Appendices Appendix A: Using SystemView to Generate Bit Error Rate (BER) Curves .......................139 Appendix B: The Rummler Three-Path Fade Model............................................................148 Appendix C: Independent Fading Channel Models (Rayleigh and Rician)..........................151

6 SystemView Communications Library

Page 7: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

®

COMMUNICATIONS LIBRARY 1.0 Introduction The SystemView Communications Library contains a comprehensive set of tools to aid in the design and simulation of modern communications systems. For example, a single token contains a complete Costas Loop, and another contains a full PLL demodulator. The library makes it possible to simulate a complete communications system on your PC. The model can include error-correcting codes, baseband pulse shaping, modulation, channel models, demodulation, error correction, and finally, data recovery. These features, in concert with SystemView’s ability to dynamically vary parameters over system loops, and with the Communications library BER token, make it possible to produce complete BER curves in a single run. An example of this type of simulation is presented in the rice_tst.svu example. Here we compare, side by side, the BER performance of an AWGN channel, with a channel having AWGN and Rayleigh amplitude fading. Note that the theoretical BER for the fading channel is included and is overlaid with the statistical result. Appendix A provides a general discussion on generating BER curves. 2.0 Features The particulars for each function have been detailed in the body of this manual. They are listed in alphabetical order for convenience. For each token there is a description of its operation, the required user inputs, and an example .svu file that illustrates the use of the function. Additional background information is available in the appendices.

7 SystemView Communications Library

Page 8: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

It is only natural to attempt to make your system simulation as accurate as possible. For a communications system, this means that you are likely to choose true data rates and the actual frequency parameters for the appropriate tokens. However, consider the simple problem of simulating a BPSK system with a 1 Kbps data rate modulated on a 10 MHz carrier. The SystemView sample rate must be high enough to prevent aliasing of the carrier. The absolute minimum is a 20 MHz sample rate. The numbers tell us there are 20,000 system samples per information bit. To execute the simulation over many information bits requires a prohibitively long run time. One solution is to remember that any frequency that does not violate bandwidth requirements will produce the same results. In the example cited here, the frequency of 100 KHz will yield the same results as a frequency of 10 MHz. Because of the lower carrier frequency, the SystemView sample rate can be reduced by a factor of 100, and the overall simulation will run 100 times faster. A second solution is to perform what is commonly known as a baseband simulation, in which the carrier has been removed from the analysis. In this case, the system sample rate only needs to be high enough to accommodate the information bandwidth.

8 SystemView Communications Library

Page 9: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

®

COMMUNICATIONS LIBRARY

9 SystemView Communications Library

Page 10: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Bit Error Rate (BER) Counter Abbreviation: BER Group: Processors

Synopsis: Given the received and “truth” bits, this token calculates the bit error rate of a communication channel. See Also: Blk Coder, Blk dCode, Cnv Coder, Cnv dCode Parameters: Parameter Symbol Definition No. Trials (bits) N0 Number of trials used to determine error

rate Threshold (V) T The value that separates a logic one from

logic zero Offset (s) Time offset before BER count start Token Inputs: • The decoded data. • The “truth” data that generated the decoded data Token Outputs: • BER • Cumulative Average • Total Errors

10 SystemView Communications Library

Page 11: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: The BER token inputs must be one sample per data bit. That is, each sample into the BER token is an individual bit. For each data bit the BER token compares the truth and decoded data with respect to the specified threshold. If the decode and truth are on opposite sides of the threshold, an error is declared. The token counts the number of errors Ne over the number of trials No, and outputs a value equal to the number of errors divided by the number of trials (Ne/No). This process continues on a block-by-block (bit by bit) basis throughout the simulation. For BER calculations N0 is generally set to 1. However if a frame or word error rate is of interest, set N0 to the desired block size. The Offset is used to delay the start of the BER counting. This allows for the group delay through your system due to filters, error correcting coders, synchronization loops, etc. The BER starts counting at the Offset time, and produces its first output after the specified number of trials from that point. Somewhere in your system you will have a source generating the original bit stream at a data rate of R bits/sec. Since the BER token expects one bit per input sample, you may need to use a Sampler token (non-interpolating) with a sample rate equal to the data source at rate R. This results in a data stream with one sample per data bit. Because of group delays in your simulation due to filters, encoders, etc., the output data can be shifted in time from the original truth data. The two bit streams must be aligned in time for the token to work properly. This time alignment must be in both data rate, and in phase. For example if a one Bps data stream is encoded via a rate ½ convolutional code, the final decoded data can be at time ticks; .5, 1.5, 2.5sec. The truth data from the source token has data tags at; 0, 1, 2sec. The token will not work with this phase offset, and an error message will be issued to that fact at run time. To correct for the phase offset use the Resampler Token set at the data rate (i.e. 1 Hz). This will bring the two time bases into alignment.

11 SystemView Communications Library

Page 12: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

To correct for group delays experienced by the received bits in your system (e.g., due to filters, encoders, decoders, etc.), the “truth” bits must be delayed. Use the Sample Delay token in the "truth" bit path to compensate for the time offset. With the sample delay set to 0, use the Sink Calculator, cross correlate the Resample output with the “truth” bit stream. The correlation peak will now be an exact integer number of samples. To obtain this number, right mouse click in the plot area and choose ‘statistics’. In the lower left hand side of the statistics form check the box. The information will give the position of the largest output (correlation peak) in units of delay ticks. Use this value as the delay parameter (in samples) for the Sample Delay token. Connect the “truth” bit stream to the Sample Delay token and then to the BER token. See Appendix A for more details on how to generate BER curves. Example: See example file rice_tst.svu. In this example, the BER token is used to compare the performance of a fading channel with a non-fading channel. This example also shows SystemView’s ability to run alternate architectures side-by-side to compare performance. See also example files blk_tst.svu, golay.svu, and cnvl.svu

12 SystemView Communications Library

Page 13: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Bit to Symbol Converter Abbreviation: Bit->Sym Group: Encode/Decode

Synopsis: This token converts groups of M-binary bits into one of 2M symbols. See Also: Symbol -> Bit Parameters: Parameter Symbol Definition Bit Order Selects whether the first bit in the

conversion is the LSB or the MSB Bits/Symbol M The number of bits per symbol Threshold (V) T A bit is a one (1), if its amplitude is equal

to or greater than the threshold, and a zero (0), if less

Token Inputs: • The binary bit stream to be converted into symbols Token Outputs: • The M-ary level symbols Discussion: A symbol is defined to be a number derived from a group of bits. (e.g. a frequency, phase, amplitude or amplitude and phase combination). Familiar sets of symbols are the points in a QAM or PSK constellation.

13 SystemView Communications Library

Page 14: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

This token assumes that there is one data bit per token-input sample. The token output, produced after each group of M-input bits, is the symbol at one sample per symbol. Thus, the token changes the input sample rate from R samples/sec to an output rate of R / M samples/sec. The output symbol levels are positive integers ranging from zero to 2 1M − . For example, the data stream 110, 001, 101 converts (for M=3) into symbols (MSB first) 6, 1, and 5. This token has several applications:

• It can be used for conversion of binary data to symbols for use in an M-ary communications link. For example, if M = 3 and we multiply the encoded symbols (0,7) by π / 4 , the result is the proper phases for an 8PSK modulation system.

• It provides an input to the Reed Solomon encoder token. The Reed Solomon encoder is configured to use the output of the token directly as its input.

• It can be used with QAM modulation. By shifting the output of the Bit To Symbol token by the constant ( )offset M= − −2 1 / 2

1

(you can use the Polynomial token in the Function library with a offset a0 1= =, ) you will produce symbols with zero mean.

Example: See example file btsm_tst.svu. This example takes a binary data stream and converts it into symbols using the Bit to Symbol token. It then recovers the data stream by using the Symbol to Bit token. See also the example file qam_tst.svu. In this example we use the token to convert the binary data streams into symbols for use in the QAM modulator.

14 SystemView Communications Library

Page 15: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Bit Synchronizer Abbreviation: Bit Sync Group: Processors

Synopsis: This token implements an early/late gate-type baseband bit synchronizer. Parameters: Parameter Symbol Definition Nonlinearity Choose between absolute value or square-

law nonlinearity Bit Rate (Hz) R The nominal bit rate of the bipolar bit

stream MF Integ Time (sec) T1 The integration time of the bit-matched

filter Delay (sec) T2 The time separation between the early and

late gate samples Loop Gain µ The gain parameter of the tracking loop Filter Constant a The loop filter constant 1+ a s/ Token Inputs: • The baseband data waveform that the synchronizer is to track Token Outputs: • A sampling clock with one sample per bit that is locked in phase to the

input signal

• The loop error signal

15 SystemView Communications Library

Page 16: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Discussion: This token acts as a bit synchronizer for a baseband waveform. A functional block diagram is shown in figure 1a, and the equivalent SystemView block diagram is shown in figure 1b. The matched filter, token 7 (having parameter T1), the nonlinearity (token 2), and the early/late delay control (token 0 with parameter T2) forms a discrimination curve. Adjusting T1 (token 7), and T2 (token 0), changes the shape of the curve. The Frequency Modulated Pulse Train (FMPT) token, samples this curve at a nominal rate of once per bit time. These samples are processed by the loop filter and fed back to the FMPT token as an error signal that adjusts the sample rate accordingly. When the sampler is aligned with the zero crossing of the discrimination curve, no further error occurs and the clock is locked to the incoming signal. The initial parameters for this token may be computed as follows. Using R as the data rate of the input signal, the following values are a good starting point for proper loop operation:

Matched filter integration time: T1 = 1/R Delay: T2 = 1/R Loop filter constant: a = 0 (if the received data is also R) Loop gain: µ = 0.5

Figure 1a. Bit Sync functional block diagram

16 SystemView Communications Library

Page 17: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Figure 1b. Bit Sync token equivalent SystemView block diagram

References: (1) Proakis, J. G., Digital Communications, (New York, McGraw Hill, 1989).

17 SystemView Communications Library

Page 18: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Block Error Correcting Coder Abbreviation: Blk Coder Group: Encode/Decode

Synopsis: This token performs block error correction encoding. See Also: Cnv Coder, Blk dCode, Cnv dCode Parameters: Parameter Symbol Definition Code Type The BCH, Reed-Solomon, or Golay

block code type Code Length (bits/symbols)

n The length of the encoded message block

Info Bits (bits/symbols)

k The number of information bits/symbols used to encode the transmitted n-bit message

Error Correct (bits/symbols)

t The number of bits/symbols the code is capable of correcting

Threshold (V), or No. Symbol Levels

T The value that separates a logic one from a logic zero for binary, or the number of symbol levels for non-binary

Time Offset (sec) The time marker indicating the first valid information bit/symbol

Pad Zeros k0 For Reed-Solomon code, the number of zeros used to shorten the code

Token Inputs: • The information bit stream at one sample per bit for the BCH and Golay

codes • The information symbol stream at one sample per symbol for RS code

18 SystemView Communications Library

Page 19: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Outputs: • The encoded message at one sample per bit or symbol (the output clock

rate is n/k times the input rate) Discussion: This token implements a complete block error correcting coder. The code types supported are as follows: BCH Codes: The Bose, Chaudhuri, and Hocquenghem (BCH) codes form a large class of powerful random error-correcting cyclic codes. A subclass of the binary BCH codes is the primitive BCH codes. The primitive BCH codes are the most important subclass from the standpoint of both theory and implementation. The decoding algorithm employed is Berlekamp’s iterative algorithm for finding the error location polynomial. For details of this algorithm see references to Berlekamp (1) and Lin (2). The Reed-Solomon codes are the most important subclass of non-binary BCH codes. Description of the Codes: For any positive integers m ( ) and t (m ≥ 3 t m< −2 1), there exists a binary BCH code with the following parameters:

• Block length: n m= −2 1

• Number of parity-check digits: n k m t− ≤ ⋅

• Minimum distance: d tmin ≥ +2 1

This code is capable of correcting any combination of t or fewer errors in a block of n m= −2 1 digits, and is called a t-error correcting BCH code. Golay Codes: Golay codes are multiple error-correcting codes. Since their discovery by Golay, they have been the subject of study by many code theorists and mathematicians. The (23, 12, 3) Golay code is the most frequently used. The Golay code is a perfect code in that it corrects all triple errors, but no more than three errors.

19 SystemView Communications Library

Page 20: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Reed-Solomon (RS) Codes: In addition to the binary codes, there are non-binary codes. If p is a prime number and q is any power of p, there are codes with code symbols from a q-symbol alphabet. These codes are called q-ary codes. For any choice of positive integers s and t, there exists a q-ary BCH code of length n q , which corrects any combination of t or fewer errors and requires no more than 2st parity-check digits. The Reed-Solomon codes are a special subset for which s = 1. A t-error correcting Reed-Solomon code has the following parameters:

s= − 1

• Block length: n = q–1

• Number of parity digits: n–k = 2t

• Minimum distance: d = 2t + 1

The token input is the binary information at one sample per symbol. Starting from the specified time offset, for every k information symbols, the coder produces the correct block code word of n symbols. The token output is one sample per encoded symbol at a rate equal to (n/k) times the token input rate. For the RS codes, SystemView allows the user to shorten the number of information bits. Consider a nominal [255, 239, 8] RS code. It is possible to send codes of the form [255-k0 , 239-k0 , 8]. This is accomplished by entering the value of k0 into the Pad Zeros parameter window, and k=239-k0 into the Info Bits parameter window. The code rate is now (255-k0)/(239-k0) times the input rate. The encoder pads take k bits and then pads them with k0 zeros. Since the code is systematic, after the encoder the k0 zeros are removed from the data stream.

20 SystemView Communications Library

Page 21: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Primitive Polynomials: Primitive polynomials are a fundamental element of the code process. These polynomials are the same ones that generate maximal length sequences used in spread spectrum communications. The polynomials used in the encoder and decoders are, m polynomia l

x xx xx xx xx xx x x xx xx x

3 14 15 16 17 18 19 110 1

3

4

2 5

6

3 7

2 3 4

4 9

3 10

+ ++ ++ ++ ++ ++ + + ++ ++ +

8

Example: See example files blk_tst.svu, golay.svu, and rs_tst.svu. References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7 (2) Elwyn R. Berlekamp, Algebraic Coding Theory, (New York, McGraw-

Hill, 1968). (3) Shu Lin and Daniel J. Costello, Jr., Error Control Coding, (New Jersey,

Prentice-Hall, 1983).

21 SystemView Communications Library

Page 22: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Block Error Correcting Decoder Abbreviation: Blk dCode Group: Encode/Decode

Synopsis: This token performs block error correction decoding. See Also: Blk Coder, Cnv Coder, Cnv dCode Parameters: Parameter Symbol Definition Block Code Type The BCH, Reed-Solomon, or Golay block

code type Code Length (bits/symbols)

n The number of bits/symbols in the encoded message

Info Bits (bits/symbols)

k The number of message bits/symbols

Error Correct (bits/symbols)

t The number of error bits/symbols the code is capable of correcting

Threshold (V), or No. Symbol Levels

T The value that separates a logic one from a logic zero for binary, or the number of symbol levels for non-binary

Time Offset The time marker indicating the first valid encoded bit/symbol in seconds or delay units

Token Inputs: • The encoded block message at one sample per bit for the BCH and Golay

codes, and one sample per symbol for the Reed-Solomon codes

22 SystemView Communications Library

Page 23: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Outputs: • The decoded bit stream at one sample per decoded bit for the BCH and

Golay codes, and one sample per decoded symbol for the Reed Solomon codes (the output sample rate is k/n times the input sample rate)

Discussion: This token decodes the recovered encoded bits/symbols after a hard decision. The time marker indicates when the first bit/symbol of the first block is valid. From that time on, the token takes n input bits and, using the selected decoding algorithm, recovers the k message bits on a block-by-block basis. The output is one sample per information bit. Therefore, the token output sample rate is k/n times the token input rate. Example: See example file blk_tst.svu, golay.svu, and rs_tst.svu. References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

23 SystemView Communications Library

Page 24: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Compander Abbreviation: Compand Group: Processors

Synopsis: The token limits the dynamic range of an analog signal before the A/D process. Parameters: Parameter Symbol Definition Compand Type Select either µ -law or A-law type Maximum Input (V) Amax The maximum value (± Amax) of the token

input Token Inputs: • The signal to be compounded Token Outputs: • The companded signal Discussion: Companders are used to reduce the quantization noise in a PCM signal by effectively matching the distribution of the quantization bin spacing to the distribution of the input-signal amplitude. The most common application of companders is to adapt high dynamic range signals, usually speech, to the limited dynamic range of an A/D converter. The process, as described, is to pre-distort the signal so that it fits the allowed dynamic range. It should be noted that this is a non-linear process and introduces unwanted frequency components into the spectrum of the desired signal. The inverse, expander function, is also nonlinear and must be treated with the same care. Ideally, the complementary nature of these functions would recover the original signal. The impact of intermediate processes, like filtering, can add other distortions that must be carefully managed.

24 SystemView Communications Library

Page 25: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

It should also be noted that while this process is associated with non-uniform quantization, the effect is achieved by applying the companded signal to a uniform quantizer, and is not quite the same as applying an uncompressed signal to a non-uniform quantizer. In such a situation, no signal distortion is introduced. Signal recovery, however, requires a D/A with the exact inverse of the A/D. The mathematical relations of the compander are: µ =255 law: This form of the compander is the standard adopted in the United States.

y x(t) = A (t)]ln(1 + x(t) A x(t) A

A x

max

max

sgn[ / ) / ln( )max max

max(t) A

µ µ1 + ≤

= >

A=100 law:

This form is the standard in Europe.

, y x(t) A (t) / [1 + lnA]= 0 x(t) A / Amax≤ <

y(t) Asgn[x(t)][1 ln(A|x(t)|

A)]

[1 lnA]maxmax=

+

+ , A A x(t) Amax max/ ≤ ≤

y(t) = A (t) Ama maxx x, > The token is thus normalized such that y = A when x = A max m ax

25 SystemView Communications Library

Page 26: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Example: See example file cmpd_tst.svu. In this example we run the compander and de-compander in tandem. The input source is a Gaussian signal having a unity variance. The DeCompand token is set such that when = the operations are inverses of each other up to . If the input signal is less than K

Kmax A maxKmax

scale, the recovered output is equal to the input. If the input is greater than Kscale the output equals 1. References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

26 SystemView Communications Library

Page 27: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Constant Modulus Algorithm (CMA) Equalizer Abbreviation: Equalizer Group: Filters

Synopsis: This token will implement the CMA equalizer algorithm used to remove Multipath and interference effects in communication systems. Parameters: Parameter Symbol Definition Tap Initial Conditions This sets the initial values of the filter taps

(select one of the three options) Number of FIR Taps n The number of taps in the Finite Impulse

Response (FIR) section of the filter Number of IIR Taps m The number of taps in the IIR section of

the filter Loop Gain µ The gain constant for the error signal Error Avg. p The number of feedback error signal

samples averaged (filtered) CMA Constant A The CMA amplitude reference for

computing the error signal Monitor Tap The tap value that will be available as a

token output Token Inputs: • The in-phase (I, cosine) baseband waveform of the signal being equalized

• The quadrature (Q, sine) baseband waveform of the signal being equalized

27 SystemView Communications Library

Page 28: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Outputs: • The in-phase part of the equalized signal

• The quadrature part of the equalized signal

• The error signal

• The in-phase part of the monitored tap coefficient

• The quadrature part of the monitored tap coefficient

Discussion: The Constant Modulus Algorithm (CMA) equalizer is one of several algorithms used to remove the effects of multipath, interference, or other channel distortions from a signal. Other algorithms include decision feedback equalizers (DFE) and Viterbi equalizers (VE). The CMA is a blind algorithm in that it does not depend on a known reference to derive an error signal. Note that the CMA equalizer is applicable only to those signals with a constant modulus (e.g., MPSK and FM). Complex arithmetic operations are implied, in the CMA equalizer in figure 2.

Figure 2. CMA equalizer block diagram

28 SystemView Communications Library

Page 29: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

The output of the equalizer at the k-th time sample is given by:

Y (k) = Cjj =1

j =n

∑ (k)X(k − j + 1) + Djj =1

j = m

∑ (k)Y(k − j)

The raw and filtered errors are calculated as:

e(k) = 2A2 − Y (k) 2

ˆ e (k) =1p

e(k − j + 1)j =1

p

The filter coefficients are updated as follows;

Cj(k + 1) = Cj(k) + µˆ e (k )Y (k)X* (k − j)

Dj(k +1) = Dj(k) + µˆ e (k)Y(k)Y* (k − j)

Using a sampler or decimating token before the CMA token can control the number of samples per symbol, seen by the equalizer. The token updates the output, and all of the weights at the sample rate into the token. For unity initial conditions, the real part of the tap coefficients are set to one, and the imaginary part is set to zero. There must be at least one FIR tap, but the number of IIR taps can be zero. References: (1) Proakis, J G., Digital Communications, (New York, McGraw Hill, 1989). (2) Treichler, J. R. and Agee, B. G., A New Approach to Multipath Correction

of Constant Modulus Signals, (IEEE Trans. ASSP; Vol. ASSP-11, No. 2, April 1983).

29 SystemView Communications Library

Page 30: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Convolutional Error Correcting Coder Abbreviation: Cnv Coder Group: Encode/Decode

Synopsis: This token performs convolutional error correction encoding. See Also: Blk Coder, Blk dCode, Cnv dCode Parameters: Parameter Symbol Definition Output Bits n The number of output bits per k input bits Information Bits k The number of input bits used to produce

n output bits Constraint Length (bits)

L The total number of input bits used by the encoder to produce one output bit

Threshold (V) T The value that separates a logic one from a logic zero

Code polynomial The polynomial (OCTAL) that describes the encoder connections

Time Offset (sec) The time marker indicating the first valid information bit

Token Inputs: • The information bit stream, at one sample per bit Token Outputs: • The encoded bit stream at one sample per bit (the output sample rate is the

input rate times the code rate R nk

= )

30 SystemView Communications Library

Page 31: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: Convolutional codes are widely used. This is due to the use of the Viterbi decoding algorithm used in the decoder. Unlike block codes, it is also relatively easy to implement a soft-decision decoding algorithm that results in approximately 2 dB of performance gain when using three-bit soft-decision logic. This token implements a complete convolutional error correcting coder. The coder assumes that the input is one sample per input bit. The output is also

one sample per bit, but at the new encoded bit rate (nk

times the input rate).

The time offset specifies when the data into this token is valid. The codes supported by this token are taken from Proakis. In addition to the codes in that table which are the defaults for a [k, n, l], any other code polynomial can be inserted in the code parameter window box. Example: See example cnvl.tst.svu. In this example we run two complete BER systems with hard- and soft-decision decoding. Notice the improvement in BER performance with soft decoding. References: (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7 (2) Proakis, J G., Digital Communications, McGraw-Hill, Inc., 1989, pp 466-

471.

31 SystemView Communications Library

Page 32: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Convolutional Error Correcting Decoder Abbreviation: Cnv dCode Group: Encode/Decode

Synopsis: This token performs convolutional error correction decoding. See Also: Blk Coder, Blk dCode, Cnv Coder Parameters: Parameter Symbol Definition Output Length n The number of encoded bits per k

information bits Information Bits k The number of input bits used by the

encoder to produce n bits Constraint Length L The constraint length of the desired code Path Length The number of states used by the Viterbi

algorithm to decode the message Code Polynomial The code polynomial (OCTAL) that

represents the encoder structure Threshold (V) T The value that separates a logic one from

a logic zero Time Offset The time marker indicating the first valid

information bit Decision Type Hard- versus soft-decision logic Soft Bits b The number of soft-decision bits Bin Size (V) S The size of each soft-decision

quantization bin High Signal Mean (V) µ The expected value of the logic one signal

offset from the threshold T Noise Density (dB) Eb

No

The noise power spectral density used in the soft-decision logic

32 SystemView Communications Library

Page 33: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Inputs: • The encoded bit stream at one sample per bit Token Outputs:

• The decoded bit stream at one sample per bit (the output rate is kn

or 1/R

times the input rate and the code rate is R kn

= )

Discussion: This token implements a complete hard or soft-decision convolutional error correcting decoder using the Viterbi decoding algorithm. The token assumes that the input is one sample per encoded bit. The output is one sample per decoded bit. The time offset indicates when the data into the token is valid. As a general rule the path length should be four or five times the constraint length L. The soft-decision bins are symmetric around the specified threshold T having the specified width S: [T-2S to T-S], [T-S to T], [T to T+S], [T+S to T+2S], as shown in Figure 3. The soft-decision weighting is derived from identical Gaussian distributions P x( | )±µ centered at T+ µ and T- µ as follows:

P x ex T

( | )( ( ))

± =−

− ±

µπσ

µσ1

2 22

2

2

Where,

σµ

=EN

s

0

33 SystemView Communications Library

Page 34: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

And,

Ekn

Es b=

The weights used by the decoder are the logarithm of the probability that the received signal falls into the particular decision region. In order to work properly, the soft decoder requires an estimate of the output probability function for the signal P x( | )±µ . This information combined with the bin size S is used to calculate the weighting function used by the decoding algorithm. If the bin size S is too large or too small, the soft decoder reverts to a hard-decision decoder. In between, there is an optimum value of S for

each EN

b

0

. This optimum value is particularly sensitive to EN

b

0

.

T ± µ are the amplitudes of the data bits into the decoder in the absence of noise. Normally T=0, but SystemView provides the flexibility for other choices. Theory shows that a three bit soft decoding recovers about 2.0 dB of the 2.5 dB loss associated with the hard decision. Figure 3 shows a typical situation. In this case, b=3, which divides the probability space into eight regions (four regions T, four regions≥ ≤ T). The size S is chosen to be µ / 2.5.

34 SystemView Communications Library

Page 35: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

SystemView by ELANIX

0

0

2

2

4

4

6

6

8

8

10

10

12

12

0

200.e-3

400.e-3

600.e-3

800.e-3

1

T T+S

T+3ST-µ

S=µ/2.5

Com

m L

ibra

ry

Figure 3. Soft-decision boundaries

Example: See example cnvl_tst.svu. In this example, two simple communication systems using the convolutional encoder are shown. One system is decoded via a hard decision, while the other is decoded with a 3-bit soft decision. The example produces the side-by-side BER curves for the two cases. Note the improvement when using the soft decision. References: (1) Proakis, J.G., Digital Communications, (New York, McGraw Hill, 1989). (2) Shu Lin and Costellio, D. J., Error Control Coding, (Prentice Hall, 1983).

35 SystemView Communications Library

Page 36: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Convolutional Interleaver Abbreviation: Cnvl Data Interleave Group: Processors

Synopsis: This token performs convolutional interleaving, of a block of data. See Also: Block Interleaver Parameters: Parameter Symbol Definition Interleave/deinterleave Radio button. Choose the desired

operation No. of registers N The number of registers used in the

interleaver. See discussion below. Register Length (samples)

J The length of the registers used in the interleaver. See discussion below.

Time Offset The value that separates a logic one from a logic zero

Time Offset options Radio button. Choose between specifying the offset in seconds, or in samples.

Token Inputs: • The block of data (x) to be interleaved/deinterleaved Token Outputs: • The interleaved/deinterleaved block of data (y). Discussion: Interleaving techniques are widely used, including convolutional interleaving. Two structures are shown here, a shift register implementation shown in the first figure A and a simple four register convolutional interleaver

36 SystemView Communications Library

Page 37: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

In the first figure, the code symbols are sequentially shifted into the bank of N registers; each successive register provides J symbols more storage than did the proceeding one The zeroth register provides no storage (the symbol is transmitted immediately.) With each new code symbol the commutator switches to a new register, and the new code symbol is shifted in while the oldest code symbol in that register is shifted out to the modulator/transmitter. After the (N-1)th register, the commutator returns to the zeroth register and starts again. The deinterleaver performs the inverse operation, and the input and output commutators for both the interleaving and deinterleaving must be synchronized

37 SystemView Communications Library

Page 38: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

The second figure illustrates an example of a convolutional four-register (j=1) interleaver being loaded by a sequence of code symbols. The synchronized deinterleaver is shown simultaneously feeding the deinterleaved symbols to the decoder. Figure a shows symbols 1 to 4 being loaded: the Xs represent unknown states. Figure b shows the first four symbols shifted within the register and the entry of symbols 5 to 8 to the interleaver input. Figure c shows symbols 9 to 12 entering the interleaver. The deinterleaver is now filled

38 SystemView Communications Library

Page 39: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

with message symbols, but nothing useful is being fed to the decoder yet. Finally, figure d shows symbols 13 to 16 entering the interleaver, and at the output of the deinterleaver, symbols 1 to 4 are being passed to the decoder. The process continues until the entire codeword sequence, in its original pre-interleaved form, is presented to the encoder.

Example: None References: Sklar, B., Digital Communications, Prentice Hall, Inc., 2001, pp 466-468.

39 SystemView Communications Library

Page 40: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Costas Loop Abbreviation: Costas Group: Demodulators

Synopsis: This token implements a third-order Costas loop, which is often used to coherently demodulate PSK signals. See Also: SystemView example file costas.svu Parameters: Parameter Symbol Definition VCO Frequency (Hz) fc The frequency of the down-converting

VCO VCO Phase (deg) φ0 The initial phase of the VCO Mod Gain (Hz/V) The modulation gain of the VCO 1/s Coefficient a The coefficient of the 1/s term in the loop

filter 1 2+ +a s b s/ / 1/s2 Coefficient b The coefficient of the 1/s2 term in the loop

filter 1 2+ +a s b s/ / Token Inputs: • The PSK signal to be demodulated Token Outputs: • The demodulated Inphase I(t) signal • The demodulated Quadrature Q(t) signal • The VCO Inphase cos signal • The VCO Quadrature sine signal

40 SystemView Communications Library

Page 41: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: Q (t) and I (t), as defined below, contain both the upper and lower frequency mixing products at the outputs of this token. To recover the data, the user needs to apply an appropriate external LPF to each of these signals.

Costas loop block diagram

For BPSK modulation, the received signal is of the form;

x t A f t

A a f t ac k k

k c k

( ) sin( ), ,

sin( ),

= ⋅ + + =

= ⋅ + = ±

2 0

2 1

π α φ φ π

π α

Where φ πk = 0, represents the PSK phase modulation. The in-phase and quadrature signals are:

I t x t f tA a f t f t

o

k c o

( ) ( )cossin( )cos

=

= ⋅ +

22 2π

π α π

= ⋅ − + +A a f f tk c ocos[ ) ]2π( α an ignored term at f fc o+

Q t A a f f tk c o( ) sin[ ) ]= ⋅ − +2π( α

41 SystemView Communications Library

Page 42: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Note that the product of I(t)*Q(t), which is used to form the error signal, is independent of a . After filtering, the error signal is defined as; k

e t A t( ) sin( ( ))= 2 2β Where,

β( π αt f f tc o) ( )= − +2

The system is in lock, (e (t) = 0), when β π π π( ) , / , , / .t and= 0 2 3 2 the points π π/ , /2 3and 2 are unstable, while both of the other lock points are stable. When in lock, all of the data goes to the inphase I(t) signal, but there is a 0,±π ambiguity that cannot be removed. For this reason, the data must be differentially encoded. The loop filter transfer function F(s) is given by:

F(s) = 1+ as

+ bs2

Example: See example file cost_tst.svu. This example has the same parameters as the costas.svu example. The loop locks to the input, which has a Doppler offset as well as an unknown phase.

References: (1) Proakis, J G., Digital Communications, (New York, McGraw Hill, 1989),

p 312.

42 SystemView Communications Library

Page 43: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Inverse Compander Abbreviation: DeCompand Group: Processors

Synopsis: This token is used to restore the dynamic range of a signal that has been processed by a compander. It performs the expansion of both µ-law and A-law companded signals. See Also: Compander Parameters: Parameter Symbol Definition Compand Type Select either µ -law or A-law type Input Scaling (V) Kscale Selected to scale the input between 1 ± Token Inputs: • The signal to be inverse companded Token Outputs: • The inverse companded signal Discussion: Companders are used to reduce the quantization noise in PCM signals. The compander compresses the dynamic range of a signal before A/D conversion. The inverse compander restores the original signal. The constant is used to normalize the input signal. If |x(t)| > , then x(t) is limited to .

Kscale

Kscale Kscale

The mathematical relations of the inverse compander are: µ =255 law:

43 SystemView Communications Library

Page 44: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

This form is the standard adopted in the United States.

y t K escale

x tKsgn x t

scale( ) ( )[ ( )] (

| ( )|ln( ))

= −+

µµ1

1 When, x t Kscale( ) ≤

A=100 law: This form is the standard in Europe.

y ( ) sgn[ ( )](

| ( )|( ln( ))

t K x t eAscale

x tK

Ascale

=+ −1 1

when, 1 11

≥ ≥+

| ( )|ln( )

x tK Ascale

y t x t A

A( ) ( )( ln )

=+1 when,

| ( )|ln( )

x tK Ascale

≤+

11

When = (from the Compander token), the two tokens are matched to each other in that the output of the DeCompander is equal to the input to the Compander for

Kscale Amax

x A(t) ≤ max . References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

44 SystemView Communications Library

Page 45: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

. 1 a 1

Token Name: IEEE Standard 802.11a DeInterleaver Abbreviation: DeIntrlv.11a Group: Filters Data

Synopsis: This token will implement the block deinterleaver associated with the IEEE 802.11a WLAN standard.

See Also:

IEEE Standard 802.11a Interleaver

Parameters: Parameter Symbol Definition NONE Token Inputs: • The data to be deinterleaved Token Outputs: • The deinterleaved data Discussion: This block deinterleaver acts on a group of 192 samples per block, at one sample per symbol (bit). It is a two-stage interleaver. There is a 192-sample group delay through the token. The specific algorithm is detailed in the reference cited below. The interleaver followed immediately with the deinterleaver will reproduce the original data with a 364-sample group delay.

References:

IEEE Standard 802.11a 1999 for Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications, High-speed Physical Layer in the 5 GHz band.

45 SystemView Communications Library

Page 46: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: DePuncture Abbreviation: Dpunct Group: Encoders/Decoders

Synopsis: This token performs the inverse of the puncture operation used to change the effective rate of a convolutional error correcting code.

Parameters: Parameter Symbol Definition Constraint Length l The constraint length of the rate ½

convolutional encoder output to be punctured

Code Rate K Determines the puncture rate and pattern to be used

Start Offset (sec) Determines the start time of the bit pattern to be punctured

Token Inputs: • The soft decision value of the transmitted punctured data stream

Token Outputs: • The DePuncture data steam where the punctured bits are reinserted as null

symbols

46 SystemView Communications Library

Page 47: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: Refer to the Puncture token description in this manual for a discussion of the puncture operation and pertinent tables. This token performs the inverse operation of the Puncture token by reinserting the punctured bits. It is assumed that the convolutional decoder that follows is operating on soft decisions. The inserted symbols are entered as ‘null’ symbols so no weight is given to them in the decoding process. The Start Offset parameter is used to account for arbitrary group delay from the encoder, through various elements of the simulation, to the decoder. This delay is easily determined by cross-correlating the encoder output with the decoder input.

Example: See example file PUNCTURE.svu. This example provides a complete BER simulation of a convolutional encoder with Puncture/DePuncture. The Puncture token removes the data bits according to the Puncture table, and the DePuncture token reinserts the null symbol before the convolutional decoder. The convolutional decoder must be set to work with soft decisions.

References: Yutaka Yasuda, et.al. High-Rate Punctured Convolutional Codes for Soft Decision Viterbi Decoding, IEEE Transactions On Communications, Vol. COM-32, No. 3, March 1984, P 315

47 SystemView Communications Library

Page 48: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Divide by N Abbreviation: Divide N Group: Processors

Synopsis: This token divides the frequency of the input clock or sine wave by an integer factor equal to N. Parameters: Parameter Symbol Definition Divide By N The divide-by value of N Threshold (V) T The value that determines the Low-to-

High crossing of the input True Output (V) The numeric value assigned to the output

designating “high,” or True False Output (V) The numeric value assigned to the output

designating “low,” or False Cntrl Threshold Ctl The value that determines divide by N or

N + 1. If the signal is equal to or greater than Ctl, divide by N + 1.

Token Inputs: • The signal x (t) that is to be frequency divided. (Signal) • The divide control. (Divide Cntrl)

Divide by N: Divide Cntrl <=Cntrl Threshold

Divide by N + 1: Divide Cntrl >= Cntrl Threshold

48 SystemView Communications Library

Page 49: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Outputs: • The frequency divided signal (0), always with a 50% duty cycle. • The frequency divided signal (1), with the duty cycle dependent on N. Operates as if there is a Low connected to the N control input. There is no warning message for an unconnected N control input. Discussion: The input is nominally either a sine wave or a square wave. The output is a rectangular wave, with a choice of either a 50% duty cycle, or a duty cycle dependent on N. The Threshold parameter allows the choice between bipolar (A, -A) input signals, or logic (0, A) input signals. The Divide Cntrl selects either the divide-by-N, or divide-by-N+1 mode. If the Divide Cntrl input is not connected, the Cntrl Threshold parameter is disabled, and the token acts as if the Cntrl Threshold parameter is set infinitely high. Therefore, if the Divide Cntrl input is not connected, the token divides by N, regardless of the Cntrl Threshold parameter setting. There is no warning message for an unconnected Divide Cntrl input. The value of the Divide Cntrl input may change state at any time; but inside the token, the state of the input is updated only at the instant of a Low-to-High threshold crossing of the x(t) input signal. Token output (0) always has a 50% duty cycle: For an EVEN N parameter, the token divides by counting the positive-going Low-to-High threshold crossings of the x (t) input signal. For an ODD N parameter, the token divides by counting the Low-to-High positive-going threshold crossings of the x (t) input signal. The token also uses the High-to-Low threshold crossings to help generate a 50% duty cycle output. (At start-up, the first crossing is used, regardless of the direction.)

49 SystemView Communications Library

Page 50: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token output (1) has a duty cycle dependent on N: For an EVEN or ODD N parameter, the token divides by counting only the Low-to-High positive-going threshold crossings of the x(t) input signal. For an EVEN N parameter this results in a 50% duty cycle. For an ODD N parameter this results in a duty cycle that is not 50%. Example: See example file div_n.svu. The system is an indirect frequency synthesizer where the output of the VCO is divided by 20 before being locked to the 10Hz reference.

50 SystemView Communications Library

Page 51: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Double Sideband AM Modulation Abbreviation: DSB-AM Group: Modulators

Synopsis: This token implements a standard double sideband AM (DSBAM) modulator. See Also: QAM, MFSK Parameters: Parameter Symbol Definition Amplitude (V) A The amplitude of the modulated carrier Frequency (Hz) fc The frequency of the modulated carrier Phase (deg) φ The phase of the modulated carrier Mod Index m The modulation index Token Inputs: • The signal to be modulated onto the carrier Token Outputs: • The modulated carrier Discussion: This token implements a complete DSB-AM modulator.

( ) ( )y t A m x t f tc( ) ( ) sin= ⋅ + ⋅ ⋅ +1 2π φ Example: See example file dsb_tst.svu. The modulating signal is band limited Gaussian noise. To view the signal spectrum in the analysis window, select the Spectrum tab in the Sink Calculator. The baseband noise spectra are transferred to the upper and lower sidebands of the carrier. There is a carrier component in the spectra as well.

51 SystemView Communications Library

Page 52: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Error Vector Magnitude Abbreviation: EVM Group: Processors

Synopsis: This token performs statistical analysis on the quality of a receiver system. It compares the actual received I, Q constellation point with the theoretically correct value. These measurements are commonly employed to determine the quality of wireless systems such as IS95 CDMA.

Parameters: Parameter Symbol Definition Normalization N The vector magnitude of the

constellation point furthest from the constellation origin

Token Inputs: • I and Q channel values of the desired constellation point • I and Q channel values of the actual constellation point

Token Outputs: • Error vector magnitude • Error magnitude • Phase error

Discussion: The error vector magnitudes consist of three measurements as shown in the figure below, and are commonly employed as a figure of merit for communication systems by comparing the set of received constellation points with the theoretical ideal. Many systems specifications (including IS95) include EVM requirements for equipment used to implement the system. Many test equipment manufacturers include EVM statistics as part of their analysis suites.

52 SystemView Communications Library

Page 53: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

receivedIr, Qr

desiredId, Qd

errorvectormagnitude

angleerror

magnitudeerror

Definitions: error vector magnitude(%) (k) = [100 / N][(Id Ir ) (Qd Qr )

error magnitude (%)(k) [100 / N] (Id Qd ) (Ir Qr )

angle error(k) = Tan (Qd / Id ) Tan (Qr / Ir )

k k2

k k2

k2

k2 1/2

k2

k2 1/2

-1k k

1k k

− + −

= + − +

− −

] /1 2

Example: See the EVM.svu example file. This file shows EVM operation as it calculates three statistics: error vector magnitude, error magnitude, and phase error. A constellation is corrupted by noise. The token compares the ‘truth’ and ‘corrupted’ data points to calculated the appropriate instantaneous error values. The Cumulative Average token is used to smooth the instantaneous results.

53 SystemView Communications Library

Page 54: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

References: Hewlett Packard Product Note: 89400-14A, and Product Note: 89400-8

54 SystemView Communications Library

Page 55: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Fade Channel Abbreviation: FadeChn Group: Channel Models

Synopsis: This token allows users to specify a general-baseband (complex) fading model. The channel structure is read in through a user input file, allowing for arbitrary channel models.

Parameters: Parameter Symbol Definition Carrier frequency f0 The RF carrier frequency of the signal

Velocity v The velocity of the mobile platform Number of terms n The number of terms used in the Jakes

model Number of paths m The number of paths in the model Channel file name The name of the text file containing

the desired channel model data, (delays and gains)

Token Inputs: • The I channel of the complex input signal • The Q channel of the complex input signal

Token Outputs: • The I channel of the fading signal • The Q channel of the fading signal

55 SystemView Communications Library

Page 56: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Discussion: The general fading channel model is given by the equation:

ch (t) + jch (t) G [c (t) jc (t)] (tr i kk 1

m

kr ki k= +=

∑ δ τ )−

Where m is the number of paths which are modeled as a complex flat fading Jakes model;, In Jakes’ model, the following definitions apply:

[ ]i k k mk

N

c t cos cos f t cos cos f t N( ) ( ) ( ) ( ) ( )= +=∑2 2 2 2 2

1

β π α π +1

[ ]q k k mk

N

c t cos f t cos f t N( ) sin( ) ( ) sin( ) ( )= +=∑2 2 2 2 2

1

β π α π +1

mf = Maximum Doppler frequency = [v/c]fo

kf = mf cos(2πk/L)L = 2(2N + 1)α = π/4

kβ = πk / N

N = The number of terms in the Jakes model.

A range N = 8 - 10 is usually sufficient. Also, τ k is the delay of the k’th path and is the relative gain. These parameters are read in through the external file as described below.

Gk

The token complex multiplies the input complex, I,Q data with the above channel model expression to producing the complex I, Q output data.

56 SystemView Communications Library

Page 57: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

File Format: The input channel file describes the fading model. It contains the relative gain and delay for each element in the above summation. The format for a 3-tap model is shown below:

Gain(dB) Delay (usec) 0.0 0.0 -3.0 2.0 -6.0 4.0

When choosing the number of paths, m, may be any integer from 1 to the total number of taps in the file. The token will implement the first m entries. The first line of the file is the number of taps in the model. The second line is a single line header. IMPORTANT NOTE: A header is required. Without a header the first line of data will not be processed. After the last tap entry you may also add other descriptive information if you desire. A 6-tap format is shown below.

Gain (dB) Delay (usec) 0 0 0 3.2 0 6.4 0 9.6 0 12.8 0 16.0 GSM Parameters for Testing Adaptive Equalizers

The number of terms, n, used in the Jakes’ model is arbitrary. The more terms used, the better the representation, but the longer the computation takes in the simulation. An n of about 10 suffices for most situations. The Jakes model depends on a maximum Doppler frequency value that is given by f [v / c]dmax 0f= where c is the speed of light.

57 SystemView Communications Library

Page 58: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

This token is a baseband model requiring both real (I) and imaginary (Q) components of the signal at baseband. No carrier is required. This will greatly improve the simulation speed. If a simple Jakes channel is desired, set the number of taps to 1. The following channel model tables are included with the library: EQx.txt HTx_12a.txt HTx_12b.txt HTx_6a.txt HTx_6b.txt JTC_commercial_a.txt JTC_commercial_b.txt JTC_commercial_c.txt JTC_indoor_a.txt JTC_indoor_b.txt JTC_indoor_c.txt JTC_outdoor_lowrise_a.txt JTC_outdoor_lowrise_b.txt JTC_outdoor_lowrise_c.txt JTC_outdoor_res__low_a.txt JTC_outdoor_res__low_b.txt JTC_outdoor_res__low_c.txt JTC_outdoor_urban_a.txt JTC_outdoor_urban_b.txt JTC_outdoor_urban_c.txt RAx_6a.txt RAx_6b.txt Tux_12a.txt Tux_12b.txt Tux_6a.txt Tux_6b.txt

58 SystemView Communications Library

Page 59: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Example: See example file CHANNEL.svu In this example the input signal is constant. The token uses one of the included channel models (in text file format). The Q and I outputs of the token are converted to amplitude and phase. After running the example, this data is in the form of a histogram, to show the proper Raleigh amplitude and constant phase statistics.

References: Kaveh Pahlavan & Allen H. Levesque, Wireless Information Networks, John Wiley & Sons, 1995.

59 SystemView Communications Library

Page 60: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Frequency Controlled Pulse Train Abbreviation: FCPT Group: Modulators

Synopsis: This token produces output pulses of the specified width according to the threshold crossings of the input signal. See Also: FMPT Parameters: Parameter Definition Amplitude (V) The amplitude of the output pulses Time Offset (sec) The time delay between the input threshold

crossing and the output pulse Threshold (V) The value that separates a logic one from a logic

zero in the input signal Pulse Width (sec) The width of the output pulse Token Inputs: • Any desired input signal Token Outputs: • A pulse train with pulse separation determined by the positive-going

threshold crossings of the input signal Discussion: When the input signal crosses the specified threshold from below, the token output is a pulse having the above parameters. Example: See example file fcpt_tst.svu. The input is band limited Gaussian noise. The output is a pulse when the input crosses zero from below.

60 SystemView Communications Library

Page 61: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Frequency Modulated Pulse Train Abbreviation: FMPT Group: Modulators

Synopsis: This token frequency modulates a pulse train. See Also: Frequency Controlled Pulse Train, FCPT Parameters: Parameter Symbol Definition Amplitude (V) The amplitude of the output pulse train Frequency (Hz) f 0 The nominal frequency of the pulse train Phase (deg) φ0 The initial phase of the pulse train Mod. Gain (Hz/V) µ The modulation gain of the FM modulator

that produces the pulses Pulse Width (sec) The time width of the output pulse train Token Inputs: • The signal that modulates the frequency of the pulse train Token Outputs: • The frequency modulated pulse train Discussion: The phase of the modulated pulse train is given by: φ (t) = 2π f0 t + 2πµ x(t)∫ dt + φ 0 Mod(2π )

61 SystemView Communications Library

Page 62: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

The token produces a pulse of the specified width whenever φ(t)crosses zero degrees phase from below. This is similar to the VCO token, where a pulse train, at the positive going crossing of the VCO sine wave, replaces the output sine wave. This token can be used as a frequency controlled sampling function used as part of a bit sync loop or an early/late gate PN tracking loop. Example: See example file fmpt_tst.svu. The input to the token is a sine wave. The output pulse train is frequency modulated by the input. Compare the FMPT outputs with the output of the FM modulator in the example.

62 SystemView Communications Library

Page 63: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Gold Code Generator Abbreviation: GoldCode Group: Filters/Data

Synopsis: This token generates the Gold codes commonly used in CDMA spread spectrum systems such as GPS.

Parameters: Parameter Symbol Definition Polynomial 1 The feedback configuration of the first

PN sequence used to describe the code Polynomial 2 The feedback configuration of the

second PN sequence used to describe the code

Initial 1 The initial state of the PN sequence that describes code 1

Initial 2 The initial state of the PN sequence that describes code 2

Logic level 1 The physical output value representing represent a logical 1 in Gold code

Logic level 0 The physical output value representing a logical 0 in Gold code

Shift register size The number of shift registers used to describe the length of the Gold code

Clock threshold The value that separates a logical one from a logical zero in the clock token used to drive the Gold code token

Token Inputs: • Clock token used to drive the Gold Code PN generators.

63 SystemView Communications Library

Page 64: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Outputs: • Desired Gold code. • Output of the 1st Pn signal used to generate the Gold code. • Output of the 2nd Pn signal used to generate the Gold code.

Discussion: Gold codes are commonly employed as a basis set for CDMA spread spectrum systems. The Global Positioning System (GPS) uses Gold codes. Gold codes are well documented in the literature and texts on spread spectrum systems. They are popular because of the low (but not zero) cross-correlation between members of the set. This cross-correlation is lower than the maximum correlation of PN sequences alone. The structure of the codes is shown in the figure below.

PN generator #1

PN generator #2

Initial conditions 1

Initial conditions 2

xGoldCode

Gold Code Generator The two PN generators are of the same length but with different feedback taps. Not all pairs of PN codes are permitted, only “preferred” pairs as discussed in the references. Fixing the initial conditions of PN #1, and varying the initial conditions of PN #2 to obtain the family of Gold codes.

Example: See example file GOLD.svu. This example shows the Gold Code token driven by a clock source. The three outputs are the Gold code and the individual PN codes used to generate it.

64 SystemView Communications Library

Page 65: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

References: Robert C. Dixon, Spread Spectrum Systems with Commercial Applications, John Wiley & Sons, 1994

65 SystemView Communications Library

Page 66: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Gray Encoder/Decoder Abbreviation: Gray Code Group: Encode/Decode

Synopsis: This token performs the Gray encoding and decoding of binary words. Parameters: Parameter Definition Select Operation Choose between encoder and decoder Select Order Choose the Most Significant Bit (MSB) or Least

Significant Bit (LSB) as the first bit of the input code word

Word Size The number of input bits to be encoded Threshold (V) Separates a logical one from a logical zero Token Inputs: • The binary bit stream at one sample per bit to be encoded or decoded Token Outputs: • The Gray encoded or decoded binary bit stream Discussion: Consider an 8PSK system with [1,1,1] input bits. This pattern would normally be transmitted as a phase of 7π /4. At the decoder, the most likely errors are the phases 6π /4, and 8π /4 (or 0). In the latter case, the decoded bit pattern would be [0,0,0]. Thus, a nearest-neighbor symbol error will produce three bit errors. Gray encoding is a procedure for ensuring that nearest-neighbor symbol errors only produce one bit error. Table 1 shows the encoding for 8PSK. The encoded bits, when used with the Bit-to-Symbol token, will produce the transmitted phases as shown in Table 1.

66 SystemView Communications Library

Page 67: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Input Bits Gray Output Bits Transmitted Phase 000 000 0π /4 001 001 1π /4 010 011 3π /4 011 010 2π /4 100 111 7π /4 101 110 6π /4 110 100 4π /4 111 101 5π /4

Table 1. 8PSK Gray Encoding

To see the effect of the Gray encoding, let the input bits be [1,1,1]. From the above table, the transmitted phase is now 5π /4 (rather than 7π /4). The nearest phase error 4π /4, decodes 5π /4 into [1,0,0] and is then Gray decoded to [1,1,0], thus producing only one bit error. In the same way, the nearest neighbor, 6π /4, Gray decodes to [1,0,1], again producing only one bit error. Considerations:

• The encoder and decoder operations are not interchangeable, and must be used in that order.

• The MSB/LSB selection must be the same for both operations.

• When used with a Bit-to-Symbol token, the MSB/LSB selection for those tokens must agree with the Gray encoder selection.

• There is one symbol group delay in both decode and encode, operations.

References: (1) Proakis, J G., Digital Communications, (New York, McGraw Hill, 1989).

67 SystemView Communications Library

Page 68: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Integrate and Dump Filter Abbreviation: Int-Dmp Group: Filters

Synopsis: This token will implement a complete integrate and dump matched filter. Parameters: Parameter Symbol Definition Integration Time (sec) T The time window of the filter Offset (sec) τ A time offset that specifies the start time

of the integration Output Selection One of the following outputs: Continuous,

Impulse, or Hold Value Token Inputs: • The signal x (t) to be filtered Token Outputs: • The filtered signal y (t) as defined below:

y t x t h t

h tT

t T

otherwise

( ) ( ) ( )

( ) ,

,

= ⊗

= ≤ ≤

=

1 0

0

Thus,

y(t) = 0, 0 ≤ t < τ

=1T

x(α )dα,τ

t

∫ τ < t < τ + T

=1T

x(α)dα,t−T

t

∫ t > τ + T

68 SystemView Communications Library

Page 69: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: Despite its common name, the integration need not be reset (dumped) at the end of each integration period T. There is no inter-symbol interference for a matched filter of this type. Sampling at T, 2T, etc., recovers the data for each individual input bit with no interference from other bits. The offset time, τ, controls when the filter first starts to integrate (i.e., turns on). The filter has three modes of operation. 1) Continuous: In this mode, the output y(t) is given by the expression

defined as the Token Output. It is equivalent to filtering the input signal using a filter with frequency response

H ffT

fT( )

sin( )( )

π

The filter turns on at t = τ, so the first valid time output is at t T= +τ . Note, once t T> +τ , the output is independent of τ . Thus, if T=1 sec, and τ 2=1.4 sec, then the output of those filters will be identical for t >1+1.4 (or 2.4 sec).

2) Hold Value: In this mode, y(t) defined as the Token Output is sampled at t T= +τ , τ + 2T, etc. The current sample value is held until the next sample is taken.

3) Impulse: In this mode, y(t) defined as the Token Output is sampled at t T= +τ , τ + 2T, etc. The output is set to zero between each of these sample times.

Example: See example file i&d_tst.svu. In this example we impulse the filter producing the output pulse. This signal is then filtered by an identical token, which produces the triangular matched filter response of the system. This is an example of the continuous mode. As a further example we drive the token with Gaussian noise to illustrate the impulse and sample and hold modes.

69 SystemView Communications Library

Page 70: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

1 a1

Token Name: IEEE Standard 802.11a Interleaver Abbreviation: Intrlv.11a Group: Filters Data

Synopsis: This token will implement the block interleaver associated with the IEEE 802.11a WLAN standard.

See Also:

IEEE Standard 802.11a DeInterleaver

Parameters: Parameter Symbol Definition NONE Token Inputs: • The data to be interleaved Token Outputs: • The interleaved data Discussion: This block interleaver acts on a group of 192 samples per block, at one sample per symbol (bit). It is a two-stage interleaver. There is a 192-sample group delay through the token. The specific algorithm is detailed in the reference cited below. The interleaver followed immediately with the deinterleaver will reproduce the original data with a 364-sample group delay.

References:

IEEE Standard 802.11a 1999 for Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications, High-speed Physical Layer in the 5 GHz band.

70 SystemView Communications Library

Page 71: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Interleaver Abbreviation: Interleave Group: Processors

Synopsis: This token implements a standard block Interleaver. Parameters: Parameter Symbol Definition Mode Select interleave or de-interleave Rows k Number of rows in the interleaver Columns n Number of columns in the interleaver Token Inputs: • The data to be interleaved Token Outputs: • The interleaved data Discussion: This token is a block interleaver. Interleavers are commonly used to spread the effects of channel fading so that error-correcting codes are more effective. The data is input by rows, and output by columns (see Figure 5). The de-interleaver must have k and n reversed from the interleaver. The group delay through the combined interleave/de-interleave process is 2kn samples. The input to the interleaver is not restricted to a digital format. Any data format (signal or waveform) can be used.

71 SystemView Communications Library

Page 72: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

A(1,1) A(1,2) ------ A(1,n).. A(2,1) A(2,2) ------ A(2,n) ------ ------ ------ ------ A(k,1) A(k,2) ------ A(k,n)

Figure 5. Interleaver data rows and columns

The data is read in as: A(1,1), A(1,2), ----, A(1,n), A(2,1), ----,A(2,n), ----,A(k,1), ----, A(k,n) The data is read out as: A(1,1), A(2,1),----, A(k,1), A(1,2), ----, A(k,2), ----, A(1,n),----, A(k,n)

72 SystemView Communications Library

Page 73: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Inverse Sinc Function Abbreviation: InvSinc Group: Filters/Data

Synopsis: This token performs the inverse filter operation for a [sinx/x](sinc) function

Parameters: Parameter Symbol Definition Symbol Time T Time or inverse rate of NRZ signal

Token Inputs: • The input signal to be filtered

Token Outputs: • The desired filtered output signal

Discussion: The power spectral density of an NRZ data waveform, of rate T, has a sinc (πfT)^2 shape. In communication systems it is common to limit the occupied signal bandwidth by using baseband pulse shaping filters such as raised cosine and root-raised cosine. The proper way to generate these signals is to impulse the filters once every T seconds with a value relating to the data (+/-1). Sometimes (from a hardware standpoint) it is difficult to drive the filters with the impulses, so the NRZ waveform is used. In this case, the output spectra, is the product of the desired pulse spectra, and the sinc spectra of the NRZ waveform. The inverse sinc filter is then used to remove the sinc portion of the spectra and finally produce the desired output. This token generates a filter H(f) such that: ( )H f [e 1] / 2 jfT2 jfTπ π− = 1

If fs is the system sample rate, then the relation fsT = m = integer must hold.

73 SystemView Communications Library

Page 74: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Example: See example file INVSINC.svu. This example shows the operation of the Inverse Sinc token by recovering the basic data impulses from the NRZ waveform. This operation is compared to the equivalent operation created with the Sampler and Hold tokens from the SystemView Operator library.

74 SystemView Communications Library

Page 75: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: I-Q Downconverter Abbreviation: IQ Mixer Group: Processors

Synopsis: This token mixes (multiplies) the input modulated signal at RF with sine and cosine signals having the specified frequency. This token is normally used to down-convert an RF signal, thereby producing inphase and quadrature baseband signals. Parameters: Parameter Symbol Definition LO Amplitude (V) A The amplitude of the sine and cosine

signals Frequency (Hz) f 0 The frequency of the sine and cosine

signals IQ Rotate Phase (deg) φ Reference phase of the sine and cosine

signals Amplitude Error (dB) Aerr Amplitude imbalance between the sine

and cosine signals Phase Error (deg) φerr The amount of phase error relative to 90

degrees (between the sine and cosine signals)

Token Inputs: • The signal x(t)to be frequency converted Token Outputs: • = +

• =

0 2

1 10

0

200

: ( ) ( ) ( )

: ( ) ( ) ( ) (

Inphase Signal I t x t Acos f t

Quadtrature Signal Q t x t A sin f tA

err

err

+ +2 )

π φ

π φ φ

75 SystemView Communications Library

Page 76: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Discussion: This token implements a basic element of communication system demodulation. The Q and I outputs of this token are usually followed by an external filter which selects one of the sidebands (usually the lower, or difference frequency). The user must supply this filter. The error terms duplicate the real-world effects of phase and amplitude mismatch in the down-conversion process. A phase mismatch causes “leakage” of the I signal into the Q signal path and visa versa. Example: See example file qam_tst.svu. As part of the QAM example, the IQ Mixer token is used to down-convert the modulated signal into I and Q baseband signals. Also see the example Cost_tst.svu.

76 SystemView Communications Library

Page 77: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Jakes Mobile Channel Abbreviation: Jakes Chn Group: Channel Models

Synopsis: This token will implement Jakes’ algorithm for generating a mobile channel model. See Also: NBI Chn, Rice Chn, Rmlr Chn, Mpath Chn Parameters: Parameter Symbol Definition No. Terms N The desired number of terms in the model Max Doppler (Hz) fm The maximum Doppler frequency spread Token Inputs: • The input signal x(t) to which the fading channel algorithm is applied Token Outputs: • The received fading signal y(t) Discussion: The output of the token, y(t), is given by:

y(t) = ri(t) x̂(t) − rq (t)x(t) Where x̂(t) is the Hilbert Transform of x(t). The Hilbert transform is a band pass operation. Make sure that the signal of interest lies between the frequency limits .1f f .4fs s≤ ≤ fs is the system sample rate.

77 SystemView Communications Library

Page 78: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

In Jakes’ model, the following definitions apply:

[ ]i k k mk

N

r t cos cos f t cos cos f t N( ) ( ) ( ) ( ) ( ) /= +=

∑2 2 2 21

β π α π +2 1

[ ]q k k mk

N

r t cos f t cos f t N( ) sin( ) ( ) sin( ) ( ) /= +=

∑2 2 2 2 21

β π α π + 1

mf = Maximum Doppler frequency = [v/c]fo

kf = mf cos(2πk/L)L = 2(2N + 1)α = π/4

kβ = πk / N

N = the number of terms in the Jakes model.

A range N = 8 - 10 is usually sufficient. The terms ri( t) and rq(t) are the components of the low frequency equivalent transfer function of the channel. The frequency power spectrum of the channel is

P f f f fm m( ) [ ( / ) ]= − −π 1 2 1 Example: See the example file jake_tst.svu.

78 SystemView Communications Library

Page 79: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: M-ary Frequency Modulation Abbreviation: MFSK Group: Modulators

Synopsis: This token performs M-ary frequency modulation. Parameters: Parameter Symbol Definition Transition Phase (deg) Choose between three types of MFSK

modulation Amplitude (V) A Peak amplitude of the output carrier Number of Tones N The number of FM tones in the modulated

sequence Min Frequency (Hz) f min The lowest output tone frequency of the

set Frequency Step (Hz) ∆f The frequency separation between the

tones Rate (Hz) 1/T The symbol rate of the modulating

information. Minimum Input (V) The lowest value of the input modulating

voltage. Maximum Input (V) The highest value of the input modulating

voltage. Token Inputs: • The modulating signal x(t) Token Outputs: • The frequency modulated signal y(t) of the form:

( )y t Asin f t fx kT t kT t k Tk( ) ∃( ) , ( )min= + + ≤ ≤2 2π π φ∆ + 1 Where is an integer 0<∃x(kT) ∃x(kT) <N-1

79 SystemView Communications Library

Page 80: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Discussion: The voltage range between Min and Max Input is divided evenly into N regions labeled by integers 0,1,2…N-1. The input modulating signal x(t) is sampled once every T sec. and quantized down to the nearest region. The appropriate integer is represented by ∃( )x kT . For example if ∆f = = = = =2 Hz; x 1v; x 4v;N 4 and;f 10 Hzmin max min x(kT) = 3.2 Then the range 1-4 v is quantized to 4 regions with boundaries at 1.75, 2.5, and 3.25v. The sampled value 3.2 is in the third region, and is quantized down to the level 2.5 having an integer designation ∃x(kT) =2. The resulting frequency is 10+2*2 = 14 Hz. The difference between the three types of MFSK is in the handling of the phase term from bit to bit. The cases are: 1) Continuous Phase: This is the modulation format equivalent to driving a

VCO with the modulating signal. The frequency changes at each symbol time so that the phase is continuous. There are no discontinuous “jumps” in the output signal. The defining relations are:

φ φ πk k f x kT x k T k T+ = + − + +1 2 1∆ ( )( ) ([ ] ) ( )1

2) Discontinuous Phase: In this format the phase is constant. This is equivalent to switching between free-running oscillators.

3) Reset to zero: This format sets the phase of each tone to zero at the start of each symbol time. This model is appropriate when considering a digital modulation system where each symbol is represented by a specific waveform over the symbol period.

Example: See example file mfsk_tst.svu. The three types of MFSK modulation are generated in parallel from the same data source. Carefully examine the phase of the modulation at the bit transition times. References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

80 SystemView Communications Library

Page 81: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Multipath Channel Abbreviation: Mpth Chn Group: Channel Models

Synopsis: This token implements a general multipath channel. See Also: Rmlr Chn, NBI Chn, Rice Chn, Jakes Chn Parameters: Parameter Symbol Definition Number of Paths N The number of delay paths in the model Max. Delay (sec) The largest delay used in the model K-Factor K The ratio of the direct path to multipath

power Token Inputs: • The direct path signal x(t) Token Outputs: • The combined direct plus multipath signal y(t) Discussion: The output of the token is given by:

y(t) = c0 x(t) + ck x(t − τk )k =1

N

The delays τ k are uniformly distributed U[0, Max. Delay]. The delay coefficients c , are Rayleigh distributed with variance . The total power in the channel is constrained by the relation:

k σ 2

c0

2 + Nσ 2 =1

81 SystemView Communications Library

Page 82: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

The K-factor is defined by:

K =c0

2

Nσ 2

From which the relations:

c02 =

K(K +1)

σ 2 =1

N(K +1)

Are determined. Example: See example file mp_tst.svu. The best way to see the operation of this token is to excite it with a delta function input. The output will then be a series of delta functions with time location and amplitude distribution as specified by the input parameters. References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

82 SystemView Communications Library

Page 83: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Narrow Band Interferer Abbreviation: NBI Group: Channel Models

Synopsis: The token generates unmodulated (cw) tones over prescribed frequency range. See Also: Jakes Chn, Rmlr Chn, Rice Chn, Mpth Chn Parameters: Parameter Symbol Definition Frequency Distribution

Choose between uniform or random

Number of NBI N The number of NBI interferes desired Min Amplitude (V) The smallest amplitude of any interferer Max Amplitude (V) The largest amplitude of any interferer Min Frequency (Hz) The lowest NBI frequency Max Frequency (Hz) The highest NBI frequency Frequency Space (Hz) For random frequency distribution, the

spacing between the tones Token Inputs: • The input signal x(t) to which the NBI signals are added Token Outputs: • The combined signal plus interference signal y(t) Discussion: The output signal y(t) is given by:

( )y t x t A Sin f tkk

N

k k( ) ( )= + +=

∑1

2π φ

83 SystemView Communications Library

Page 84: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Where N is the number of NBI.

84 SystemView Communications Library

Page 85: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

The phase φk of each NBI is distributed U[0,2π ]. The amplitude of each NBI is distributed U[Min. Amplitude, Max. Amplitude]. The frequency of each NBI is dependent on the specified Frequency Distribution mode:

Ak

f k

• Random: In this mode the NBI frequencies are chosen randomly over [Min Freq., Max. Freq.]. The tones will be placed on frequencies separated by the Frequency Spacing parameter. Choosing Frequency Spacing = 0 is permitted, and will distribute the frequencies continuously over the specified range.

• Uniform (Equal): In this mode the NBI frequencies are equally spaced over the specified frequency range. The Frequency Spacing parameter is ignored in this mode.

Example: See example file nbi_tst.svu. In this example, the two NBI modes are placed side by side. Five NBI tones are added to a single tone “desired” signal.

85 SystemView Communications Library

Page 86: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Noncoherent MFSK Demodulator Abbreviation: FSK Dmod Group: Demodulators

Synopsis: This token performs the optimum maximum likelihood detection of a non-coherent MFSK modulation system. See Example File: MFSK_dect.svu Parameters: Parameter Symbol Definition Number of tokens N The number of tones is the FSK set Symbol rate R The rate of the modulated symbols Carrier Frequency fo The lowest frequency of the FSK set Frequency spacing ∆f The frequency spacing that separates the

tones in the FSK set. Token Inputs: • The input signal MFSK modulated signal y(t) to be demodulated. Token Outputs: • An integer k, 0≤ k ≤N-1 that represents which input carrier produces the

largest test statistic as described below. Discussion: Incoherent MFSK is a common form of digital communication signaling. The tone spacing is usually taken to be ∆f = R. With this choice, the individual signals are orthogonal.

86 SystemView Communications Library

Page 87: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

The form of the signal with the k’th frequency is given by;

y (t) Asin[2 f t ] 0 t T 1 / Rf f + k f 0 k N -1

y (t)y (t)dt = 0 k m

k k

k

k0

T

m

= + ≤ ≤ == ≤

≠∫≤

π φ

o ∆

Com

m L

ibra

ry

The optimum detector forms N statistics; z 0 p Np , 1≤ ≤ − Where;

z [ y(t)cos(2 f t)dt] [ y(t)sin(2 f t)dt]p p2

0

T

p2

0

T= +∫ ∫π π

The value of p that produces the largest value is reported out. This is the theoretically optimal detection algorithm for this case. References: (1) Sklar, Bernard, Digital Communications Fundamentals and Applications, (New Jersey, Prentice Hall).

87 SystemView Communications Library

Page 88: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Numerically Controlled Oscillator Abbreviation: NCO Group: Processors

Synopsis: This token implements a digital NCO. Parameters: Parameter Symbol Definition Amplitude Bits n The number of bits used to quantize the

output sine wave amplitude Accumulator Bits k The number of bits used to quantize the

phase accumulator Phase Bits m The number of accumulator bits used to

quantize the output phase Set Frequency (Hz) f 0 The initial frequency of the output sine

wave Set Phase (deg) φ0 The initial phase of the output sine wave Token Inputs: • The desired NCO frequency modulation f(t) • The desired NCO phase modulation φ (t) Token Outputs: • In phase signal: [ ]( )I t A Sin f t f t t( ) ( ) ( )= ⋅ + + +2 0 0π φ φ

• Quadrature signal: [ ]( )I t A Cos f t f t t( ) ( ) ( )= ⋅ + + +2 0 0π φ φ

88 SystemView Communications Library

Page 89: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: The NCO can be frequency and phase modulated by varying the input signals. In addition, a basic frequency and phase offset can be specified. The basic block diagram is shown in Figure 6. The accumulator register is a k bit representation of the instantaneous phase of the NCO. At every system clock time the accumulator is incremented by the sum of the seed frequency and the instantaneous external frequency according to,

Acc t Acc t f f t( ) ( ) (+ )= + +1 0 The m most significant bits of the accumulator are converted into a phase

, which is added to the Set Phase, φacc φo , and to an m-bit representation of the external phase, φ (t).

ˆ φ (t +1) = φ0 + φ(t +1) + φacc (t +1)

The final phase φ∧

is used to compute the outputs Sin(φ∧

) and Cos(φ∧

), which are quantized to n bits.

Figure 6. NCO token block diagram Example: See example file nco_tst.svu. The NCO in the example is frequency and phase modulated.

89 SystemView Communications Library

Page 90: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Orthogonal Frequency Division Modulator Abbreviation: OFDMMod Group: Modulators

Synopsis: This token performs the forward modulation of data in the OFDM format.

Parameters: Name Symbol Definition Samples/block N The number of OFDM

symbols transmitted per block

Symbol Time (sec) Ts The block time Guard Time (sec) ∆ The guard time interval

Token Inputs: • I channel data signal to be transmitted, Ckr

• Q channel data signal to be transmitted, Cki

Token Outputs: • I channel modulated signal, Zmr

• Q channel modulated signal, Zmi

Discussion: The OFDM modulator is a multi-carrier operation that uses an FFT-type algorithm for implementation. This type of modulation is robust against frequency-selective fading. In systems using this modulator, the fade will generally ‘knock out’ only one of the carriers. Coding and interleaving can then be used to recover the missing data. If wideband modulation is used, an equalizer is required to combat the selective fade. The basic equation used (complex operations) is;

90 SystemView Communications Library

Page 91: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

s

N/2)t/Tj(k21N

0kk

Tto

eCZ(t) u

≤≤

= −−

=∑ π

Where; The complex input data points are C C jCk kr ki= + The useful carrier time is ∆−= sTT Each term in the summation is a carrier, at a frequency that is a multiple of 1/Tu. The token operates on a block-by-block basis. Note that the ‘0’ frequency term corresponds to the N/2 term of the input block. Note the similarity of the above expression to the DFT algorithm. Because SystemView is a time-discrete simulator, the continuous-time variable must be evaluated in multiples of some basic sample rate fo = N/Tu. By this definition, the FFT algorithm can be employed to greatly increase the speed of the calculation. The output Z(t) then reduces to:

Z(t) Z(m / T ) Z Z jZu m mr= = = + mi

Timing Issues: The input sample rate of the token is given by f N / Ts s= . The N complex data points are buffered up to cover seconds. Therefore the output sample rate is . The FFT operation, produces a signal seconds long. This signal is extended over the guard time ∆ to cover the original time . The total number of points at the augmented rate fu over the time Ts must be an integer.

Ck Tu

f N / To = u Tu

Ts

Therefore, Ts and ∆ are not completely independent of each other, must be an integer, and are governed by the requirement: T * N / T T * N / [T ]s u s s= − ∆

91 SystemView Communications Library

Page 92: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Caution: since the output rate can be higher than the input rate, the input cannot be at the SystemView master sample rate. The system design must include some form of decimation before the data is input into the token.

Example: See example file OFDM.svu. This file is a back-to-back example of the OFDM modulator and the OFDM demodulator tokens. A simple delay token is used to represent system group delay. The demodulated output agrees with the data input.

92 SystemView Communications Library

Page 93: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Orthogonal Frequency Division Demodulator (OFDM)

Abbreviation: OFDMDmod Group: Demodulators

Synopsis: This token performs the inverse of the modulation of data in the OFDM format.

Parameters: Parameter Symbol Definition Samples/block N The number of OFDM symbols

transmitted per block Symbol Time (sec) Ts The block time Input Delay (sec) Controls the start time of the data

block to be demodulated Guard Time (sec) ∆ The guard time interval

Token Inputs: • I channel modulated signal, Zmr

• Q channel modulated signal, Zmi

Token Outputs: • I channel data signal to be transmitted, Ckr

• Q channel data signal to be transmitted, Cki

93 SystemView Communications Library

Page 94: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Discussion: The demodulator performs the inverse operation of the modulator. The portion of the signal over which contains N points of data is used for the demodulation. These N points are processed via the inverse of the DFT used by the modulator. The output is then the original data .

Tu

Ck

Because of system group delays, the data block into the decoder may have time shifts that are not integral numbers of the time block. (The Input Delay parameter) is used to tell the demodulator where the start of the block occurs in time. This value can be established by cross-correlating the modulator output with the demodulator input.

Ts

Like the modulator, there is a rate change through the demodulator. In the demodulator this rate change is in reverse order compared to the modulator. The input rate should be =1/ , and the output rate is

= 1/ . fo Tu

fs Ts

94 SystemView Communications Library

Page 95: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Phase Lock Loop Abbreviation: PLL Group: Demodulators

Synopsis: This token implements a third order phase lock loop. See Also: Costas Loop Parameters: Parameter Symbol Definition VCO Frequency (Hz) Nominal frequency of the VCO VCO Phase (deg) Initial phase of the VCO Mod Gain (Hz/V) Modulation gain of the VCO LPF Bandwidth (Hz) The 3 dB bandwidth of a nine-pole Bessel

LPF filter which removes the double frequency term from the loop

Loop Filter 1/s coefficient

a The coefficient of the 1/s term in the loop filter 1 2+ +a s b s/ /

Loop Filter 1/s2 coefficient

b The coefficient of the 1/s2 term in the loop filter 1 2+ +a s b s/ /

Mixer Input Signal Choose between a sinusoid or a hard limited VCO signal into the mixer

PLL Input Limiter Choose between the normal input or a hard limited input to the mixer

Value of N VCO frequency is divided by the value of N before returning to mixer.

Limiter input Max (±V)

PLL limiter maximum input value

Limiter Output Max (±V)

PLL limiter Maximum output value

Com

m L

ibra

ry

95 SystemView Communications Library

Page 96: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Inputs: • The input signal x(t) to be demodulated Token Outputs: • The frequency error term out of the loop filter that drives the VCO (this is

the information content of a frequency modulated signal) • The phase error of the loop, which is the information content of a phase

modulated signal • The VCO output signal Discussion: If the input signal is FM modulated then frequency error output will be the demodulated information. The PLL is capable of locking onto a signal having a constant Doppler rate without any residual phase error. The loop filter is of the form F(s) = 1+a/s+b/s2.

PLL token block

diagram

PLL token block diagram

96 SystemView Communications Library

Page 97: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Parameters: Because of the wide nature of signals that can be demodulated, it is hard to give a definitive set of parameters that will demodulate the signal properly in all cases. For example, as is well known, the loop bandwidth of a PLL is dependent on the amplitude of the received signal. A good starting point is to force the input amplitude to 1 and eliminate any Doppler offsets. Then a value of a= 0, b=0, and µ = .1*[system sample rate] should be a good first cut. Example: See example file pll_tst.svu. The PLL in this example is used as a frequency demodulator. The PLL output is the demodulated information, and agrees with the input to the modulating FM token. The slight delay in the output is due to the group delay of the lowpass filter. Also see the example file pll.svu. References: (1) Proakis, J G., Digital Communications, (New York, McGraw Hill, 1989)

97 SystemView Communications Library

Page 98: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: PN Generator Abbreviation: PN Gen Group: Processors

Synopsis: This implements a maximal-length PN code generator. Parameters: Parameter Symbol Definition Register Length k The number of stages in the code

generation logic circuit (the maximum length is 33)

Seed The initial state of the code generator in two’s complement form

Clock Threshold The level that separates a one from a zero as defined for the clock that drives the code generator

True Output The value of a logical one in the output signal

False Output The value of a logical zero in the output signal

Register Taps The set of tap values used in the feedback

Token Inputs: • The clock signal that drives the PN code logic Token Outputs: • The desired PN code at the input clock rate

98 SystemView Communications Library

Page 99: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: Below is a structure for a k = 3 PN encoder with taps 1 and 3 connected to a feedback path. This is a general encoder and any set of feedback taps can be used. Only certain combinations will produce a maximal sequence of 2k - 1 bits before repeating. This token supports all combinations listed in Table 3.7 of reference (1), and their inverses. The default value for each K is taken from this set. Selecting a set of taps that are not listed causes a warning message. The seed is the initial state of the encoder, an integer from zero to 2k. A seed of zero produces a code of all zeroes. SystemView prompts a caution if the value is entered. The token converts any seed value entered, into the integer range. Tip: a seed of -1 initializes all k registers with a one. Example: See example file pn_corr.svu. This shows a sliding PN correlator, used to synchronize spread-spectrum systems. The two PN tokens are the same code, driven by different rate clocks. The faster clock channel is delayed, so this PN code will “catch up” with the other path. The two PN codes are multiplied together (XOR), with the result being filtered. The filtered output will maximize when the two codes are in time sync.

Figure 8. A three-stage PN encoder References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7 (2) Dixon, Robert, Spread Spectrum Systems with Commercial Applications,

(John Wiley and Sons, 1994)

99 SystemView Communications Library

Page 100: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Pulse Position Modulator Abbreviation: PPM Group: Modulators

Synopsis: This token implements a pulse position modulator See Also: Pulse position demodulator, PPD Parameters: Parameter Definition Min. Input (V) Minimum value of the input modulating signal Max. Input (V) Maximum value of the input modulating signal Rate (Hz) The symbol rate of the modulating signal Pulse Width (sec) The time width of the output modulated pulse Pulse Shape The desired pulse shape Token Inputs: • The modulating signal Token Outputs: • The modulated PPM signal Discussion: The input signal is sampled at the specified rate. If the sample amplitude value is not between the specified min and max input, it is hard-limited to this range. The PPM modulator outputs a pulse of the specified width and shape at a time that is proportional to the amplitude value of the input. The pulse never overlaps into an adjoining symbol period. Example: See example file ppm_tst.svu. In this example, an information source is PPM modulated and immediately demodulated by the PPM Demodulator token. The output of the demodulator agrees with the modulating information.

100 SystemView Communications Library

Page 101: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Pulse Position Demodulator Abbreviation: PPD Group: Demodulators

Synopsis: This token implements a pulse position demodulator. See Also: PPM, PWM, PWD Parameters: Parameter Definition Min. Output (V) The minimum value for the demodulated signal Max. Output (V) The maximum value for the demodulated signal Pulse Width (sec) The input pulse width Rate (Hz) The symbol rate of the input signal Time Offset (sec) The time marker that denotes the beginning of the

symbol time Pulse Shape The shape of the pulse generated Token Inputs: • The input modulated signal x(t) Token Outputs: • The demodulated signal y(t) Discussion: Over each symbol period, the pulse position is determined by an integrate and dump matched filter. The filter output is amplitude scaled to produce the specified output signal amplitude range. Example: See example file ppm_tst.svu. In this example, an information source is PPM modulated and immediately demodulated by the PPD token. The output of the PPM Demod token agrees with the modulating information.

101 SystemView Communications Library

Page 102: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Pulse Shape Abbreviation: P Shape Group: Processors

Synopsis: This token performs baseband pulse shaping of the input. Parameters: Parameter Symbol Definition Pulse Shape The desired pulse shape Offset (sec) t0 The time offset of the start of the pulse Width (sec) T The time width of the pulse to be shaped Standard Deviation For a Gaussian pulse, the standard

deviation Token Inputs: • The input baseband waveform x(t) Token Outputs: • The product of the input x(t), and the pulse shape waveform p(t):

y(t) = p(t-t0)x(t)

The waveform p(t) is given by:

p(t) = p(t − kT )k = −∞

And, p(t-kT) = p(t) .

The basic pulse shape p(t) is defined below. All pulses are normalized such that p(T/2) = 1.

102 SystemView Communications Library

Page 103: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Bartlett: p(t) = 2t/T, 0 < t < T/2

=2(T–t)/T, T/2 < t < T Hanning:

p(t) = 0.5(1–cos[2π t/T]), 0 < t < T Hamming:

p(t) = 0.54–.46cos(2π /T), 0 < t < T Blackman:

p(t) = 0.42–.50cos(2π t/T)+.08cos(4π t/T), 0 < t < T Gaussian:

p(t) = exp[–(t − T/2)2 / 2σ 2 ], 0 < t < T Discussion: Baseband pulse shaping, or windowing, is a standard technique for reducing the modulation bandwidth of digital signals. The performance of these and other windows are given in many textbooks. Example: See example file pulse.svu. In this example file, the basic modulated waveform for each of the above pulse shapes is generated side-by-side. After executing, go to the analysis window and zoom the graph around one pulse. You will see the appropriate waveforms. Also compare their spectra. In particular note the width of the main lobe and the frequency structure. Compare these results with the theoretical predictions.

103 SystemView Communications Library

Page 104: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: PSK Demodulator Abbreviation: PSK Dmod Group: Demodulators

Synopsis: This token demodulates arbitrary MPSK modulated signals. It operates in three modes: coherent, differentially coherent, or incoherent. Parameters: Parameter Definition Modulation Type Choose between coherent, differentially

coherent, or incoherent Number of Symbols M Specifies the order of the MPSK

modulation (M = 2 is BPSK, M = 4 is QPSK, M = 8 is 8PSK, etc.)

Rotation (deg.) φ Describes the orientation of the MPSK signal constellation (A value of φ = 0 places one point of the constellation [the zero code] at zero degrees, and spaces the succeeding points counter clockwise spaced by a value of 360/M degrees. For a specific value ofφ , the first point of the constellation is at φ degrees.)

Token Inputs: • The inphase (cosine) baseband samples at one sample per symbol • The quadrature (sine) baseband samples at one sample per symbol. Token Outputs: • The hard-decision symbols (integers 0 to M-1) • The hard decision phase (radians)

104 SystemView Communications Library

Page 105: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: The mathematical expression for the k-th symbol, θk , of an MPSK signal transmitted on a carrier at frequency is given by; f 0

yk (t) = Iksin[2πf0t] + Qkcos[2πf0t] kT ≤ t < (k +1)TIk = cos[θk ] Qk = sin[θk ]

At the receiver, the signal has the representation; yk (t) = Iksin[2πf0t + α ] +Qkcos[2πf0t +α ] kT ≤ t < (k + 1)T

= cos(θk + α )sin[2πf0t] + sin(θk + α )cos[2πf0t]

Where α is an arbitrary phase introduced by the system propagation delay, or is the result of down conversion by oscillators having a phase offset, relative to the incoming signal. The two inputs to this token are sin[θ αk + ] and cos[θ αk + ]. In order to properly recover θ k , one must contend with α . This token provides for the three standard algorithms for contending with the phase α : 1) Coherent Demodulation: In this case, it is assumed that α is known

exactly. This can be accomplished by sending a known preamble signal from which α can be derived before the actual data is transmitted.

2) Differentially Coherent Demodulation: A common technique for establishing α is to employ carrier-tracking loops. The Costas loop has long been employed for BPSK systems. A feature of such algorithms is that for an MPSK signal there is an M-fold ambiguity in the lock position. The Costas loop can lock at zero or π . The solution is to differentially encode the data before transmission, and differentially decode after demodulation. The algorithm makes a hard decision on each symbol and then subtracts successive hard decisions to recover the actual information.

105 SystemView Communications Library

Page 106: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

3) Incoherent Demodulation: In this algorithm, α is not estimated at all. The data again is differentially encoded before transmission. The demodulator makes a hard decision on the difference between two demodulated phase symbols (as opposed to subtracting hard decisions described above, under Differentially Coherent Demodulation). Thus, the unknown α is subtracted out before the data is recovered.

References: (1) Proakis, J G., Digital Communications, (New York, McGraw Hill, 1989).

106 SystemView Communications Library

Page 107: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Pulse Width Demodulator Abbreviation: PWD Group: Demodulators

Synopsis: The token demodulates Pulse Width Modulated (PWM) signals. See Also: Pulse width modulator, PWM Parameters: Parameter Definition Min. Output (V) Minimum value of the output Max. Output (V) Maximum value of the output Rate (Hz) The symbol rate of the input signal Time Offset (sec) A time marker that specifies the input symbol data

start time Output Type Choose between a hold (continuous) or pulse

(sampled) output Pulse Shape The shape of the input pulses Token Inputs: • The signal to be demodulated Token Outputs: • The demodulated signal Discussion: Using the time offset as a reference, the demodulator integrates the input over the symbol period (matched filter). At the end of the period the integrator is normalized by the symbol time. This value is then scaled to produce an output between Amin and Amax.

107 SystemView Communications Library

Page 108: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Example: See example file pwm_tst.svu. In this example an information source is PWM modulated and immediately demodulated by the PWM Demodulator token. The output of the PWM Demodulator token agrees with the modulating information.

108 SystemView Communications Library

Page 109: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Pulse Width Modulator Abbreviation: PWM Group: Modulators

Synopsis: This token implements a Pulse Width Modulator. See Also: PPD, PWD, PPM Parameters: Parameter Symbol Definition Min. Input (V) Minimum value of the modulating signal Max. Input (V) Maximum value of the modulating signal Rate (Hz) R The symbol rate of the modulated signal Pulse Shape The shape of the modulator output pulses Token Inputs: • The modulating signal Token Outputs: • The pulse width modulated signal Discussion: The input signal is sampled at a rate specified by the input rate parameter. If the sample does not lie between the specified minimum input and maximum input, it is hard-limited to this range. The output pulse width is in proportion to the sample value.

PW K X KT XX X R

( ) ( ) ( )=−

−min

max min

1

The output pulse never overlaps into an adjoining symbol time. Example: See example file pwm_tst.svu. In this example, an information source is PWM modulated and immediately demodulated by the PWM Demodulator token. The PWM Demodulator output, agrees with the modulating information.

109 SystemView Communications Library

Page 110: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Puncture Abbreviation: Punct Group: Encode/Decode

Synopsis: This token performs the puncture operation used to change the effective rate of a convolutional error correcting code. In general terms, certain bits of the encoded convolutional code bit stream are removed before transmission.

Parameters: Parameter Symbol Definition Constraint Length l The constraint length of the rate ½

convolutional encoder output to be punctured.

Code Rate Determines the puncture rate and pattern to be used

Start Offset (sec) Determines the start time of the bit pattern to be punctured

Token Inputs: • The output of the rate ½ convolutional encoder of constraint length l x(t)

Token Outputs: • The punctured data stream y(t)

Discussion: The rate, R, of a convolutional encoder is the ratio of the input to output bits i.e. R = k/n. The smaller the value of R, the greater is the bandwidth required to transmit the data. Thus a code of R=2/3 has less bandwidth expansion than one of R =1/2. While it is possible to directly generate an R = 2/3 code, the decoder is greatly simplified if this code rate is obtained by eliminating one (1) of every four (4) of the output encoded bits of a rate ½ code.

110 SystemView Communications Library

Page 111: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

A rate ½ code has four (4) output bits for every two (2) input bits. Eliminating one (1) of four (4) of the output bits produces a rate 2/3 code. This logic can be extended to puncture an R = ½ code to an R = m/[m+1] code. The puncture pattern depends on both the constraint length of the convolutional code and the desired puncture parameter m. A detailed chart of the puncture pattern implemented is given in the reference document below. For each constraint length there is a preferred polynomial configuration for the original code. The convolutional encoder/decoder tokens allow for any code descriptor polynomial. Below is an excerpt from the complete table provided in the reference document. A “1” indicates a transmitted bit and a “0” indicates a punctured or eliminated bit. The first row for R = 1/2 provides the preferred code polynomials in octal form. The upper bit pattern is produced by the upper code polynomial and the lower bit pattern is produced by the lower polynomial in the encoding process.

Constraint Length code rate 3 4 5 6 7 8 9 1/2 1 (5)

1 (7) 1 (15) 1 (17)

1 (23) 1 (35)

1 (53) 1(75)

1 (133) 1 (171)

1 (247) 1 (371)

1 (561) 1 (753

2/3

10 11

11 10

11 10

10 11

11 10

10 11

11 10

3/4

101 110

110 101

101 110

100 111

110 101

110 101

111 100

Note that the token automatically changes the rate of the data stream from the input rate to the appropriate output encoded rate.

111 SystemView Communications Library

Page 112: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Example: See Example File: PUNCTURE.svu. This example is a complete BER simulation of a convolutional encode with puncture/depuncture. The puncture token removes the data bits according to the puncture table, and a depuncture token reinserts the null symbol before the convolutional decoder. The convolutional decoder must be set to work with soft decisions.

References: (1) Yutaka Yasuda et.al, High-Rate Punctured Convolutional Codes for Soft Decision Viterbi Decoding, IEEE Transactions On Communications, Vol. COM-32, No. 3, March 1984, P 315

112 SystemView Communications Library

Page 113: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Quadrature Amplitude Modulation Detector Abbreviation: QAMDet Group: Demodulators

Synopsis: This token performs optimum (nearest neighbor) detection of an arbitrary Quadrature Amplitude Modulated QAM signal

Parameters: Parameter Symbol Definition Constellation size N The number of signal points in the

constellation X spacing ∆X The separation between columns (I)

in the constellation Y spacing ∆Y The separation between rows (Q) in

the constellation Symmetry Flag When selected, allows the decoder to

make its decision in ¼ the time required for the general case

External File When selected, imports the QAM constellation configuration information contained in an external text file

Token Inputs: • I component of the signal to be demodulated • Q component of the signal to be demodulated

Token Outputs: • Detected I component of the signal • Detected Q component of the signal

113 SystemView Communications Library

Page 114: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Discussion: QAM signals are commonly employed in digital communication systems, especially in telephone modems. The higher the order of the QAM constellation, the less bandwidth is required to transmit the signal. The following relation gives the QAM signal:

y(t) I cos(2 f t) Q sin(2 f t)k c k c= +π π Where and take on discrete values over a symbol time. The signal is commonly described in terms of a constellation plot of the possible combinations of Q and I.

I k Qk

The figure below shows the constellation plot for 16QAM.

SystemView

-2.2

-2.2

-1.2

-1.2

-200.e-3

-200.e-3

800.e-3

800.e-3

1.8

1.8

-1

-500.e-3

0

500.e-3

1

Q C

HAN

NEL

I CHANNEL

16 QAM CONSTELLATION

∆X

∆Y

rcvdI,Q

nearestneighbor

114 SystemView Communications Library

Page 115: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

The received I and Q points may take any value due to noise, inter-symbol interference or other impairments. The ideal detector assigns the received vector to the nearest possible constellation point and reports the appropriate I/Q pair as shown in the figure above. With the External File deselected (default), the constellation is assumed to have a number of points (N = 4, 16, 64, etc.) with sqrt (N) points on each side. The constant spacing between the rows (∆Y) and columns (∆X) are user-specified token parameter entries.

Symmetry Flag: The symmetry flag is used to identify constellations that have the following properties that are exhibited by most constellations:

• The constellation is symmetric with respect to the I and Q axis • No constellation points fall on the I, Q axis

With this symmetry condition, the decoder needs to search only the I, Q quadrant where the received signal arrives, reducing the time by 75%.

External File Structure: When External File is selected, a file containing the desired constellation must be selected. Click Browse or enter the file path manually in the parameter entry field. The external file structure for a QPSK constellation is shown, the data starts on the third line.

4I Q1 11 -1

-1 1-1 -1 qpsk.txt

N is the number of points in the constellation. An arbitrary constellation of I, Q points may be specified.

115 SystemView Communications Library

Page 116: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Example: See example file QAMDET.svu. This file is a 16QAM example. The input Q data and I data are corrupted by noise and the result entered into the QAM Detector. The QAM Detector computes the nearest point in the constellation.

Constellation data is provided as a text file. The user selects the desired file in the QAM Detector parameter window. The output from the token are the I and Q values associated with the constellation point.

References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7 (2) Proakis, John G. Digital Communications, McGraw-Hill, 1989

116 SystemView Communications Library

Page 117: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Quadrature Amplitude Modulation Mapper Abbreviation: QAMMap Group: Processors

Synopsis: This token allows the user to assign an arbitrary I, Q value to an input symbol value.

Parameters: Parameter Symbol Definition Number of points N The number of points in the

constellation Constellation File The name of the file containing the

constellation description

Token Inputs: • Input symbols which are decoded by the table into the assigned I, Q

outputs.

Token Outputs: • I value associated with the input symbol value • Q value associated with the input symbol value

Discussion: This token allows the user to describe an arbitrary QAM constellation in terms of input symbols. The example file shown below best describes the use. An input symbol is mapped to the Q, I pair [1,1], while the input symbol 8 is mapped to [1, -1]. By associating bit patterns to the symbols, it is possible to assign any bit pattern to any QAM constellation point. This is useful when Gray encoding of the constellation is desired as is the case with most modem designs. In this case the bit patterns associated with nearest neighbors (the most likely error) differ in only one bit position.

117 SystemView Communications Library

Page 118: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

File Structure: n=16

0 1.1 1.08 1 1.1 3.88 2 2.9 .88 3 3.05 2.89 4 -1.1 1.1 5 -1.5 3.7 6 -2.77 .98 7 -3.22 3.22 8 1.33 -1.54 9 .90 -2.90 10 3.22 -1.22 11 3.33 -3.43 12 -1.21 -1.12 13 -1.01 -2.95 14 -3.0 -1.12

15 -3.004 -3.098

16QAM.txt In this file, the constellations points are intentionally taken to be general floating-point numbers. This allows for complete flexibility in defining the constellation. The input symbol data is quantized to the nearest symbol number and the appropriate I, Q numbers are the output.

118 SystemView Communications Library

Page 119: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Example: See example file QAMMAP.svu. This file shows the operation of the QAMMAP and QAMDEMAP tokens. The ramp source generates symbols which are converted to I, Q pairs according to a user-defined text file specified in the QAMMAP token parameter window. The QAMDEMAP token then recovers the original data ramp.

References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

119 SystemView Communications Library

Page 120: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Quadrature Amplitude Modulation DeMapper

Abbreviation: QAMDmap Group: Processors

Synopsis: This token lets the user assign an arbitrary symbol value to an I, Q input value

Parameters: Parameter Symbol Definition Number of points N The number of points in the

constellation Constellation File The name of the file containing the

constellation description

Token Inputs: • I channel signal • Q channel signal

Token Outputs: • The symbol associated with the input I, Q signals as specified in the

Constellation file.

120 SystemView Communications Library

Page 121: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: This token performs the inverse of the QAM Mapper operation. As shown in the example file, the two tokens encode the data and then decode this signal back to the original data.

File Format: Refer to QAM Mapper token description.

Example:

See example file QAMMAP.svu. This file shows the operation of the QAMMAP and QAMDEMAP tokens. The ramp source generates symbols which are converted to I, Q pairs according to a user defined text file selected in the QAMMAP token parameter window. The QAMDEMAP token then recovers the original data ramp. References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

121 SystemView Communications Library

Page 122: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Quadrature Modulation Abbreviation: Q Mod Group: Modulators

Synopsis: This token will implement general Quadrature modulation. See Also: MFSK, DSB-AM Parameters: Parameter Symbol Definition Amplitude (V) A The amplitude of the quadrature

modulated sine and cosine signals Frequency (Hz) f c The frequency of the quadrature

modulated sine and cosine signals Phase (deg) φ The initial phase of the quadrature

modulated sine and cosine signals Token Inputs: • The in-phase I(t)) signal to be modulated • The quadrature Q(t) signal to be modulated Token Outputs: • The QAM modulated signal y(t)

122 SystemView Communications Library

Page 123: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: This token is the heart of many digital communications systems. The token transfer function is:

y(t) = A I(t)cos 2πfct +φ( )+ Q(t)sin 2πfct +φ( )[ ] I(t) and Q(t) are the two token inputs. If I(t) = cosθ k , and Q(t) = sinθ k , the token acts as a MPSK modulator. If each input is one of 2k levels, then the modulation is QAM. If k = 4, for example, a 256 QAM signal results. Example: See example file qam_tst.svu. The Quadrature Modulator is generating a 16 QAM constellation. The I-Q Mixer token acts as the demodulator. See the corresponding qam.svu example file in the main SystemView folder.

123 SystemView Communications Library

Page 124: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Rice Fading Channel Abbreviation: Rice Chn Group: Channel Models

Synopsis: This token implements a Rician amplitude-fading channel. See Also: Rmlr Chn, Jakes Chn, Mpth Chn, NBI Chn, Appendix C Parameters: Parameter Symbol Definition Correlation Time (sec) Tcorr The amplitude fading rate Factor K The Rician factor that controls the ratio

between direct and scattered energy Token Inputs: • The input signal x(t) to the fading channel Token Outputs: • y(t) = x(t) z(t), where z(t) is the fading amplitude Discussion: The model for this system is a direct path with a large number of scatters, each of which produce amplitude attenuated paths having a delay significantly less than the reciprocal of the signal bandwidth.

124 SystemView Communications Library

Page 125: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

The fading amplitude z(t) is given by:

z(t) = x1(t)2 + A + x2 (t)( )2

Where x1(t) and x2(t) are Gaussian random variables N(0, σ ). The power in the fading channel is normalized to unity by the constraint:

2σ 2 + A2 = 1 The values of A and σ are determined from the Rician factor K = A2 + 2σ 2 by:

A = K /(K +1)

σ = 1/ 2(1 + K)

K= 0 is a purely diffuse channel, while K= ∞ is a purely specular (no fading) channel. The fade rate of z(t) is specified by the parameter Tcorr. The random variables x1(t) and x2(t) are filtered by a one-pole filter with time constant Tcorr and scaled to preserve σ . The basic assumption here is that the fade rate is slow compared to the signal-symbol rate. Thus, the signal phase shift associated with the fade, arctan ( / ), is constant over that time, and can be eliminated by differential encoding/decoding.

x1 x2

Example: See example file rice_ber.svu. In this example, the effects of Rayleigh fading on a communication channel are studied. Two cases, one with and one without fading are simulated side-by-side. The BER of both channels are computed and compared with the theoretical fading BER result.

125 SystemView Communications Library

Page 126: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Rummler Fading Channel Abbreviation: Rmlr Chn Group: Channel Models

Synopsis: The token implements a Rummler three-path fading channel often used to model digital-microwave links. See Also: Rice Chn, Mpth Chn, Jakes Chn, NBI Chn, Appendix B Parameters: Parameter Symbol Definition Delay Time (sec) τ The time delay factor associated

with the theory Correlation Time (sec)

The time between changes in the channel parameters

Token Inputs: • The input signal x(t) to the fading channel Token Outputs: • The resulting fading signal y(t)

126 SystemView Communications Library

Page 127: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Discussion: The Rummler channel is a three-path model that contains a combination of direct and reflected energy. The reflected signal shifts the amplitude and phase of the direct signal. The frequency transfer function of the channel is given by:

H( f ) = a 1 − be2 πj( f − f 0 )τ( ) Where a, b, and f0 are statistical parameters of the model. In the time domain the transfer function is:

y(t) = ax(t − abcos(2πf0τ )x(t −τ ) + absin(2πf0τ ) ˆ x (t −τ ) Where ˆ x (t) is the Hilbert Transform of x(t). Example: See example file rml_tst.svu. A typical application for this model is an 8-PSK digital microwave link having a carrier frequency of 6 GHz and a 90 Mbps data rate. The symbol rate is 30 Msps. This is a good example to illustrate the discussion on simulations in the Introduction to this User Guide. We have 200 carrier cycles per symbol. At a safe number of 10 samples per carrier cycle, there are 4000 system samples per symbol. A simulation run of 16384 samples would only process 4096 symbols. In this simulation we reduced the carrier frequency to 600 MHz and set the system sample rate to 6 GHz. This increases the efficiency of the simulation by a factor of 10.

127 SystemView Communications Library

Page 128: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Name: Symbol to Bit Abbreviation: Sym->Bit Group: Encode/Decode

Synopsis: This token converts m-level symbols to equivalent binary representation. See Also: Bit -> Symbol Parameters: Parameter Symbol Definition Bit Order Selects the first output bit to be the MSB

or the LSB of the output binary word Bits/Symbol k The number of binary bits that are

produced per symbol Token Inputs: • The m-level signal to be converted to bits Token Outputs: • A binary bit stream where each group of k = m bits represents each

input symbol log2

Discussion: This token is normally used as part of a communication system such as MPSK, where the system transmits one of M symbols each symbol time, Ts. The decoded symbol is converted back to a binary data stream representing the original data. The token input is the symbol at one sample per symbol, and at rate R symbols per second. Thus, the token changes the input sample rate from R to kR. Example: See example file btsm_tst.svu. This example starts with binary data, converts this data to symbols using the Bit to Symbol token, and then recovers the bit stream with the Symbol to Bit token.

128 SystemView Communications Library

Page 129: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Time Division DeMultiplexor Abbreviation: TDDmux Group: Modulators

Parameters: Parameter Symbol Definition Number of Input Signals

N The number of individual signals demultiplexed from the TDM data stream

Burst Duration (sec) T The length of time devoted to each signal in the multiplex process

Token Inputs: • The multiplexed signal y(t)

Token Outputs: • The N individual demultiplexed time signals

Discussion: Time Division Multiplexing is used as a multiple access technique in communication systems. In this method, many input signals are sampled at the appropriate rate, and the data is combined into a single higher data rate signal.

This token splits the multiplexed signal back into its N constituent components. Each constituent is a T sec segment of the signal. The output rate of each signal is 1/N of the input rate of y(t).

Example: See example file TDM.svu. This example shows the operation of the Time Division Multiplex and Time Division Demultiplex tokens. Three individual signals are time-multiplexed together by the Time Division Multiplex token. The Time Division Demultiplex token then recovers the original signals. The plots show the input and recovered Gaussian signals as well as the multiplexed signal.

129 SystemView Communications Library

Page 130: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

130 SystemView Communications Library

Page 131: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Time Division Multiplexor Abbreviation: TDMux Group: Demodulators

Synopsis: This token multiplexes several individual signals into a single data stream in a Time Division Multiplex format.

Parameters: Parameter Symbol Definition Number of Input Signals

N The number of input signals to be multiplexed into a TDM data stream

Burst Duration (sec) T The length of time devoted to each signal in the multiplex process

Token Inputs: • The N individual time signals x(t) to be multiplexed

Token Outputs: • The multiplexed signal y(t)

Discussion: Time Division Multiplexing is commonly employed in communication systems as a multiple access technique. In this method many individual input signals are sampled (at the appropriate rate) and the data is combined into a single higher data rate signal. This token combines N input signals by cycling through them one at a time and devoting T sec on each before continuing to the next signal. Therefore the repeat or sample rate of each signal is effectively R = 1/[NT]. The information rate of the input must be less than this value or data will be lost.

131 SystemView Communications Library

Page 132: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Example: See example file TDM.svu. This example shows the operation of the Time Division Multiplex and Time Division Demultiplex tokens. Three individual signals are time-multiplexed together by the Time Division Multiplex token. The Time Division Demultiplex token then recovers the original signals. The plots show the input and recovered Gaussian signals as well as the multiplexed signal.

References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

132 SystemView Communications Library

Page 133: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Walsh Decoder (Fast) Abbreviation: WalDec Group: Encode/Decode

Synopsis: This token reads in N=2K data samples, which are assumed to be one of the N. Walsh functions. The decoder examines the input and produces a K bit data pattern. This is the inverse operation of the Walenc. See Also: Walgen, Walenc Parameters: Parameter Symbol Definition Order N The order of the Walsh function. The

number of data bits received per block. Threshold (V) T The value that separates a logical 1 from

a logical zero. Time Offset (sec) The time marker indicating the first

valid information bit. Token Inputs: • The N bit block of data [x(1), x(2) … x(N)] to be decoded. Token Outputs: • The K bit binary word [y(1), y(2) ... y(K)]. Notes: • The token rate changes from N to K = log2(N). • The token works on a block-by-block basis. Discussion: For every N = 2K encoded bits, the token outputs K data bits. The N bit block is correlated with each member of the Walsh code set W (N, K). The correlation with the largest value is chosen. The decoder outputs the K bit pattern, corresponding to that index. The fast Walsh algorithm is used to perform the correlations.

133 SystemView Communications Library

Page 134: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

134 SystemView Communications Library

Page 135: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Walsh Encoder Abbreviation: WalEnc Group: Encoder/Decoder

Synopsis: This token will implement a block orthogonal error correction encoding based on Walsh functions. See Also: Cnv Coder, Blk Code, Walsh Generator Parameters:

Parameter Symbol Definition Information Bits (Bits/symbols)

k The number of information bits/symbols used to encode the transmitted message

Threshold (V), or No. Symbol Levels

T The value that separates a logical 1 from a logical 0 for binary, or the number of symbol levels for non-binary

Time Offset (sec) The time marker indicating the first valid information bit/symbol.

Token Inputs: • The information bit stream at one sample per bit Token Outputs: • The encoded message at one sample per bit or symbol

135 SystemView Communications Library

Page 136: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Discussion: For every k input bit, the token outputs 2k encoded bits. The output clock rate is 2k/k times the input rate. The encoding algorithm is identical to that used in the Walshgen token.

OO

O

w ww w

ww w

bb

b

1

2

2

1,1 1,k

2,1 2,k

2 1,1

2 ,1 2 ,k

1

2

kk

k

k k

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

=

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

The input bits [ , … ] effectively select the appropriate row in the Walsh matrix.

b1 b2 bk

(2 ,2 )k k

Example: See example files walsh.svu. References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

136 SystemView Communications Library

Page 137: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Token Name: Walsh Function Generator Abbreviation: WalGen Group: Filters/Data

Synopsis: This token generates a general Walsh function W[N,K], where N is a power of 2, and 0 ≤ K ≤ N-1. W[64,0] is the all 1’s code used by the IS-95 forward pilot channel.. W[64,32] is used by the Sync Channel See Also: Walenc, Waldec Parameters: Parameter Symbol Definition Order N The number of elements (N is a

power of 2). Row Index K Row in the NxN Walsh matrix. Clock Threshold T The level that separates a 1 from a 0

for the clock that drives the code generator.

True Output Hi The value of a logical 1 in the output signal.

False Output Lo The value of a logical 0 in the output signal.

Token Inputs: • The clock signal that drives the Walsh code W(N,K).

137 SystemView Communications Library

Page 138: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Token Outputs: • The desired Walsh code at the input clock rate. • When the "input" value is greater than the threshold, and the previous

value was less than the threshold, the next value in the sequence is "output."

• Otherwise, the previous value is "output." Discussion: IS-95 Walsh Function is generated by the procedure described below:

( )W (1 , K ) H i

W (2 , K )H i H iH i L o

W N , KW N W NW N W N

=

=

=

⎛⎝⎜

⎞⎠⎟

⎛⎝⎜

⎞⎠⎟

( )2

W 4, K

Hi Hi Hi HiHi Lo Hi LoHi Hi Lo LoHi Lo Lo Hi

( ) =

⎜⎜

⎟⎟ ,

( )W 4 Hi Hi Lo Lo( ,3) =

References (1) Sklar, B., Digital Communications Fundamentals and Applications,

Prentice Hall 2001, ISBN 0-13-084788-7

138 SystemView Communications Library

Page 139: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Appendix A: Using SystemView to Generate Bit Error Rate (BER) Curves An important figure of merit in a communications system is the Bit Error Rate or BER. This appendix will aid in generating such results using SystemView. Starting with the mechanics of generating the BER plot, Figure A-1 shows a very simple communication system. We are adding noise (AWGN) to a data source, (token 0) of amplitude A at one sample/bit and then making a hard decision (token 5) on the output. If the noise is greater than the signal and is of opposite sign, an error will occur. This model is the vector channel representation of antipodal signaling, such as PSK. The first step is to calibrate the signal to noise ratio, which is generally expressed in energy per bit, , divided by the noise power density, (in W/Hz). For a baseband signal, we have by definition,

Eb N 0

EN

A TNA

N R

b

0

2

02

0

=

=

Where A is the signal amplitude (normally set to unity), and RT

=1 is the data

rate of the source. Set the value of in the noise token (token 2) such that N 0

E Nb 0 1= (0 dB) or, N AR0

2

=

Enter the value of calculated from this equation into the noise source token, using the W/Hz (1 ohm) parameter option. The control of

N 0

E Nb 0 can be accomplished by inserting a gain token after the source, or after the noise. The latter is preferred (token 3) if your system has a tracking loop, where the bandwidth is dependent on the amplitude of the incoming signal.

139 SystemView Communications Library

Page 140: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Figure A-1. BER setup for a simple communications system Setting up the BER Token and its Outputs The BER token (token 4) has several parameters as shown in the token parameter form of Figure A-2. Set the number of trials per output to 1. At this setting, the token output is a 1 if there is an error, and a zero if correct. The threshold parameter separates a logical 1 from a logical 0. The Offset parameter is used to turn the token on, when valid data is present. This value is entered in actual time or in integer numbers of samples, based on the selection button in the lower right corner of the form.

Figure A-2 BER token parameter form

140 SystemView Communications Library

Page 141: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

When the output of the BER counter is used in any connection, the window shown in Figure A-3 appears. To obtain the running BER, use the 1:Cumulative Avg. token output of the BER token. Since the only value of the average that will be used is the final value at the end of the run, use a final value sink (token 7) to capture the result. This saves memory, since we don’t ask SystemView to retain all of the intermediate values that are not of interest.

Figure A-3 BER token output form

The number of points that must be run in a simulation depends on the BER level desired. For example, with a BER of 1e-4, at least 1e+5 trials bits must run to obtain a statistically significant number of errors. With a BER of 1e-2, then at least 1e+3 trials bits are required, and so on. One way to generate the BER curve is to set a large number of trials in the system time window, large enough to accommodate the number of trials required for the lowest desired BER. The problem with this method is that at the higher BER rates, this large number of trials is unwarranted. What is desired is a mechanism whereby the number of trials is related to the BER at hand. This can be accomplished by running the simulation long enough to accumulate a fixed number of errors. The number of trials will vary in this case. However, at each BER level only the time required to obtain sufficient statistical accuracy is used. This procedure optimizes the simulation run time.

141 SystemView Communications Library

Page 142: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

The BER token has an output that provides the running count of the errors (2:Total Errors) as the simulation progresses. The output of the BER counter is connected to a Stop Sink, token 7. One of the options in the Stop Sink token is Go To Next Loop when the threshold is reached. Then, if we set the threshold to 20, for instance, the simulation during a given loop continues until 20 errors occur, and then advances to the next loop. In the system time window, set the run time per loop large enough to accommodate the lowest desired BER. The loop will run until the Stop Sink threshold is crossed or until the run time indicated is satisfied. Again, the simulation will spend only that time required to obtain a statistically significant answer within each loop for each BER. To control the, E Nb 0 per loop, click the Global Parameter Link entry in the Tools pull down menu. Figure A-4 shows the resulting window.

Figure A-4 The Global Parameter Link window

142 SystemView Communications Library

Page 143: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Now, select the Gain token (token 3). In the panel F(Gi,Vi), write a simple algebraic expression that controls the noise gain token (token 3) in dB. For example, suppose we wish to start E Nb 0 at a value of 4 dB and increment by 2 dB on each loop, then the equation F(Gi,Vi) = -2*cl-2 will produce the desired results depending on the value set in the system time window. (Where cl is a pre-defined system variable in the Global Parameter window, and is equal to the current system loop: cl = 1, 2,). F(Gi,Vi) generates the values -4, -6, -8, etc., since we are decreasing the noise power, not raising the signal power in this example. After the simulation run is complete, enter the Analysis window and click the New Data button on the toolbar. Now click the Sink Calculator button and select the Style tab (Figure A-5). Select BER Plot and specify the start SNR as 4 dB and the increment as 2 dB. Select the BER Final Value Sink (token 7) from the list and click OK. The new window is the BER plot of Figure A-6.

Figure A-5. Selecting the BER style in the Sink Calculator

143 SystemView Communications Library

Page 144: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

SystemView

4.2

4.2

5.2

5.2

6.2

6.2

7.2

7.2

2.00e-4

3.00e-4

4.00e-4 5.00e-4 6.00e-4 7.00e-4 8.00e-4 9.00e-4 1.00e-3 1.00e-3

2.00e-3

3.00e-3

4.00e-3 5.00e-3 6.00e-3 7.00e-3 8.00e-3 9.00e-3 1.00e-2 1.00e-2

BER

Eb/N0 (dB)

BER vs Eb/N0

Figure A-6. Resulting BER plot using the BER style in the Sink Calculator System Timing Issues Another requirement for calculating BER curves focuses on the timing of the signal, as it passes through the system. Figure A-7 shows a more complicated system than Figure A-1. In this case, we are encoding the data via a (7,4) BCH block code (token 2). The BER token (token 8) requires two inputs that have exactly the same time base. The time base rate is one sample per data bit. However, due to group delays through the simulation, the recovered clock, while having the correct rate, may be shifted in phase from the clock associated with the truth data.

Figure A-7 Communication system with group delay

144 SystemView Communications Library

Page 145: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

In Figure A-7, the source data (token 0) is sampled at a rate of one sample per bit (or 1 Hz, in this case). The sampler token then produces a time base at this rate with the first sample starting at t = 0. The BCH coder token gathers 4-bit blocks of the input and produces 7-bit blocks that occupy the same time span (4 sec). Thus, each encoded bit is 4/7 = 0.571428571 seconds long. At this point, the output clock of the encoder is at a 7/4 Hz = 1.75 Hz rate with the first sample at t = 0. After the encoder, the hold token (token 4) reestablishes the system sample rate. The channel adds AWGN noise (token 11), and the receiver must then recover the data. The optimum detector for any signal in AWGN is the matched filter. In this case the matched filter is a simple integrate and dump (I&D) operation (token 5) set to the encoded bit time 4/7 sec. The data is recovered by sampling this filter once per bit, at a data rate of 7/4 Hz = 1.75 Hz (token 6). It is important to note that the first valid data bit out of the sampler is at t = 4/7 sec, not at t = 0 sec. This is the group delay through the I&D token. To properly decode the blocks of data, the offset time parameter of the BCH decoder (token 9) is set for 4/7 sec, or 1 sample delay. We now consider the effects of the group delay through the block decoder. The decoder must load seven bits before it is able to decode the first block and output the first decoded bit. This delay is equal to 7 bits x 4/7 sec/bit = 4 sec. Therefore, the decoder’s first output is at block decoder delay plus the group delay through 4/7 second. The output rate of the decoder is 1 bit/sec. Therefore, the time sequence of a valid decoder output bit is 4/7 sec, 1 4/7 sec, and so on. But the sequence of “truth” bits, from the sampler (token 1), arrive at 0, 1, 2 seconds, and so on. Thus, there is a fixed 4/7 seconds time phase offset between the two 1 Hz clocks which are carrying data to the BER token. Note that if there were additional tokens having group delay in the system such as filters, then the total time offset or group delay between the two paths would be greater. The Resampler token (token 15) set to one sample per sec, automatically removes the fractional part of the group delay. Removing the Non-Fractional Delay

145 SystemView Communications Library

Page 146: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

The remaining task is to determine the residual group delay through the system. This is accomplished by performing a cross-correlation using the Sink Calculator. The sample delay token (token 20) is initially set to zero. Run the system for a “short” period of time. Now in the Analysis Window, go into the Sink Calculator. Choose the Correlation/Convolution tab, and select the cross-correlation option. In the upper plot window list, choose one of the two sinks before the BER token (token 19); in the lower list choose the other (token 18). The resulting cross-correlation plot will have a sharp peak, as seen in Figure A-8. Place the mouse pointer in the plot area and click the right mouse button.

SystemView

-500

-500

-250

-250

0

0

250

250

500

500

100.e-3

200.e-3

300.e-3

400.e-3

500.e-3

Amplitude

Time in Seconds

Cross Correlation (C) of w1 & w2 (t16,t17)

Figure A-8 Cross-correlation of BER input data streams

146 SystemView Communications Library

Page 147: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Choose the statistics option that produces the form in Figure A-9. Make sure that the box in the lower left hand corner is checked to read the number of samples. Now in the form, read the line that states Max. Note that the value is given in sample numbers (s = 9 in this case). Enter this integer number into the sample delay (token 18) and rerun the simulation. There should be no errors. Your system is now properly aligned. Reestablish the noise and set up the simulation as described above.

Figure A-9 Statistics form

147 SystemView Communications Library

Page 148: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Appendix B: The Rummler Three-Path Fade Model The Rummler three-path fade model has been very popular for line-of-sight (LOS) microwave radio-relay channels. It is based on statistical modeling of the channel transfer function. The three-path model assumes the existence of a direct path, one Multipath component with very small delay relative to the direct path, and the third path to control the frequency selectivity that has delay τo relative to the direct path. The received signal can be represented by:

r(t) = x(t) + αx(t − τ1) + β x (t − τ0 ) , Where x(t) corresponds to the transmitted signal, α and β represent attenuations and τo and τ1 delays of the two delayed signal components, respectively. The channel impulse response is then given by:

h(τ) = δ(τ ) + αδ(τ − τ1 ) + βδ(τ − τ0 ) And the corresponding low-pass equivalent channel transfer function is:

H( f ) = 1+ α e− j 2π f τ 1 +β e− j2 π f τ 0 Assuming that Wτ1 << 1, where W is the bandwidth of the modulated signal, we obtain:

H( f ) = 1+ α + β e− j 2π f τ 0 Now let τ , and rewrite H(f) as: τ0 =

H( f ) = a 1− be− j2 π ( f − f 0 )τ[ ]

148 SystemView Communications Library

Page 149: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Where = 6.3 x 10τ -9 sec, and a, b and f0 are quasi-static parameters. The parameter a, is the overall attenuation parameter, b describes the notch depth and f0 determines the notch position. When b < 1, the channel is minimum-phase (MP), and when b ≥ 1, the channel is non-minimum-phase (NMP). MP and NMP fades are equally likely to occur and can be modeled by identical distributions. For MP fades, a and b are defined by:

A1 = −20 log10 a(dB)B1 = −20log10 (1 − b)(dB)

For NMP fades, a and b are defined by:

A1 = −20 log10 ab(dB)B1 = −20log10 (1 −1 b)(dB)

And in this case [1] is redefined as:

′ H ( f ) = ab e− j 2π ( f − f 0 )τ −1b

⎡ ⎣

⎦ Parameters Bi, i = 1, 2 are exponentially distributed in accordance to:

Pr B ≤ x[ ]= 1− e−3.8x Parameters Ai, i = 1, 2 are normal random variables (r.v.) with mean:

µ i = 24.6Bi

4 + 500Bi

4 + 800⎡

⎣ ⎢ ⎤

⎦ ⎥ (dB)

149 SystemView Communications Library

Page 150: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

And standard deviation σ = 5dB. The probability density function (p.d.f.) of A is given by:

f A (x) =1

2πσexp −

(x − µ )2

2σ2⎡ ⎣ ⎢

⎤ ⎦ ⎥

The notch frequency is determined by:

f 0 =θ

2πτ

Where the probability density function of θ is given by:

f θ (θ ) =1

216 , θ ≤ 90°1

1080 , 90°≤ θ ≤ 180°

⎧ ⎨ ⎩

⎫ ⎬ ⎭

References: (1) M.C. Jeruchim, P. Balaban and K. Sam Shanmugan, Simulations of Communication Systems, (New York, Plenum Publishing Corporation, 1994). (2) S. Benedeto, E. Biglieri and V. Castelani, Digital Transmission Theory,

(Englewood Cliffs, Prentice-Hall, 1987).

150 SystemView Communications Library

Page 151: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Com

m L

ibra

ry

Appendix C: Independent Fading Channel Models (Rayleigh and Rician) Fading channels are frequently used to model communication systems performance in Multipath channels when the Multipath spread is significantly smaller than the symbol duration. Here, we also assume that the fading process is slow relative to the signaling rate, so that signal phase can be accurately estimated. Hence, only the effect of amplitude fading will be considered. We also assume that fading is independent from symbol to symbol, as a consequence of sufficiently long interleaving. In general, this model is appropriate for memory-less transmission schemes. Both Rayleigh and Rician fading are considered. Rician fading corresponds to scenarios when the received signal is composed of a direct/specular signal component and several dispersive signal components. Rayleigh fading is characterized by the absence of the direct/specular component. Consider two independent Gaussian random variables X and Y with probability density functions (p.d.f.) given by:

f X (x) =1

2πσ 2exp −

x2

2σ 2⎡ ⎣ ⎢

⎤ ⎦ ⎥

And

f Y (y) =1

2πσ 2exp −

(y − s)2

2σ 2⎡ ⎣ ⎢

⎤ ⎦ ⎥ .

Then

R = X2 + Y 2

151 SystemView Communications Library

Page 152: Token Name: Communications - Keysightliterature.cdn.keysight.com/litweb/pdf/systemvue2006/Comm.pdf · PPD ... correcting codes, baseband pulse shaping, modulation, channel models,

Has Rician statistic defined by the following p.d.f:

f R (r) =r

σ2 exp −(r2 + s2 )

2σ 2⎡ ⎣ ⎢

⎤ ⎦ ⎥ I0

rsσ 2

⎛ ⎝

⎞ ⎠ , r ≥ 0,

Where I0(x) represents the modified Bessel function of the first kind and 0th order. It is customary to normalize the fading process so that channel has a gain of unity. That is, we have the following constraint:

E R2[ ]= 2σ2 + s2 =1 . The Rician probability density function is usually defined in terms of the Rician factor K, defined as the ratio of direct-to-diffuse signal power, given by:

K =s2

2σ 2 .

Then s and can be expressed as: σ 2

s =K

1 + K

And

σ 2 =1

2(1+ K).

152 SystemView Communications Library