参数均衡器设计
这个例子展示了如何设计参数均衡器滤波器。参数均衡器是音频中用于调节声音信号的频率内容的数字滤波器。参数均衡器通过允许调整增益、中心频率和每个滤波器的带宽,提供了图形均衡器以外的功能。相比之下,图形均衡器只允许调整每个滤波器的增益。
通常,参数均衡器被设计为二阶IIR滤波器。这些滤波器的缺点是由于它们的阶数低,会出现较大的纹波或过渡区,并且当其中几个串级连接时可能会相互重叠。Audio Toolbox™提供设计高阶IIR参数均衡器的能力。这种高阶设计对每个滤波器的形状提供了更多的控制。此外,当滤波器的阶数为2时,对传统的二阶参数均衡器设计了特例。
此示例使用designParamEQ
.它是一个简单的函数,为最常见的设计提供支持。它还支持C代码生成,如果希望在运行时用生成的代码调优过滤器,则需要C代码生成。
一些基本设计
考虑以下两种参数均衡器的设计。除过滤器顺序外,其余设计规格相同。第一个设计是一个典型的二阶参数均衡器,将信号提高约10 kHz 5 dB。第二种设计采用六阶滤波器。注意,与二阶设计相比,六阶滤波器更接近理想的砖墙滤波器。显然,可以通过进一步增加滤波器阶数来改进近似。这种改进的近似的代价是由于需要更多的乘数而增加的实现成本。
Fs = 48e3;N1 = 2;N2 = 6;G = 5;% 5 dBWo = 10000/(Fs/2);BW = 4000/(Fs/2);[B1,A1] = designparamq (N1,G,Wo,BW,“定位”,“行”);[B2,A2] = designparameterq (N2,G,Wo,BW,“定位”,“行”);BQ1 = dsp。SOSFilter (“分子”B1,“分母”, A1);BQ2 = dsp。SOSFilter (“分子”B2,“分母”A2);hfvt = fvtool(BQ1,BQ2,“Fs”Fs,“颜色”,“白色”);传奇(hfvt的二阶设计,“六阶设计”);
其中一个设计参数是滤波器带宽BW。在前面的例子中,带宽被指定为4 kHz。4khz带宽发生在增益的一半(2.5 dB)。
基于质量因子的设计
另一个常见的设计参数是质量因子Q。滤波器的Q被定义为Wo/BW(中心频率/带宽)。它提供了滤波器锐度的度量,即滤波器在参考值(0 dB)和增益G之间转换的快锐度。考虑两种具有相同G和Wo,但Q值不同的设计。
Fs = 48e3;N = 2;Q1 = 1.5;Q2 = 10;G = 15;% 15 dBWo = 6000/(Fs/2);BW1 = Wo/Q1;BW2 = Wo/Q2;[B1,A1] = designparamq (N,G,Wo,BW1),“定位”,“行”);[B2,A2] = designparameterq (N,G,Wo,BW2),“定位”,“行”);BQ1 = dsp。SOSFilter (“分子”B1,“分母”, A1);BQ2 = dsp。SOSFilter (“分子”B2,“分母”A2);hfvt = fvtool(BQ1,BQ2,“Fs”Fs,“颜色”,“白色”);传奇(hfvt' q = 1.5',' q = 10');
尽管较高的Q因子对应于更清晰的滤波器,但必须注意的是,对于给定的带宽,Q因子仅通过增加中心频率而增加。这似乎不太直观。例如,以下两个过滤器具有相同的Q因子,但其中一个显然比另一个占用更大的带宽。
Fs = 48e3;N = 2;Q = 10;G = 9;% 9 dBWo1 = 2000/(Fs/2);Wo2 = 12000/(Fs/2);BW1 = Wo1/Q;BW2 = Wo2/Q;[B1,A1] = designparamq (N,G,Wo1,BW1,“定位”,“行”);[B2,A2] = designparamq (N,G,Wo2,BW2,“定位”,“行”);BQ1 = dsp。SOSFilter (“分子”B1,“分母”, A1);BQ2 = dsp。SOSFilter (“分子”B2,“分母”A2);hfvt = fvtool(BQ1,BQ2,“Fs”Fs,“颜色”,“白色”);传奇(hfvt'BW1 = 200 Hz;Q = 10','BW2 = 1200 Hz;Q = 10');
当从对数频率的尺度来看,两个滤波器的“八度带宽”是相同的。
hfvt = fvtool(BQ1,BQ2,“FrequencyScale”,“日志”,“Fs”Fs,“颜色”,“白色”);传奇(hfvt“Fo1 = 2khz”,“Fo2 = 12千赫”);
低货架和高货架过滤器
当中心频率Wo设置为0.5*pi(奈奎斯特速率的一半)时,滤波器的带宽BW仅以中心频率Wo为完美中心。当Wo接近于0或pi时,存在一种扭曲效应,使更大一部分带宽发生在中心频率的一侧。在边缘情况下,如果中心频率设置为0 (pi),则滤波器的整个带宽发生在中心频率的右侧(左侧)。结果就是所谓的搁置低(高)过滤器。
Fs = 48e3;N = 4;G = 10;% 10 dBWo1 = 0;Wo2 = 1;%对应Fs/2 (Hz)或pi (rad/sample)BW = 1000/(Fs/2);%带宽在这种情况下发生在7.4 dB[B1,A1] = designparamq (N,G,Wo1,BW,“定位”,“行”);[B2,A2] = designparamq (N,G,Wo2,BW,“定位”,“行”);BQ1 = dsp。SOSFilter (“分子”B1,“分母”, A1);BQ2 = dsp。SOSFilter (“分子”B2,“分母”A2);hfvt = fvtool(BQ1,BQ2,“Fs”Fs,“颜色”,“白色”);传奇(hfvt“低货架过滤器”,“高架过滤器”);
切割的参数均衡器
以前的所有设计都是参数均衡器的例子,使信号在某一频段上提高。你也可以设计均衡器来切断(衰减)给定区域的信号。
Fs = 48e3;N = 2;G = -5;% -5 dBWo = 6000/(Fs/2);BW = 2000/(Fs/2);[B,A] = N,G,Wo,BW;“定位”,“行”);BQ = dsp。SOSFilter (“分子”B“分母”,);hfvt = fvtool(BQ;“Fs”Fs,“颜色”,“白色”);传奇(hfvt'G = -5 dB');
在极限下,滤波器可以设计成在指定频率下增益为零(-Inf dB)。这允许设计二阶或更高阶陷波滤波器。
Fs = 44.1e3;N = 8;G = -inf;Q = 1.8;Wo = 60/(Fs/2);% Notch在60赫兹BW = Wo/Q;%带宽在这种特殊情况下为-3 dB[B1,A1] = designparamq (N,G,Wo,BW,“定位”,“行”);[NUM,DEN] = iirnotch(Wo,BW);% or [NUM,DEN] = designparamq (2,G,Wo,BW);BQ1 = dsp。SOSFilter (“分子”B1,“分母”, A1);BQ2 = dsp。SOSFilter (“分子”全国矿工工会,“分母”穴);hfvt = fvtool(BQ1,BQ2,“Fs”Fs,“FrequencyScale”,“日志”,“颜色”,“白色”);传奇(hfvt“八阶陷波滤波器”,“二阶陷波滤波器”);
级联参数均衡器
参数均衡器通常级联(串联)连接,以便同时使用多个参数均衡器来均衡一个音频信号。要以这种方式连接多个均衡器,请使用dsp。FilterCascade
.
Fs = 48e3;N = 2;G1 = 3;% 3 dBG2 = -2;% -2 dBWo1 = 400/(Fs/2);Wo2 = 1000/(Fs/2);BW = 500/(Fs/2);%带宽在这种情况下发生在7.4 dB[B1,A1] = designparamq (N,G1,Wo1,BW,“定位”,“行”);[B2,A2] = designparamq (N,G2,Wo2,BW,“定位”,“行”);BQ1 = dsp。SOSFilter (“分子”B1,“分母”, A1);BQ2 = dsp。SOSFilter (“分子”B2,“分母”A2);FC = dsp.FilterCascade(BQ1,BQ2);hfvt = fvtool(FC,“Fs”Fs,“颜色”,“白色”,“FrequencyScale”,“日志”);传奇(hfvt“二阶滤波器级联”);
低阶设计,如上面的二阶滤波器,如果它们的中心频率间隔很紧,就会相互干扰。在上面的例子中,以1khz为中心的滤波器应该有-2 dB的增益。由于其他滤波器的干扰,实际增益更像是-1 dB。高阶设计不太容易受到这种干扰。
Fs = 48e3;N = 8;G1 = 3;% 3 dBG2 = -2;% -2 dBWo1 = 400/(Fs/2);Wo2 = 1000/(Fs/2);BW = 500/(Fs/2);%带宽在这种情况下发生在7.4 dB[B1,A1] = designparamq (N,G1,Wo1,BW,“定位”,“行”);[B2,A2] = designparamq (N,G2,Wo2,BW,“定位”,“行”);BQ1a = dsp。SOSFilter (“分子”B1,“分母”, A1);BQ2a = dsp。SOSFilter (“分子”B2,“分母”A2);FC2 = sp. filtercascade (BQ1a,BQ2a);hfvt = fvtool(FC,FC2,“Fs”Fs,“颜色”,“白色”,“FrequencyScale”,“日志”);传奇(hfvt“二阶滤波器级联”,“八阶滤波器级联”);