Design Mel Filter Bank
Design frequency-domain mel filter bank
Audio Toolbox / Features
The Design Mel Filter Bank block outputs a frequency-domain auditory filter bank using the mel frequency scale. You can use a mel filter bank to decompose an audio signal into separate frequency bands in the mel frequency scale, which mimics the nonlinear human perception of sound.
fb — Filter bank
column vector | matrix
Mel filter bank, returned as an M-by-N matrix, where:
M is the number of bands, which is determined by the Auto-determine number of bands and Number of bands parameters.
N is the number of points in the spectrum. If you select Design one-sided filter bank, then N is equal to
NFFTis the FFT length. If you do not select Design one-sided filter bank, then N is equal to the FFT length.
This port is unnamed until you select the Output center frequencies parameter.
fvec — Center frequencies
Center frequencies of the bandpass filters in Hz, returned as a row vector with number of elements equal to the number of bands.
To enable this port, select the Output center frequencies parameter.
FFT length — Number of DFT points
1024 (default) | positive integer
Number of points used to calculate the DFT, specified as a positive integer.
Design one-sided filter bank — Design one-sided or two-sided filter bank
on (default) |
When you select this parameter, the block designs a one-sided filter bank. Otherwise, the filter bank is two sided.
Number of bands — Number of bandpass filters
32 (default) | positive integer
Number of bandpass filters, specified as a positive integer.
Auto-determine frequency range — Automatically determine frequency range
on (default) |
When you select this parameter, the block sets the Frequency range
fs is specified
using Sample rate (Hz).
Frequency range (Hz) — Frequency range over which to design filter bank
[0,22050] (default) | two-element row vector
Frequency range in Hz over which to design the filter bank, specified as a two-element row vector.
To enable this parameter, clear the Auto-determine frequency range parameter.
Filter bank design domain — Domain to design filter bank
linear (default) |
Domain in which the block designs the filter bank, specified as
Set the filter bank design domain to
design the bandpass filters in the linear (Hz) domain. Set the filter bank
design domain to
warped to design the bandpass
filters in the warped (mel) domain.
Filter bank normalization — Normalization technique for filter bank
bandwidth (default) |
Normalization technique used for the filter bank weights, specified as
bandwidth–– Normalize the weights of each bandpass filter by the corresponding bandwidth of the filter.
area–– Normalize the weights of each bandpass filter by the corresponding area of the bandpass filter.
none–– The block does not normalize the weights of the filters.
Mel style — Mel style
oshaughnessy (default) |
Style of the mel scale, specified as
Output data type — Data type of output
double (default) |
Data type of output, specified as
Sample rate (Hz) — Sample rate
44.1e3 (default) | positive scalar
Sample rate in Hz of the filter design, specified as a positive scalar.
Visualize filter bank — Open plot to visualize filter bank
Open plot to visualize the filters in the frequency domain.
Output center frequencies — Specify additional output port for center frequencies
off (default) |
When you select this parameter, the block displays an additional output port, fvec. This port outputs the center frequencies of the bandpass filters.
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version HistoryIntroduced in R2022a
R2023b: Support for Slaney-style mel scale
Set the Mel style parameter to
slaney to use the Slaney-style mel scale.