Version 3.0 (R14) Communications Toolbox™ Software Release Notes

This table summarizes what's new in Version 3.0 (R14):

New Features and ChangesVersion Compatibility ConsiderationsFixed Bugs and Known ProblemsRelated Documentation at Web Site
Yes
Details below
Yes—Details labeled as Compatibility Considerations, below. See also Summary.Fixed bugsNo

New features and changes introduced in this version are

Bit Error Rate Analysis GUI

Communications Toolbox has a graphical user interface (GUI) called BERTool that helps you analyze communication systems' bit error rate (BER) performance. To invoke the GUI, type

bertool

in the MATLAB Command Window.

Performance Evaluation

The functions in the table below enable you to measure or visualize the bit error rate performance of a communication system.

FunctionPurpose
berawgnError probability for uncoded AWGN channels
bercodingError probability for coded AWGN channels
berconfintBER and confidence interval of Monte Carlo simulation
berfadingError probability for Rayleigh fading channels
berfitFit a curve to nonsmooth empirical BER data
bersyncBit error rate for imperfect synchronization
distspecCompute the distance spectrum of a convolutional code
semianalyticCalculate bit error rate using the semianalytic technique

Equalizers

The functions in the table below enable you to equalize a signal using a linear equalizer, a decision feedback equalizer, or a maximum-likelihood sequence estimation equalizer based on the Viterbi algorithm.

FunctionPurpose
cmaConstruct a constant modulus algorithm (CMA) object
dfeConstruct a decision feedback equalizer object
equalizeEqualize a signal using an equalizer object
lineareqConstruct a linear equalizer object
lmsConstruct a least mean square (LMS) adaptive algorithm object
mlseeqEqualize a linearly modulated signal using the Viterbi algorithm
normlmsConstruct a normalized least mean square (LMS) adaptive algorithm object
rlsConstruct a recursive least squares (RLS) adaptive algorithm object
signlmsConstruct a signed least mean square (LMS) adaptive algorithm object
varlmsConstruct a variable step size least mean square (LMS) adaptive algorithm object

Fading Channels and Binary Symmetric Channel

The functions in the tables below enable you to model a Rayleigh fading channel, Rician fading channel, and binary symmetric channel.

FunctionPurpose
bscModel a binary symmetric channel
filter (for channel objects)Filter signal with channel object
rayleighchanConstruct a Rayleigh fading channel object
resetReset channel object
ricianchanConstruct a Rician fading channel object

Interleavers

The functions in the tables below enable you to perform block interleaving and convolutional interleaving, respectively.

Block Interleaving

FunctionPurpose
algdeintrlvRestore ordering of symbols, using algebraically derived permutation table
algintrlvReorder symbols, using algebraically derived permutation table
deintrlvRestore ordering of symbols
helscandeintrlvRestore ordering of symbols in a helical pattern
helscanintrlvReorder symbols in a helical pattern
intrlvReorder sequence of symbols
matdeintrlvRestore ordering of symbols by filling a matrix by columns and emptying it by rows
matintrlvReorder symbols by filling a matrix by rows and emptying it by columns
randdeintrlvRestore ordering of symbols, using a random permutation
randintrlvReorder symbols, using a random permutation

Convolutional Interleaving

FunctionPurpose
convdeintrlvRestore ordering of symbols, using shift registers
convintrlvPermute symbols, using shift registers
heldeintrlvRestore ordering of symbols permuted using helintrlv
helintrlvPermute symbols, using a helical array
muxdeintrlvRestore ordering of symbols, using specified shift registers
muxintrlvPermute symbols, using shift registers with specified delays

Huffman Coding

The functions in the table below enable you to perform Huffman coding.

FunctionPurpose
huffmandecoHuffman decoder
huffmandictGenerate Huffman code dictionary for a source with known probability model
huffmanencoHuffman encoder

Pulse Shaping

The functions in the table below enable you to perform rectangular pulse shaping at a transmitter and matched filtering at the corresponding receiver.

FunctionPurpose
intdumpIntegrate and dump
rectpulseRectangular pulse shaping

These functions can be useful in conjunction with the modulation functions listed below.

Utility Functions

The toolbox now includes the following utility functions, details of which are on the corresponding reference pages.

FunctionPurpose
noisebwEquivalent noise bandwidth of a filter
qfuncQ function
qfuncinvInverse Q function

Enhancements for Modulation

The functions in the tables below enable you to perform modulation and demodulation using analog and digital methods. Some of the functions support modulation types that Communications Toolbox did not previously support (DPSK and OQPSK). Other functions enhance and replace the older modulation and demodulation functions in Communications Toolbox. The new modulation and demodulation functions are designed to be easier to use than the older ones. Note, however, that the current set of modulation functions supports only analog passband and digital baseband modulation.

Analog Passband Modulation

FunctionPurpose
amdemodAmplitude demodulation
ammodAmplitude modulation
fmdemodFrequency demodulation
fmmodFrequency modulation
pmdemodPhase demodulation
pmmodPhase modulation
ssbdemodSingle sideband amplitude demodulation
ssbmodSingle sideband amplitude modulation

Digital Baseband Modulation

FunctionPurpose
dpskdemodDifferential phase shift keying demodulation
dpskmodDifferential phase shift keying modulation
fskdemodFrequency shift keying demodulation
fskmodFrequency shift keying modulation
genqamdemodGeneral quadrature amplitude demodulation
genqammodGeneral quadrature amplitude modulation
modnormScaling factor for normalizing modulation output
oqpskdemodOffset quadrature phase shift keying demodulation
oqpskmodOffset quadrature phase shift keying modulation
pamdemodPulse amplitude demodulation
pammodPulse amplitude modulation
pskdemodPhase shift keying demodulation
pskmodPhase shift keying modulation
qamdemodQuadrature amplitude demodulation
qammodQuadrature amplitude modulation

Enhancements for BCH Coding

The functions in the table below enable you to encode and decode BCH codes. These functions enhance and replace the older BCH coding functions in Communications Toolbox.

FunctionPurpose
bchdecBCH decoder
bchencBCH encoder
bchgenpolyGenerator polynomial of BCH code

When processing codes using these functions, you can control the primitive polynomial used to describe the Galois field containing the code symbols and the position of the parity symbols.

Updating Existing Modulation M-Code

Compatibility Considerations

If your existing M-code performs modulation or demodulation, then you might want to update it to use the enhanced modulation or demodulation capabilities. Here are some important points to keep in mind:

Updating Existing BCH M-Code

Compatibility Considerations

If your existing M-code processes BCH codes, then you might want to update it to use the enhanced BCH capabilities. Here are some important points to keep in mind:

Converting Between Release 13 and Release 14 Representations of Code Data.   To help you update your existing M-code that processes BCH codes, the example below illustrates how to encode data using the new bchenc function and the earlier encode and bchenco functions.

% Basic parameters for coding
n = 15; k = 11; % Message length and codeword length
w = 10; % Number of words to encode in this example

% R13 binary vector format
mydata_r13 = randint(w*k,1); % Long vector
% R13 binary matrix format
mydata_r13_mat = reshape(mydata_r13,k,w)'; % One message per row
% R13 decimal format
mydata_r13_dec = bi2de(mydata_r13_mat); % Convert to decimal.

% Equivalent R14 Galois array format
mydata_r14 = fliplr(gf(mydata_r13_mat));

% Encode the data using R13 methods.
code_r13 = encode(mydata_r13,n,k,'bch');
code_r13_mat = encode(mydata_r13_mat,n,k,'bch');
code_r13_dec = encode(mydata_r13_dec,n,k,'bch/decimal');
code_r13_bchenco = bchenco(mydata_r13_mat,n,k);

% Encode the data using R14 method.
code_r14 = bchenc(mydata_r14,n,k);
codeX = fliplr(double(code_r14.x)); % Retrieve from Galois array.

% Check that all resulting codes are the same.
% c1, c2, c3, and c4 should all be true.
c1 = isequal(de2bi(code_r13_dec),code_r13_mat);
c2 = isequal(reshape(code_r13,n,w)',code_r13_mat);
c3 = isequal(code_r13_bchenco,code_r13_mat);
c4 = isequal(code_r13_mat,codeX); % Compare R13 with R14.

Changes in Functionality

Compatibility Considerations

The encode and decode functions no longer perform BCH encoding and decoding. Use the bchenc and bchdec functions instead.

Obsolete Functions

Compatibility Considerations

The table below lists functions that are obsolete. Although they are included in Release 13 for backward compatibility, they might be removed in a future release. The second column lists functions that provide similar functionality. In some cases, the similar function requires different input arguments or produces different output arguments, compared to the original function.

Obsolete FunctionSimilar Function in R14
ademodamdemod, fmdemod, pmdemod, ssbdemod
ademodceUse passband demodulation instead: amdemod, fmdemod, pmdemod, ssbdemod
amodammod, fmmod, pmmod, ssbmod
amodceUse passband modulation instead: ammod, fmmod, pmmod, ssbmod
apkconstgenqammod or pskmod for mapping; scatterplot for plotting
bchdecobchdec
bchencobchenc
bchpolybchgenpoly
ddemodUse baseband demodulation instead: genqamdemod, pamdemod, pskdemod, qamdemod, fskdemod
ddemodcegenqamdemod, pamdemod, pskdemod, qamdemod, fskdemod
demodmapgenqamdemod, pamdemod, pskdemod, qamdemod
dmodUse baseband modulation instead: genqammod, pammod, pskmod, qammod, fskmod
dmodcegenqammod, pammod, pskmod, qammod, fskmod
modmapgenqammod, pammod, pskmod, qammod for mapping; scatterplot for plotting
qaskdecoqamdemod
qaskencoqammod for mapping; scatterplot for plotting

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS