Documentation

Communications System Toolbox Functions

Communications Modeling

Input and Output

comm.BarkerCode Generate Barker code
comm.GoldSequence Generate Gold sequence
comm.HadamardCode Generate Hadamard code
comm.KasamiSequence Generate Kasami sequence
comm.WalshCode Generate Walsh code from orthogonal set of codes
comm.PNSequence Generate a pseudo-noise (PN) sequence
commsrc.combinedjitter Construct combined jitter generator object
commsrc.pattern Construct pattern generator object
commsrc.pn Create PN sequence generator package
lteZadoffChuSeq Generate root Zadoff-Chu sequence of complex symbols
mask2shift Convert mask vector to shift for shift register configuration
randerr Generate bit error patterns
randsrc Generate random matrix using prescribed alphabet
shift2mask Convert shift to mask vector for shift register configuration
wgn Generate white Gaussian noise

Signal and Delay Management

bi2de Convert binary vectors to decimal numbers
de2bi Convert decimal numbers to binary vectors
bin2gray Convert positive integers into corresponding Gray-encoded integers
gray2bin Convert Gray-encoded positive integers to corresponding Gray-decoded integers
alignsignals Align two signals by delaying earliest signal
finddelay Estimate delay(s) between signals
vec2mat Convert vector into matrix

Display and Visual Analysis

comm.ConstellationDiagram Display a constellation diagram for input signals
dsp.ArrayPlot Display vectors or arrays
dsp.SpectrumAnalyzer Display frequency spectrum of time-domain signals
dsp.TimeScope Time domain signal display
bertool Open bit error rate analysis GUI (BERTool)
commscope Package of communications scope classes
commscope.eyediagram Eye diagram analysis
commscope.ScatterPlot Create Scatter Plot scope
eyediagram Generate eye diagram
EyeScope Launch eye diagram scope for eye diagram object H
scatterplot Generate scatter plot

System Design

Source Coding

comm.DifferentialDecoder Decode binary signal using differential decoding
comm.DifferentialEncoder Encode binary signal using differential coding
arithdeco Decode binary code using arithmetic decoding
arithenco Encode sequence of symbols using arithmetic coding
compand Source code mu-law or A-law compressor or expander
dpcmdeco Decode using differential pulse code modulation
dpcmenco Encode using differential pulse code modulation
dpcmopt Optimize differential pulse code modulation parameters
huffmandeco Huffman decoder
huffmandict Generate Huffman code dictionary for source with known probability model
huffmanenco Huffman encoder
lloyds Optimize quantization parameters using Lloyd algorithm
quantiz Produce quantization index and quantized output value

Error Detection and Correction

Cyclic Redundancy Check Coding

comm.CRCDetector Detect errors in input data using CRC
comm.CRCGenerator Generate CRC code bits and append to input data
comm.HDLCRCDetector Detect errors in input data using HDL-optimized CRC
comm.HDLCRCGenerator Generate HDL-optimized CRC code bits and append to input data

Block Coding

Linear Block Codes
cyclgen Produce parity-check and generator matrices for cyclic code
cyclpoly Produce generator polynomials for cyclic code
decode Block decoder
encode Block encoder
gfweight Calculate minimum distance of linear block code
gen2par Convert between parity-check and generator matrices
hammgen Produce parity-check and generator matrices for Hamming code
syndtable Produce syndrome decoding table
BCH Codes
comm.BCHDecoder Decode data using BCH decoder
comm.BCHEncoder Encode data using BCH encoder
bchdec BCH decoder
bchenc BCH encoder
bchgenpoly Generator polynomial of BCH code
bchnumerr Number of correctable errors for BCH code
Reed-Solomon Codes
comm.RSDecoder Decode data using Reed-Solomon decoder
comm.RSEncoder Encode data using Reed-Solomon encoder
comm.HDLRSDecoder Decode data using a Reed-Solomon decoder
comm.HDLRSEncoder Encode data using a Reed-Solomon encoder
rsdec Reed-Solomon decoder
rsenc Reed-Solomon encoder
rsgenpoly Generator polynomial of Reed-Solomon code
rsgenpolycoeffs Generator polynomial coefficients of Reed-Solomon code
LDPC Codes
comm.LDPCDecoder Decode binary low-density parity-check code
comm.gpu.LDPCDecoder Decode binary low-density parity-check data with GPU
comm.LDPCEncoder Encode binary low-density parity-check code
dvbs2ldpc Low-density parity-check codes from DVB-S.2 standard

Convolutional Coding

comm.APPDecoder Decode convolutional code using the a posteriori probability method
comm.ConvolutionalEncoder Convolutionally encode binary data
comm.gpu.ConvolutionalEncoder Convolutionally encode binary data with GPU
comm.TurboDecoder Decode input signal using parallel concatenated decoding scheme
comm.gpu.TurboDecoder Decode input signal using parallel concatenation decoding with GPU
comm.TurboEncoder Encode input signal using parallel concatenated encoding scheme
comm.ViterbiDecoder Decode convolutionally encoded data using Viterbi algorithm
comm.gpu.ViterbiDecoder Decode convolutionally encoded data using Viterbi algorithm with GPU
convenc Convolutionally encode binary data
iscatastrophic True for trellis corresponding to catastrophic convolutional code
istrellis True for valid trellis structure
oct2dec Convert octal to decimal numbers
poly2trellis Convert convolutional code polynomials to trellis description
vitdec Convolutionally decode binary data using Viterbi algorithm

Galois Field Computations

convmtx Convolution matrix of Galois field vector
cosets Produce cyclotomic cosets for Galois field
dftmtx Discrete Fourier transform matrix in Galois field
fft Discrete Fourier transform
filter (gf) 1-D digital filter over Galois field
gf Create Galois field array
gftable Generate file to accelerate Galois field computations
ifft Inverse discrete Fourier transform
isprimitive True for primitive polynomial for Galois field
log Logarithm in Galois field
minpol Find minimal polynomial of Galois field element
mldivide Matrix left division \ of Galois arrays
primpoly Find primitive polynomials for Galois field

Galois Fields of Odd Characteristic

gfadd Add polynomials over Galois field
gfconv Multiply polynomials over Galois field
gfcosets Produce cyclotomic cosets for Galois field
gfdeconv Divide polynomials over Galois field
gfdiv Divide elements of Galois field
gffilter Filter data using polynomials over prime Galois field
gflineq Find particular solution of Ax = b over prime Galois field
gfminpol Find minimal polynomial of Galois field element
gfmul Multiply elements of Galois field
gfpretty Polynomial in traditional format
gfprimck Check whether polynomial over Galois field is primitive
gfprimdf Provide default primitive polynomials for Galois field
gfprimfd Find primitive polynomials for Galois field
gfrank Compute rank of matrix over Galois field
gfrepcov Convert one binary polynomial representation to another
gfroots Find roots of polynomial over prime Galois field
gfsub Subtract polynomials over Galois field
gftrunc Minimize length of polynomial representation
gftuple Simplify or convert Galois field element formatting

Signal Operations

comm.Descrambler Descramble input signal
comm.Scrambler Scramble input signal

Interleaving

comm.AlgebraicDeinterleaver Deinterleave input symbols using algebraically derived permutation vector
comm.AlgebraicInterleaver Permute input symbols using algebraically derived permutation vector
comm.BlockDeinterleaver Deinterleave input symbols using permutation vector
comm.gpu.BlockDeinterleaver Restore original ordering of block interleaved sequence with GPU
comm.BlockInterleaver Permute input symbols using permutation vector
comm.gpu.BlockInterleaver Create block interleaved sequence with GPU
comm.MatrixDeinterleaver Deinterleave input symbols using permutation matrix
comm.MatrixHelicalScanDeinterleaver Deinterleave input symbols by filling a matrix along diagonals
comm.MatrixHelicalScanInterleaver Permute input symbols by selecting matrix elements along diagonals
comm.MatrixInterleaver Permute input symbols using permutation matrix
comm.ConvolutionalDeinterleaver Restore ordering of symbols using shift registers
comm.gpu.ConvolutionalDeinterleaver Restore ordering of symbols using shift registers with GPU
comm.ConvolutionalInterleaver Permute input symbols using shift registers with same property values
comm.gpu.ConvolutionalInterleaver Permute input symbols using shift registers with GPU
comm.HelicalDeinterleaver Restore ordering of symbols using helical array
comm.HelicalInterleaver Permute input symbols using helical array
comm.MultiplexedDeinterleaver Deinterleave input symbols using set of shift registers with specified delays
comm.MultiplexedInterleaver Permute input symbols using set of shift registers with specified delays
algdeintrlv Restore ordering of symbols using algebraically derived permutation table
algintrlv Reorder symbols using algebraically derived permutation table
convdeintrlv Restore ordering of symbols using shift registers
convintrlv Permute symbols using shift registers
deintrlv Restore ordering of symbols
heldeintrlv Restore ordering of symbols permuted using helintrlv
helintrlv Permute symbols using helical array
helscandeintrlv Restore ordering of symbols in helical pattern
helscanintrlv Reorder symbols in helical pattern
matdeintrlv Restore ordering of symbols by filling matrix by columns and emptying it by rows
matintrlv Reorder symbols by filling matrix by rows and emptying it by columns
muxdeintrlv Restore ordering of symbols using specified shift registers
muxintrlv Permute symbols using shift registers with specified delays
randdeintrlv Restore ordering of symbols using random permutation
randintrlv Reorder symbols using random permutation

Digital Baseband Modulation

FM Modulation

comm.FSKDemodulator Demodulate using M-ary FSK method
comm.FSKModulator Modulate using M-ary FSK method
fskdemod Frequency shift keying demodulation
fskmod Frequency shift keying modulation

PM Modulation

comm.BPSKDemodulator Demodulate using BPSK method
comm.BPSKModulator Modulate using BPSK method
comm.DBPSKDemodulator Demodulate using DBPSK method
comm.DBPSKModulator Modulate using DBPSK method
comm.DPSKDemodulator Demodulate using M-ary DPSK method
comm.DPSKModulator Modulate using M-ary DPSK method
comm.DQPSKDemodulator Demodulate using DQPSK method
comm.DQPSKModulator Modulate using DQPSK method
comm.OQPSKDemodulator Demodulate using OQPSK method
comm.OQPSKModulator Modulate using OQPSK method
comm.PSKDemodulator Demodulate using M-ary PSK method
comm.gpu.PSKDemodulator Demodulate using M-ary PSK method with GPU
comm.PSKModulator Modulate using M-ary PSK method
comm.gpu.PSKModulator Modulate using M-ary PSK method with GPU
comm.QPSKDemodulator Demodulate using QPSK method
comm.QPSKModulator Modulate using QPSK method
dpskdemod Differential phase shift keying demodulation
dpskmod Differential phase shift keying modulation
modnorm Scaling factor for normalizing modulation output
oqpskdemod Offset quadrature phase shift keying demodulation
oqpskmod Offset quadrature phase shift keying modulation
pskdemod Phase shift keying demodulation
pskmod Phase shift keying modulation

AM Modulation

comm.GeneralQAMDemodulator Demodulate using arbitrary QAM constellation
comm.GeneralQAMModulator Modulate using arbitrary QAM constellation
comm.PAMDemodulator Demodulate using M-ary PAM method
comm.PAMModulator Modulate using M-ary PAM method
comm.RectangularQAMDemodulator Demodulate using rectangular QAM signal constellation
comm.RectangularQAMModulator Modulate using rectangular QAM signal constellation
genqamdemod General quadrature amplitude demodulation
genqammod General quadrature amplitude modulation
pamdemod Pulse amplitude demodulation
pammod Pulse amplitude modulation
qamdemod Quadrature amplitude demodulation
qammod Quadrature amplitude modulation

CPM Modulation

comm.CPFSKDemodulator Demodulate using CPFSK method and Viterbi algorithm
comm.CPFSKModulator Modulate using CPFSK method
comm.CPMDemodulator Demodulate using CPM method and Viterbi algorithm
comm.CPMModulator Modulate using CPM method
comm.GMSKDemodulator Demodulate using GMSK method and the Viterbi algorithm
comm.GMSKModulator Modulate using GMSK method
comm.MSKDemodulator Demodulate using MSK method and the Viterbi algorithm
comm.MSKModulator Modulate using MSK method

TCM Modulation

comm.GeneralQAMTCMDemodulator Demodulate convolutionally encoded data mapped to arbitrary QAM constellation
comm.GeneralQAMTCMModulator Convolutionally encode binary data and map using arbitrary QAM constellation
comm.PSKTCMDemodulator Demodulate convolutionally encoded data mapped to M-ary PSK signal constellation
comm.PSKTCMModulator Convolutionally encode binary data and map using M-ary PSK signal constellation
comm.RectangularQAMTCMDemodulator Demodulate convolutionally encoded data mapped to rectangular QAM signal constellation
comm.RectangularQAMTCMModulator Convolutionally encode binary data and map using rectangular QAM signal constellation

OFDM Modulation

comm.OFDMDemodulator Demodulate using OFDM method
comm.OFDMModulator Modulate using OFDM method

Analog Baseband Modulation

comm.FMBroadcastDemodulator Demodulate using broadcast FM method
comm.FMBroadcastModulator Modulate using broadcast FM method
comm.FMDemodulator Demodulate using FM method
comm.FMModulator Modulate using FM method

Analog Passband Modulation

amdemod Amplitude demodulation
ammod Amplitude modulation
fmdemod Frequency demodulation
fmmod Frequency modulation
pmdemod Phase demodulation
pmmod Phase modulation
ssbdemod Single sideband amplitude demodulation
ssbmod Single sideband amplitude modulation

Filtering

comm.IntegrateAndDumpFilter Integrate discrete-time signal with periodic resets
comm.RaisedCosineReceiveFilter Apply pulse shaping by decimating signal using raised cosine filter
comm.RaisedCosineTransmitFilter Apply pulse shaping by interpolating signal using raised cosine filter
gaussdesign Gaussian FIR pulse-shaping filter design
intdump Integrate and dump
intrlv Reorder sequence of symbols
rcosdesign Raised cosine FIR pulse-shaping filter design
rectpulse Rectangular pulse shaping

Synchronization and Receiver Design

comm.AGC Adaptively adjust gain for constant signal-level output
comm.CarrierSynchronizer Compensate for carrier frequency offset
comm.SymbolSynchronizer Correct symbol timing clock skew
comm.IQImbalanceCompensator Compensate for I/Q imbalance
comm.PSKCoarseFrequencyEstimator Estimate frequency offset for PSK signal
comm.QAMCoarseFrequencyEstimator Estimate frequency offset for QAM signal
comm.DiscreteTimeVCO Generate variable frequency sinusoid
comm.CPMCarrierPhaseSynchronizer Recover carrier phase of baseband CPM signal
comm.GMSKTimingSynchronizer Recover symbol timing phase using fourth-order nonlinearity method
comm.MSKTimingSynchronizer Recover symbol timing phase using fourth-order nonlinearity method
iqcoef2imbal Convert compensator coefficient to amplitude and phase imbalance
iqimbal2coef Convert I/Q imbalance to compensator coefficient

Equalization

comm.MLSEEqualizer Equalize using maximum likelihood sequence estimation
cma Construct constant modulus algorithm (CMA) object
dfe Construct decision-feedback equalizer object
equalize Equalize signal using equalizer object
lineareq Construct linear equalizer object
lms Construct least mean square (LMS) adaptive algorithm object
mlseeq Equalize linearly modulated signal using Viterbi algorithm
normlms Construct normalized least mean square (LMS) adaptive algorithm object
reset (equalizer) Reset equalizer object
rls Construct recursive least squares (RLS) adaptive algorithm object
signlms Construct signed least mean square (LMS) adaptive algorithm object
varlms Construct variable-step-size least mean square (LMS) adaptive algorithm object

Multiple-Input Multiple-Output (MIMO)

comm.LTEMIMOChannel Filter input signal through LTE MIMO multipath fading channel
comm.MIMOChannel Filter input signal through MIMO multipath fading channel
comm.OSTBCCombiner Combine inputs using orthogonal space-time block code
comm.OSTBCEncoder Encode input using orthogonal space-time block code
comm.SphereDecoder Decode input using sphere decoder

Channel Modeling and RF Impairments

comm.AWGNChannel Add white Gaussian noise to input signal
comm.gpu.AWGNChannel Add white Gaussian noise to input signal with GPU
comm.BinarySymmetricChannel Introduce binary errors
comm.LTEMIMOChannel Filter input signal through LTE MIMO multipath fading channel
comm.MemorylessNonlinearity Apply memoryless nonlinearity to input signal
comm.MIMOChannel Filter input signal through MIMO multipath fading channel
comm.PhaseFrequencyOffset Apply phase and frequency offsets to input signal
comm.PhaseNoise Apply phase noise to complex, baseband signal
comm.RayleighChannel Filter input signal through a Rayleigh multipath fading channel
comm.RicianChannel Filter input signal through a Rician fading channel
comm.ThermalNoise Add receiver thermal noise
awgn Add white Gaussian noise to signal
bsc Model binary symmetric channel
doppler Construct Doppler spectrum structure
doppler.ajakes Construct asymmetrical Doppler spectrum object
doppler.bell Construct bell-shaped Doppler spectrum object
doppler.bigaussian Construct bi-Gaussian Doppler spectrum object
doppler.flat Construct flat Doppler spectrum object
doppler.gaussian Construct Gaussian Doppler spectrum object
doppler.jakes Construct Jakes Doppler spectrum object
doppler.rjakes Construct restricted Jakes Doppler spectrum object
doppler.rounded Construct rounded Doppler spectrum object
filter Filter signal with channel object
legacychannelsim Toggles random number generation mode for channel objects
plot (channel) Plot channel characteristics with channel visualization tool
plotPhaseNoiseFilter Plot response of phase noise filter block
rayleighchan Construct Rayleigh fading channel object
reset Reset channel object
ricianchan Construct Rician fading channel object
stdchan Construct channel object from set of standardized channel models

Measurements and Analysis

comm.ACPR Adjacent Channel Power Ratio measurements
comm.CCDF Measure complementary cumulative distribution function
comm.ErrorRate Compute bit or symbol error rate of input data
comm.EVM Measure error vector magnitude
comm.MER Measure modulation error ratio
berawgn Bit error rate (BER) for uncoded AWGN channels
bercoding Bit error rate (BER) for coded AWGN channels
berconfint Bit error rate (BER) and confidence interval of Monte Carlo simulation
berfading Bit error rate (BER) for Rayleigh and Rician fading channels
berfit Fit curve to nonsmooth empirical bit error rate (BER) data
bersync Bit error rate (BER) for imperfect synchronization
biterr Compute number of bit errors and bit error rate (BER)
commtest.ErrorRate Create error rate test console
distspec Compute distance spectrum of convolutional code
noisebw Equivalent noise bandwidth of filter
semianalytic Calculate bit error rate (BER) using semianalytic technique
marcumq Generalized Marcum Q function
qfunc Q function
qfuncinv Inverse Q function
symerr Compute number of symbol errors and symbol error rate

Simulation Acceleration Using GPUs

comm.gpu.AWGNChannel Add white Gaussian noise to input signal with GPU
comm.gpu.BlockDeinterleaver Restore original ordering of block interleaved sequence with GPU
comm.gpu.BlockInterleaver Create block interleaved sequence with GPU
comm.gpu.ConvolutionalDeinterleaver Restore ordering of symbols using shift registers with GPU
comm.gpu.ConvolutionalEncoder Convolutionally encode binary data with GPU
comm.gpu.ConvolutionalInterleaver Permute input symbols using shift registers with GPU
comm.gpu.LDPCDecoder Decode binary low-density parity-check data with GPU
comm.gpu.PSKDemodulator Demodulate using M-ary PSK method with GPU
comm.gpu.PSKModulator Modulate using M-ary PSK method with GPU
comm.gpu.TurboDecoder Decode input signal using parallel concatenation decoding with GPU
comm.gpu.ViterbiDecoder Decode convolutionally encoded data using Viterbi algorithm with GPU
Was this topic helpful?