Communications Toolbox Release Notes    

Upgrading from an Earlier Release

This section describes the upgrade issues involved in moving from the Communications Toolbox 2.0.1 to Version 2.1. This section discusses the following topics:

If you are upgrading from a version earlier than 2.0.1, then you should see Upgrading from an Earlier Release of the Communications Toolbox 2.0 Release Notes.

Updating Existing Galois Field Code

If your existing code performs computations in Galois fields having 2m 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 functions 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 12 Function
Release 13 Function or Operator
Comments
gfadd
+

gfconv
conv

gfcosets
cosets
cosets returns a cell array, whereas gfcosets returns a NaN-padded matrix.
gfdeconv
deconv

gfdiv
./

gffilter
filter
Unlike gffilter, filter also returns the final states.
gflineq
\

gfplus
+

gfprimck
isprimitive
isprimitive detects primitivity but not reducibility.
gfprimdf
primpoly

gfprimfd
primpoly

gfrank
rank

gfroots
roots
Unlike gfroots, roots indicates multiplicities of roots and can process polynomials in an extension field
gfsub
-

gftuple
.^, log, polyval
See Converting and Simplifying Formats Using R13 Galois Arrays for more details.

Converting Between Release 12 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).

Converting Between Release 12 and Release 13 Representations of Polynomials

Release 12 and Release 13 use different formats for representing polynomials over GF(2m). 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.

Primitive polynomials..   The functions gf, isprimitive, and primpoly 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 D3 + D2 + 1.

Other polynomials.   When performing arithmetic with, evaluating, 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 Field Elements.

For example, the Galois vector gf([1 1 0 1],1) represents the polynomial x3 + x2 + 1. Also, the Galois vector gf([1 2 3],3) represents the polynomial x2 + Ax + (A+1), where A is a root of the default primitive polynomial for GF(23). 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.

Converting and Simplifying Formats Using R13 Galois Arrays

If your existing code uses gftuple to convert between exponential 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.

The output is below.

Updating Existing Reed-Solomon M-Code

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

Converting Between Release 12 and Release 13 Representations of Code Data

To help you 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.

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:

The commands below illustrate these conversions.

Changes in Functionality

The table below lists functions whose behavior has changed.

Function
Change in Functionality
wgn
The default measurement unit is the dBW, formerly documented as "dB." To specify this unit explicitly in the syntax, set the powertype input argument to 'dBW', not 'dB'. The output of the function is unaffected by this change in syntax.

Obsolete Functions

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.

Function
Similar Function
gfplus
+ operator for Galois arrays
rsdeco
rsdec
rsdecode
rsdec
rsenco
rsenc
rsencode
rsenc
rspoly
rsgenpoly


  Major Bug Fixes Known Software and Documentation Problems