filterdesign
Description
Use the filterdesign object to create a dictionary containing a specification for a filter that can be realized by several other objects including the cascade~ object.
Arguments
None.
Attributes
frequency [2 floats]
Filter cutoff frequencies specified in units defined by the units attribute. For lowpass and highpass filters a single frequency will be used to define the cutoff. For bandpass and bandstop filters two frequencies are required.
name [symbol]
Name to which the output dictionary is bound
order [int]
The order of the filter, which is to say the number of poles and zeroes. For reference, the biquad~ object is a second-order filter (2 poles and 2 zeroes).
passband_ripple [float]
Magnitude ripple in the passband for Chebyshev Type 1 filters in decibels. Higher amounts of ripple will provide a narrower transition band given a constant order for the filter.
response [symbol]
Filter response shape
Possible values:
'lowpass'
( Low frequencies pass through, high frequencies are attenuated )
'highpass'
( High frequencies pass through, low frequencies are attenuated )
'bandpass'
( A band of frequencies pass through, low and high frequencies are attenuated )
'bandstop'
( A band of frequencies are attenuated, low and high frequencies pass through )
samplerate [int]
Samplerate used when unit attribute is set to hertz. If the samplerate is set to zero then MSP's samplerate will be used.
sos_output [int]
Inclusion of coefficients for second-order-sections in the output dictionary. This is the native format used by cascade~, zplane~, and filtergraph~.
stopband_attenuation [float]
Minimum attenuation in Chebyshev Type 2 filter stopband in decibels. For given order of filter, greater attenuation results in a wider transition band and less attenuation in the stopband results in a narrower transition band.
tf_output [int]
Include single-section transfer function coefficients in the output dictionary. This representation works well for low-ordered filters but quickly becomes subject to floating-point precision roundoff as the order of the filter increases.
topology [symbol]
The organization of the zeroes and poles used to realize the filter.
Possible values:
'butterworth'
( Gentle transition, flat passband, monotonically decreasing stopband )
'chebyshev-1'
( Steepest transition, definable ripple in passband, monotonically decreasing stopband )
'chebyshev-2'
( Moderate transition, flat passband, definable ripple in the stopband )
units [symbol]
Units of measurement for specifying frequencies
Possible values:
'hertz'
( Cycles per second, based on the samplerate attribute )
'normalized'
( Range from 0.0 to 1.0; 1.0 is the nyquist frequency )
'radians'
( Range from 0.0 to pi; pi is the nyquist frequency )
zpk_output [int]
Include zeroes-poles-gain representation in the output dictionary. Zeroes-poles-gain (ZPK) provides a more accurate representation of the filter's response than the single-section transfer function (see tf_output attribute) for higher-order filters. If calculating coefficients for second-order-sections (see sos_output attribute) the ZPK representation is calculated as an intermediary stage.
Common Box Attributes
Messages
bang
(mouse)
Output
dictionary
A filterdesign dictionary containing the specified filter characteristics.
See Also
Name | Description |
---|---|
Sound Processing Techniques | Sound Processing Techniques |
filterdetail | |
plot~ | |
cascade~ | |
Audio Filtering | Audio Filtering |