.1
Release 11 New Features |
Toolboxes and Blocksets
Almost all of the toolboxes and blocksets were updated for release with MATLAB 5.2. For many of these toolboxes and blocksets, the updates simply involved fixing software problems and taking more advantage of MATLAB 5 features. These toolboxes and blocksets were updated for 5.2. The toolboxes and blocksets with significant updates are highlighted with an asterisk and are discussed in more detail in the rest of this chapter (in alphabetical order).Power System Blockset 1.0
The Power System Blockset is a new blockset introduced with MATLAB 5.2. The Power System Blockset is a modern design tool that allows scientists and engineers to build models rapidly and easily that simulate power systems. The blockset uses the Simulink environment, allowing a model to be built using simple click-and-drag procedures. Not only can you draw the circuit topology rapidly, but the analysis of the circuit can include its interactions with mechanical, thermal, control, and other disciplines. This is possible because the electrical portions of the simulation interact with Simulink's extensive modeling library. Because Simulink uses MATLAB as the computational engine, MATLAB's toolboxes can also be used by the designer. Power System Blockset libraries contain models of typical power equipment such as transformers, lines, machines, and power electronics. Their validity is based on the experience of the Power Systems Testing Laboratory of Hydro-Quebec, a large North American utility located in Canada. See the Power System Blockset User's Guide for information about using this blockset.Communications Toolbox 1.3
Note Much of the new functionality of the Communications Toolbox 1.3 requires Simulink 2.2. However, even if you use the Communications Toolbox without Simulink, upgrading to Version 1.3 will let you take advantage of a number of other software quality improvements in the toolbox. The Communications Toolbox 1.3 added 22 new Simulink function blocks and 12 new example block diagrams. The new function blocks are:Control System Toolbox 4.1
The Control System Toolbox 4.1 provided two main enhancements:zpk
, tf
, or ss
DSP Blockset 2.2
DSP Blockset 2.2 introduced a number of new features and improvements. There are over 30 new and enhanced blocks, a filter design wizard, support for data frames, and expanded support of vector and matrix inputs. This section outlines the new additions and provides pointers to the complete feature descriptions in the DSP Blockset User's Guide. See Chapter 1 of the online User's Guide for an overview of the blockset's contents. Also see the DSP Blocksetreadme
file for a summary of the new additions. To view the readme
file, type
info dspblksat the MATLAB command line.
Data Frames
The DSP Blockset added support for data frames, vectors whose elements represent consecutive time samples from a single signal. Framed data is a common format in real-time systems, where the data acquisition hardware often operates most efficiently by accumulating a large number of signal samples at a high rate, and then propagating these samples to the real-time system as a block, or frame, of data. Data frames can also be constructed through the usual DSP Blockset buffering operations (using the Buffer and Complex Buffer blocks, for example). Version 2.2 includes two new blocks designed to operate specifically on framed data. They are frame-oriented counterparts to the FIR Rate Conversion and Multichannel IIR Filter blocks and are distinguished by the word "Frame" in the block name:Filter Realization Wizard
Another new element of the blockset is the Filter Realization Wizard, a GUI that allows you to construct filters easily with a a variety of different architectures. The GUI is shown below.New and Enhanced Blocks
The table below lists the blocks added in Version 2.2. Among the most significant additions were variable delay blocks, discrete cosine transform and cepstrum blocks, linear prediction blocks (LPC, Levinson-Durbin), and new spectral estimation blocks.Block Library |
Block Name |
Purpose |
DSP Sources |
Complex Diagonal Matrix |
Generate a square, constant-diagonal complex matrix |
DSP Sinks | Triggered Complex Matrix To Workspace |
Send a time sequence of complex matrices to the MATLAB workspace |
Triggered Complex To Workspace |
Write the time sequence of a complex input to the MATLAB workspace |
|
Triggered Matrix To Workspace |
Send a time sequence of matrices to the MATLAB workspace |
|
Triggered To Workspace |
Write the time sequence of an input to the MATLAB workspace |
|
Signal Operations | Complex Delay |
Delay a complex input by an integer number of sample periods |
Complex Levinson-Durbin |
Apply Levinson-Durbin recursion to design an IIR filter with a prescribed autocorrelation sequence |
|
Complex LPC |
Determine the coefficients of an FIR filter that predicts the next sequence value from past and present inputs |
|
Levinson-Durbin |
Apply Levinson-Durbin recursion to design an IIR filter with a prescribed autocorrelation sequence |
|
LPC |
Determine the coefficients of an FIR filter that predicts the next sequence value from past and present inputs |
|
Variable Fractional Delay |
Delay an input by a fractional number of sample periods |
|
Variable Integer Delay |
Delay an input by an integer number of sample periods |
|
Transforms | Complex Cepstrum |
Compute the complex cepstrum of an input |
DCT |
Compute the DCT of a complex vector input |
|
IDCT |
Compute the complex-valued IDCT of a complex input |
|
Real Cepstrum |
Compute the real cepstrum of an input |
|
Real DCT |
Compute the DCT of a real vector input |
|
Real IDCT |
Compute the IDCT of a real input |
|
Buffers | Shift Register |
Convert a scalar time series into a vector time series with the same sample period (serial-to-parallel conversion) |
Triggered Shift Register |
Convert a scalar time series into a vector time series with the same sample period (serial-to-parallel conversion) |
|
Switches and Counters | N-Sample Enable w/Reset |
Output 1s for a specified number of sample times |
Sample and Hold |
Sample and hold an input signal |
|
Vector Math | Autocorrelation |
Compute the autocorrelation of a real vector |
Complex Autocorrelation |
Compute the autocorrelation of a complex vector |
|
Complex | Complex Gain |
Multiply an input by a complex constant |
Real to Complex |
Construct a complex output from a real input |
|
Statistics | Histogram |
Compute the histogram (frequency distribution) of values in a vector input |
Median |
Find the median value of a vector input |
|
Running Histogram |
Track frequency distribution of values in a vector input over time |
|
Sort |
Sort the elements in a vector by value |
|
Filter Realizations | Filter Realization Wizard |
Build an IIR or FIR filter with a particular architecture |
Multichannel IIR Filter (Frame) |
Apply an IIR filter to a multichannel input signal |
|
Time Varying FIR Filter |
Apply a variable FIR filter to a multichannel input signal |
|
Time Varying IIR Filter |
Apply a variable IIR filter to a multichannel input signal |
|
Multirate Filters |
FIR Rate Conversion (Frame) |
Upsample, filter, and downsample a real input |
Spectrum Analysis | Burg Method |
Compute a parametric estimate of the spectrum using the Burg method |
Yule-Walker AR |
Compute a parametric estimate of the spectrum using the Yule-Walker AR method |
Block Library |
Block Name |
Enhancement |
DSP Sources |
Diagonal Matrix |
Allows specification of a nonconstant diagonal |
DSP Sinks | Frequency Vector Scope |
Offers new menus, and window position memory |
Time Vector Scope |
Offers new menus, and window position memory |
|
Signal Operations | Complex Zero Pad |
Offers the option of truncating the input to the specified output vector length |
Delay |
Accepts an initial condition |
|
Zero Pad |
Offers the option of truncating the input to the specified output vector length |
|
Buffers | Buffer |
Supports vector inputs, and accepts an initial condition |
Complex Buffer |
Supports vector inputs, and accepts an initial condition |
|
Complex Partial Unbuffer |
Supports matrix inputs |
|
Complex Unbuffer |
Supports matrix inputs |
|
Partial Unbuffer |
Supports matrix inputs |
|
Unbuffer |
Supports matrix inputs |
|
Switches and Counters | Commutator |
Supports matrix inputs |
Distributor |
Supports vector inputs, and accepts an initial condition |
|
Multirate Filters |
FIR Rate Conversion |
Supports matrix inputs |
For Users Upgrading from Version 1.0a
The DSP Blockset 2.2 is completely compatible with Version 1.0a, but there are some limitations on mixing buffer blocks from the two versions, and you will need to recompile any custom blocks that use C-MEX S-functions so that they work with Simulink 2.2. See "Upgrading to DSP Blockset 3.0 and Communications Toolbox 1.4" in Chapter 4 for more details about upgrading from Version 1.0a.Financial Toolbox 1.1
The Financial Toolbox 1.1 supports detailed term structure analysis. In addition, this version provided new date functions, coupon date functions, portfolio allocation tools, and a new derivative pricing function. These new functions are summarized below. For information about these functions, refer to the Financial Toolbox User's Guide.Term Structure Functions
Derivatives Function
Function |
Description |
blkprice |
Black's pricing model. |
Portfolio Analysis Function
Function |
Description |
ewcov |
Asset covariance estimation with exponential weighting. |
Date Functions
Demo of an Excel Link Portfolio Optimizer Tool
The following files provide a demo of an Excel Link portfolio optimizer tool:excelportopt.m
excelportopt.xls
Fuzzy Logic Toolbox 2.0
The Fuzzy Logic Toolbox 2.0 featured several improvements, including:Graphical User Interface Enhancements
Fuzzy Logic Toolbox 2.0 added or enhanced several GUIs:With this GUI, you can implement an ANFIS and use automatic membership function adaptation without resorting to the command line. The learning process can also be viewed graphically and in real time, so any necessary adjustment can be made efficiently. The ANFIS Editor is also fully integrated with the other GUI tools: the Fuzzy System Editor, Membership Function Editor, Rule Editor, Rule Viewer, and Surface Viewer. This GUI is described in Chapter 2 of the Fuzzy Logic Toolbox User's Guide.
You can click and drag both the shape and the location of your membership functions.
You can point and click to build your rules easily, rather than typing in long rules.
This GUI lets you view both fuzzy c-means clustering and subtractive clustering while they are in progress.
When a fuzzy inference system is used in Simulink, the Rule Viewer lets you see when each rule is triggered and how each membership function is applied during a simulation.
Fuzzy Algorithm Improvements
The following Fuzzy Logic algorithms have been added or enhanced:Backpropagation is now available as an ANFIS learning algorithm.
You can now use constant output membership functions with ANFIS in addition to linear output membership functions.
Basic fuzzy arithmetic functions are now provided for addition, subtraction, multiplication, and division operations among different membership functions.
Now you can adjust the sampling rate used to discretize the output membership functions of your rules. This gives you control of the accuracy and efficiency of the defuzzification calculations.
FIS Represented As MATLAB Structures
The Fuzzy Inference System (FIS) is now represented as a MATLAB structure. A structure (instead of a flat matrix) is now the basic element in constructing a fuzzy logic system. This fundamental change in the way of representing the fuzzy logic system makes many details of working with the constructed system easier. A Fuzzy Inference System that you created with a pre-2.0 version of the Fuzzy Logic Toolbox is still usable in 2.0, if you run theconvertfis
function on it. The convertfis function automatically converts pre-2.0 Fuzzy Inference Systems to work with Version 2.0.
More Dimensions Allowed for User-Defined Membership Functions
You can now use up to 16 parameters when you define your own customized membership functions.Image Processing Toolbox 2.1
Interactive Pixel Value Display
The new functionpixval
installs in a figure an interactive display of the data values for whatever image pixel the cursor is currently over. You can also click and drag to display the Euclidean distance between two pixels.
Feature Measurement
The new functionimfeature
computes feature measurements, such as the center of mass and the bounding box, for regions in an image.
Inverse Radon Transform
The new functioniradon
uses the inverse Radon transform to reconstruct images from projection data. In addition, the toolbox has a new function, phantom
, that generates test images for use with the Radon and inverse Radon transforms.
Canny Edge Detector
Theedge
function now supports the Canny edge detection method. This method is better at detecting weak edges and is less sensitive to noise than the other supported edge-detection methods.
Other Enhancements
bwfill
function can now automatically detect and fill holes in objects.
ycbcr2rgb
and rgb2ycbcr
.
uint8
using two new functions, im2double
and im2uint8
.
imshow
automatically calls truesize
by setting the new toolbox preference 'ImshowTruesize'
.
Neural Network Toolbox 3.0
The Neural Network Toolbox 3.0 provided several important new features, including:All network properties are collected in a single "network object." Networks can have any number of sets of inputs and layers, any input or layer can be connected to any layer with a weight, and any weight can have a tapped delay.
The fast LM algorithm (by a factor of 10 to 100 over other methods) can be used in much larger problems than in Version 2.0.
Signal Processing Toolbox 4.1
The Signal Processing Toolbox 4.1 introduces a number of improvements, including a new GUI for the Filter Designer. This section outlines the new additions and provides pointers to the complete feature descriptions in the online (PDF) Signal Processing Toolbox User's Guide. The Signal Processing Toolboxreadme
file also contains a short summary of this information.
To view the readme
file, type at the MATLAB command line
info signal
Spectral Estimation
The MEM spectral estimation method (previously implemented by thepmem
function) has been more accurately renamed the Yule-Walker AR method, and is now implemented by the pyulear
function. The pmem
function continues to work, but generates the following warning message:
Warning: pmem is obsolete and will be discontinued. Use pyulear instead.In addition to this name change, the Burg method of spectral estimation has been added to the toolbox via the
pburg
function.
SPTool Graphical User Interface
Several areas of the SPTool interactive signal processing environment have been enhanced for Version 4.1. See Chapter 5 in the PDF version of the User's Guide for complete instructions on using the new features. The Filter Designer interface has been revised for improved usability. A signal's spectrum can now be superimposed on any filter response, and a new Measurements panel displays the filter's characteristics as it is being designed.General Enhancements
The following enhancements and bug-fixes are also included in the 4.1 release.hamming
, hanning
, and blackman
) can now generate both periodic and symmetric windows. Formerly, they generated only symmetric windows.
cremez
that produced a complex filter instead of the appropriate real filter has been fixed. Additionally, the opt.fgrid
and opt.fextr
outputs are now normalized to the Nyquist frequency.
invfreqz
and invfreqs
functions now work for complex as well as real filters.
Spline Toolbox 2.0
Multivariate Spline Support
All M-files for the construction of splines (in B-form or ppform) have been expanded to handle tensor-product splines in any number of variables. The same is true for most of the M-files that make use of splines. This means that it is now possible to interpolate, approximate, or smooth gridded data in any number of variables and then evaluate, plot, differentiate, or integrate the resulting multivariate spline.User Interface Enhancements
In the same spirit of keeping the number of commands small (and of object-oriented programming), most of the form-specific commands (such asspval
or ppbrk
) have been replaced by generic commands (such as fnval
or fnbrk
). The forms themselves are now structures, but that should be irrelevant to the casual user.
Vector-Valued Spline Enhancements
Since splines in the toolbox can be vector-valued, it is now possible to handle certain surfaces as 3-vector-valued bivariate tensor-product splines.Additional Enhancements
Further new features include:spaps
, of the smoothing spline (linear, cubic, or quintic) that fits given data within a given tolerance
fnrfn
, of a given form to one on a refined knot or break sequence
fncmb
for arithmetic functions