Skip to Main Content Skip to Search
Product Documentation

Version 5.0 (R2011a) Communications System Toolbox

This table summarizes what's new in V 5.0 (R2011a):

New Features and ChangesVersion Compatibility ConsiderationsFixed Bugs and Known Problems
Yes
Details below
Yes—Details labeled as Compatibility Considerations, below. See also Summary.Bug Reports
Includes fixes

New features and changes introduced in this version are:

Product Restructuring

The Communications System Toolbox product replaces two pre-existing products: Communications Blockset and Communications Toolbox. You can access archived documentation for both products on the MathWorks Web site.

LDPC Encoder and Decoder System Objects

This release adds new comm.LDPCEncoder and comm.LDPCDecoder System objects. These new System objects provide simulation of low-density, parity-check codes.

LDPC GPU Decoder System Object

This release adds a new comm.gpu.LDPCDecoder System object, which uses a graphics processing unit (GPU) to decode low-density, parity-check codes. This new System object procures simulation results more quickly than a CPU.

Variable-Size Support

The following blocks now support variable-size input signals:

The following source blocks can now output variable-size signals:

The following System objects now support variable-size input signals:

The following System objects now output variable-size signals:

Algorithm Improvements for CRC Blocks

This release introduces a new encoding algorithm for all blocks in the CRC sublibrary residing in the Error Detection and Correction library. In this new implementation, the block processes multiple input bits in one step, resulting in faster processing times. The previous implementation always processed one input bit at each step.

MATLAB Compiler Support for System Objects

The Communications System Toolbox supports the MATLAB Compiler for most System objects. With this capability, you can use the MATLAB Compiler to take MATLAB files, which can include System objects, as input and generate standalone applications.

The following System objects are not supported by the MATLAB Compiler software:

'Internal rule' System Object Property Values Changed to 'Full precision'

To clarify the value of many DataType properties, the 'Internal rule' option has been changed to 'Full precision'.

Compatibility Consideration

The objects allow you to enter either 'Internal rule' or 'Full precision'. If you enter 'Internal rule', that option is stored as 'Full precision'.

System Object Code Generation Support

The following System objects support code generation:

LDPC Decoder Block Warnings

Communications System Toolbox software uses a new implementation of the LDPC Decoder block. If you open a previously existing model that contains the LDPC block, the model generates a warning at the MATLAB command line. Simply resave the model to prevent any subsequent warnings.

Phase/Frequency Offset Block and System Object Change

In previous releases, when the frequency offset input signal to the Phase/Frequency Offset block or comm.PhaseFrequencyOffset System object was constant, or time-invariant, the block and System object generated the correct output. However, the block and System object produced incorrect results for a time-varying frequency offset input signal. The new implementation generates the correct output for a time-varying frequency offset input signal.

Derepeat Block Changes

The Derepeat block now contains the Input processing and Rate options parameters. See Frame-Based Processing for more information.

Version 2, 2.5, and 3.0 Obsolete Blocks Removed

All the obsolete block libraries associated with Communications Blockset version 2 Release 12, version 2.5 Release 13, and version 3.0 Release 14 have been removed from this product. The removal includes the following libraries:

Compatibility Considerations

Communications System Toolbox software does not support any of the blocks from Release 12 and Release 13. The Communications System Toolbox block libraries provide some of the same functionality in the form of upgraded blocks.

System Objects Input and Property Warnings Changed to Errors

When a System object is locked (for example, after the step method has been called), the following situations now produce an error. This change prevents the loss of state information.

Compatibility Consideration

Previously, the object issued a warning for these situations. The object then unlocked, reset its state information, relocked, and continued processing. To update existing code so that it does not produce an error, use the release method before changing any of the items listed above.

Frame-Based Processing

In signal processing applications, you often need to process sequential samples of data at once as a group, rather than one sample at a time. Communications System Toolbox documentation refers to the former as frame-based processing and the latter as sample-based processing. A frame is a collection of samples of data, sequential in time.

Historically, Simulink-family products that can perform frame-based processing propagate frame-based signals throughout a model. The frame status is an attribute of the signals in a model, just as data type and dimensions are attributes of a signal. The Simulink engine propagates the frame attribute of a signal by means of a frame bit, which can either be on or off. When the frame bit is on, Simulink interprets the signal as frame based and displays it as a double line, rather than the single line sample-based signal.

General Product-Wide Changes

Beginning in R2010b, MathWorks started to significantly change the handling of frame-based processing. In the future, frame status will no longer be a signal attribute. Instead, individual blocks will control whether they treat inputs as frames of data or as samples of data. To learn how a particular block handles its input, you can refer to the block reference page.

To transition to the new paradigm of frame-based processing, many blocks have received new parameters. The following sections provide more detailed information about the specific Communications System Toolbox software changes that are helping to enable the transition to the new way of frame-based processing:

Compatibility Considerations.  During this transition to the new way of handling frame-based processing, both the old way (frame status as an attribute of a signal) and the new way (each block controls whether to treat inputs as samples or as frames) will coexist for a few releases. For now, the frame bit will still flow throughout a model, and you will still see double signal lines in your existing models that perform frame-based processing.

For more detailed information about the specific compatibility considerations related to the R2010b frame-based processing changes, see the following Compatibility Considerations sections.

Blocks with a New Input Processing Parameter

Some Communications System Toolbox blocks are able to process both sample- and frame-based signals. After the transition to the new way of handling frame-based processing, signals will no longer carry information about their frame status. Blocks that can perform both sample- and frame-based processing will require a new parameter that allows you to specify the appropriate processing behavior. To prepare for this change, many blocks received a new Input processing parameter. You can select Columns as channels (frame based) or Elements as channels (sample based), depending upon the type of processing you want. The third choice, Inherited (this choice will be removed - see release notes), is a temporary selection. This additional option will help you to migrate your existing models from the old paradigm of frame-based processing to the new paradigm. Refer to the Compatibility Summary for Communications System Toolbox section for more information about migrating your existing models to the new paradigm of frame-based processing.

For a list of blocks that received a new Input processing parameter, expand the following list.

 Blocks with New Input Processing Parameter

Compatibility Considerations.  When you load an existing model R2010b, any block with the new Input processing parameter will show a setting of Inherited (this choice will be removed - see release notes). This setting enables your existing models to continue to work as expected until you upgrade them. Although your old models will still work when you open and run them in R2010b, you should upgrade them as soon as possible.

You can upgrade your existing models, using the slupdate function. The function detects all blocks that have Inherited (this choice will be removed - see release notes) selected for the Input processing parameter, and asks you whether you would like to upgrade each block. If you select yes for the Gaussian Filter or Windowed Integrator, the function detects the status of the frame bit on the input port of the block. If the frame bit is 1 (frames), the function sets the Input processing parameter to Columns as channels (frame based). If the bit is 0 (samples), the function sets the parameter to Elements as channels (sample based).

In a future release, the frame bit and the Inherited (this choice will be removed - see release notes) option will be removed. At that time, the Input processing parameter in models that have not been upgraded will automatically be set to either Columns as channels (frame based) or Elements as channels (sample based), depending on the library default setting for each block. If the library default setting does not match the parameter setting in your model, your model will produce unexpected results. Additionally, after the frame bit is removed, you will no longer be able to upgrade your models using the slupdate function. Therefore, you should upgrade your existing modes using slupdate as soon as possible.

AWGN Channel Block Changes

The AWGN Channel block uses the new method of Frame-Based Processing. In previous releases, the frame status of the input signal determined how the AWGN Channel block processed the signal. In R2010b, the default behavior of the AWGN Channel block is to always perform frame-based processing.

Unless you specify otherwise, the block now treats each column of the input signal as an individual channel, regardless of its frame status. To enable the behavior change in the AWGN Channel block while still allowing for backward compatibility, an Input processing parameter has been added. This parameter will be removed in a future release, at which point the block will always perform frame-based processing.

Compatibility Considerations.  The Input processing parameter will be removed in a future release. At that point in time, the AWGN Channel block will always perform frame-based processing.

You can use the slupdate function to upgrade your existing models that contain an AWGN Channel block. The function detects all AWGN Channel blocks in your model and, if you allow it to, performs the following actions:

Multirate Processing Parameter Changes

In R2010a and earlier releases, many Communications System Toolbox blocks that supported multirate processing had a Framing parameter. This parameter allowed you to specify whether the block should Maintain input frame size or Maintain input frame rate when processing the input signal. Beginning in R2010b, a new Rate options parameter replaced the Framing parameter. The Rate options parameter allows you to specify whether the block should Enforce single-rate processing or Allow multirate processing.

Some blocks that supported multirate processing in R2010a and earlier releases did not have a Framing parameter. These blocks used the frame status of the input signal to determine whether they performed single-rate or multirate processing. Because of the upcoming frame-based processing changes, signals will no longer carry their frame status. Thus, multirate blocks can no longer rely on the frame status of the input signal to determine whether they perform single-rate or multirate processing. You must now specify a value for the Rate options parameter on the block dialog box.

To see a full list of blocks that have a new Rate options parameter, expand the following section.

 Multirate Blocks with a New Rate Options Parameter

Sample-Based Row Vector Processing Changes

The following blocks do not process sample-based row vectors:

Compatibility Considerations.  Using existing models that contain these blocks to process sample-based row vectors generates an error message.

CMA Equalizer Changes

The CMA Equalizer block now handles input signals like the other equalizer blocks in the Communications Blockset library. Therefore, the block no longer accepts scalar input signals in symbol-spaced mode.

Differential Encoder Changes

The Differential Encoder block supports scalar-valued and column vector input signals. It does not support frame-based or sample-based row vectors.

Find Delay and Align Signal Block Changes

The Correlation window length parameter specifies the number of samples the block uses to calculate the cross-correlation of two signals. You must specify a window lengths of at least 2 for the cross-correlation calculations. If you set the Correlation window length parameter to 1, the block generates an error message. The following blocks contain the Correlation window length parameter:

New Demos

This release contains the following new demos:

  


Free Early Verification Kit

Learn how to apply early verification to your development process through these technical resources.

How much time do you spend on testing to ensure implementation meets system-level requirements?

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