Octave filter specification
Note:
The |
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 |
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 string. The specification
strings 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;