AllpassPair
Overview
Allpass pair for building doubly complementary crossovers
Discussion
This module creates a pair of allpass filters with the special property that their sum and difference from a doubly complementary highpass-lowpass filter pair. When used in conjunction with the Sum and Difference module (available in the BasicAudioFloat32 library) this Allpass Pair module can be used to construct more complex structures such as N-way crossovers and filter banks.
Module Pack
Advanced
ClassID
classID =
Type Definition
typedef struct _ModuleAllpassPair
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
} ModuleAllpassPairClass;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| maxOrder | int | const | 1 | 4 | Unrestricted | |
| type | string* | const | 1 | [1 x 5] | Unrestricted | |
| setMode | int | const | 1 | 0 | Unrestricted | |
| xoverFreq | float | parameter | 0 | 12000 | 20:20000 | Hz |
| Rs | float | parameter | 0 | 40 | 10:100 | dB |
Pins
Input Pins
| Name | in |
| Description | |
| Data type | float |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real |
Output Pins
| Name | Ap1 |
| Description | |
| Data Type | float |
| Name | Ap2 |
| Description | |
| Data Type | float |
Scratch Pins
| Channel Count | 1 |
| Block size | 32 |
| Sample rate | 48000 |
Matlab Usage
File Name: allpass_pair_subsystem.m
SYS = allpass_pair_subsystem(NAME, ORDER, TYPE, SETMODE)
Implements a pair of allpass systems as cascaded biquads. This allpass
pair can be combined to form a doubly complementary highpass/lowpass
crossover based on the sum and difference of allpass functions.
Inputs...
NAME name of the module
ORDER the desired order of the larger of the two allpass functions.
the smaller transfer function will have order 1 less. This
guarantees that combined order of the two allpass transfer
functions is always odd. (Default = 4)
TYPE the two allpass transfer functions combine to form a filter of
the desired type - either 'butter', 'ellip', 'cheby1', or
'cheby2'. (Default = 'ellip')
SETMODE one of the allpass filters can be disabled. This lets the user
select between both, one, or the other being active.
Both Enabled (default) = 0
AllPass 1 Only Enabled = 1
AllPass 2 Only Enabled = 2
Ap1 and Ap2 can be combined to form a lowpass/highpass pair that is
doubly complementary. For example...
(Ap1 + Ap2)/2 : lowpass
(Ap1 - Ap2)/2 : highpass
Copyright 2015. DSP Concepts, Inc. All Rights Reserved.
Author: David Wurtz
AudioWeaverModule [This tag makes it appear under awe_help]
Copyright (c) 2026 DSP Concepts, Inc.