Version 2.0 (R12) Communications Toolbox Software Release Notes

This table summarizes what's new in Version 2.0 (R12):

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

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:

Gaussian Noise Functions

These new functions create Gaussian noise:

Other New Functions

These functions are also new in Release 12:

Enhancements to Existing Functions

The following functions have been enhanced in Release 12:

Fixed Bugs

VITERBI is slow and does not decode correctly

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:

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. However, this calculation will take considerable time.

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 primitive polynomial 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.

GFPRIMCK returns incorrect answers if p > 2 or inputs are large.

GFPRIMCK correctly determines if a polynomial is irreducible and/or primitive.

DECODE incorrectly decodes 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 and 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, which 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 demodulator. New parameters were 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.

RANDBIT output is not random

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
bi2deDistinguishes 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.
biterrInput argument k must be large enough to represent all elements of the input arguments x and y.
biterr, symerrDistinguish between rows and columns as input vectors. To adapt your existing code, transpose the input vector if necessary.
Use different strings for the input argument that controls row-wise and column-wise comparisons.
Produce vector, not scalar, output if one input is a vector. See these functions' reference pages for more information.
de2biSecond 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 sufficiently large number for the second input argument and then truncate the answer manually.
ddemodDefault behavior uses no filter, not a Butterworth filter. Regardless of filtering, the function uses an integrator to perform demodulation.
dmod, ddemod, dmodce, ddemodce, modmap, demodmapFor frequency shift keying method, the default separation between successive frequencies is Fd, not 2*Fd/M. For minimum shift keying method, the separation between frequencies is Fd/2, not Fd.
encode, decodeNo longer support convolutional coding. Use convenc and vitdec instead.
gflineqIf the equation has no solutions, then the function returns an empty matrix, not a matrix of zeros.
randintUses state instead of seed to initialize random number generator. See rand for more information about initializing random number generators.
rcosfltThe 'wdelay' flag is superfluous. The function now behaves as the Release 11 function behaved with the 'wdelay'' flag.

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 Function, if Any
commgui  
convdeco vitdec
convenco convenc
eyescat eyediagram, scatterplot
flxor bitxor
gen2abcd  
htruthtb syndtable
imp2sys  
oct2gen  
randbit randerr
sim2gen  
sim2logi  
sim2tran  
viterbi vitdec

  


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