Arbitrary group delay filter specification object
D = fdesign.arbgrpdelay(SPEC)
D = fdesign.arbgrpdelay(SPEC,SPEC1,SPEC2,...)
D = fdesign.arbgrpdelay(N,F,Gd)
D = fdesign.arbgrpdelay(...,Fs)
Arbitrary group delay filters are allpass filters you can use
for correcting phase distortion introduced by other filters. fdesign.arbgrpdelay
uses
an iterative least p-th norm optimization procedure
to minimize the phase response error [1].
specifies
an allpass arbitrary group delay filter with the D
= fdesign.arbgrpdelay(SPEC
)Specification
property
set to SPEC
. See Input Arguments for a description of supported specifications.
initializes
the allpass arbitrary group delay filter specification object with
specifications D
= fdesign.arbgrpdelay(SPEC
,SPEC1,SPEC2,...)SPEC1,SPEC2,...
. See SPEC for a description of supported
specifications.
specifies
an allpass arbitrary group delay filter. The filter order is equal
to D
= fdesign.arbgrpdelay(N,F,Gd)N
, frequency vector equal to F
,
and group delay vector equal to Gd
. See SPEC for a description of the
filter order, frequency vector, and group delay vector inputs. See
the example Design an Allpass Filter With an Arbitrary Group Delay for an example using this syntax.
specifies
the sampling frequency in hertz as a trailing scalar. If you do not
specify a sampling frequency, all frequencies are normalized frequencies
and group delay values are in samples. If you specify a sampling frequency,
group delay values are in seconds.D
= fdesign.arbgrpdelay(...,Fs
)
If your arbitrary group delay design produces the error Poorly
conditioned Hessian matrix
, attempt one or more of the following:
Set the MaxPoleRadius
IIR lp norm
design option to some number less than 1. Set this option when you design
your filter with the syntax:
design(d,'iirlpnorm','MaxPoleRadius',0.95)
MaxPoleRadius
design option.Reduce the order of your filter design.
|
Filter specification.
The filter specifications are defined as follows:
Default: |
|
Sampling frequency. Specify the sampling frequency as a trailing positive scalar after all other input arguments. Specifying a sampling frequency forces the group delay units to be in seconds. If you specify a sampling frequency, the first element of the frequency vector must be 0. The last element must be the Nyquist frequency, Fs/2. |
|
Filter specification object. An allpass arbitrary group delay
filter specification object containing the following modifiable properties: Use the |
fdesign.arbgrpdelay
uses a least p-th
norm iterative optimization described in [1].
iirgrpdelay
— Returns
an allpass arbitrary group delay filter. The iirgrpdelay
function
returns the numerator and denominator coefficients. This behavior
differs from that of fdesign.arbgrpdelay
, which
returns the filter in second-order sections. iirgrpdelay
accepts
only normalized frequencies.
[1] Antoniou, A. Digital Signal Processing: Signals, Systems, and Filters., New York:McGraw-Hill, 2006, pp. 719–771.