fdesign.octave
(Removed) Octave filter specification
Compatibility
Note
The fdesign.octave
filter specification object has been
removed from DSP System Toolbox™. Use the octaveFilter
(Audio Toolbox)
System object™ instead. For more information on how to update your existing code, see
Version History.
Syntax
d = fdesign.octave(l)
d = fdesign.octave(l, MASK)
d = fdesign.octave(l, MASK, spec)
d = fdesign.octave(...,
Fs)
Description
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 orderF0
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 usingvalidfrequencies
with your octave filter specification object. For example:Valid center frequencies: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:The algorithm removes the center frequencies whose corresponding upper band frequencies do not obey the Nyquist rule.upperbandfreq = validcenterfreq.*(G^(1/(2*L)));
If you do not specify a sampling frequency,validcenterfreq = validcenterfreq(upperbandfreq < samplingfreq/2);
fdesign.octave
assumes asamplingfreq
of 48 kHz. To obtain valid normalized center frequencies, the remaining center frequencies are divided by 24,000.validcenterfreq = validcenterfreq/24000;