| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Communications Blockset |
| Contents | Index |
| Learn more about Communications Blockset |
This table summarizes what's new in Version 3.0 (R14):
| New Features and Changes | Version Compatibility Considerations | Fixed Bugs and Known Problems | Related Documentation at Web Site |
|---|---|---|---|
| Yes Details below | Yes Summary | Fixed bugs | No |
New features and changes introduced in this version are
The blocks in the table below perform timing phase recovery, determining the best instant within a symbol period to sample a signal at the receiver. Sampling at the best instant improves the receiver's performance on a noisy signal. All blocks listed in the table are in the Timing Recovery sublibrary of the Synchronization library.
| Block | Purpose |
|---|---|
| Early-Late Gate Timing Recovery | Recover the symbol timing phase using the early-late gate method |
| Gardner Timing Recovery | Recover the symbol timing phase using Gardner's method |
| MSK-Type Signal Timing Recovery | Recover the symbol timing phase using a fourth-order nonlinearity method |
| Mueller-Muller Timing Recovery | Recover the symbol timing phase using the Mueller-Muller method |
| Squaring Timing Recovery | Recover the symbol timing phase using a squaring method |
For more information and an example, see Timing Phase Recovery in the Using the Communications Blockset documentation. For demos, enter gardner_vfracdelay or msk_sync in the MATLAB Command Window.
The blocks in the table below perform carrier phase recovery. They are in the Carrier Recovery sublibrary of the Synchronization library.
| Block | Purpose |
|---|---|
| M-PSK Phase Recovery | Recover the carrier phase using the M-Power method |
| CPM Phase Recovery | Recover the carrier phase using the 2P-Power method |
For more information and an example, see Carrier Phase Recovery in the Using the Communications Blockset documentation. For a demo, enter msk_sync in the MATLAB Command Window.
The blocks 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. All blocks listed in the table are in the Equalizers library.
| Block | Purpose |
|---|---|
| CMA Equalizer | Equalize using the constant modulus algorithm |
| LMS Decision Feedback Equalizer | Equalize using a decision feedback equalizer that updates weights with the LMS algorithm |
| LMS Linear Equalizer | Equalize using a linear equalizer that updates weights with the LMS algorithm |
| MLSE Equalizer | Equalize using the Viterbi algorithm |
| Normalized LMS Decision Feedback Equalizer | Equalize using a decision feedback equalizer that updates weights with the normalized LMS algorithm |
| Normalized LMS Linear Equalizer | Equalize using a linear equalizer that updates weights with the normalized LMS algorithm |
| RLS Decision Feedback Equalizer | Equalize using a decision feedback equalizer that updates weights with the RLS algorithm |
| RLS Linear Equalizer | Equalize using a linear equalizer that updates weights with the RLS algorithm |
| Sign LMS Decision Feedback Equalizer | Equalize using a decision feedback equalizer that updates weights with the signed LMS algorithm |
| Sign LMS Linear Equalizer | Equalize using a linear equalizer that updates weights with the signed LMS algorithm |
| Variable Step LMS Decision Feedback Equalizer | Equalize using a decision feedback equalizer that updates weights with the variable-step-size LMS algorithm |
| Variable Step LMS Linear Equalizer | Equalize using a linear equalizer that updates weights with the variable-step-size LMS algorithm |
For more information, see Equalizers. For an example, see the new Defense Communications: US MIL-STD-188-110B demo (milstd_188110Bmodel).
The blocks in the table below perform filtering and pulse shaping. All blocks listed in the table are in the Comm Filters library.
| Block | Purpose |
|---|---|
| Gaussian Filter | Filter the input signal, possibly downsampling, using a Gaussian FIR filter |
| Ideal Rectangular Pulse Filter | Shape the input signal using ideal rectangular pulses |
| Raised Cosine Receive Filter | Filter the input signal, possibly downsampling, using a raised cosine FIR filter |
| Raised Cosine Transmit Filter | Upsample and filter the input signal using a raised cosine FIR filter |
The blocks in the table below perform trellis-coded modulation. All blocks listed in the table are in the TCM sublibrary of Digital Baseband Modulation, in the Modulation library.
| Block | Purpose |
|---|---|
| General TCM Decoder | Decode trellis-coded modulation data, mapped using an arbitrary constellation |
| General TCM Encoder | Convolutionally encode binary data and map using an arbitrary constellation |
| M-PSK TCM Decoder | Decode trellis-coded modulation data, modulated using the PSK method |
| M-PSK TCM Encoder | Convolutionally encode binary data and modulate using the PSK method |
| Rectangular QAM TCM Decoder | Decode trellis-coded modulation data, modulated using the QAM method |
| Rectangular QAM TCM Encoder | Convolutionally encode binary data and modulate using the QAM method |
The blocks in the table below help you compute or manipulate the delay through one or more blocks in your model. This is especially useful when you are comparing two signals to compute error rates, or when you need to align boundaries of codewords or other groupings with Simulink frame boundaries. All blocks listed in the table are in the Utility Blocks library.
| Block | Purpose |
|---|---|
| Align Signals | Align two signals by finding the delay between them |
| Find Delay | Find the delay between two signals |
The reference pages for these blocks include examples of how to use them in a variety of situations.
The new Quantizing Encoder and Quantizing Decoder blocks replace the older Sampled Quantizer Encode and Quantizer Decode blocks, which are obsolete. The new blocks perform scalar quantization encoding and decoding operations, respectively. The new blocks can process frame-based column vectors in addition to other kinds of vectors. The new Quantizing Encoder block does not require you to specify the vector length or sample time as parameters in the dialog box.
The older encoder produced a third output signal that represented the mean square distortion, while the new Quantizing Encoder block does not. The older encoder produced a discrete-time output signal even if its input was continuous-time, whereas the new Quantizing Encoder block preserves sample times.
Selected parameters of the AWGN Channel block are now compatible with the Real-Time Workshop rapid simulation (RSim) target. This means that if you use Real-Time Workshop to build an RSim executable, then you can tune selected parameters without recompiling the model. This is useful for Monte Carlo simulations in which you run the simulation multiple times (perhaps on multiple computers) with different amounts of noise. The table below indicates, for different modes of the block, which parameters are tunable.
| Mode | Tunable Parameters |
|---|---|
| Eb/No | Eb/No, Input signal power |
| Es/No | Es/No, Input signal power |
| SNR | SNR, Input signal power |
| Variance from mask | Variance |
For more information about the RSim target, see the Real-Time Workshop documentation set.
New demos in Release 14 are listed in the table below. You can open the demos by finding them in the Demos pane of the MATLAB Help browser or by entering the corresponding model names in the MATLAB Command Window.
| Title | Model Name |
|---|---|
| Convolutional Encoder with Uncoded Bits and Feedback | conv_encoderdemo |
| Soft-Decision GMSK Demodulator | gmsk_softdecision |
| Adjacent and Co-Channel Interference | adjcochanint |
| Adaptive Equalization Using Embedded MATLAB | equalizer_eml |
| Gardner Timing Phase Recovery | gardner_vfracdelay |
| MSK Signal Recovery | msk_sync |
| IEEE 802.11a WLAN Physical Layer | wlan80211a |
| Physical Layer Model of the cdma2000® Standard | cdma2000_phlayer |
| Defense Communications: US MIL-STD-188-110B | milstd_188110Bmodel |
Demonstration models have also been reorganized into categories to make it easier for you to find relevant demos. You can view the categories using the Demos pane of the MATLAB Help browser.
The BCH Decoder block has been changed such that the second output port is optional and the error-correction capability is no longer a parameter. Also, this block and the BCH Encoder block no longer accept sample-based inputs.
If you built models with earlier versions of these two blocks, then you should
Resave the models using Release 14, to avoid producing Simulink warnings.
Revise the models so that the inputs to the BCH blocks are frame-based column vectors rather than sample-based vectors. To change the shape or frame status of a signal, you can use the Reshape block in Simulink, or the Frame Status Conversion (Obsolete) block in the Signal Processing Blockset. Because the outputs from the BCH blocks are now frame-based column vectors, you might need to revise other parts of your model as well.
The Multipath Rayleigh Fading Channel and Rician Fading Channel blocks are designed to process only sample-based scalars or frame-based column vectors. In Release 13, the blocks mistakenly accepted sample-based column vectors as input. In Release 14, the blocks correctly produce an error message if the input signal is a sample-based vector or a matrix.
The new Communications Filters library contains a new Integrate and Dump block and a new Windowed Integrator block.
These blocks behave differently compared to the respective blocks of the same names in Release 13.
The new Integrate and Dump block
Does not reduce the sum modulo a constant. The Absolute value bound parameter is not part of the new block.
Does not require you to enter the sample time in the dialog box. The Sample time parameter is not part of the new block.
Measures the Integration period parameter value in samples, not seconds.
Can process sample-based scalars and frame-based matrices, but not sample-based vectors of length greater than 1. In a frame-based matrix, a given column is interpreted as a set of samples from a single channel.
Can optionally discard a specified number of input samples at the beginning of the simulation. In frame-based mode, the number of samples to discard can be different for each channel (column) of the input matrix.
Can optionally suppress the intermediate cumulative sums and output only the final sum.
The new Windowed Integrator block
Does not require you to enter the sample time or vector size in the dialog box. The Sample time and Input vector size parameters are not part of the new block.
Measures the integration period in samples, not seconds.
Can process sample-based scalars and frame-based matrices, but not sample-based vectors of length greater than 1. In a frame-based matrix, a given column is interpreted as a set of samples from a single channel.
Processes only discrete-time signals, not continuous-time signals.
Uses cumulative sums as integrals and does not offer a choice of integration methods. The Integration method parameter is not part of the new block.
To learn more about the new blocks, see the Integrate and Dump and Windowed Integrator online reference pages, respectively.
Legacy Models Containing Integrator Blocks. If you built models with the older Integrate and Dump block or the older Windowed Integrator block, then the block is unchanged there. You can update the block manually by replacing it with the newer block from the Communications Filters library. You might need to change parameters or other parts of your model to make the new block fit into your model.
To find the older blocks in their default library setting, type comminteg2 in the MATLAB Command Window.
Note The older Integrate and Dump block and the older Windowed Integrator blocks are obsolete and might be removed from a future release of the Communications Blockset. |
If you set Output data to Workspace in the Error Rate Calculation block, then the variable containing the output data resides in the base MATLAB workspace. In previous releases, the variable resided in the calling workspace.
This change is relevant if you invoke the simulation from a function. If you need to access the output data within the function, use evalin. For example, in a function, the command below accesses a variable called ErrorVec in the base MATLAB workspace and assigns its value to a variable by the same name in the function workspace.
ErrorVec = evalin('base','ErrorVec;');If you invoke the simulation directly from the model window or by entering a sim command in the MATLAB Command Window, then the change in behavior of the Error Rate Calculation block does not affect you.
The block libraries from the Communications Toolbox Version 1.3 (Release 10) are no longer installed as part of Release 14. The block libraries from the Communications Toolbox Version 1.5 (Release 11) might be removed from a future release.
The table below lists blocks from Release 13 that are obsolete as of Release 14. In particular, all digital passband modulation, digital passband demodulation, analog baseband modulation, and analog baseband demodulation blocks are obsolete. In place of digital passband blocks, use their digital baseband counterparts. In place of analog baseband blocks, use their analog passband counterparts.
Note For backward compatibility, the obsolete blocks in the table below are still provided in Release 14 in the matlabroot/commblks/commblksobsolete directory tree. However, they might be removed in a future release and it is recommended that you avoid using these obsolete blocks in your models. |
Where applicable, the second column lists blocks that provide similar functionality. In some cases, the similar block requires different parameter settings, data formats, or signal attributes compared to the original block. Therefore, you should read the documentation for the similar block before using it in your model.
| Obsolete Block | Similar Block(s), if Any |
|---|---|
| Continuous-Time Eye and Scatter Diagrams | Discrete-Time Eye Diagram Scope, Discrete-Time Scatter Plot Scope, Discrete-Time Signal Trajectory Scope |
| CPFSK Demodulator Passband | CPFSK Demodulator Baseband |
| CPFSK Modulator Passband | CPFSK Modulator Baseband |
| CPM Demodulator Passband | CPM Demodulator Baseband |
| CPM Modulator Passband | CPM Modulator Baseband |
| Discrete Modulo Integrator | |
| DPCM Decoder | |
| DPCM Encoder | |
| DSB AM Demodulator Baseband | DSB AM Demodulator Passband |
| DSB AM Modulator Baseband | DSB AM Modulator Passband |
| DSBSC AM Demodulator Baseband | DSBSC AM Demodulator Passband |
| DSBSC AM Modulator Baseband | DSBSC AM Modulator Passband |
| Enabled Quantizer Encode | Quantizing Encoder |
| FM Demodulator Baseband | FM Demodulator Passband |
| FM Modulator Baseband | FM Modulator Passband |
| General QAM Demodulator Passband | General QAM Demodulator Baseband |
| General QAM Modulator Passband | General QAM Modulator Baseband |
| GMSK Demodulator Passband | GMSK Demodulator Baseband |
| GMSK Modulator Passband | GMSK Modulator Baseband |
| M-DPSK Demodulator Passband | M-DPSK Demodulator Baseband |
| M-DPSK Modulator Passband | M-DPSK Modulator Baseband |
| M-FSK Demodulator Passband | M-FSK Demodulator Baseband |
| M-FSK Modulator Passband | M-FSK Modulator Baseband |
| Modulo Integrator | |
| M-PAM Demodulator Passband | M-PAM Demodulator Baseband |
| M-PAM Modulator Passband | M-PAM Modulator Baseband |
| M-PSK Demodulator Passband | M-PSK Demodulator Baseband |
| M-PSK Modulator Passband | M-PSK Modulator Baseband |
| MSK Demodulator Passband | MSK Demodulator Baseband |
| MSK Modulator Passband | MSK Modulator Baseband |
| OQPSK Demodulator Passband | OQPSK Demodulator Baseband |
| OQPSK Modulator Passband | OQPSK Modulator Baseband |
| PM Demodulator Baseband | PM Demodulator Passband |
| PM Modulator Baseband | PM Modulator Passband |
| Quantizer Decode | Quantizing Decoder |
| Rectangular QAM Demodulator Passband | Rectangular QAM Demodulator Baseband |
| Rectangular QAM Modulator Passband | Rectangular QAM Modulator Baseband |
| Sampled Quantizer Encode | Quantizing Encoder |
| SSB AM Demodulator Baseband | SSB AM Demodulator Passband |
| SSB AM Modulator Baseband | SSB AM Modulator Passband |
| Triggered Read From File | From File (Simulink) |
| Triggered Write to File | To File (Simulink) |
The table below lists blocks that reside in different libraries in Release 14, compared to Release 13. If you used these blocks in models that you saved in Release 13, then the blocks will still work in Release 14. However, you should be aware of the changed locations in case you look for these blocks in Release 14 in the library windows or the Simulink Library Browser.
| Block | Release 13 Location | Release 14 Location |
|---|---|---|
| Baseband PLL | Synchronization | Components sublibrary of Synchronization |
| Binary Error Pattern Generator | Data Sources sublibrary of Comm Sources | Noise Generators sublibrary of Comm Sources |
| Charge Pump PLL | Synchronization | Components sublibrary of Synchronization |
| Complex Phase Difference | Sequence Operations sublibrary of Basic Comm Functions | Utility Blocks |
| Complex Phase Shift | Sequence Operations sublibrary of Basic Comm Functions | Utility Blocks |
| Discrete-Time VCO | Controlled Sources sublibrary of Comm Sources | Components sublibrary of Synchronization |
| Integrate and Dump | Integrators sublibrary of Basic Comm Functions | Communications Filters |
| Linearized Baseband PLL | Synchronization | Components sublibrary of Synchronization |
| Phase-Locked Loop | Synchronization | Components sublibrary of Synchronization |
| Voltage-Controlled Oscillator | Controlled Sources sublibrary of Comm Sources | Components sublibrary of Synchronization |
| Windowed Integrator | Integrators sublibrary of Basic Comm Functions | Communications Filters |
Utility Functions Library Renamed. The Utility Functions library is now called Utility Blocks.
Contents of Basic Comm Function Library Moved. The Basic Comm Functions library, which consisted of the Integrators sublibrary and the Sequence Operations sublibrary, is no longer in the Communications Blockset. Sequence Operations has become a top-level library. The Integrate and Dump block and the Windowed Integrator block, formerly in the Integrators sublibrary, are now in the Communications Filters library. The Discrete Modulo Integrator and Modulo Integrator blocks are now obsolete.
A few blocks have renamed some of their parameters or made other dialog box changes.
Legacy models might issue warnings when you first open them with Release 14. After you resave the models with Release 14, the warnings will not recur. Specific changes are listed below.
| Block | Release 13 Characteristic | Change in Release 14 |
|---|---|---|
| BCH Decoder | Show number of errors check box | Output number of corrected errors check box |
| Binary-Output RS Decoder | Output port for number of corrected errors check box | Output number of corrected errors check box |
| Discrete-Time Eye Diagram Scope | Dialog box uses check boxes to show or hide groups of parameters | Dialog box uses tabbed panels to organize parameters |
| Discrete-Time Scatter Plot Scope | ||
| Discrete-Time Signal Trajectory Scope | ||
| Discrete-Time VCO | Oscillation frequency parameter | Renamed as Quiescent frequency parameter |
| Voltage-Controlled Oscillator |
The commstartup function, which changes the default Simulink model settings to values more appropriate for the simulation of communication systems, has changed some of its settings.
When you run commstartup, it
Changes the default solver to a discrete solver.
Changes the default value of a Simulink diagnostic setting so that Simulink does not issue a warning when a source block uses an inherited sample time. Some Communications Blockset blocks internally inherit sample times, which can be a useful and valid modeling technique.
Your legacy models might issue warnings if they use settings other than the ones listed in Changes in commstartup Function above. You can suppress the warnings by changing certain settings and resaving the model.
Discrete Solver. If you have legacy models that issue a warning like
Warning: The model 'untitled' does not have continuous states, hence using the solver 'VariableStepDiscrete' instead of the solver 'ode45' specified in the Configuration Parameters dialog.
when you start the simulation in R14, then consider changing the solver to a discrete solver and resaving the model. To change the solver, use the Configuration Parameters option on the model window's Simulation menu.
Sample Time of Source Blocks. Some Communications Blockset blocks internally inherit sample times, which can be a useful and valid modeling technique. If you have legacy models that issue a warning like
Warning: Source 'untitled/DSP Constant' specifies that its sample time (-1) should be back-inherited. You should explicitly specify the sample time of sources.
when you start the simulation in R14, then consider changing the diagnostic setting manually and resaving the model. To change the setting manually, choose the Configuration Parameters option on the model window's Simulation menu, expand Diagnostics in the left pane, select Sample Time in the left pane, and then set Source block specifies -1 sample time to none in the right pane.
![]() | Version 3.0.1 (R14SP1) Communications Blockset Software | Version 2.5 (R13) Communications Blockset Software Release Notes | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |