| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Filter Design Toolbox |
| Contents | Index |
| Learn more about Filter Design Toolbox |
validstructures(d)
validstructures(d,'designmethod')
c = validstructures(d,'designmethod')
validstructures(d) returns the list of structures for all design methods that are available for d.
validstructures(d,'designmethod') returns a list of the filter structures available for the specification object d and the design method in designmethod. Knowing which structures apply to your combination of design method and specification makes deciding on a filter structure to implement easier.
To determine the available structures, validstructures considers the filter response, such as lowpass or bandstop. It also considers the specifications you use to define the response, such as filter order or stopband attenuation, because changing the filter specifications often changes the available structures.
c = validstructures(d,'designmethod') returns the output cell array c that contains the filter structures as character strings.
These examples demonstrate some results of applying validstructures to a combination of a specification object and a design method.
Example 1
An interpolator that uses the Polyphase Length and Stopband Attenuation options to design the filter.
d=fdesign.interp(6,'PL,Ast',20,65)
d =
Response: 'Lowpass interpolator'
Specification: 'PL,Ast'
Description: {'Polyphase Length';'Stopband Attenuation (dB)'}
InterpolationFactor: 6
NormalizedFrequency: true
PolyphaseLength: 20
Astop: 65
designmethods(d)
FIR Design Methods for class fdesign.interp (PL,Ast):
kaiserwin
validstructures(d,'kaiserwin')
ans =
'firinterp' 'fftfirinterp'
Now you can specify the filter structure when you design the filter hm.
hm=design(d,'kaiserwin','FilterStructure','firinterp')
hm =
FilterStructure: 'Direct-Form FIR Polyphase
Interpolator'
Arithmetic: 'double'
Numerator: [1x120 double]
InterpolationFactor: 6
PersistentMemory: false
Example 2
A CIC decimator is used as a specification object. Because the object is a decimator and the structure is defined as CIC, the only valid structure is cicdecim.
d=fdesign.cicdecim(5)
d =
Response: 'CIC Decimator'
Specification: 'Fp,Ast'
Description: {'Passband Frequency';'Aliasing
Attenuation(dB)'}
DifferentialDelay: 5
NormalizedFrequency: true
Fpass: 0.01
Astop: 60
designmethods(d)
FIR Design Methods for class fdesign.cicdecim (Fp,Ast):
multisection
c=validstructures(d,'multirate')
c =
'cicdecim'Example 3
This default highpass specification object has more design methods available, however, changing the design method changes the valid filter structures.
d=fdesign.highpass;
designmethods(d)
Design Methods for class fdesign.highpass (Fst,Fp,Ast,Ap):
butter
cheby1
cheby2
ellip
equiripple
ifir
kaiserwin
validstructures(d,'equiripple')
'dffir' 'dffirt' 'dfsymfir' 'dfasymfir' 'fftfir'Using the cheby2 method results in both IIR filter structures and cascade allpass structure options..
c=validstructures(d,'cheby2')
c =
'df1sos' 'df2sos' 'df1tsos' 'df2tsos' 'cascadeallpass'
'cascadewdfallpass'Example 4
Multirate filters support validstructures.
d=fdesign.rsrc(4,5);
designmethods(d)
FIR Design Methods for class fdesign.rsrc (TW,Ast):
equiripple
kaiserwin
validstructures(d,'kaiserwin')
'firinterp' 'fftfirinterp'design, designmethods, designopts, fdesign
![]() | tf2cl | window | ![]() |

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-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |