designoptions
Show all options available for specified design
Description
returns all design options available for a specification object,
options
= designoptions(designSpecs
,method
)designSpecs
, using a particular design method,
method
.
Examples
Design Butterworth Filter
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: {'df1sos' 'df2sos' 'df1tsos' 'df2tsos' 'cascadeallpass' 'cascadewdfallpass'}
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)
lpFilter = dsp.SOSFilter with properties: Structure: 'Direct form II' CoefficientSource: 'Property' Numerator: [13x3 double] Denominator: [13x3 double] HasScaleValues: true ScaleValues: [0.4095 0.3669 0.3330 0.3059 0.2841 0.2666 0.2525 0.2414 0.2328 0.2263 0.2219 0.2193 0.4674 1] Use get to show all properties
Visualize the frequency response of the designed filter.
filterAnalyzer(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)
designSpecs = highpass with properties: Specification: 'N,F3dB' Response: 'Highpass' Description: {2x1 cell} NormalizedFrequency: 1 FilterOrder: 7 F3dB: 0.6000
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: {'df1sos' 'df2sos' 'df1tsos' 'df2tsos' 'cascadeallpass' 'cascadewdfallpass'}
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)
hpFilter = dsp.CoupledAllpassFilter with properties: Structure: 'Minimum multiplier' PureDelayBranch: 0 AllpassCoefficients1: {2x1 cell} AllpassCoefficients2: {2x1 cell} Gain1: '-1' Gain2: '1'
Visualize the highpass frequency response.
filterAnalyzer(hpFilter)
Design Notch Filter
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.SOSFilter
System object™. For details on how to apply this filter on streaming data, refer to dsp.SOSFilter
.
notchFilt = design(notchSpecs,SystemObject=true)
notchFilt = dsp.SOSFilter with properties: Structure: 'Direct form II' CoefficientSource: 'Property' Numerator: [3x3 double] Denominator: [3x3 double] HasScaleValues: true ScaleValues: [0.7722 0.7722 1.3597 1] Use get to show all properties
Visualize the frequency response of the designed filter.
filterAnalyzer(notchFilt)
Input Arguments
designSpecs
— Filter specification object
object
Filter specification object, specified as one of the fdesign
functions.
method
— Design method
character vector
Design method, specified as a character vector. You can pick a design method from
the available methods given by the designmethods
function.
Output Arguments
options
— Available design options
structure
Available design options, returned as a structure with the fields determined by the
input filter specification object, designSpecs
, and the design
method chosen.
Version History
Introduced in R2007b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)