主要内容

参数均衡器设计

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

通常,参数均衡器被设计为二阶IIR滤波器。这些滤波器的缺点是,由于其阶数较低,它们可以呈现相对较大的纹波或过渡区,并且当其中几个级联连接时,它们可能相互重叠。DSP系统工具箱™ 提供设计高阶IIR参数均衡器的能力。此类高阶设计对每个滤波器的形状提供了更多的控制。此外,如果滤波器的阶数设置为2,则设计为传统二阶参数均衡器的特例。

这个例子讨论了两种不同的参数均衡器设计方法。第一个是使用设计参数和所述第二使用fdesign.parameq设计参数应该满足大多数需求。它更简单,并为大多数常见的设计提供了功能。它还支持C代码生成,如果希望在运行时使用生成的代码优化过滤器,则需要C代码生成。金宝appfdesign.parameq为最终控制生成的过滤器提供了许多高级设计选项。本示例中并不是探讨所有设计选项。

一些基本设计

考虑以下两种参数均衡器的设计。除过滤器顺序不同外,设计规格均相同。第一个设计是一个典型的二阶参数均衡器,它将信号放大约10 kHz 5 dB。第二种设计使用了六阶滤波器。请注意,与二阶设计相比,六阶滤波器更接近理想的砖墙滤波器。显然,近似可以通过进一步增加滤波器阶数来改进。为这种改进的近似所付出的代价是增加了实现成本,因为需要更多的乘数。

Fs = 48 e3;N1 = 2;N2 = 6;G = 5;% 5分贝我们= 10000 / (Fs / 2);BW = 4000 / (Fs / 2);(B1, A1] = designParamEQ (N1, G,我们,BW);(B2 A2) = designParamEQ (N2, G,我们,BW);BQ1 = dsp.BiquadFilter(“SOSMatrix”[B1 '[1,A1。']。]);BQ2 = dsp.BiquadFilter(“SOSMatrix”, [B2。”[(3,1),A2。]]);hfvt = fvtool(BQ1,BQ2,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt“二阶设计”“六阶设计”);

地物过滤器可视化工具-震级响应(dB)包含一个轴对象和uitoolbar、uimenu类型的其他对象。标题震级响应(dB)的轴对象包含两个line类型的对象。这些对象表示二阶设计和六阶设计。

其中一个设计参数是滤波器带宽BW。在上例中,带宽设置为4khz。4千赫带宽出现在一半的增益(2.5 dB)。

基于质量因素的设计

另一种常见的设计参数是品质因数,过滤器的Q的Q被定义为WO / BW(中心频率/带宽)。它提供了滤波器的锐度,的量度,即,基准值(0 dB)的和增益G之间的过滤器转换如何急剧考虑两种设计具有相同的G和禾,但不同的Q值。

Fs=48e3;N=2;Q1=1.5;Q2=10;G=15;%15分贝Wo=6000/(Fs/2);BW1=Wo/Q1;BW2=Wo/Q2;[B1,A1]=设计参数(N,G,Wo,BW1);[B2,A2]=设计参数(N,G,Wo,BW2);BQ1=dsp.BiquadFilter(“SOSMatrix”[B1 '[1,A1。']。]);BQ2 = dsp.BiquadFilter(“SOSMatrix”, (B2。”,[1 A2。]]);hfvt = fvtool(BQ1,BQ2,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt'Q = 1.5'“Q=10”);

Figure Filter Visualization Tool-震级响应(dB)包含轴对象和uitoolbar、uimenu类型的其他对象。标题震级响应(dB)的轴对象包含2个line类型的对象。这些对象表示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] = designParamEQ (N, G, Wo1 BW1);(B2 A2) = designParamEQ (N, G, Wo2 BW2);BQ1 = dsp.BiquadFilter(“SOSMatrix”[B1 '[1,A1。']。]);BQ2 = dsp.BiquadFilter(“SOSMatrix”, (B2。”,[1 A2。]]);hfvt = fvtool(BQ1,BQ2,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt‘BW1=200赫兹;Q=10’'BW2 = 1200 Hz;Q = 10 ');

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含2个类型为line的对象。这些对象表示BW1 = 200hz;Q = 10, BW2 = 1200 Hz;Q = 10。

当虽然对数 - 频率标度观察时,两个滤波器的“倍频带宽”是相同的。

hfvt = fvtool(BQ1,BQ2,“FrequencyScale”'日志'“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt‘Fo1=2 kHz’‘Fo2=12 kHz’);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含2个类型为line的对象。这些对象代表Fo1 = 2 kHz, Fo2 = 12 kHz。

低架和高架过滤器

滤波器的带宽BW仅完全围绕中心频率为中心时,例如频率被设定为0.5 * PI(奈奎斯特速率的一半)禾。当禾越接近0或到pi,存在翘曲的效果,使在中心频率的一侧发生带宽的较大部分。在边缘的情况下,如果中心频率被设置为0(PI),所述过滤器的整个带宽发生的中心频率的右(左)。其结果是所谓的搁置低(高)过滤。

Fs = 48 e3;N = 4;G = 10;%10分贝Wo1 = 0;Wo2 = 1;对应Fs/2 (Hz)或pi (rad/sample)BW = 1000 / (Fs / 2);%带宽在这种情况下在7.4分贝发生(B1, A1] = designParamEQ (N, G, Wo1, BW);(B2 A2) = designParamEQ (N, G, Wo2, BW);BQ1 = dsp.BiquadFilter(“SOSMatrix”,[B1',[ones(2,1),A1']];BQ2=dsp.BiquadFilter(“SOSMatrix”[B2 '[一(2,1),A2']。]);hfvt = fvtool(BQ1,BQ2,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt“低货架滤波器”“高架子上过滤”);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含2个类型为line的对象。这些对象代表低架滤波器,高架滤波器。

切割的参数均衡器

所有以前的设计是参数均衡器的例子,可以增强所述信号在某个频带。你也可以设计均衡器,能够削减(降低)在给定区域内的信号。

Fs = 48 e3;N = 2;G = 1-5;%-5分贝我们= 6000 / (Fs / 2);BW = 2000 / (Fs / 2);[B] = designParamEQ (N, G,我们,BW);BQ = dsp。BiquadFilter (“SOSMatrix”[B。”,[1]]);。”hfvt = fvtool(BQ,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt'G = -5 dB');

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含一个类型为line的对象。这个对象表示G = -5 dB。

在极限,过滤器可以被设计为具有在特定的频率的零(-Inf分贝)的增益。这允许设计二阶或更高阶的陷波滤波器。

Fs = 44.1 e3;N = 8;G = -INF;Q = 1.8;禾= 60 /(FS / 2);% 60hz下行BW=Wo/Q;%对于这种特殊情况,带宽将出现在-3 dB(B1, A1] = designParamEQ (N, G,我们,BW);(NUM窝]= iirnotch(我们,BW);%或[NUM,DEN] = designParamEQ(2,G,禾,BW);SOS2 = (NUM,穴);BQ1 = dsp.BiquadFilter(“SOSMatrix”, [B1。”[(4,1),A1。]]);BQ2 = dsp.BiquadFilter(“SOSMatrix”,SOS2);hfvt=fvtool(BQ1,BQ2,“Fs”,财政司司长,“FrequencyScale”'日志'“颜色”'白色的');传奇(hfvt“八阶陷波滤波器”“二阶陷波滤波器”);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含2个类型为line的对象。这些对象分别代表8阶陷波滤波器和2阶陷波滤波器。

级联参数均衡器

参数均衡器通常以级联(串联)方式连接,以便几个参数均衡器同时使用来均衡一个音频信号。要以这种方式连接多个均衡器,请使用dsp。FilterCascade

Fs = 48 e3;N = 2;G1 = 3;%3分贝G2 = 2;%-2分贝Wo1=400/(Fs/2);Wo2=1000/(Fs/2);BW=500/(Fs/2);%带宽在这种情况下在7.4分贝发生(B1, A1] = designParamEQ (N, G1、Wo1 BW);(B2 A2) = designParamEQ (N, G2、Wo2 BW);BQ1 = dsp.BiquadFilter(“SOSMatrix”[B1 '[1,A1。']。]);BQ2 = dsp.BiquadFilter(“SOSMatrix”, (B2。”,[1 A2。]]);FC = dsp.FilterCascade (BQ1 BQ2);hfvt = fvtool (FC,“Fs”,财政司司长,“颜色”'白色的'“FrequencyScale”'日志');传奇(hfvt“二阶滤波器级联”);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含一个类型为line的对象。此对象表示的二阶滤波器级联。

低阶设计,如上面的二阶滤波器,如果它们的中心频率是紧密间隔的,就会相互干扰。在上面的例子中,以1 kHz为中心的滤波器被认为有-2 dB的增益。由于其他滤波器的干扰,实际增益更接近-1 dB。高阶设计不太容易受到这种干扰。

Fs = 48 e3;N = 8;G1 = 3;%3分贝G2 = 2;%-2分贝Wo1=400/(Fs/2);Wo2=1000/(Fs/2);BW=500/(Fs/2);%带宽在这种情况下在7.4分贝发生(B1, A1] = designParamEQ (N, G1、Wo1 BW);(B2 A2) = designParamEQ (N, G2、Wo2 BW);BQ1a = dsp。BiquadFilter (“SOSMatrix”,[B1',[ones(4,1),A1']];BQ2a=dsp.BiquadFilter(“SOSMatrix”FC2=dsp.FilterCascade(BQ1a,BQ2a);hfvt=fvtool(FC,FC2,“Fs”,财政司司长,“颜色”'白色的'“FrequencyScale”'日志');传奇(hfvt“二阶滤波器级联”“8阶滤波器级联”);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含2个类型为line的对象。这些对象代表级联的二阶滤波器级联的8阶滤波器。

高级设计选项:指定低频和高频

对于更先进的设计,fdesign.parameq可以使用。例如,由于频率扭曲,通常很难控制带宽出现的确切频率边缘。为此,可以使用以下方法:

Fs = 44.1 e3;N = 4;流= 3000;Fhigh = 4000;Grsq = 1;Gref = 10 * log10 (Grsq);G = 8;Gsq = 10 ^ (G / 10);%幅度平方滤波器的;G =5分贝GBW = 10 *日志10((+ GSQ Grsq)/ 2);%流量和Fhigh出现在-2.37 dBPEQ=f设计参数q(' N,流、Fhigh Gref、G0 GBW”......N,流量/ (Fs / 2) Fhigh / (Fs / 2), Gref, G, GBW);BQ =设计(PEQ,“系统对象”,真正的);hfvt = fvtool(BQ,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt'均衡器,流速= 3 kHz和F高= 4千赫');

Figure Filter Visualization Tool-幅值响应(dB)包含一个轴对象和uitoolbar、uimenu类型的其他对象。标题幅值响应(dB)的轴对象包含一个line类型的对象。该对象表示流量=3 kHz且Fhigh=4 kHz的均衡器。

注意,滤波器在指定的3 kHz和4 kHz有-2.37 dB的增益。

具有可变过渡带宽或斜率的搁置过滤器

搁置过滤器的特征之一是过渡带宽(有时也称为过渡斜率)它可以由搁板斜率参数S指定。带宽参考增益GBW始终设置为搁板滤波器的升压或削减增益的一半。所有其他参数保持不变,随着S的增加,过渡带宽减小,(响应斜率增加),从而产生“斜率旋转”在GBW点周围,如下面的示例所示。

N = 2;Fs = 48 e3;FO = 0;% F0=0设计低通滤波器,F0=1设计高通滤波器Fc=2e3/(Fs/2);%截止频率G = 10;S = 1.5;PEQ=f设计参数q('N,F0,FC,S,G0'、N、Fo Fc, S, G);BQ1 =设计(PEQ,“系统对象”,真正的);PEQ.S = 2.5;BQ2 =设计(PEQ,“系统对象”,对);PEQ.S=4;BQ3=设计(产品环境质量,“系统对象”,真正的);hfvt = fvtool (BQ1 BQ2 BQ3,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt' S = 1.5' S = 2.5'S=4');

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含3个类型为line的对象。这些对象代表S=1.5, S=2.5, S=4。

通过计算,可以得到每个S值对应的跃迁带宽和带宽增益测量函数。我们验证了三种设计的带宽参考增益GBW是相同的,并且我们量化了当S增加时过渡宽度减少的多少。

m1 =测量(BQ1);得到(m1,“GBW”
ANS = 5
M2 =量度(BQ2);得到(M2,“GBW”
ANS = 5
m3=测量值(BQ3);获取(m3,“GBW”
ANS = 5
得到(m1,“HighTransitionWidth”
ans = 0.0945
得到(M2,“HighTransitionWidth”
ans=0.0425
get (m3,“HighTransitionWidth”
ans = 0.0238

由于搁板斜率参数S增加时,过滤器的脉动也增加。我们可以增加过滤器以减少波动,同时保持所需的过渡带宽。

N = 2;PEQ=f设计参数q('N,F0,FC,S,G0'、N、Fo Fc, S, G);BQ1 =设计(PEQ,“系统对象”,真正的);PEQ。FilterOrder = 3;BQ2 =设计(PEQ,“系统对象”,真正的);PEQ.FilterOrder = 4;BQ3 =设计(PEQ,“系统对象”,真正的);hfvt = fvtool (BQ1 BQ2 BQ3,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt'N = 2'‘N=3’“N = 4”);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含3个类型为line的对象。这些对象表示N = 2,N = 3,N = 4。

具有规定质量因数的货架过滤器

质量因子Qa可以代替货架坡度参数S来设计可变过渡带宽的货架滤波器。

N = 2;Fs = 48 e3;Fo = 1;% F0=0设计低通滤波器,F0=1设计高通滤波器FC = 20e3 /(FS / 2);%截止频率G=10;Q=0.48;PEQ=F设计参数Q('N,F0,FC,QA,G0'、N、Fo Fc, Q, G);BQ1 =设计(PEQ,“系统对象”,真正的);PEQ。Qa = 1 /√(2);BQ2 =设计(PEQ,“系统对象”,真正的);PEQ。Qa = 2.0222;BQ3 =设计(PEQ,“系统对象”,真正的);hfvt = fvtool (BQ1 BQ2 BQ3,“Fs”,财政司司长,“颜色”'白色的');传奇(hfvt'QA = 0.48'“Qa = 0.7071”'QA = 2.0222');

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含3个类型为line的对象。这些对象表示QA = 0.48,QA = 0.7071,QA = 2.0222。