The software described in this document is furnished under a license agreement. The software may be used
or copied only under the terms of the license agreement. No part of this manual may be photocopied or
reproduced in any form without prior written consent from The MathW orks, Inc.
FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation
by, for, or through the federal government of the United States. By accepting delivery of the Program
or Documentation, the government hereby agrees that this software or documentation qualifies as
commercial computer software or commercial computer software documentation as such terms are used
or defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014. Accordingly, the terms and
conditions of this Agreement and only those rights specified in this Agreement, shall pertain to and govern
theuse,modification,reproduction,release,performance,display,anddisclosureoftheProgramand
Documentation by the federal government (or other entity acquiring for or through the federal government)
and shall supersede any conflicting contractual terms or conditions. If this License fails to meet the
government’s needs or is inconsistent in any respect with federal procurement law, the government agrees
to return the Program and Docu mentation, unused, to The MathWorks, Inc.
Trademarks
MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand
names may be trademarks or registered trademarks of their respective holders.
Patents
The MathWorks products are protected by one or more U.S. patents. Please see
www.mathworks.com/patents for more information.
Summary by Version ...............................1
This table provides quick access to what’s new in each version. For
clarification, see “ Using Release Notes” on page 2 .
Communications Toolbox™ Release N otes
Version
(Release)
Latest Versi
V4.5 (R2010a
V4.4 (R2009b)
V4.3 (R2009a)
V4.2 (R2
V4.1 (R2008a)
V4.0 (R2007b)
V3.5 (
V3.4 (R2006b)
008b)
R2007a)
New Features
and Changes
on
Yes
)
Details
Yes
Details
Yes
Details
Yes
Details
Yes
Details
Yes
Detai
Yes
Details
Yes
Details
Version
Compatibilit
Consideratio
Yes
Summary
Yes
Summary
Yes
Summary
NoBug Reports
NoBug Reports
NoBug Re
ls
Yes
Summary
Yes
Summary
Fixed Bugs
y
and Known
ns
Problems
Bug Reports
Includes fix
Bug Reports
Includes fixes
Bug Repor
Includes
Includes fixes
Includes fixes
ports
des fixes
Inclu
Bug Reports
Includes fixes
Bug ReportsNo
es
ts
fixes
Related
Documentation
at Web Site
Printable R elease
Notes: PDF
Current product
documentation
No
No
No
No
No
No
V3.3 (R2006a)
.2 (R14SP3)
V3
V3.1 (R14SP2)
Yes
ails
Det
Yes
Details
Yes
Details
NoBug
NoBug ReportsNo
Yes
Summary
Reports
ludes fixes
Inc
Bug Reports
Includes fixes
No
No
1
Communications Toolbox™ Release Notes
Version
(Release)
V3.0.1 (R14SP1)
V3.0 (R14)
V2.1 (R13)
V2.0 (R12)
New Features
and Changes
Yes
Details
Yes
Details
Yes
Details
Yes
Details
Version
Compatibility
Considerations
No
Yes
Summary
Yes
Summary
Yes
Summary
Fixed Bugs
and Known
Problems
Fixed bugs
Fixed bugs
Fixed bugs and
known problems
Fixed bugs
Related
Documentation
at Web Site
No
No
No
No
Using Release Notes
Use release notes when upgrading to a newer version to learn about:
• New features
• Changes
• Potential impact on your existing files and practices
Review the release notes for other MathWorks™ products required for this
product (for example, MATLAB
bugs, or compatibility considerations in other products impact you.
®
or Simulink®). Determine if enhancements,
If you are upgrading from a software version other than the m ost recent one,
review the current release notes and all interim versions. For example, when
you upg rade from V1.0 to V1.2, review the release notes for V1.1 and V1.2.
What Is in the Release Notes
New Features and Changes
• New functionality
• Changes to existing functionality
2
SummarybyVersion
Version Compatibility Con si derations
When a new feature or change introduces a reported incompatibility between
versions, the Compatibility Considerations subsection explains the
impact.
Compatibility issues reported after the product release appear under Bug
Reports at The MathWorks™ Web site. Bug fixes can sometimes result
in incompatibilities, so review the fixed bugs in Bug Reports for any
compatibility impact.
Fixed Bugs and Known Problems
The MathWorks offers a user-searchable Bug Reports database so you can
view Bug Reports. The development team updates this database at release
time and as more information becomes available. Bug Reports include
provisions for any known workarounds or file replacem ents. Information is
available for bugs existing in or fixed in Release 14SP2 or later. Information
is not avail able for all bugs in earlier releases.
Access Bug Reports using y our MathWorks Account.
3
Communications Toolbox™ Release Notes
Version 4.5 (R2010a) Communications Toolbox Software
This table summarizes what’s new in Version 4.5 (R2010a):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
Yes
Summary
• “Error Rate Test Console Enhancements” on page 4
• “biterr Function Supports Logical Input Arguments” on page 6
• “Demos” on page 7
Fixed Bugs an d
Known Problems
Bug Reports
Includes fixes.
Related
Documentation at
Web Site
Printable Release
Notes: PDF
Current product
documentation
Error Rate Test Console Enhancements
The Error Rate Test Console now contains:
• Plotting enhancements,
• A new stop simulation option
• Simultaneous specification of sweep values
• Descriptions for test probes
Surface Plotting Capabilities
The r esul ts object supports a new surface plotting method. The surf(r)
method creates a 3 -D, color, surface plot based on the results available in t he
results object. The following items define the surface plot:
• The test point you specify using the
object
• The test metric currently you specify in the
object
TestPoint property of the results
Metric property of the results
4
Version 4.5 (R2010a) Communica tions Toolbox™ Software
For more information see testconsole.Results.
New Stop Simulation Option
The SimulationLimitOption property supports a new stop option: ’Number
of errors and transmissions’.
Use this selection when you want to simulate a slow fading channel. The
number of transmissions ensures a minimum number of errors occur. These
multiple runs provide a long enough observation time for both deep fades
and high gain phases of the channel to appear. For more information, see
commtest.ErrorRate.
Simultaneous Specification of Sweep Values
The setTestParameterSweepValues method now supports simultaneous
specification of sweep values, allowing you to specify the sweep values for
multiple registered test parameters at one time. For more information, se e the
setTestParameterSweepValues method section of the commtest.ErrorRate
help page.
The simulation runs for a number of transmissions. Through these runs, the
toolbox ensures that a minimum number of errors occur. These multiple runs
also provide a long enough observation time for both deep fades and high
gain phases of the channel to appear.
Probe Descriptions
You can add a description for a probe in the system under test. You can read
the description for the probe using
Error Rate Test Console. This enhancement allows you to review the probe’s
use without having to access the code for the system under test. For more
information, see “Registering Test Probes” in the Communications Toolbox™User’s Guide.
getTestProbeDescription method of the
Parsing of Results
The results object ha s two new m ethods, setParsingVal ue s and
getParsingValues. which are relevant for parsing and plotting data.
5
Communications Toolbox™ Release Notes
Use these methods to specify single sweep values for test parameters that
differ from the ones in TestParameter1 and TestParameter2. The results
object returns data values or plots that correspond to test p arameters you
specify in TestParameter1 and TestParameter2 and single sweep values you
specify using the setParsingValues method for all additional test parameters.
The parsing values default to the first value in the sweep vector of each
test parameter.
You display the current parsingvaluesbycallingthegetParsingValues
method of the results object.
For more information, see: Parsing and Plotting Results for Multiple
Parameter Simulations,
Compatibility Considerations
Loading a test console object defined in a previous version of the Error Rate
Test Console software results in a warning message. The warning instructs
you to resave the test console object. To prevent this warning from appearing,
resave the test console object using the latest version of the Error Rate Test
Console software.
testconsole.Results and commtest.ErrorRate.
Surface Plotting Capabilities. The
plotting method. The
on the results available in the
surf(r) method creates a 3-D, color, surface plo t based
results object. The following items define
results object supports a new surface
the surface plot:
• The test point you specify using the
TestPoint property of the results
object
• The test metric currently you specify in the
Metric property of the results
object
For more information see
testconsole.Results.
biterr Function Supports Logical Input Arguments
The biterr function now accepts logical input arguments. For more
information, including examples, see the
Communications Toolbox Reference Guide.
6
biterr help page in the
Version 4.5 (R2010a) Communica tions Toolbox™ Software
Demos
This release contains a new demo, Passband Modulation with Adjacent
Channel Interference, which shows how to use baseband modulators and
demodulators with frequency upconversion and downconversion to simulate
passband communication systems.
7
Communications Toolbox™ Release Notes
Version 4.4 (R2009b) Communications Toolbox Software
This table summarizes what’s new in Version 4.4 (R2009b):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
Yes
Summary
New features and changes introduced in this version are:
• “Adjacent Channel Power Ratio (ACPR) Measurements” on page 8
• “New EVM Normalization Options” on page 9
• “Error Rate Test Console” on page 9
• “Channel Objects Support Parallel Co m puting Toolbox” on page 9
• “New Demos” on page 10
• “Functions and Function Elements Being Removed” on page 11
Fixed Bugs an d
Known Problems
Bug Reports
Includes fixes.
Related
Documentation at
Web Site
Printable Release
Notes: PDF
Current product
documentation
Adjacent Channel Power Ratio (ACPR) Measurements
Adjacent channel power ratio (ACPR) calculations characterize spectral
regrowth, caused by amplifier nonlinearity, in a communications system
component, such as a modulator or an analog front end. These calculations
determine the likelihood that a given system causes interference with an
adjacent channel.
Many present transmission standards, such as IS-95, CDMA, WCDMA,
802.11, and Bluetooth, contain a definition for ACPR measuremen ts. Most
standards define ACPR measurements as the ratio of the average power in
the main channel and any adjacent channels. The specific offset frequencies
and measurement bandwidths (BWs) you use depends on the specific industry
standard you are using. For instance, measurements of CDMA amplifiers
8
Version 4.4 (R2009b) Communica tions Toolbox™ Software
involve two offsets (from the carrier frequency) of 885 kHz and 1.98 MHz,
and a measurement BW of 30 KHz.
For more information, see the
ACPR M easurement Tutorial in the Communications Toolbox User’s G uide.
commmeasure.ACPR help page or Overview of
New EVM Normalization Options
commmeasure.EVM now supports three normalization options. You can
normalize measurements according to the average power of the reference
signal, average constellation power, or peak constellation power. This
enhancement provides you with the flexibility to use EVM normalization
with the different definitions of EVM measurements that appear in various
industry standards. Typically, the variations in these standards pertain to
the normalization option.
For more information, see the
commmeasure.EVM help page.
Error Rate Test Console
Communications Toolbox contains a command-line approach for simulating
error rate in a communications system. The error rate test console runs
simulation on a user-defined communications system to obtain error rate
analysis.
If you also have a user license for the Parallel Computing Toolbox software,
the error rate test console reduces simulation time by automatically
distributing the work load among the number of available processors.
For more information, see the
Simulations Using the Error Rate Test Console in the Comm unications
Toolbox Getting Started Guide,orErrorRateTestConsoleinthe
Communications Toolbox User’s Guide.
commtest.ErrorRate help page, Running
Channel Objects Support Parallel Computing Toolbox
rayleighchan, ricianchan,andmimochan now support the Parallel
Computing Toolbox™ software. Using the default MATLAB random stream
algorithm, channel objects can generate independent channels on different
workers. Since
rayleighchan, ricianchan,andmimochan can generate
9
Communications Toolbox™ Release Notes
independent channels on each worker, you can use the Parallel Computing
Toolbox software to run simulations on multiple workers, reducing simulation
time.
Compatibility Considerations
rayleighchan, ricianchan,andmimochan now use the default MATLAB
random stream. S oftware versions before the 2009b release use the V5
RANDN (Ziggurat) algorithm to generate channel path gains. The default
random stream is more robust for use with Parallel Computing Toolbox
software and can generate channel path gain values that are the statistical
equivalent to the V5 RANDN (Ziggurat) algorithm.
rayleighchan, ricianchan,andmimochan do not support reset(h,s),where
h represents a channel and s represents the new channel state. To obtain the
random number generation functionality before the 2009b release, including
reset(h,s) support, use legacychannelsim. You can not use channel objects
with Parallel Computing Toolbox software to run simulations in legacy mode.
10
New Demos
The following demos are ne w or updated for this release:
• Two new demos show how to simulate 3GPP EGPRS2 and IEEE 802.11b
communications systems using the Error Rate Test Console. These demos
can be run on m u l t ip le workers if you have a user license for the Parallel
Computing Toolbox software.
• The Raised Cosine demo n ow uses the filter design object
fdesign.pulseshaping.
Version 4.4 (R2009b) Communica tions Toolbox™ Software
Function or
Function
Element Name
seqgen.pn
rcosfir
rcosflt
rcosiir
rcosine
randint
Functions and Fu
What
Happens
When you
use the
Function or
Element?
Warns
Still runs
Still runs
Still runsN\A
Still runs
Still runs
Use This InsteadCompatibility
commsrc.pn
fdesign.pulseshaping
fdesign.
fdesign.pulseshaping
randi
nction Elements Being Removed
Considerations
Use commscrc.pn to create
a PN sequence generator
object.
.pulseshaping
ised cosine finite
lse re sponse filter
pulseshaping
Use fdes ign
to design ra
(FIR) im p u
Use fdes ign. pulseshaping
to design a filter input signal
using raised cosine filter.
Does not support IIR.
Do not use.
Use fdes ign. pulseshaping
to design a design a raised
cosine filter. Does not
support IIR.
Use Randi to generate matrix
of uniformly distributed
random integers
reset(h,s) for
rayleighchan
reset(h,s) for
ricianchan
reset(h,s) for
mimochan
state parameter
for
awgn
Errors
Errors
Errors
Still runs
N\ADo not use.See
legacychannelsim
N\ADo not use.See
legacychannelsim
N\ADo not use.See
legacychannelsim
,whichisarandomstream
s
None.
handle
11
Communications Toolbox™ Release Notes
Function or
Function
Element Name
state parameter
for
wgn
state parameter
for
bsc
state parameter
for
randerr
state parameter
for
randsrc
What
Happens
When you
use the
Function or
Element?
Still runs
Still runs
Still runs
Still runs
Use This InsteadCompatibility
Considerations
s,whichisarandomstream
None.
handle
s,whichisarandomstream
None.
handle
s,whichisarandomstream
None.
handle
s,whichisarandomstream
None.
handle
12
Version 4.3 (R2009a) Communica tions Toolbox™ Software
Version 4.3 (R2009a) Communications Toolbox Software
This table summarizes what’s new in Version 4.3 (R2009a):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
YesBug Reports
New features and changes introduced in this version are
• “Bell-Shape Doppler Object” o n page 13
• “Scatter Plot” on page 13
• “EVM and MER Measurements” on page 14
• “commsrc package now supports PN sequence generation” on page 14
• “MIMO channel simulation support” on page 15
Fixed Bugs an d
Known Problems
Includes fixes.
Related
Documentation at
Web Site
Printable Release
Notes: PDF
Current product
documentation
Bell-Shape Doppler Object
The doppler.bell function creates a bell-shape Doppler spectrum object. You
can use this object for the
the
rayleighchan function, ricianchan function, or the mimochan function.
For more information, refer to the
DoplerSpectrum property of a channel object for
doppler.bell help page.
Scatter Plot
Communications Toolbox supports the creation of a scatter plot Grap hical
User Interface (GUI) that displays measurement and scatter plot results in
the same figure. The scatter plot feature is part of the
Users can create the scatter plot object in two ways: using a default object
or by defining parameter-value pairs. To access the scatter plot feature,
type
commscope.ScatterPlot at the MATLAB command line. For more
information, see the
commscope.ScatterPlot help page.
commscope package.
13
Communications Toolbox™ Release Notes
EVM and MER Measu
Communications
Modulation Erro
demodulator pe
of the signal-t
types of measu
communicatio
conforms to th
EVM, Peak EVM
Users can cre
defining pa
measure for
(%). To acce
command li
The MER obj
standard
unit of me
also in de
command
, the unit of measure for MER is decibels (dB). For consistency, the
asure for Minimum MER and Percentile MER measurements is
cibels. To access this object, type
line. For more information, see the
commsrc
genera
In orde
sequen
objec
versi
in a fu
tion
r to make all of the communications sources available together, t h e
ce generator functionality is now part of the
t provides the same characteristics and behavior as in previous Toolbox
ons. As a result, the
ture release.
Toolbox can perform Error Vector Magnitude (EVM) and
r Ratio (MER) measurements. EVM is a measurement of
rformance in the presence of impairments. MER is a measure
o-noise ratio (SNR) in a digital modulation application. These
rements are useful for determining system performance in
ns applications. For example, determining if an EDGE system
e 3GPP radio transmission standards requires accurate RMS,
, and 95th percentile for the EVM measurements.
ate an EVM object in two ways: using a default object or by
rameter-value pairs. As defined by the 3GPP standard, the unit of
RMS, Maximum, and Percentile EVM measurements is percentile
ss the EVM object, type
ne. For more information, see the
ectispartofthe
package now supports PN sequence
rements
commmeasure.EVM at the M ATLAB
commmeasure.EVM help page.
commmeasure package. As defined by the DVB
commmeasure.MER at the MATLAB
commmeasure.MER help page.
commsrc package. This
seqgen.pn function is obsolete and will be removed
14
Compatibility Consideration
Note The MathWorks will remove the seqgen function from a future version
of the Communications Toolbox product. While the product still supports this
function, you should use
commsrc.pn instead.
Version 4.3 (R2009a) Communica tions Toolbox™ Software
MIMO channel sim
The new MIMO chan
simulations. Yo
channels. For m
802.11b WLAN Ph
nel object supports multiple-input multiple output
u can specify correlated or uncorrelated fading between
ore information, see the
ysical Layer demo.
ulation support
mimochan help page or the IEEE
®
15
Communications Toolbox™ Release Notes
Version 4.2 (R2008b) Communications Toolbox Software
This table summarizes what’s new in Version 4.2 (R2008b):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
NoBug Reports
New features and changes introduced in this version are
• “Pattern Generator” on page 16
• “EyeScope Compare Measurement Results View” on page 16
• “New Demos” on page 16
Fixed Bugs an d
Known Problems
Includes fixes.
Related
Documentation at
Web Site
Printable Release
Notes: PDF
Current product
documentation
Pattern Generator
Communications Toolbox software now includes Pattern Generator object.
YoucanusethisobjecttogenerateNRZorRZsignalsandinjectjitter,
which enables stress tests for high speed communications systems. For more
information, refer to the
commsrc.pattern help page.
EyeScope Compare Measurement Results View
EyeScope now supports the ability to import multiple eye diagram objects.
Additionally, EyeScope now contains a View menu,whichyoucanuseto
compare m easurement results from multiple eye diagram objects.
16
New Demos
New d emos and demos containing updates for this release:
• New
Multipath Fading Channel Modeling demo.
Version 4.2 (R2008b) Communica tions Toolbox™ Software
• Updates to Eye Diagr am Measurements demo include use of pattern
generator, importing multiple eye diagram objects, and comparing
measurement results.
17
Communications Toolbox™ Release Notes
Version 4.1 (R2008a) Communications Toolbox Software
This table summarizes what’s new in Version 4.1 (R2008a):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
NoBug Reports
New features and changes introduced in this version are
• “Cyclic Redundancy Checking (CRC)” on page 18
• “Eye Diagram Measurements” on page 18
• “EyeScope Functionality” on page 19
• “New BCH and Reed Solomon Objects” on page 19
• “New Demos” on page 20
Fixed Bugs an d
Known Problems
Includes fixes.
Related
Documentation at
Web Site
Printable Release
Notes: PDF
Current product
documentation
Cyclic Redundancy Checking (CRC)
New CRC generator and detector objects have been added to the
Communications Toolbox software.
18
Eye Diagram Measurements
Communications To olbo x product n ow provides eye diagram measurements,
generated from the histogram data of eye diagram objects. This feature will
be he lp fu l for sig nal integrity an alysis, a m aj or focus of backplane and optical
communications development.
You can obtain the following measurements on an eye diagram:
• Eye Crossing Times
• Eye Crossing Amplitude
• Eye Delay
• Eye Level
• Eye Amplitude
• Eye Height
• Eye Width
• Vertical Eye O pening
• Eye Crossing Percentage
• Eye SNR
• Quality Factor
• Random Jitter
• Deterministic Jitter
• Total Jitter
• RMS Jitter
Version 4.1 (R2008a) Communica tions Toolbox™ Software
• Peak-to-Peak Jitter
• Horizontal Eye Opening
• EyeRiseTime
• Eye Fall Time
EyeScope Functionality
EyeScope can be used to examine eye diagram results in a user-friendly,
graphical environment. EyeScope shows both the eye diagram figure and
measurement results in a unified GUI, providing a more efficient means for
viewing results.
New BCH and Reed Solomon Objects
Communications Toolbox softw a re now contains BCH and Reed Solomon
objects. These objects extend the capabilities of existing BCH and Reed
Solomon functions by enabling punctures and erasure coding. Refer to the
following reference pages for more information:
19
Communications Toolbox™ Release Notes
• bchdec
• bchenc
• fec.rsdec
• fec.rsenc
New Demos
New demos have been added for spatial multiplexing and Eye Diagram
Measurements
.
• The
spatial multiplexing demo illustrates how to perform spatial
multiplexing
using Successive Interference Cancellation (SIC) detection
schemes.
• The
Eye Diagram Measurements demo illustrates how to use the
commscope.eyediagram object to perform eye diagram measurements on
simulated signals.
20
Version 4.0 (R2007b) Communica tions Toolbox™ Software
Version 4.0 (R2007b) Communications Toolbox Software
This table summarizes what’s new in Version 4.0 (R2007b):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
NoBug Reports
New features and changes introduced in this version are
• “Bi-Gaussian Doppler and Asy m m etrical Jakes Doppler Spectra Objects
Added” on page 21
• “Channel Objects and Channel Visualization Tool Enhanced” on page 22
• “ricianchan Object Enhanced” on page 22
• “Demos Modeling Various Channels Added” on page 22
• “Eye Diagram Object Added” on page 22
• “Modem Objects Added” on page 22
• “Theoretical BERs Added to BERTool and Enhanced in bercoding” on
page 22
Fixed Bugs an d
Known Problems
Includes fixes.
Related
Documentation at
Web Site
Printable Release
Notes: PDF
Current product
documentation
• “New stdchan Object” on page 23
• “bchenc Enhanced” on page 23
Bi-Gaussian Doppler and Asymmetrical Jakes
Doppler Spectra Objects Added
The doppler.bigaussian function creates a bivariate Gaussian Doppler
spectrum object, which is used in the
object.
DopplerSpectrum property of a channel
21
Communications Toolbox™ Release Notes
Channel Objects
Enhanced
Channel objects
different Dopp
ricianchan Ob
All paths now h
path of a Rici
Each path can
See the
rici
Demos Mode
New demos m
These can
typing
andemo_cost207
ch
Eye Diag
New eye d
traver
iagram object is added, that uses color to convey how often a trace
ses a point.
and channel visualization tool are enhanced to support
ler spectra per path.
ject Enhanced
ave the option of being Rician-faded (previously only the first
an multipath fading channel could be Rician-faded).
be assigned different values for the
anchan
reference page for details.
ling Various Channels Added
odeling COST 207, GSM/EDGE, and HF are added.
be accessed through the demos pane of the Help browser, or by
ram Object Added
and Channel Visualization Tool
K and fdLOS parameters.
and chand emo_ hf at the command line.
22
Modem
New PA
Theo
berc
retical BERs added to BERTool for hard-decision and soft-decision
Theo
oding with AWGN. Existing results in
dec
Objects Added
M, OQPSK, DPSK, MSK, and General QAM modem objects are added.
retical BERs Added to BERTool and Enhanced in
oding
bercoding aremademoreprecise.
Version 4.0 (R2007b) Communica tions Toolbox™ Software
New stdchan Obje
The new stdchan o
channel models,
bchenc Enhanc
The bchenc fun
bject constructs channel objects according to standardized
including COST 207, GSM/EDGE, 3GPP, and ITU-R.
ed
ction now runs faster, especially for longer codeword lengths.
ct
23
Communications Toolbox™ Release Notes
Version 3.5 (R2007a) Communications Toolbox Software
This table summarizes what’s new in Version 3.5 (R2007a):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
Yes
Summary
New features and changes introduced in this version are
• “Added Support for Different Doppler Spectra to Channel Objects” on
page 24
• “Theoretical Results Refined for
page 25
• “Various Enhancements Made to BERTool” on page 25
• “New Demo on MIMO Systems Showcasing Space-Time Block Coding”
on page 26
• “New PN Sequence Generator Object” on page 26
• “New
• “New
• “New
• “Enhanced Speed of
dvbs2ldpc Function” on page 26
finddelay Function” on page 26
alignsignals Function” on page 26
rsdec and bchdec Functions” on page 26
Fixed Bugs an d
Known Problems
Bug Reports
Includes fixes.
berawgn, berfading, and BERTool” on
Related
Documentation at
Web Site
No
24
Added Support for Different Doppler Spectra to
Channel Objects
A package of Doppler classes is added. These classes are used to instantiate
Doppler objects to be used with the Rayleigh and Rician channel objects:
•
doppler.flat
• doppler.gaussian
• doppler.jakes
Version 3.5 (R2007a) Communica tions Toolbox™ Software
• doppler.rjakes
• doppler.rounded
See individual reference pages for details.
Theoretical Results Refined for berawgn, berfading,
and BERTool
Many of the previous theoretical results are now more accurate.
The functions
in addition to the bit error rate.
Several new theoretical results have been added.
berawgn and berfading can now return the symbol e rror rate
Compatibility Considerations
The results fro m these functions may be different from those of previous
releases as they are now more accurate.
Various Enhancements Made to BERTool
When performing Monte Carlo simulations using BERTool, the BER plot is
now updated every time a new data point is calculated. This allows the user
to see whether the calculation is on the righ t track, and possibly start usin g
the results while the calculation is in progress.
Theoretical BER plots are now shown to be one of exact, approximate, lower
bounds, or upper bounds.
Theoretical error control coding BER results for Hamming, Golay, and Reed
Solomon codes are now available in the BERTool.
See “BERTool: A Bit Error Rate Analysis GUI” in the CommunicationsToolbox User’s Guide for details.
25
Communications Toolbox™ Release Notes
New Demo on MIMO S
Space-Time Bloc
A new demo on MIMO
space-time blo
showdemo('in
ck coding. You can open this demo by typing
troMIMOSystems')
New PN Sequenc
The object se
linear-feed
generator (S
qgen.pn
back shift register that is implemented using a simple shift register
SRG, or Fibonacci). See reference page for details.
New dvbs2ld
on
The functi
from the DV
New findd
The funct
New alig
The func
dvbs2ldpc returns the parity-check matrix of an LDPC code
B-S.2 standard.
elay
ion
finddelay estimates delays between signals.
nsignals
tion
alignsignals aligns two signals by delaying the earlier signal.
k Coding
systems is added, illustrating orthogonal
e Generator Object
produces a pseudorandom noise sequence using a
Function
pc
Function
Function
ystems Showcasing
at the command line.
26
Enhanc
The fu
nctions
ed Speed of
rsdec an d bchdec are enhanced to run significantly faster.
rsdec and bchdec Function s
Version 3.4 (R2006b) Communica tions Toolbox™ Software
Version 3.4 (R2006b) Communications Toolbox Software
This table summarizes what’s new in Version 3.4 (R2006b):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
Yes
Summary
New features and changes introduced in this version are
Fixed Bugs an d
Known Problems
Bug ReportsNo
Related
Documentation at
Web Site
Theoretical BER Results Added
Theoretical error control coding BER results for Hamming, Golay, and Reed
Solomon codes are now available in the function
bercoding.
Bitwise Soft-Decision Outputs for PSK and QAM
Demodulators
Bitwise soft-decision outputs are enabled for the PSK and QAM demodulation
through the use of new PSK and QAM modem objects. See “Object-Based PSK
and QAM Modulation and Demodulation” on page 28.
Added LDPC Encoder and Decoder Objects
The objects fec.ldpcenc and fec.ldpcdec respectively encode and decode
LDPC codes.
Line-of-Sight Doppler Shift Added to Rician Channel
The property DirectPathDopplerShift, which specifies the maximum
Doppler shift of the line-of-sight path, is added to the Rician channel object.
27
Communications Toolbox™ Release Notes
Object-Based PS
K and QAM Modulation and
Demodulation
PSK and QAM modul
classes
modem.
pskmod
Compatibility Considerations
See “Using Mod
QAM and PSK Mo
Functions O
ns
The functio
may be remov
Compatibility Considerations
Use the ne
instead.
on page 28.
pskmod, pskdemod, qammod,andqamdemod are obsolete and
ed in the future.
w object based PSK and QAM modulation and demodulation objects
See “Object-Based PSK and QAM Modulation and Demodulation”
ation and demodulation is now done using the new
, modem.pskdemod, modem.qammod,andmodem.qamdemod.
em Objects” and individual reference pages for details.
dulation and Demodulation
bsoleted
28
Version 3.3 (R2006a) Communica tions Toolbox™ Software
Version 3.3 (R2006a) Communications Toolbox Software
This table summarizes what’s new in Version 3.3 (R2006a):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
NoBug Reports
New features and changes introduced in this version are
Fixed Bugs an d
Known Problems
Includes fixes.
Related
Documentation at
Web Site
No
convenc and vitdec Updated with Puncturing and
Erasing
The function convenc is updated with puncturing capabilities. The function
vitdec now decodes codewords with punctures and erasures. Note that their
function syntax have also changed.
Enhanced pamdemod, pskdemod, and qamdemod
Functions
The pamdemod, pskdemod,andqamdemod functions are enhanced to run
significantly faster.
29
Communications Toolbox™ Release Notes
Version 3.2 (R14SP3) Communications Toolbox Software
This table summarizes what’s new in Version 3.2 (R14SP3):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
NoBug ReportsNo
New features and changes introduced in this version are
Fixed Bugs an d
Known Problems
Related
Documentation at
Web Site
Added function bchnumerr
bchnumerr returns all the possible combinations of message lengths and
number of correctable errors for a BCH code of given length.
Speed increase in bchgenpoly, bchenc, and bchdec
functions
bchgenpoly, bchenc,andbc hdec function have been enhanced to run more
rapidly.
30
Version 3.1 (R14SP2Communications Toolbox™ Software
Version 3.1 (R14SP2Comm unications Toolbox Software
This table summarizes what’s new in Version 3.1 (R14SP2):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
Yes—Details labeled
as CompatibilityConsiderations,
below. See also
Summary.
New features and changes introduced in this version are
Fixed Bugs an d
Known Problems
Bug Reports
Includes fixes.
Related
Documentation at
Web Site
No
Channel Visualization Tool
A new channel visualization tool allows you to plot various channel
characteristics.
Improved Rayleigh Fading Channel
Increased the signal proces sing speed of the Rayleigh Fading channel,
rayleighchan, by up to a factor of two.
Gray Coding Functionality
Added the functions b in2g ray and gray2bin to convert between Gray de coded
and encoded integers.
The bertool now has theoretical BER results for a Rician channel.
31
Communications Toolbox™ Release Notes
gfrank
Compatibility Considerations
The function gfrank now returns 0,insteadof[], on a zero matrix input.
encode, decode, and quantiz
Compatibility Considerations
The outputs of the encod e, decode,andquantiz functions now match the
input vector’s orientation.
32
Version 3.0.1 (R14SP1) Com munications Toolbox™ So ftware
Version 3.0.1 (R14SP1) Communications Toolbox Software
This table summarizes what’s new in Version 3.0.1 (R14SP1):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
No
New features and changes introduced in this version are
Fixed Bugs an d
Known Problems
Fixed bugs
Related
Documentation at
Web Site
No
Rician Channel BER Calculations
The BERTool is enhanced to allow for Rician channel BER calculations. For
details, see Available Sets of Theoretical BER Data in the Communications
Toolbox documentation.
berfading Updated for Rician Channel
berfading is enhanced to return the BER of BP SK over uncoded flat Rician
fading channels. For details, see the Communications Toolbox documentation
for
berfading.
New Adaptive Equalization Demo
A new demo illustrates adaptive equalization using Embedded MATLAB. To
open the demo, type
equalizer_eml at the M ATLAB command line.
33
Communications Toolbox™ Release Notes
Version 3.0 (R14) Communications Toolbox Software
This table summarizes what’s new in Version 3.0 (R14):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
Yes—Details labeled
as CompatibilityConsiderations,
below. See also
Summary.
New features and changes introduced in this version are
• “Bit Error Rate An alysis GUI” on page 35
• “Performance Evaluation” on page 35
• “Equalizers” on page 35
• “Fading Channels and Binary Symmetric Channel” on page 36
• “Interleavers” on page 37
• “Huffman Coding” on page 38
• “Pulse Shaping” on page 38
• “Utility Functions” on page 38
• “Enhanceme nts for Modulation” on page 39
Fixed Bugs an d
Known Problems
Fixed bugs
Related
Documentation at
Web Site
No
34
• “Enhanceme nts for BCH Coding” on page 40
• “Updating Existing Modulation MATLAB Code” on page 41
• “Updating Existing BCH MATLAB Code” on page 41
• “Changes in Functionality” on page 43
• “Obsolete Functions” on page 43
Version 3.0 (R14) Communications Toolbox™ Software
Bit Error Rate A n
Communications
BERTool that hel
performance. T
bertool
in the MATLAB C
Performance
The functio
error rate p
Function
berawgn
bercoding
berconf
berfad
berfi
bersync
distspec
semianalytic
int
ing
t
Toolbox has a graphical user interface (GUI) called
ps you analyze communication systems’ bit error rate (BER)
oinvoketheGUI,type
ommand Window.
Evaluation
ns in the table below enable you to measure or visualize the bit
erformance of a communication system.
alysis GUI
Purpose
Error probability for uncoded AWGN channels
Error probability for coded AWGN channels
BER and c
simulat
Error p
Fit a curve to nonsmooth empirical BER data
Bit error rate f or imperfect synchronization
Compute the distance spectrum of a convolutional
code
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.
35
Communications Toolbox™ Release Notes
Function
cma
dfe
equalize
lineareq
lms
mlseeq
normlms
rls
signlms
varlms
Purpose
Construct a constant modulus algorithm (CMA)
object
Construct a decision feedback equalizer object
Equalize a signal using an equalizer object
Construct a linear equalizer object
Construct a least mean square (LMS) adaptive
algorithm object
Equalize a linearly modulated signal using the
Viterbi algorithm
Construct a normalized least mean square (LMS)
adaptive algorithm object
Construct a recursive least squares (RLS) adaptive
algorithm object
Construct a signed least mean square (LMS)
adaptive algorithm object
Construct a variable step size least mean square
(LMS) adaptive algorithm object
36
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.
Function
bsc
filter (for channel objects)
rayleighchan
reset
ricianchan
Purpose
Model a binary symmetric channel
Filter sig nal w i th channel object
Construct a Rayleigh fading channel
object
Reset channel object
Construct a Rician fading channel
object
Interleavers
The functions in
and convolution
Version 3.0 (R14) Communications Toolbox™ Software
the tables below enable you to perform block interleaving
al interleaving, respectively.
Block Interlea
Function
algdeintrlv
ving
Purpose
Restore ordering of symbols, using algebraically
derived permutation table
algintrlv
Reorder symbols, using algebraically derived
permutation table
deintrlv
helscandeintrlv
helscanintrlv
intrlv
matdei
ntrlv
Restore ordering of symbols
Restore ordering of symbols in a helical pattern
Reorder
Reorder
Restor
column
trlv
matin
Reord
empty
deintrlv
rand
Rest
perm
dintrlv
ran
Reorder symbols, using a random permutation
Convolutional Interleaving
symbols in a helical pattern
sequence of symbols
e ordering of symbols by filling a matrix by
s and emptying it by rows
er symbols by filling a matrix by rows and
ingitbycolumns
ore ordering of symbols, using a random
utation
nction
Fu
onvdeintrlv
c
onvintrlv
c
heldeintrlv
helintrlv
rpose
Pu
estore ordering of sy mbo ls, using shift registers
R
ermute symbols, using shift registers
P
Restore ordering of symbols permuted using
helintrlv
Permute symbols , using a helical array
37
Communications Toolbox™ Release Notes
Convolutional Interleaving (Continued)
Function
muxdeintrlv
muxintrlv
Purpose
Restore ordering of symbols, using specified shift
registers
Permute symbols, u sin g shift registers with
specified delays
Huffman Coding
The functions in the table below enable you to perform Huffman coding.
Function
huffmandeco
huffmandict
huffmanenco
Purpose
Huffman decoder
Generate Huffman code dictionary for a source
with known probability model
Huffman 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.
38
Function
intdump
rectpulse
These functions can be useful in conjunction with the modulation functions
listed below.
Purpose
Integrate and dump
Rectangular pulse shaping
Utility Functions
The toolbox now includes the following utility functions, details of which are
on the corresponding reference pages.
Version 3.0 (R14) Communications Toolbox™ Software
Function
noisebw
qfunc
qfuncinv
Purpose
Equivalent noise bandwidth of a filter
Q function
Inverse 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 d id 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
Function
amdemod
ammod
fmdemod
fmmod
pmdemod
pmmod
ssbdemod
ssbmod
Purpose
Amplitude demodulation
Amplitude modulation
Frequency demodulation
Frequency modulation
Phase demodulation
Phase modulation
Single sideband amplitude demodulation
Single sideband amplitude modulation
Digital Baseband Modulation
Function
dpskdemod
dpskmod
Purpose
Differential phase shift keying demodulation
Differential phase shift keying modulation
39
Communications Toolbox™ Release Notes
Digital Baseband Modulation (Continued)
Function
fskdemod
fskmod
genqamdemod
genqammod
modnorm
oqpskdemod
oqpskmod
pamdemod
pammod
pskdemod
pskmod
qamdemod
qammod
Purpose
Frequency s hift keying demodulation
Frequency shift keying modulation
General quadrature amplitude demodulation
General quadrature amplitude modulation
Scaling factor for normalizing modulation output
Offset quadrature phase shift keying demodulation
Offset quadrature phase shift keying modulation
Pulse amplitude demodulation
Pulse amplitude modulation
Phase shift keying demodulation
Phase shift keying modulation
Quadrature amplitude demodulation
Quadrature 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.
40
Function
bchdec
bchenc
bchgenpoly
Purpose
BCH decoder
BCH encoder
Generator 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.
Version 3.0 (R14) Communications Toolbox™ Software
Updating Existi
ng Modulation MATLAB Code
Compatibility Considerations
If your existin
you might want
capabilities
• The toolbox no
However, it s
is usually pr
• The toolbox
However, it
• The new suit
modulatio
number of f
• The new mo
shaping w
Also, the
the modu
rectpul
• In most c
descri
sets of
update
docume
outpu
g MATLAB code performs modulation or demodulation, then
to update it to use the enhanced modulation or demodulation
. H ere are some important points to keep in mind:
longer supports digital passband modulation/demodulation.
upports digital baseband modulation/demodulation, which
eferable.
no longer supports analog baseband modulation/demodulation.
supports analog passband modulation/demodulation.
e of functions includes a different function for each supported
n type, whe reas the old suite of functions included a smaller
unctions that each supported many modulation types.
dulation/demodulation functions do not apply rectangular pulse
hen modulating, and do not downsample when demodulating.
new functions’ syntax does not involve
lator input. To imitate the old functions’ behavior, see the new
se
and intdump functions.
ases, the new f unctions use different kinds of input argume nts to
be param eters of the modulation or demodulation scheme. T he new
code might not be obvious. To make the task easier, compare the
ntation for the old and new functions and compare the functions’
ts for small or w ell-understoo d data sets.
Fd, the sampling rate of
Updat
ingExistingBCHMATLABCode
Compatibility Considerations
ur existing MATLAB code processes BCH codes, then you might want
If yo
pdate it to use the enhanced BCH capabilities. Here are some important
to u
nts to keep in mind:
poi
• Use
• Us
bchenc instead of bchenco and encode(...,'bch').
e
bchdec instead of bchdeco and decode(...,'bch').
41
Communications Toolbox™ Release Notes
• Use bchgenpoly instead of bchpoly.
bchenc and bchdec use Galois arrays for the messages and codewords.
•
To learn more about Galois arrays, see “Representing Ele m en t s of Galois
Fields” in the Communications Toolbox User’s Guide.
•
bchenc places (and bchdec expects to find) the parity symbols at the end of
each w ord by default. To process codes in which the parity symbols are at
the beginning of each word, use the string
argument when you invoke
Converting Between Release 13 and Release 14 Represen tations of
Code Data. To help you update your existing MATLAB 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 co ding
n = 15; k = 11; % Message len gth and codeword length
w = 10; % Number of words to encode in this example
% R13 binary vector format
mydata_r13 = randint(w*k,1); % Long v ecto r
% 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 .
'beginning' as the last input
bchenc and bchdec.
42
% Equivalent R14 Galois ar ray 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.
Version 3.0 (R14) Communications Toolbox™ Software
% 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 c olum n 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.
Version 2.1 (R13) Communications Toolbox™ Software
Version 2.1 (R13) Communications Toolbox Software
This table summarizes what’s new in Version 2.1 (R13):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
Yes—Details labeled
as CompatibilityConsiderations,
below. See also
Summary.
New features and changes introduced in this version are
• “Galois Field Computations” on page 45
• “Enhancements for Reed-Solomon Codes” on page 46
• “Arithmetic Coding” on page 46
• “Fixed Bugs” on page 46
• “Known Problems” on page 47
• “Updating Existing Galois Field Code” on page 47
• “Updating Existing Reed-Solomon MATLAB Code” on page 53
• “Changes in Functionality” on page 55
• “Obsolete Functions” on page 56
Fixed Bugs an d
Known Problems
Fixed bugs and known
problems
Related
Documentation at
Web Site
No
Galois Field Computations
Communications Toolbox supports a new data type that allows you to
manipulate arrays of elements of a Galois field having 2
m is an integer between 1 and 16. When you use this data ty pe, mo st
computations have the same syntax that you would use to manipulate
ordinary MATLAB arrays of real numbers. The consistency with MATLAB
syntax makes the new G alois field capabilities easier to use than the
analogous Release 12 capabilities.
m
elements, where
45
Communications Toolbox™ Release Notes
Enhancements for Reed-Solomon Codes
The functions in the table below allow you to encode and decode Reed-Solomon
codes, including shortened Reed-Solom on codes. These functions enhance and
replace the older Reed-Solomo n coding functions in Communications Toolbox.
FunctionPurpose
rsdec
rsenc
rsgenpoly
When processing codes using the se functions, you can control the generator
polynomial, the primitive polynomial used to describe the Galois field
containing the code symbols, and the position of the parity symbols.
Reed-Solomon decoder
Reed-Solomon encoder
Generator polynomial of
Reed-Solomon code
46
Arithmetic Coding
The functions in the table below allow you to perform arithmetic coding.
FunctionPurpose
arithdeco
arithenco
Decode binary code using arithmetic
decoding
Encode a sequence of symbols using
arithmetic coding
Fixed Bugs
Reed-Solomon decoder corrects up to t errors
The new function rsdec accurately decodes Reed-Solomon codes containing up
to
t errors in each codeword. This new function replaces the earlier functions
rsdeco and rsdecode.
Version 2.1 (R13) Communications Toolbox™ Software
Reed-Solomon encoder and decoder use more conventional
format for data
The new functions rsenc and rsdec operate on the new Galois data type,
which represents symbols using a decimal fo r m at.
The new functions enable you to choose whether parity bits appear at the
beginning or end of each codeword.
Known Problems
Galois field manipulations canno t be compiled
The Galois field data type is not compatible with the MATLAB Compiler.
Incorrect name of data file in printed documentation
The section "Speed and Nondefault Primitive Polynomials" in the
printed manual refers to a MAT-file called
userGftable.mat.
gftable.mat. It should say
Updating Existing Galois Field Code
Compatibility Considerations
If your existing code performs computations in Galois fields having 2
elements, where m is an integer between 1 and 16, then you might want to
update your code to use the new Galois field capabilities.
Replacing Functions. The table below lists Release 12 functio ns that
correspond to Release 13 functions or operators acting on the new Galois
field data type. Compared to the syntax of their Release 12 counterparts, the
syntaxes of the Release 13 functions are different, but generally easier to use.
Release 13 Function
Release 12 Function
gfadd+
gfconvconv
or OperatorComments
m
47
Communications Toolbox™ Release Notes
Release 12 Function
gfcosetscosetscosets returns a
gfdeconvdeconv
gfdiv./
gffilterfilter
gflineq\
gfplus+
gfprimckisprimitive
gfprimdfprimpoly
gfprimfdprimpoly
gfrankrank
gfrootsroots
gfsub-
gftuple.^, log, polyval
Release 13 Function
or OperatorComments
cell array, whereas
gfcosets returns a
NaN-padded matrix.
Unlike gffilt er,
filter also returns the
final states.
isprimitive
primitivity but not
reducibility.
Unlike gfroots , roots
indicates multiplicities
of roots and can process
polynomials in an
extension field
See “Converting and
Simplifying Formats
Using R 13 Galois
Arrays” on page 51 for
more details.
detects
48
Version 2.1 (R13) Communications Toolbox™ Software
Converting Between Release 1 2 and Release 13 Representations
of Field Elements. In some parts of your existing code, you might need to
convert data between the exponential format supported in Release 12 and the
new Galois array. The code example below performs such conversions on a
sample vector that represents elements of GF(16).
% Sample data
m = 4; % For example, work in GF(2^4) = GF(16).
a_r12 = [2 5 0 -Inf]; % GF(16) elements in exponential format
% 1. Convert to the Release 13 Galois array.
A = gf(2,m); % Primitive element of the field
a_r13 = A.^(a_r12); % Posi tiv e exponents mean A to that power.
a_r13(find(a_r12 < 0)) = 0; % Negative exponents mean zero.
% 2. Convert back to the Release 12 exponential format.
m = a_r13.m; A = gf(2,m);
a_r12again = zeros(size(a_r13)); % Preallocate space in a matrix.
zerolocations = find(a_r13 == 0);
nonzerolocations = find(a_r13 ~= 0);
a_r12again(zerolocations) = -Inf; % M ap 0 to negative exponent.
a_r12again(nonzerolocations) = log(a_r13(nonzerolocations));
% Check that the two conversions are inverses.
ck = isequal(a_r12,a_r12again)
ck =
1
Converting Between Release 1 2 and Release 13 Representations
of Polynomials. Release 12 and Release 13 use different formats for
representing polynomials over GF(2
m
). Release 12 represents a polynomial
as a vector of coefficients in order of ascending powers. Depending on the
context, each coefficient listed in the vector represents either an element in
a prime field or the exponential format of an element in an extension field.
Release 13 uses the conventions described below.
49
Communications Toolbox™ Release Notes
Primitive Polynomials
The functions gf, isprimitive,andprimpoly represent a primitive
polynomial using an integer scalar whose binary representation lists the
coefficients of the polynomial. The least significant bit is the constant term.
For example, the scalar 13 has binary representation 1101 and represents
the polynomial D
3
+D2+1.
Other Polynomials
When performing arithmetic with, e valuating, or finding roots of a polynomial,
or when finding a minimal polynomial of a field element, you represent the
polynomial using a Galois vector of coefficients in order of descending powers.
Each coefficient listed in the vector represents an element in the field using
the representation described in “How Integers Correspond to Galois F ield
Elements”.
For example, the Galois vector
3+x2
x
x
GF(2
+ 1. Also, the Galois vector gf([1 2 3],3) represents the polynomial
2
+ Ax + (A+1), where A is a root of the default primitive polynomial for
3
). The coefficient of A+1 corresponds to the vector entry of 3 because
the binary representation of 3 is 11.
Example Showing Conversions
The code example below might help you determine how to convert between
the Release 12 and Release 13 formats for polynomials.
gf([1 1 0 1],1) represents the polynomial
50
m = 3; % Work in GF(8).
poly_r12 = [1 1 0 1]; % 1+x+x^3, ascending order
poly_r13 = gf([1 0 1 1],m); % x^3+x+1 in GF(8), descending order
% R12 polynomials
pp_r12 = gfprimdf(m); % A primitive polynomial
mp_r12 = gfminpol(4,m); % The minimal polynomial of an element
rts_r12 = gfroots(poly_r12); % Find r oots .
Version 2.1 (R13) Communications Toolbox™ Software
% R13 polynomials
pp_r13 = primpoly(m,'nodisplay'); % A primitive polynomial
mp_r13 = minpol(gf(4,m)); % The minim al polynomial of an element
rts_r13 = roots(poly_r13); % Find roo ts.
% R12 polynomials converted to R13 formats
% For primitive poly, chan ge binary vector to decimal scalar.
pp_r12_conv = bi2de(pp_r12);
% For minimal poly, change ordering and make it a Galois array.
mp_r12_conv = gf(fliplr(mp_r12));
% For roots of polynomial, note that R12 answers are in
% exponential format. Conv ert to Galois array format.
rts_r12_conv = gf(2,m) .^ rts_r12;
% Check that R12 and R13 yield the same answers.
c1 = isequal(pp_r13,pp_r12_conv); % True.
c2 = isequal(mp_r13,mp_r12_conv); % True.
c3 = isequal(rts_r13,rts_r12_conv); % True.
Converting and Simplifying Formats Using R13 Galois Arrays. If your
existing code uses
gftuple to convert between e xponential and polynomial
formats, or to simplify one of these formats, then the code example below
might help you determine how to perform those tasks using the Release 13
Galois array.
% First define key characteristics of the field.
m = 4; % For example, work in GF(2^4) = GF(16).
A = gf(2,m); % Primitive element of the field
% 1. Simplifying a Polynom ial Format
poly_big = 2^10 + 2^7;
% Want to refer to the element A^10 + A^7. However,
% cannot use gf(poly_big,m ) because poly_big is too large.
poly1 = A.^10 + A.^7 % One way to define the element.
poly2 = polyval(de2bi(poly_big,'left-msb'),A); % Another way.
% The results show that A^10 + A^7 equals A^3 + A^2 in this
% field, using the binary representation of 12 as 1100.
% 2. Simplifying an Expone nti al Format
51
Communications Toolbox™ Release Notes
exp_big = 39;
exp_simple = log(A.^exp_big) % Simplest exponential format.
% The results show that A^39 equals A^9 in this field.
% 3. Converting from Expon ent ial to Polynomial Format
expf1 = 7;
pf1 = A.^expf1
% The results show that A^7 equals A^3 + A + 1 in this
% field, using the binary representation of 11 as 1011.
% 4. Converting from Polyn omi al to Exponential Format
pf2 = 11; % Represents the element A^3 + A + 1
expf2 = log(gf(pf2,m))
% The results show that A^3 + A + 1 equals A^7 in this field.
Version 2.1 (R13) Communications Toolbox™ Software
Updating Existi
ng Reed-Solomon MATLAB Code
Compatibility Considerations
If your existin
want to update
some importan
• Use
• Use
• Use
•
rsenc inst
rsdec ins
rsgenpo
rsenc and rs
learn more a
Fields”.
rsenc and r
•
Release 12
Release 1
Release 1
• The Rele
exponen
convert
upgrade
Releas
g MATLAB code proces ses Reed-Solomon codes, then you might
it to use the enhanced Reed-Solomon capabilities. Below are
t points to keep in mind:
ead of
rsenco, rsencode,andencode(...,'rs').
tead of
ly
dec
rsdeco, rsdecode,anddecode(...,'rs').
instead of rspoly.
use Galois arrays for the messages and codewords. To
bout Galois arrays, see “Representing Elements of Galois
sdec
interpret symbols in a different way compared to the
functions. For an example sh owing how to convert between
2 and Release 13 interpretations, see “Converting Between
2 and Release 13 Representations of Code Data” on page 54.
ase 12 functions support three different data formats. The
tial format is most easily converted to the Release 13 format. To
your data among the various Release12formatsasyouprepareto
to the new Release 13 functions, see “Converting Among Various
e 12 Representations of Coding Data” on page 55.
•
rsenc,
repres
indic
to the
• rse
eac
the
ar
rsdec,andrsgen poly use a Galois array in descending order to
ent the generator polynom ial argument. The commands below
ate ho w to conv ert generator polynomials from the Release 12 format
Release 13 format.
n = 7; k = 3; % E xamples of code parameters
m = log2(n+1); % Number of bits in each symbol
gp_r12 = rspoly(n,k); % R1 2 exponential format, ascending order
gp_r13 = gf(2,m).^fliplr(gp_r12); % Convert to R13 format.
nc
places (and rsdec expects to find) the parity symbols at the end of
h w ord by default. To process codes in which the parity symbols are at
beginning of each word, use the string
gument when you invoke
rsenc and rsdec.
'beginning' as the last input
53
Communications Toolbox™ Release Notes
Converting Between Release 1 2 and Release 13 Representations
of Code Data. To help yo u update your existing M -code that processes
Reed-Solomon codes, the example below illustrates how to encode data using
the new
rsenc function and the earlier rsenco function.
% Basic parameters for co ding
m = 4; % Number of bits per s ymbo l in each codeword
t = 2; % Error-correction capability
n = 2^m-1; k = n-2*t; % Message length and codeword length
w = 10; % Number of words to encode in this example
% Lookup tables to transla te formats between rsenco and rsenc
p2i = [0 gf(2,m).^[0:2^m-2 ]]; % Galois vector listing powers
i2p = [-1 log(gf(1:2^m-1,m ))]; % Integer vector listing logs
% R12 method, exponential format
% Exponential format uses integers between -1 and 2^m-2.
mydata_r12 = randint(w,k,2^m)-1;
code_r12 = rsenco(mydata_r12,n,k,'power'); % * Encode the data. *
% Convert any -Inf values to -1 to facilitate comparisons.
code_r12(isinf(code_r12)) = -1;
code_r12 = reshape(code_r12,n,w)'; % One codeword per row
54
% R12 method, decimal format
% This yields same results as R12 exponential format.
mydata_r12_dec = mydata_r12 + 1; % Convert to decimal.
code_r12_dec = rsenco(mydata_r12_dec,n,k,'decimal'); % Encode.
code_r12_dectoexp = code_r12_dec - 1; % Convert to exponential.
c1 = isequal(code_r12,code_r12_dectoexp); % True.
% R12 method, binary format
% This yields same results as R12 exponential format.
mydata_r12_bin = de2bi(mydata_r12_dec',m); % Convert to bina ry.
code_r12_bin = rsenco(mydata_r12_bin,n,k,'binary'); % Encode.
code_r12_bintoexp = reshape(bi2de(code_r12_bin),n,w)' - 1;
c2 = isequal(code_r12,code_r12_bintoexp); % True.
% R13 method
mydata_r13 = fliplr(mydata_r12); % Reverse the order.
% Convert format, using +2 to get in the right range fo r indexing.
Version 2.1 (R13) Communications Toolbox™ Software
mydata_r13 = p2i(mydata_r13+2);
code_r13 = rsenc(mydata_r13,n,k); % * Encode the data. *
codeX = double(code_r13.x); % Retrieve data from Galois array.
% Convert format, using +1 to get in the right range fo r indexing.
codelogX = i2p(codeX+1);
codelogX = fliplr(codelogX); % Reverse the order again.
c3 = isequal(code_r12,codelogX) % True.
c3 =
1
Converting Among Various Release 12 Representations of Coding
Data. These rules indicate how to convert among the exponential, decimal,
and binary formats that the Release 12 Reed-Solomon functions support:
• To convert from decimal format to exponential format, subtract one.
• To convert from exponential format to decimal format, replace any negative
values by -1 and then add one.
• To convert between decimal and binary formats, use
de2bi an d bi2de.The
right-most bit is the most significant bit in this context.
The commands below illustrate these conversions.
msgbin = randint(11,4); % Message fo r a (15,11) = (2^4-1, 11) code
msgdec = bi2de(msgbin)'; % Binary to decimal
msgexp = msgdec - 1; % Decimal to exponential
codeexp = rsenco(msgexp,15,11,'power');
codeexp(find(codeexp < 0)) = -1; % Use -1 consistently.
codedec = codeexp + 1; % Exponential to decimal
codebin = de2bi(codedec); % Decimal t o binary
Changes in Functionality
Compatibility Considerations
The table below lists functions whose behavior has changed.
55
Communications Toolbox™ Release Notes
FunctionChange in Functionality
wgn
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 c olum n 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.
The default measurement unit is the
dBW, formerly documented as "dB."
To specify this unit explicitly in the
syntax, set the
argument to
powertype input
'dBW',not'dB'.The
output of the function is unaffected
by this change in syntax.
56
FunctionSimilar Function
gfplus
rsdecorsdec
rsdecodersdec
rsencorsenc
rsencodersenc
rspolyrsgenpoly
operator for Galois arrays
+
Version 2.0 (R12) Communications Toolbox™ Software
Version 2.0 (R12) Communications Toolbox Software
This table summarizes what’s new in Version 2.0 (R12):
New Features and
Changes
Yes
Details below
Version
Compatibility
Considerations
Yes—Details labeled
as CompatibilityConsiderations,
below. See also
Summary.
New features and changes introduced in this version are
• “Convolutional Coding Functions” on page 57
• “Gaussian Noise Functions” on page 58
• “Other New Functions” on page 58
• “Enhancements to Existing Fun ctions” on page 58
• “Fixed Bugs” on page 59
• “Changes in Functionality” on page 62
• “Obsolete Functions” on page 64
Fixed Bugs an d
Known Problems
Fixed bugs
Related
Documentation at
Web Site
No
Convolutional Coding Functions
Communications Toolbox processes feedforward and feedback convolutional
codes that can be described by a trellis structure or a set of generator
polynomials. It uses the Viterbi algorithm to implement hard-decision and
soft-decision decoding. These new functions support convolutional coding:
•
convenc creates a convolutional code from binary data.
vitdec decodes convolutionally encoded d ata using the Viterbi algorithm.
•
poly2trellis converts a polynomial description of a convolutional encoder
•
to a trellis description.
57
Communications Toolbox™ Release Notes
• istrellis checks if the input is a valid trellis structure representing a
convolutional encoder.
Gaussian Noise Functions
These new functions create Gaussian noise:
•
awgn adds white Gaussian noise to the input signal to produce a specified
signal-to-noise ratio.
•
wgn generates white Gaussian noise with a specified power, impedance,
and complexity.
Other New Functions
These functions are also new in Release 12:
•
eyediagram plots an eye diagram.
marcumq implements the generalized Marcum Q function.
•
oct2dec converts octal numbers to decimal numbers.
•
58
randerr generates bit error patterns. This is similar to the obsolete
•
function
randbit, but it accepts a more intuitive set of input arguments
and uses an upgraded random number generator.
•
randsrc generates random matrices using a prescribed alphabet.
scatterplot produces a scatter plot.
•
syndtable generates syndrome decoding tables. This is similar to the
•
obsolete function
htruthtb, but it is not limited to single-error-correction
codes.
Enhancements to Existing Functions
The following functions have been enhanced in Release 12:
•
biterr and symerr provide a third output argument that indicates the
results of individual comparisons. These functions also provide more
comprehensive support for comparisons between a vector and a matrix.
Version 2.0 (R12) Communications Toolbox™ Software
• de2bi and bi2de use an optional input flag to indicate the ordering of bits.
If you omit the flag from the list of input arguments, then the default
behavior matches that of Release 11.
•
randint can operate without input arguments. Also, it can accept a
negative value for the optional third input argument.
Fixed Bugs
VITERBIisslowanddoesnotdecodecorrectly
VITERBI has been replaced by a new function, VITDEC, which is much faster
and decodes correctly.
DDEMOD and DDEMODCE do not produce correct symbol error
rates
DDEMOD and DDEMODCE now produce the optimal symbol error rate in
AWGN for PSK, ASK, QASK (QAM), FSK, and noncoherent FSK.
DMOD and DMODCE generate incorrect waveform for MSK
and FSK
DMOD and DMODCE now generate the correct waveform for MSK and FSK.
GFADD, GFSUB, GFDIV, GFMUL, GFCONV and GFDECONV
return incorrect answers
GFADD, GFSUB, GFDIV, GFMUL, GFCONV and GFDECONV have been
improved in the following ways:
• Correct answers for prime and extension Galois fields, including prime
fields,GF(p),wherep>2.
• Correct handling of -Inf and negative values for extension Galois fields.
• Enhanced help descriptions to better distinguish the purposes of the
functions.
• Improved input parameter checking.
59
Communications Toolbox™ Release Notes
GFMINPOL returns incorrect answers when first input is -Inf or
when p>2. The function also sometimes crashes
GFMINPOL now returns the correct answers and does not crash.
GFPLUS and RSENCODE returns incorrect answers for negative
inputs
GFPLUS now returns correct answers for negative inputs. This fix also allows
RSENCODE to return correct results.
GFLINEQ returns incorrect answers in prime Galois fields of
order greaterthan 2
GFLINEQ now solves linear equations in prime Galois fields of order greater
than 2.
GFPRIMDF produces "out of memory" messages for degrees
higher than 24
GFPRIMDF now uses less memory and can find primitives of degrees greater
than 24. Howev er, this calculation will take considerable time.
60
DECODE using the cyclic decoder option does not decode
(23,12) Golay codecorrectly
The cyclic decoder now decodes the (23,12) Golay code correctly.
GFPRIMFD finds incorrect primitive polynomial
GFPRIMFD finds the correct primit ive poly nomial for the given Galois field.
GFTUPLE returns incorrect answers when m=1
GFTUPLE now returns the correct answers when m=1.
GFPRIMCK, GFTRUNC, GFADD and GFFILTER causes
segmentation violations
GFPRIMCK, GFTRUNC, GFADD and GFFILTER do not cause segmentation
violations.
Version 2.0 (R12) Communications Toolbox™ Software
GFPRIMCK returns incorrect answers if p > 2 or inputs are
large.
GFPRIMCK correctly determines if a polynomial is irreducible and/or
primitive.
DECODE i ncorrectly dec odes block codes
DECODE now correctly decodes block codes using either the [I P] or [P I]
standard forms of the generator and parity-check matrices.
RCOSFLT does not correctly filter and upsample the input signal
RCOSFLT now applies the correct raised-cosine filter type a nd fully filters
and upsamples the input signal.
EYESCAT is difficult to use and plots I and Q components
together
EYESCAT has been replaced by new functions, EYEDIAGRAM and
SCATTERPLOT, w h ich are easier to use, plot I and Q components separately,
and allow X-Y plots.
ADEMOD ignores the phase offset parameter under the ’pm’
option andhas no sensitivity parameter under the ’fm’ option
The phase offset now causes the correct phase offset in the dem o d ulator. New
parameters w ere introduced to allow the sensitivity to be changed.
ADEMOD ’pm’ option - sensitivity parameter is required and
causes a dcoffset
ADEMOD now has an optional parameter called ’VCOconst’ that replaces
sensitivity and does not cause a dc offset.
RANDINT hangs when the range is large
RANDINT no longer hangs for large numbers.
61
Communications Toolbox™ Release Notes
RANDBIToutputisnotrandom
RANDBIT has been replaced by a new function, RANDERR, which generates
random output and supports for seeding.
Changes in Functionality
Compatibility Considerations
The table below lists functions whose behavior has changed.
FunctionChange in Functionality
bi2de
biterr
biterr, symerr
Distinguishes between rows and
columns as input vectors. Treats
column vector as separate numbers,
not as digits of a single number. To
adapt your existing code, transpose
the input vector if necessary.
Input argument k must be large
enough to represent all eleme nts of
the input arguments
Distinguish between rows and
columns as input vectors. To adapt
your existing code, transpose the
input vector if necessary.
x and y.
62
Use different strings for the input
argument that controls row-wise and
column-wise comparisons.
Produce vector, not scalar, output
ifoneinputisavector. Seethese
functions’ reference pages for more
information.
Version 2.0 (R12) Communications Toolbox™ Software
FunctionChange in Functionality
de2bi
Second input argument, if it appears,
must not be smaller than the number
of bits in any element of the first
input argument. Previously, the
function produced a truncated
binary representation instead of an
error. To adapt your existing code,
specify a su ff ici ently large number
for the second input argument and
then truncate the answer manually.
ddemod
Default behavior uses no filter, not
a Butterworth filter. Regardless
of filtering, the function uses an
integrator to perform demodulation.
dmod, ddemod, dmodce, ddemodce,
modmap, demodmap
For frequency shift keying method,
the default separation betw ee n
successive frequencies is
2*Fd/M. For minimum shift keying
method, the separation between
encode, decode
frequencies is
No longer support convolutional
coding. Use
Fd/2,notFd.
convenc and vitdec
instead.
gflineq
If the equation has no solutions,
then the function returns an empty
matrix, not a matrix of zeros.
randint
Uses state instead of seed to
initialize random number generator.
See
rand for more information
about initializing random number
generators.
rcosflt
The 'wdelay' flag is superfluous.
The function now behaves as the
Release 11 function behaved with
the
'wdelay'’flag.
Fd,not
63
Communications Toolbox™ Release Notes
Obsolete Functions
Compatibility Considerations
The table below lists functions that are obsolete. Although they are included
in Release 12 for backward compatibility, they might be removed in a future
release. Where applicable, the second column lists functions that provide
similar functionality. In some cases, the similar function requires different
arguments or produces different results compared to the original function.
FunctionSimilar Fun ction, if Any
commgui
convdecovitdec
convencoconvenc
eyescateyediagram, scatterplot
flxorbitxor
gen2abcd
htruthtbsyndtable
imp2sys
oct2gen
randbitranderr
sim2gen
sim2logi
sim2tran
viterbivitdec
64
Communications Toolbox™ Relea s e Notes Compatibility Summary