主要内容

参量均衡器设计

这个例子展示了如何设计参量均衡器过滤器。参数均衡器数字滤波器应用于音频调整声音信号的频率内容。参数均衡器提供图形均衡器功能之外的功能,允许调整增益,每个滤波器的中心频率和带宽。相比之下,图形均衡器只允许每个滤波器的增益的调整。

通常,参数均衡器设计二阶IIR滤波器。这些过滤器的缺点,因为他们的低阶,他们可以存在相对较大的波动或过渡地区,可能相互重叠,当中的几个人在级联连接。音频工具箱™提供的功能来设计高阶IIR参数均衡器。这种高阶设计提供了更多的控制每个过滤器的形状。此外,设计特殊情况的传统二阶参数均衡器如果过滤器的顺序设置为2。

这个示例使用designParamEQ。这是一个简单的函数,为最常见的设计提供支持。万博1manbetx它还支持C代码生万博1manbetx成,如果有需要希望调整过滤器在运行时生成的代码。

一些基本的设计

考虑以下两个设计参数均衡器。设计规格是相同的除了过滤器的顺序。第一个设计是一个典型的二阶参量均衡器能够提高信号在10 kHz 5分贝。第二种设计sixth-order滤波器做了同样的事情。注意sixth-order过滤器更接近理想brickwall滤波器相比,二阶设计。显然,近似可以提高进一步增加过滤器的顺序。这种改进的近似的代价增加实施成本随着越来越多的乘数是必需的。

Fs = 48 e3;N1 = 2;N2 = 6;G = 5;% 5分贝我们= 10000 / (Fs / 2);BW = 4000 / (Fs / 2);(B1, A1) = designParamEQ (BW, N1, G,我们“定位”,“行”);(B2 A2) = designParamEQ (BW, N2, G,我们“定位”,“行”);BQ1 = dsp.SOSFilter (“分子”B1,“分母”,A1);BQ2 = dsp.SOSFilter (“分子”B2,“分母”A2);hfvt = fvtool (BQ1 BQ2,“Fs”Fs,“颜色”,“白色”);传奇(hfvt的二阶设计,“六阶设计”);

一个设计参数的滤波器带宽,BW。在上一个示例中,带宽是指定为4 kHz。4千赫带宽发生在(2.5 dB)增幅的一半。

设计基于质量的因素

另一个常见的设计参数是质量因素,问:问的过滤器被定义为我们/ BW(中心频率/带宽)。它提供了一个衡量的清晰度的过滤器,即。,how sharply the filter transitions between the reference value (0 dB) and the gain G. Consider two designs with same G and Wo, but different Q values.

Fs = 48 e3;N = 2;Q1 = 1.5;Q2 = 10;G = 15;% 15分贝我们= 6000 / (Fs / 2);BW1 =我们/ Q1;BW2 =我们/ Q2;(B1, A1) = designParamEQ (BW1 N, G,我们,“定位”,“行”);(B2 A2) = designParamEQ (BW2 N, G,我们,“定位”,“行”);BQ1 = dsp.SOSFilter (“分子”B1,“分母”,A1);BQ2 = dsp.SOSFilter (“分子”B2,“分母”A2);hfvt = fvtool (BQ1 BQ2,“Fs”Fs,“颜色”,“白色”);传奇(hfvt“Q = 1.5”,“Q = 10”);

虽然高Q值对应于一个尖锐的过滤器,它还必须指出,对于一个给定的带宽,Q因子增加仅仅通过提高中心频率。这可能看起来不直观。例如,下面的两个过滤器有相同的品质因数,但显然占据了更大的带宽。

Fs = 48 e3;N = 2;Q = 10;G = 9;% 9 dBWo1 = 2000 / (Fs / 2);Wo2 = 12000 / (Fs / 2);BW1 = Wo1 / Q;BW2 = Wo2 / Q;(B1, A1) = designParamEQ (N, G, Wo1 BW1,“定位”,“行”);(B2 A2) = designParamEQ (N, G, Wo2 BW2,“定位”,“行”);BQ1 = dsp.SOSFilter (“分子”B1,“分母”,A1);BQ2 = dsp.SOSFilter (“分子”B2,“分母”A2);hfvt = fvtool (BQ1 BQ2,“Fs”Fs,“颜色”,“白色”);传奇(hfvt“BW1 = 200赫兹;Q = 10 ',“BW2 = 1200赫兹;Q = 10 ');

对数频率范围虽然,“倍频程带宽”的两个过滤器是相同的。

hfvt = fvtool (BQ1 BQ2,“FrequencyScale”,“日志”,“Fs”Fs,“颜色”,“白色”);传奇(hfvt“Fo1 = 2 kHz”,“Fo2 = 12 kHz”);

低和高货架过滤器

滤波器的带宽BW只是完全围绕着中心频率我们当这样的频率设置为0.5 *π(奈奎斯特率的一半)。当我们接近0或者π,有翘曲作用使一个更大的部分带宽发生在一侧的中心频率。在边缘的情况下,如果中心频率设置为0(π)的整个带宽滤波器发生向右(左)的中心频率。结果是一个所谓的搁置低(高)滤波器。

Fs = 48 e3;N = 4;G = 10;% 10 dBWo1 = 0;Wo2 = 1;%对应Fs / 2 (Hz)或者π(rad /样本)BW = 1000 / (Fs / 2);在这种情况下%带宽发生在7.4 dB(B1, A1) = designParamEQ (N, G, Wo1 BW,“定位”,“行”);(B2 A2) = designParamEQ (N, G, Wo2 BW,“定位”,“行”);BQ1 = dsp.SOSFilter (“分子”B1,“分母”,A1);BQ2 = dsp.SOSFilter (“分子”B2,“分母”A2);hfvt = fvtool (BQ1 BQ2,“Fs”Fs,“颜色”,“白色”);传奇(hfvt“低货架滤波器”,“高架子上过滤”);

削减的参量均衡器

所有先前的设计参量均衡器的例子,提高了信号在一定的频带。你也可以设计的均衡器,削减(减弱)信号在一个给定的地区。

Fs = 48 e3;N = 2;G = 5;% 5分贝我们= 6000 / (Fs / 2);BW = 2000 / (Fs / 2);[B] = designParamEQ (BW, N, G,我们“定位”,“行”);BQ = dsp.SOSFilter (“分子”B“分母”,);hfvt = fvtool (BQ,“Fs”Fs,“颜色”,“白色”);传奇(hfvt“G = 5 dB”);

限制,滤波器设计可以有一个获得零(负无穷dB)在指定的频率。这允许设计二阶或高阶等级过滤器。

Fs = 44.1 e3;N = 8;G =无穷;Q = 1.8;我们= 60 / (Fs / 2);% 60赫兹BW =我们/ Q;%的带宽将发生在3 dB的特例(B1, A1) = designParamEQ (BW, N, G,我们“定位”,“行”);(NUM窝]= iirnotch(我们,BW);%或(NUM,窝)= designParamEQ (2 G,我们,BW);BQ1 = dsp.SOSFilter (“分子”B1,“分母”,A1);BQ2 = dsp.SOSFilter (“分子”全国矿工工会,“分母”穴);hfvt = fvtool (BQ1 BQ2,“Fs”Fs,“FrequencyScale”,“日志”,“颜色”,“白色”);传奇(hfvt8日订单陷波滤波器的,二阶陷波滤波器的);

级联参数均衡器

参数均衡器通常连接在级联(串联),这样几个同时用于平衡音频信号。以这种方式来连接多个均衡器,使用dsp.FilterCascade

Fs = 48 e3;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) = designParamEQ (N, G1, Wo1 BW,“定位”,“行”);(B2 A2) = designParamEQ (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二阶滤波器的级联);

低阶设计,比如上面的二阶滤波器可以互相干扰,如果他们的中心频率密集。在上面的示例中,过滤器集中在1 kHz应该有2 dB的增益。由于其他过滤器的干扰,实际的增益更像是1 dB。高阶设计更倾向于这种干扰。

Fs = 48 e3;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) = designParamEQ (N, G1, Wo1 BW,“定位”,“行”);(B2 A2) = designParamEQ (N, G2, Wo2 BW,“定位”,“行”);BQ1a = dsp.SOSFilter (“分子”B1,“分母”,A1);BQ2a = dsp.SOSFilter (“分子”B2,“分母”A2);FC2 = dsp.FilterCascade (BQ1a BQ2a);FC2 hfvt = fvtool (FC,“Fs”Fs,“颜色”,“白色”,“FrequencyScale”,“日志”);传奇(hfvt二阶滤波器的级联,“八阶滤波器级联”);