本示例说明了如何设计倍频带和分数倍频带滤波器,包括滤波器组和倍频带SPL计。倍频带和分数倍频带滤波器通常用于声学。例如,倍频带滤波器用于进行频谱分析以控制噪声。声学学家使用倍频带或分数倍频带(通常为1/3)倍频程滤波器组,因为它提供了不同频带中噪声功率的有意义的度量。
一个八度是两个频率之间的比率为2:1(或)的间隔 对于基-10倍频程比)。倍频带或分数倍频带滤波器是由其中心频率、阶数和带宽确定的带通滤波器。ANSI®S1.11-2004标准中定义了三类滤波器的振幅衰减限值:0级、1级和2级。0级仅允许通带内+/-0.15 dB的纹波,而1级允许+/-0.3 dB,2级允许+/-0.5 dB。阻带衰减水平在60到75 dB之间变化,这取决于滤波器的类别。
设计一个全倍频带滤波器octaveFilter
.
体重=1倍频程的;%的带宽N = 8;%过滤顺序F0=1000;%中心频率(Hz)Fs = 48000;%采样频率(Hz)of=八度滤光片(“FilterOrder”N“中心频率”,F0,...“带宽”BW,“SampleRate”,Fs);
可视化滤波器的幅度响应。
想象(的),“1类”)
可视化器图与对象同步,因此您可以在更改过滤器参数时看到幅度响应的更新。如果滤波器符合ANSI S1.11-2004标准(包括位于有效频率的中心),则幅值响应周围的掩模为绿色,否则为红色。若要使用图形用户界面更改过滤器的规格,请使用参数调谐器. 您也可以使用音频测试台应用程序快速设置一个测试工作台的八度滤波器您设计。例如,运行audioTestBench(的)
发射一个带有八度滤波器的测试台。
打开一个参数调谐器,使您能够实时修改过滤器。
参数调谐器(of)
打开频谱分析仪显示经倍频滤波器滤过的白噪声。在循环运行时,您可以使用参数调谐器修改筛选器设置。
Nx = 100000;scope1 = dsp。简介(“SampleRate”,财政司司长,“方法”,滤波器组的,...“平均法”,“指数”,“绘制双侧面光谱”错误的...“频率标度”,“日志”,“频率跨度”,“启动和停止频率”,...“StartFrequency”1.“停止频率”Fs / 2,“YLimits”-60年[10],...“RBWSource”,“财产”,“RBW”1);抽搐虽然toc < 20%跑20秒x1=randn(Nx,1);y1=of(x1);范围1(y1)结束
许多应用程序需要一整套倍频程滤波器来形成滤波器组getANSICenterFrequencies(的)
获取每个滤波器的中心频率列表。然而,使用八维滤波器组
对象
创建一个八维滤波器组
物体的大小响应。
富含= octaveFilterBank (b1/3倍频程的,财政司司长,“FilterOrder”,N);频率(ofb,“NFFT”2 ^ 16)%增加FFT长度以获得更好的低频分辨率集(gca),“XScale”,“日志”)轴([20 Fs/2-50 5])标题(“1/3倍频程滤波器组幅度响应”)
用1/3倍频程滤波器组对粉红色噪声发生器的输出进行滤波,并计算每个滤波器输出的总功率。
pinkNoise = dsp。ColoredNoise (“颜色”,“粉红”,...“样品性能框架”,Nx,...“NumChannels”1);scope2 = dsp。简介(“SampleRate”,财政司司长,“方法”,滤波器组的,...“平均法”,“指数”,“绘制双侧面光谱”错误的...“频率标度”,“日志”,“频率跨度”,“启动和停止频率”,...“StartFrequency”, 20岁,“停止频率”Fs / 2,“YLimits”,[-40 30],...“RBWSource”,“财产”,“RBW”,10);centerOct=getCenterFrequencies(ofb);nbOct=numel(centerOct);bandPower=Zero(1,nbOct);nbSamples=0;tic虽然toc < 10 xp = pinkNoise();yp =富含(xp) b;bandPower = bandPower + sum(yp.^2,1);nbSamples = nbSamples + Nx;scope2 (yp)结束
粉色噪声在每个八度波段的总功率相同,因此5hz和10hz之间的功率与5000 Hz和10000 Hz之间的功率相同。因此,在频谱分析仪中,您可以观察到10 dB/ 10年的衰减,这是粉红色噪声在对数尺度上的特征,以及信号如何被分割成30 1/3倍频带。较高的频带有较低的功率密度,但对数尺度意味着它们也更宽,因此它们的总功率是恒定的。
绘制功率谱,表明粉红色噪声有一个平坦的八度谱。
b=10^(3/10);%基10倍频程比计算功率(含压力基准)octPower = 10 * log10 (bandPower / nbSamples / 4平台以及);栏(log (centerOct) / log (b), octPower);集(gca),“Xticklabel”,轮(b)^get(gca,“Xtick”), 2,“重要的”)); 头衔(“1/3倍频程功率谱”)xlabel(“倍频程频带(Hz)”)伊拉贝尔(“权力(dB)”)
SPL仪表对象(splMeter
)还支持倍频程金宝app测量。实时再现相同的功率谱测量。使用dsp.ArrayPlot
目标可视化每个波段的功率。使用z加权选项来省略频率加权滤波器。
spl = splMeter (“带宽”,1/3倍频程的,...“OctaveFilterOrder”N...“SampleRate”,财政司司长,...“FrequencyWeighting”,“Z-weighting”);scope3 = dsp。ArrayPlot (“头衔”,“粉红噪音SPL”,...“XLabel”,“倍频程频带数”,...“伊拉贝尔”,“权力(dB)”,“YLimits”,[0 100]);tic虽然toc < 10 xp = pinkNoise();yp = spl (xp);ypm =意味着(yp, 1)。';scope3 (ypm)结束