主要内容

designAuditoryFilterBank

设计听觉滤波器组

描述

例子

filterBank= DesignAudiTionFilterBank(FS.返回一个频域听觉滤波器组,filterBank

例子

filterBank= DesignAudiTionFilterBank(FS.名称,价值使用一个或多个指定选项名称,价值对参数。

[filterBankFC.BW.) = designAuditoryFilterBank (___返回滤波器组中每个滤波器的中心频率和带宽。您可以将此输出语法与前面的任何输入语法一起使用。

例子

全部收缩

调用designAuditoryFilterBank具有指定的采样率来设计默认的听觉滤波器银行。

fs = 44.1 e3;fb = designAuditoryFilterBank (fs);

默认的滤波器组由32个三角形带通滤波器组成,在0到mel之间均匀间隔FS./ 2赫兹。

numBands =大小(fb, 1)
numBands = 32

designAuditoryFilterBank用于频域过滤。默认情况下,designAuditoryFilterBank假设1024点DFT,并返回一个具有513个点的半侧频域滤波器库。

numPoints =大小(fb, 2)
Numpoints = 513.

读入音频并将其转换为单侧功率谱。

[AudioIn,FS] = audioread(“笑-16-8-mono-4secs.wav”);WIN =汉明(1024,“定期”);noverlap = 512;fftLength = 1024;[S,F,T] = Stft(AudioIn,FS,...“窗户”,赢了,...“overlaplength”,noverlap,...“FFTLength”,fftlength,...“FrequencyRange”“片面”);PowerSpectrum = S *连词(年代);

设计一种基于融合的听觉滤波器组。绘制过滤器银行。

numBands =32;范围= [0.4000.];归一化=“带宽”;[FB,CF] = DesignAudiTionFilterBank(FS,...“FFTLength”,fftlength,...“numbands”numBands,...“FrequencyRange”、范围、...“正常化”、标准化);情节(F, fb。”)网格标题(“梅尔过滤器银行”)包含(“频率(赫兹)”

图中包含一个坐标轴。标题为Mel Filter Bank的轴包含32个line类型的对象。

为了应用频域过滤,执行滤波器组和功率谱图的矩阵乘法。

X = FB * PowerSpectrum;

以dB为单位可视化每频带的功率。

XdB = 10 * log10 (X);冲浪(t, cf, XdB“Edgecolor”“没有任何”);Xlabel(“时间”)ylabel(“频率(赫兹)”)Zlabel(“Power(DB)”)查看([45,60])标题(“Mel-Based谱图”)轴

图中包含一个坐标轴。标题为“基于梅尔的光谱图”的轴包含一个类型为曲面的对象。

读入音频并将其转换为单侧功率谱。

[AudioIn,FS] = audioread(“RockDrums-44p1-stereo-11secs.mp3”);赢得=损害(圆(0.03 * fs),“定期”);noverlap = round(0.02 * fs);FFTLength = 2048;[S,F,T] = Stft(AudioIn,FS,...“窗户”,赢了,...“overlaplength”,noverlap,...“FFTLength”,fftlength,...“FrequencyRange”“片面”);PowerSpectrum = S *连词(年代);

设计一种基于bark的听觉滤波器组。绘制过滤器银行。

numBands =32;范围= [0.22050];归一化=“区域”;designDomain =“线性”;[FB,CF] = DesignAudiTionFilterBank(FS,...“FrequencyScale”“树皮”...“FFTLength”,fftlength,...“numbands”numBands,...“FrequencyRange”、范围、...“正常化”归一化,...“FilterBankDesignDomain”,DesignDomain);情节(F, fb。');网格标题(“树皮过滤器银行”)包含(“频率(赫兹)”

图中包含一个坐标轴。带标题Bark滤波器组的轴包含32个类型的类型。

要应用频域滤波,执行滤波器组和左右功率谱图的矩阵乘法。

x = Pagemtimes(FB,PowerSpectrum);

以dB为单位可视化每频带的功率。

XLDB = 10 * log10(x(:,:,1));XRDB = 10 * log10(x(:,:,2));冲浪(T,CF,XLDB,“Edgecolor”“没有任何”);Xlabel(“时间”)ylabel(“频率(赫兹)”, 90年)视图([0])标题(“基于树皮的频谱图(左声道)”)轴

图中包含一个坐标轴。标题为“基于树皮的光谱图(左通道)”的轴包含一个类型为曲面的对象。

冲浪(t, cf, XRdB“Edgecolor”“没有任何”);Xlabel(“时间”)ylabel(“频率(赫兹)”, 90年)视图([0])标题(“基于树皮的频谱图(右声道)”)轴

图中包含一个坐标轴。标题为“基于树皮的光谱图(右通道)”的轴包含一个类型为曲面的对象。

读入音频并将其转换为单侧功率谱。

[AudioIn,FS] = audioread(“NoisySpeech-16-22p5-mono-5secs.wav”);赢得=损害(圆(0.04 * fs),“定期”);noverlap = round(0.02 * fs);fftLength = 1024;[S,F,T] = Stft(AudioIn,FS,...“窗户”,赢了,...“overlaplength”,noverlap,...“FFTLength”,fftlength,...“FrequencyRange”“片面”);PowerSpectrum = S *连词(年代);

设计基于ERB的听觉过滤器库。绘制过滤器银行。

numBands =32;范围= [0.11025];归一化=“带宽”;[FB,CF] = DesignAudiTionFilterBank(FS,...“FrequencyScale”“博”...“FFTLength”,fftlength,...“numbands”numBands,...“FrequencyRange”、范围、...“正常化”、标准化);情节(F, fb。');网格标题(“ERB过滤器银行”)包含(“频率(赫兹)”

图中包含一个坐标轴。标题ERB滤波器组的轴包含32个类型的类型。

为了应用频域滤波,执行滤波器组和功率谱图的矩阵乘法。

X = FB * PowerSpectrum;

以dB为单位可视化每频带的功率。

XdB = 10 * log10 (X);冲浪(t, cf, XdB“Edgecolor”“没有任何”);Xlabel(“时间”)ylabel(“频率(赫兹)”, 90年)视图([0])标题(“ERB-Based谱图”)轴

图中包含一个坐标轴。标题为“基于erbb的光谱图”的坐标轴包含一个类型为曲面的对象。

输入参数

全部收缩

滤波器设计的采样率Hz,指定为一个正标量。

数据类型:|

名称值对参数

指定可选的逗号分离对名称,价值参数。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“FrequencyScale”、“梅尔”

用频率标度来设计听觉滤波器组,指定为逗号分隔对组成“FrequencyScale”“梅尔”“树皮”,或“博”

数据类型:字符|字符串

用于计算DFT的点数,指定为逗号分隔对组成'fftlength'和一个正整数。

数据类型:|

带通滤波器的个数,指定为逗号分隔对“NumBands”和一个正整数。默认的带通滤波器数取决于FrequencyScale

  • 如果FrequencyScale被设置为“树皮”“梅尔”, 然后numbands.默认为32

  • 如果FrequencyScale被设置为“博”, 然后numbands.默认为(即:hz2erbFrequencyRange(2))hz2erbFrequencyRange(1)))

数据类型:|

在Hz中设计听觉过滤器组的频率范围,指定为逗号分隔对“FrequencyRange”以及一个二元素行向量,其值在范围[0,FS./ 2]。

数据类型:|

滤波器组权重的归一化技术:

  • “带宽”——每个带通滤波器的权值由相应的滤波器带宽归一化。

  • “区域”- 每个带通滤波器的重量由带通滤波器的相应区域归一化。

  • “没有任何”- 滤波器的权重未标准化。

数据类型:字符|字符串

设计一个单面或双面滤波器组,指定为逗号分隔对组成'片面',要么真的错误的

数据类型:逻辑

设计过滤器银行的域,指定为逗号分隔对“FilterBankDesignDomain”,要么“线性”“扭曲”.设置过滤器组设计域为“线性”设计线性(Hz)域的带通滤波器。设置过滤器组设计域为“扭曲”在翘曲(MEL或BARK)域中设计带通滤波器。

依赖关系

该参数仅适用于FrequencyScale被设置为“梅尔”(默认)或“树皮”

数据类型:字符|字符串

输出参数

全部收缩

听觉过滤器银行,作为一个返回m——- - - - - -N矩阵,m为频带数(numbands.), 和N为单侧频谱的频率点数((即:FFTLength/ 2))。

数据类型:

带通滤波器的中心频率,以Hz为单位,返回为带有的行向量numbands.元素。

数据类型:

带通滤波器的带宽(Hz),返回为带有的行向量numbands.元素。

数据类型:

算法

MEL滤波器组设计为在MEL规模上同样间隔的半重叠三角形。[1]

巴克滤波器组被设计成在巴克尺度上等距的半重叠三角形。[2]

ERB滤波器组设计为伽玛通滤波器[4]其中心频率在ERB尺度上是等间距的。[3]

兼容性考虑因素

全部展开

R2020B的行为更改

参考文献

[1]道格拉斯o'shaghnessy。语言交流:人与机器.读书,MA:Addison-Wesley Publishing公司,1987年。

[2]Traunmüller,Hartmut。“用于音调感觉规模的分析表达。”美国声学学会杂志.卷。88,第1,1990号,第97-100页。

Brian R. Glasberg和Brian C. J. Moore。"从缺口噪声数据推导听觉滤波器形状"听力的研究.第47卷第1-2期,1990年,第103-138页。

[4] Slaney,Malcolm。“有效地实现Patterson-Holdworth听觉滤波器银行。”Apple计算机技术报告35,1993。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2019B中介绍