High-Order Digital Parametric Equalizer Design - MATLAB Toolbox

Sophocles J. Orfanidis
ECE Department, Rutgers University
94 Brett Road, Piscataway, NJ 08854-8058, USA

Email: orfanidi@ece.rutgers.edu
Tel: 732-445-5017

Date: June 15, 2005

This toolbox contains a collection of MATLAB functions for designing high-order digital parametric equalizer filters based on Butterworth, Chebyshev, and elliptic analog prototypes, and for their implementation in frequency-shifted transposed, normalized lattice, and optimum state-space forms. High-order equalizers provide flatter passbands and sharper bandedges at the expense of higher computational cost. The conventional biquadratic equalizer is obtained as a special case, and its optimum minimum roundoff-noise state-space form is included. The functions may also be used to design conventional lowpass, highpass, bandpass, and bandstop filters.

A subset of this toolbox includes functions for the computation of the Jacobian elliptic functions at complex arguments based on the Landen transformation, the computation of their inverses, elliptic integrals, solutions of the degree equation, and evaluation of the elliptic rational function.

Several of these functions have been incorporated into recent (2006+) versions of MATLAB's Filter Design Toolbox.

Reference: Sophocles J. Orfanidis, "High-Order Digital Parametric Equalizer Design," J. Audio Eng. Soc., vol. 53, pp. 1026-1046, Nov. 2005.

     Please put all files in the same directory and add the directory to the matlabpath.
     To get help, just type a function's name at the command prompt.
     See the links below for some design examples.

     Equalizer Design Functions
     hpeq        - high-order digital parametric equalizer design
     hpeq1       - same as hpeq, but uses explicit design equations
     hpeqbw      - bandwidth remapping for high-order digital parametric equalizer
     hpeqex0     - example output from hpeq
     hpeqex1     - example output from hpeq
     hpeqex2     - example output from hpeq
     hpeqord     - order determination of digital parametric equalizer
     bandedge    - calculate left and right bandedge frequencies from bilinear transformation
     blt         - bilinear transformation of analog second-order sections
     octbw       - iterative solution of the octave bandwidth equation
     bandwidth   - calculate bandwidth at any level

     Elliptic Function Computations
     acde        - inverse of cd elliptic function
     asne        - inverse of sn elliptic function
     cde         - cd elliptic function with normalized complex argument
     cne         - cn elliptic function with normalized real argument
     dne         - dn elliptic function with normalized real argument
     sne         - sn elliptic function with normalized complex argument
     ellipdeg    - solves the degree equation (k from N,k1)
     ellipdeg1   - solves the degree equation (k1 from N,k)
     ellipdeg2   - solves the degree equation using nomes
     ellipk      - complete elliptic integral K(k) of first kind
     elliprf     - elliptic rational function
     landen      - Landen transformations of an elliptic modulus

     Realizations and Filtering
     cas2dir     - cascade to direct form coefficients
     dir2decoup  - direct form to decoupled form coefficients
     dir2latt    - direct form to normalized lattice form
     dir2state   - direct form to optimum state-space form for second-order filters

     decoupfilt  - filtering in frequency-shifted 2nd-order cascaded decoupled form,                  block diagram 
     df2filt     - filtering in frequency-shifted 2nd-order cascaded direct form II,                  block diagram
     nlattfilt   - filtering in frequency-shifted 2nd-order cascaded normalized lattice sections,     block diagram
     statefilt   - filtering in frequency-shifted cascaded state-space form,                          block diagram
     transpfilt  - filtering in frequency-transformed 2nd-order cascaded transposed direct-form-II,   block diagram
     stpeq       - minimum-noise state-space realization of biquadratic digital parametric equalizer, block diagram
     cascfilt    - filtering in cascade form (uses the built-in function filter)

     Analog Equalizer Design Functions
     bandedge_a  - bandedge frequencies for analog equalizer designs
     fresp_a     - frequency response of cascaded analog filter
     hpeq_a      - high-order analog parametric equalizer design
     hpeqbw_a    - remap bandwidth of high-order analog parametric equalizer
     hpeqex1_a   - example output from hpeq_a
     hpeqex2_a   - example output from hpeq_a
     hpeqord_a   - order determination of analog parametric equalizer

     Figures from the above Paper
     fig10       - Butterworth design example
     fig11       - Chebyshev-1 design example
     fig12       - Chebyshev-2 design example
     fig13       - elliptic design example
     fig14       - designs with common 3-dB widths
     fig15       - time-varying center frequency and bandwidth
     fig16a      - step gain, linear bandwidth
     fig16b      - four-step gain, linear bandwidth
     fig16c      - linear gain, linear bandwidth

     Test Scripts
     testfilt    - test of seven filtering realizations
     testoctbw   - test of the iterative solution of the bandwidth equation using octbw
     teststpeq   - testing of the biquad state-space form

     srem        - symmetrized version of REM (used by ACDE)
     ellipap2    - substitute for the built-in function ellipap
     fresp       - frequency response of a cascaded IIR filter at a frequency vector w
     ripple      - calculate ripple factors from gains
     zt          - evaluates z-transform of finite-duration sequence