| Version 2.0 (R12) Communications Toolbox™ Software Release Notes Release Notes | ![]() |
This table summarizes what's new in Version 2.0 (R12):
| New Features and Changes | Version Compatibility Considerations | Fixed Bugs and Known Problems | Related Documentation at Web Site |
|---|---|---|---|
| Yes Details below | Yes—Details labeled as Compatibility Considerations, below. See also Summary. | Fixed bugs | No |
New features and changes introduced in this version are
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 data using the Viterbi algorithm.
poly2trellis converts a polynomial description of a convolutional encoder to a trellis description.
istrellis checks if the input is a valid trellis structure representing a convolutional encoder.
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.
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.
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.
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.
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.
VITERBI has been replaced by a new function, VITDEC, which is much faster and decodes correctly.
DDEMOD and DDEMODCE now produce the optimal symbol error rate in AWGN for PSK, ASK, QASK (QAM), FSK, and noncoherent FSK.
DMOD and DMODCE now generate the correct waveform for MSK and FSK.
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), where p>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.
GFMINPOL now returns the correct answers and does not crash.
GFPLUS now returns correct answers for negative inputs. This fix also allows RSENCODE to return correct results.
GFLINEQ now solves linear equations in prime Galois fields of order greater than 2.
GFPRIMDF now uses less memory and can find primitives of degrees greater than 24. However, this calculation will take considerable time.
The cyclic decoder now decodes the (23,12) Golay code correctly.
GFPRIMFD finds the correct primitive polynomial for the given Galois field.
GFTUPLE now returns the correct answers when m=1.
GFPRIMCK, GFTRUNC, GFADD and GFFILTER do not cause segmentation violations.
GFPRIMCK correctly determines if a polynomial is irreducible and/or primitive.
DECODE now correctly decodes block codes using either the [I P] or [P I] standard forms of the generator and parity-check matrices.
RCOSFLT now applies the correct raised-cosine filter type and fully filters and upsamples the input signal.
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.
The phase offset now causes the correct phase offset in the demodulator. New parameters were introduced to allow the sensitivity to be changed.
ADEMOD now has an optional parameter called 'VCOconst' that replaces sensitivity and does not cause a dc offset.
RANDINT no longer hangs for large numbers.
RANDBIT has been replaced by a new function, RANDERR, which generates random output and supports for seeding.
The table below lists functions whose behavior has changed.
| Function | Change in Functionality |
|---|---|
| bi2de | 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. |
| biterr | Input argument k must be large enough to represent all elements of the input arguments x and y. |
| biterr, symerr | Distinguish 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. | |
| 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 sufficiently 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 between successive frequencies is Fd, not 2*Fd/M. For minimum shift keying method, the separation between frequencies is Fd/2, not Fd. |
| encode, decode | No longer support convolutional coding. Use 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. |
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.
| Function | Similar 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 |
![]() | Version 2.1 (R13) Communications Toolbox Software Release Notes | Communications Toolbox Release Notes Compatibility Summary | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |