Octave filter specification
d = fdesign.octave(l)
d = fdesign.octave(l, MASK)
d = fdesign.octave(l, MASK, spec)
d = fdesign.octave(...,
Fs)
d = fdesign.octave(l)
constructs an octave
filter specification object d
, with l
bands
per octave. The default value for l
is one.
Note
The filters created by fdesign.octave
comply
with the ANSI® S1.11-2004 and IEC 61260:1995 standards.
d = fdesign.octave(l, MASK)
constructs
an octave filter specification object d
with l
bands
per octave and MASK
specification for the FVTool.
The available values for mask are:
'class 0'
'class 1'
'class 2'
d = fdesign.octave(l, MASK, spec)
constructs an octave filter
specification object d
with l
bands per octave,
MASK
specification for the FVTool, and the
spec
specification character vector. The specifications available are:
'N, F0'
(not case sensitive), where:
N
is the filter order
F0
is the center frequency. The center frequency is
specified in normalized frequency units assuming a sampling frequency of 48
kHz, unless a sampling frequency in Hz is included in the specification:
d = fdesign.octave(...,
Fs)
. If you specify an invalid
center frequency, a warning is issued and the center frequency is rounded to
the nearest valid value. You can determine the valid center frequencies for
your design by using validfrequencies
with your octave
filter specification object. For
example:
d = fdesign.octave(1,'Class 1','N,F0',6,1000,44.1e3); validcenterfreq = validfrequencies(d);
Must be greater than 20 Hz and less than 20 kHz if you specify a sampling frequency. The range 20 Hz to 20 kHz is the standard range of human hearing.
Are calculated according to the following algorithm if the
number of bands per octave, L
, is
even:
G = 10^(3/10); x = -1000:1350; validcenterfreq = 1000*(G.^((2*x-59)/(2*L))); validcenterfreq = validcenterfreq(validcenterfreq>20 & validcenterfreq<2e4);
Are calculated according to the following algorithm if the
number of bands per octave, L
, is
odd:
G = 10^(3/10); x = -1000:1350; validcenterfreq = 1000*(G.^((x-30)/L)); validcenterfreq = validcenterfreq(validcenterfreq>20 & validcenterfreq<2e4);
Only center frequencies greater than 20 and less than 20,000
are retained. The center frequencies and the corresponding upper
band frequencies must be less than the Nyquist frequency, which
is half the sampling rate (samplingfreq
). The
vector of upper band frequencies
(upperbandfreq
) corresponding to the
center frequencies (validcenterfreq
) is
computed using the following
algorithm:
upperbandfreq = validcenterfreq.*(G^(1/(2*L)));
validcenterfreq = validcenterfreq(upperbandfreq < samplingfreq/2);
fdesign.octave
assumes a
samplingfreq
of 48 kHz. To obtain valid
normalized center frequencies, the remaining center frequencies
are divided by 24,000.
validcenterfreq = validcenterfreq/24000;