| Version 3.2 (R14SP2) Filter Design Toolbox™ Release Notes | ![]() |
This table summarizes what's new in Version 3.2 (R14SP2):
New Features and Changes | Version Compatibility Considerations | Fixed Bugs and Known Problems | Related Documentation at Web Site |
|---|---|---|---|
Yes | Yes | Printable Release Notes: |
New features and changes introduced in this version are
Second-Order Section Filter View Options Available from the Command Line
Function fdesign Specifies Filter Response with Specified Structure
Four FIR filters now support fixed-point processing using the same properties or attributes and methods (mostly) that the fixed-point multirate filters use.
With the improved filter objects, the properties for your discrete-time filters now look the same as your multirate filters. Unifying the look and feel makes working with the full range of filters in the toolbox easier and more clear.
Additionally, making the switch from floating-point to fixed-point by setting Arithmetic to fixed creates a fixed-point version of your floating-point filter that uses full precision arithmetic internally. The result—a fixed-point filter that most closely matches to your floating-point prototype. If your design cannot support the resources for this fixed-point implementation, you can start to adjust the fixed-point properties as you need.
To continue to use your existing fixed-point FIR filters, you have to upgrade them to the new format. The toolbox includes a new utility for making the transition—legacyfixptfir. Note that this utility is not covered in the Filter Design Toolbox documentation. You can get help by entering
help legacyfixptfir
at the MATLAB prompt.
For information about converting your existing fixed-point FIR filters to the new objects, refer to Upgrading Your Existing Fixed-Point FIR Filters to the New Properties.
Both mfilt.holdinterp and mfilt.linearinterp let you use fixed-point arithmetic. After you create the interpolator object, you can switch the setting for the Arithmetic property to fixed to use fixed-point interpolation.
Both also support single-precision floating-point arithmetic.
You can use realizemdl to construct CIC filters from basic blocks for processing signals. If you construct a CIC decimator filter, as shown in this example, realizemdl can make an atomic subsystem CIC filter block in the Simulink product for you.
hm=mfilt.cicdecim(4); realizemdl(hm)
A new Simulink model window opens and you see a filter block. Double-clicking on the new block shows you the CIC filter subsystem.

Note You must have the Signal Processing Blockset to use realizemdl to implement CIC filters. |
FDATool now provides help for options on the quantization, multirate filter design, and frequency transformation panels. Access the new help feature either by right-clicking on an option and selecting What's This from the context menu, or clicking the What's This help icon on the tool bar.
In Filter Visualization Tool (FVTool), you can view second-order section filters as "individual sections," "cumulative sections," or as sections that you define. Now this functionality is available from the MATLAB command line, by using the sosViewSettings property of the FVTool object. In previous releases these view options were available only as options in the SOS View Settings dialog box in FVTool.
Access the FVTool object properties by launching FVTool with a filter object and including a left-hand side output argument:
handle = fvtool(hd)
handle now contains the FVTool properties, similar to the following listing — you use set and get to manipulate the property values.
handle=fvtool(hd)
handle =
1
set(handle.sosviewsettings,'view')
ans =
'Complete'
'Individual'
'Cumulative'
'UserDefined'
set(handle.sosviewsettings,'view','individual')
In SOSViewSettings, the options are the same, with the same meaning, that you find in View > SOS View Settings in FDATool.
For more information about the fvtool properties, refer to fvtool in the Signal Processing Toolbox™ documentation or in the online Help system.
You can use fdesign.response to specify a filter response and specify the filter structure to use during construction.
There is a utility named legacyfixptfir to ensure backward compatibility of your existing scripts and a function update to help you migrate to the new FIR filters. legacyfixptfir switches the preferences for your session between pre- and post-Filter Design Toolbox 3.2 FIR filters.
Here is an example of the process of converting your old FIR filters to the new form in this version of the toolbox.
Begin with an existing direct-form FIR filter h that you constructed with
h = dfilt.dffir
in an earlier version of the toolbox. First, use legacyfixptfir to retrieve h in the old format. Then convert h to the new form.
legacyfixptfir(true) % To get the old form of h.
h.Arithmetic='fixed'
h =
FilterStructure: 'Direct-Form FIR'
Arithmetic: 'fixed'
Numerator: 1
PersistentMemory: false
CoeffWordLength: 16
CoeffAutoScale: true
Signed: true
InputWordLength: 16
InputFracLength: 15
OutputWordLength: 16
OutputMode: 'AvoidOverflow'
ProductMode: 'FullPrecision'
AccumMode: 'KeepMSB'
AccumWordLength: 40
CastBeforeSum: true
RoundMode: 'convergent'
OverflowMode: 'wrap'
update(h) % Convert h to the new properties.
h
h =
FilterStructure: 'Direct-Form FIR'
Arithmetic: 'fixed'
Numerator: 1
PersistentMemory: false
CoeffWordLength: 16
CoeffAutoScale: true
Signed: true
InputWordLength: 16
InputFracLength: 15
FilterInternals: 'SpecifyPrecision'
OutputWordLength: 16
OutputFracLength: 13
ProductWordLength: 32
ProductFracLength: 29
AccumWordLength: 40
AccumFracLength: 29
RoundMode: 'convergent'
OverflowMode: 'wrap'
Note the changes in properties. The filter performs the same way but the attributes are now updated to the newest form.
The weights applied to the filter magnitude response are now design options. They are no longer properties of the fdesign.typeobject. To set them, pass them as property name/property value (PV) pairs to the appropriate filter design method, as shown in this example.
h = fdesign.lowpass('N,Fp,Fst',30) % Was 'N,Fp,Fst,Wp,Wst'.
% Removed Wp and Wst.
hd = equiripple(h, 'Wpass', 3, 'Wstop', 25); % Specify the
% weights here.
hd(2) = equiripple(h, 'Wpass', 3, 'Wstop', 1);
fvtool(hd)
![]() | Version 3.3 (R14SP3) Filter Design Toolbox | Compatibility Summary for the Filter Design Toolbox Product | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |