Audio crossover filter
Audio Toolbox / Filters
The Crossover Filter block implements an audio crossover filter, which is used to split an audio signal into two or more frequency bands. Crossover filters are multiband filters whose overall magnitude frequency response is flat.
x — Input signalMatrix input –– Each column of the input is treated as an independent channel.
1-D vector input –– The input is treated as a single channel.
This port is unnamed unless you specify additional input ports.
Data Types: single | double
F1 — Crossover frequency (Hz)20 to
20000To enable this port, select Specify from input port for the Crossover frequency (Hz) parameter.
Data Types: single | double
O1 — Crossover order0 to
8To enable this port, select Specify from input port for the Crossover order parameter.
Data Types: single | double
F2 — Crossover frequency (Hz)20 to
20000To enable this port, you need to both:
Select Specify from input port for the Crossover frequency (Hz) parameter.
Set Number of crossovers to 2,
3 or
4.
Data Types: single | double
O2 — Crossover order0 to
8To enable this port, you need to both:
Select Specify from input port for the Crossover order parameter.
Set Number of crossovers to 2,
3 or
4.
Data Types: single | double
F3 — Crossover frequency (Hz)20 to
20000To enable this port, you need to both:
Select Specify from input port for the Crossover frequency (Hz) parameter.
Set Number of crossovers to 3 or
4.
Data Types: single | double
O3 — Crossover order0 to
8To enable this port, you need to both:
Select Specify from input port for the Crossover order parameter.
Set Number of crossovers to 3 or
4.
Data Types: single | double
F4 — Crossover frequency (Hz)20 to
20000To enable this port, you need to both:
Select Specify from input port for the Crossover frequency (Hz) parameter.
Set Number of crossovers to 4.
Data Types: single | double
O4 — Crossover order0 to
8To enable this port, you need to both:
Select Specify from input port for the Crossover order parameter.
Set Number of crossovers to 4.
Data Types: single | double
Y1 — Output signalPort Y1 always corresponds to a lowpass filter.
Available if Number of crossovers is set to
1, 2,
3, or
4.
Data Types: single | double
Y2 — Output signalDepending on the number of crossovers specified, port Y2 outputs the original audio signal passed through a bandpass or highpass filter.
Available if Number of crossovers is set to
1, 2,
3, or
4.
Data Types: single | double
Y3 — Output signalDepending on the number of crossovers specified, port Y3 corresponds to a bandpass or highpass filter of the original audio signal.
Available if Number of crossovers is set to
2, 3, or
4.
Data Types: single | double
Y4 — Output signalAvailable if Number of crossovers is set to
3 or
4.
Data Types: single | double
Y5 — Output signalAvailable if Number of crossovers is set to
4.
Data Types: single | double
If a parameter is listed as tunable, then you can change its value during simulation.
Number of crossovers — Number of magnitude response band crossings1 (default) | 2 | 3 | 4If you specify multiple crossovers, the corresponding Crossover frequency (Hz) and Crossover order parameters populate in the dialog box automatically.
The number of bands output by the Crossover Filter block is one more than the Number of crossovers.
| Number of Crossovers | Number of Bands in Output |
|---|---|
1 | Two |
2 | Three |
3 | Four |
4 | Five |
Crossover frequency (Hz) — Intersections of magnitude response bands100 (default) | real scalar in the range 20 to
20000Crossover frequencies are the intersections of magnitude response bands of the individual two-band crossover filters used in the multiband crossover filter.
Tunable: Yes
Crossover order — Order of individual crossover filters2 (default) | integer in the range [0, 8]The crossover filter order relates to the crossover filter slope in dB/octave: where N is the crossover order.
Tunable: Yes
View filter response — Open plot of magnitude response of each filter bandThe plot is updated automatically when parameters of the Crossover Filter block change.
Tunable: Yes
Inherit sample rate from input — Specify source of input sample rateWhen you select this parameter, the block inherits its sample rate from the input signal. When you clear this parameter, you specify the sample rate in Input sample rate (Hz).
Input sample rate (Hz) — Sample rate of input44100 (default) | positive scalarTunable: Yes
To enable this parameter, clear the Inherit sample rate from input parameter.
Simulate using — Specify type of simulation to runInterpreted execution (default) | Code generationInterpreted execution – Simulate the
model using the MATLAB® interpreter. This option reduces startup time and the
simulation speed is comparable to Code
generation. In this mode, you can debug the source
code of the block.
Code generation – Simulate the model
using generated C code. The first time you run a simulation,
Simulink® generates C code for the block. The C code is reused
for subsequent simulations, as long as the model does not change.
This option requires additional startup time, but the speed of the
subsequent simulations is comparable to Interpreted
execution.
Tunable: No
Data Types |
|
Direct Feedthrough |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
Zero-Crossing Detection |
|
The Crossover Filter block is implemented as a binary tree of crossover pairs with additional phase-compensating sections [1]. Odd-order crossovers are implemented with Butterworth filters, while even-order crossovers are implemented with cascaded Butterworth filters (Linkwitz-Riley filters).
Odd-order two-band (one crossover) filters are implemented as parallel complementary highpass and lowpass filters.

LP and HP are Butterworth filters of order N, implemented as direct-form II transposed second-order sections. The shared cutoff frequency used in their design corresponds to the crossover of the resulting bands.
Even-order two-band (one crossover) filters are implemented as parallel complementary highpass and lowpass filters.

LP and HP are Butterworth filters of order N/2, where N is the order of the overall filter. The filters are implemented as direct-form II transposed second-order sections.
For overall filters of orders 2 and 6, XHI is multiplied by –1 internally so that the branches of your crossover pair are in-phase.
Even-order three-band (two crossovers) filters are implemented as parallel complementary highpass and lowpass filters organized in a tree structure.

The phase-compensating section is equivalent to an allpass filter.
The design of four-band and five-band filters (three and four crossovers) are extensions of the pattern developed for even-order and odd-order crossovers and the tree structure specified for three-band (two crossover) filters.
[1] D’Appolito, Joseph A. "Active Realization of Multiway All-Pass Crossover Systems." Journal of Audio Engineering Society. Vol. 35, Issue 4, 1987, pp. 239–245.
