Skip to content

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.