Show all options available for specified design
returns all design options available for a specification object,
options
= designoptions(designSpecs
,method
)designSpecs
, using a particular design method,
method
.
Design a butterworth filter with lowpass and highpass frequency responses. The filter design procedure is:
Specify the filter design specifications using a fdesign
function.
Pick a design method provided by the designmethods
function.
To determine the available design options to choose from, use the designoptions
function.
Design the filter using the design
function.
Lowpass Filter
Construct a default lowpass filter design specification object using fdesign.lowpass
.
designSpecs = fdesign.lowpass
designSpecs = lowpass with properties: Response: 'Lowpass' Specification: 'Fp,Fst,Ap,Ast' Description: {4x1 cell} NormalizedFrequency: 1 Fpass: 0.4500 Fstop: 0.5500 Apass: 1 Astop: 60
Determine the available design methods using the designmethods
function. To design a butterworth filter, pick butter
.
designmethods(designSpecs,'SystemObject',true)
Design Methods that support System objects for class fdesign.lowpass (Fp,Fst,Ap,Ast): butter cheby1 cheby2 ellip equiripple ifir kaiserwin multistage
While designing the filter, you can specify additional design options. View a list of the options using the designoptions
function. This function also shows the default design options the filter uses.
designoptions(designSpecs,'butter','SystemObject',true)
ans = struct with fields:
FilterStructure: {1x6 cell}
SOSScaleNorm: 'ustring'
SOSScaleOpts: 'fdopts.sosscaling'
MatchExactly: {'passband' 'stopband'}
DefaultFilterStructure: 'df2sos'
DefaultMatchExactly: 'stopband'
DefaultSOSScaleNorm: ''
DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]
Use the design
function to design the filter. Pass 'butter'
and the specifications given by variable designSpecs
, as input arguments. Specify the 'matchexactly'
design option to 'passband'
.
lpFilter = design(designSpecs,'butter','matchexactly','passband','SystemObject',true);
Visualize the frequency response of the designed filter.
fvtool(lpFilter)
Highpass Filter
Construct a highpass filter design specification object using fdesign.highpass
. Specify the order to be 7 and the 3 dB frequency to be radians/sample.
designSpecs = fdesign.highpass('N,F3dB',7,.6);
Determine the available design methods. To design a butterworth filter, pick butter
.
designmethods(designSpecs,'SystemObject',true)
Design Methods that support System objects for class fdesign.highpass (N,F3dB): butter maxflat
While designing the filter, you can specify additional design options. View a list of the options using the designoptions
function. This function also shows the default design options the filter uses.
designoptions(designSpecs,'butter','SystemObject',true)
ans = struct with fields:
FilterStructure: {1x6 cell}
SOSScaleNorm: 'ustring'
SOSScaleOpts: 'fdopts.sosscaling'
DefaultFilterStructure: 'df2sos'
DefaultSOSScaleNorm: ''
DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]
To design the butterworth filter, use the design
function and specify 'butter'
as an input. Set 'FilterStructure'
to 'cascadeallpass'
.
hpFilter = design(designSpecs,'butter','FilterStructure','cascadeallpass','SystemObject',true);
Visualize the highpass frequency response.
fvtool(hpFilter)
Design a direct-form I notching filter that has a filter order of 6, center frequency of 0.5, quality factor of 10, and a passband ripple of 1 dB.
Create a notch
filter design specification object using the fdesign.notch
function and specify these design parameters.
notchSpecs = fdesign.notch('N,F0,Q,Ap',6,0.5,10,1);
Design the notch filter using the design
function. The resulting filter is a dsp.BiquadFilter
System object™. For details on how to apply this filter on streaming data, refer to dsp.BiquadFilter
.
notchFilt = design(notchSpecs,'SystemObject',true)
notchFilt = dsp.BiquadFilter with properties: Structure: 'Direct form II' SOSMatrixSource: 'Property' SOSMatrix: [3x6 double] ScaleValues: [4x1 double] InitialConditions: 0 OptimizeUnityScaleValues: true Show all properties
Visualize the frequency response of the designed filter using fvtool
.
fvtool(notchFilt)
designSpecs
— Filter specification objectFilter specification object, specified as one of the fdesign
functions.
method
— Design methodDesign method, specified as a character vector. You can pick a design method from
the available methods given by the designmethods
function.
options
— Available design optionsAvailable design options, returned as a structure with the fields determined by the
input filter specification object, designSpecs
, and the design
method chosen.
You have a modified version of this example. Do you want to open this example with your edits?