fdesign.parameq

Parametric equalizer filter specification

Syntax

d = fdesign.parameq(spec, specvalue1, specvalue2, ...)
d = fdesign.parameq(... fs)

Description

d = fdesign.parameq(spec, specvalue1, specvalue2, ...) constructs a parametric equalizer filter design object, where spec is a non-case sensitive character vector. The choices for spec are as follows:

  • 'F0, BW, BWp, Gref, G0, GBW, Gp' (minimum order default)

  • 'F0, BW, BWst, Gref, G0, GBW, Gst'

  • 'F0, BW, BWp, Gref, G0, GBW, Gp, Gst'

  • 'N, F0, BW, Gref, G0, GBW'

  • 'N, F0, BW, Gref, G0, GBW, Gp'

  • 'N, F0, Fc, Qa, G0'

  • 'N, F0, Fc, S, G0'

  • 'N, F0 ,BW, Gref, G0, GBW, Gst'

  • 'N, F0, BW, Gref, G0, GBW, Gp, Gst'

  • 'N, Flow, Fhigh, Gref, G0, GBW'

  • 'N, Flow, Fhigh, Gref, G0, GBW, Gp'

  • 'N, Flow, Fhigh, Gref, G0, GBW, Gst'

  • 'N, Flow, Fhigh, Gref, G0, GBW, Gp, Gst'

where the parameters are defined as follows:

ParameterDefinitionUnit
BWBandwidth 
BWpPassband Bandwidth 
BWstStopband Bandwidth 
GrefReference Gaindecibels
G0Center Frequency Gaindecibels
GBWGain at which Bandwidth (BW) is measureddecibels
GpPassband Gaindecibels
GstStopband Gaindecibels
NFilter Order 
F0Center Frequency 
FcCutoff Frequency 
FhighHigher Frequency at Gain GBW 
FlowLower Frequency at Gain GBW 
QaQuality Factor 
SSlope Parameter for Shelving Filters 

Regardless of the specification chosen, there are some conditions that apply to the specification parameters. These are as follows:

  • Specifications for parametric equalizers must be given in decibels

  • To boost the input signal, set G0 > Gref; to cut, set Gref > G0

  • For boost: G0 > Gp > GBW > Gst > Gref; For cut: G0 < Gp < GBW < Gst < Gref

  • Bandwidth must satisfy: BWst > BW > BWp

d = fdesign.parameq(... fs) adds the input sampling frequency. fs must be specified as a scalar trailing the other numerical values provided, and is assumed to be in Hz.

Examples

collapse all

Design a Chebyshev Type II parametric equalizer filter that cuts by 12 dB.

parametricEQ = fdesign.parameq('N,Flow,Fhigh,Gref,G0,GBW,Gst', ...
    4,0.3,0.5,0,-12,-10,-1);

parametricEQBiquad = design(parametricEQ,'cheby2','SystemObject',true);
fvtool(parametricEQBiquad)

Design a 4th-order lowpass shelving filter with a normalized cutoff frequency of 0.25, a quality factor of 10, and an 8 dB boost gain.

parametricEQ  = fdesign.parameq('N,F0,Fc,Qa,G0',4,0,0.25,10,8);
parametricEQBiquad = design(parametricEQ,'SystemObject',true);
fvtool(parametricEQBiquad)

Design 4th-order highpass shelving filters with slopes of 1.5 and 3.

N  = 4;   % Filter order
F0 = 1;   % Center Frequency (normalized)
Fc = 0.4; % Cutoff Frequency (normalized)
G0 = 10;  % Center Frequency Gain (dB)

S1 = 1.5; % Slope for filter design 1
S2 = 3;   % Slope for filter design 2

filter = fdesign.parameq('N,F0,Fc,S,G0',N,F0,Fc,S1,G0);
filterDesignS1 = design(filter,'SystemObject',true);

filter.S = S2;
filterDesignS2 = design(filter,'SystemObject',true);

filterVisualization = fvtool(filterDesignS1,filterDesignS2);
legend(filterVisualization,'Slope = 1.5','Slope = 3');