Gammatone滤波器组

一、实验目的

实现一个Gammatone滤波器组,要求用FIR和IIR两种方式。利用ERB或者Bark尺度,自行确定滤波器组的中心频率和频带个数。不允许使用Matlab或者Python库中提供的现成Gammatone函数。报告中除了思路分析,还要给出滤波器组的频响图。

二、实验原理

1、临界频带—滤波器解释

基底膜的作用相当于很多频率响应交叠的带通滤波器或一个带通滤波器组。临界频带可看成是滤波器组中的一个带通滤波器的带宽。

2、听觉滤波器建模-Gammatone滤波器

Gammatone滤波器描述猫的听觉神经冲激响应特性,冲激响应表达如下

 

冲激响应是由一个Gamma函数和纯音信号合成,因而得名GammaTone。因为其表达式是冲激响应函数,所以直接FFT就得到频响曲线。下图分别是其冲激响应和幅频曲线。公式中,a=1,b=1.019*ERB(f),ERB在此处是GT滤波器的等效带宽,n为滤波器的阶数。

三、实验步骤

Fir型Gammatone滤波器

计算ERB尺度下的所有中心频率点,每个频率点处的滤波器的冲激响应是g,再用fir2拟合,循环得到多个滤波器

%Gammatone滤波器?
clear;
clc;
clf;
a=1;
n=4;%阶数
t=[0:0.0005:100];
for i=1:10
F=((10.^(i./21.366))-1)./0.004368;%ERB尺度和线性频率之间的转换
b=1.019*(6.23*(F.^2/((1000)^2))+93.39*F/1000+28.52);%b=1.019*ERB(f)
g=(a.*t.^(n-1)).*exp(-2*pi*b.*t).*cos(2*pi*F.*t);%Gammatone滤波器冲激响应
G(i,:)=g;
[h,w] = freqz(g,1,1024);%求解滤波器冲激响应
n1=100;%fir2滤波器阶数
[f,~]=mapminmax(w',0,1);%归一化
d=fir2(n1,f,abs(h'));%已知频响的fir2滤波器
D(i,:)=d;
[h1,w1]=freqz(d,1,1024);%求解滤波器频率响应
figure(1);
hold on;
plot(w/pi,20*log10(abs(h)));
title('Gammatone滤波器频率响应');
figure(2);
hold on;
plot(w1/pi,20*log10(abs(h1)));
title('FIR型Gammatone滤波器频率响应');
end

四、实验结果

 

五、结果分析

振动包络为被余弦函数调制的Gamma函数曲线;频率越高,达到最大振幅的时间也越短;不同频率不同带宽;两侧较陡

优点:参数少,3个;阶数小,4阶足以描述听觉滤波器;有冲激响应函数

缺点:对称;没有强度参数,频响和强度无关

评述:在此基础上,只用头10个ERB尺度,规避了ERB尺度上限超出奈奎斯特频率的错误;没有基于yulewalk的IIR实现。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cucjing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值