Gammatone 滤波器的 Python 代码实现
来源:互联网 发布:js调用摄像头录制视频 编辑:程序博客网 时间:2024/06/16 18:33
1、Gammatone简介
Gammatone滤波器被广泛用于模拟人类听觉系统对信号的处理方式,作为语音信号的一类听觉分析滤波器(以下简称为GT滤波器)。GT滤波器只需要很少的参数就能很好地模拟听觉实验中的生理数据,能够体现基底膜尖锐的滤波特性,而且 GT滤波器具有简单的冲激响应函数,能够由此推导出GT函数的传递函数,进行各种滤波器性能分析,同时有利于听觉模型的电路实现。
GT滤波器的冲击响应函数定义如下:
这里n为滤波器阶数,b为滤波器的带宽,f为滤波器的中心频率,a是振幅。其等于
a=B**n 这里 B=b1ERB(f)
ERB(f)为GT滤波器的等价矩形带宽(等价矩形带宽:对于同样的白噪声输入,和指定的滤波器通过一样能量的矩形滤波器的宽度,简称ERB),它同GT滤波器中心频率f,的关系是
ERB(f)=24.7+0.108f
b1=1.019是为了让GT函数更好地与生理数据相符而引入的参数。
GT滤波器的幅频特性如下图所示
2、python代码
以下的python代码分别实现了频域Gammtone滤波和时域Gammtone滤波器,频域滤波时参数USEFFT=1。
其中MakeERBFilters函数产生了GT滤波器系数。输入为:采样频率、滤波器通道数、最小频率。输出为:n通道GT滤波器系数。代码如下
代码中其中ERBSpace获得了中心频率f。输入为:最小频率、最大频率、滤波器通道数。输出为滤波器族的各个中心频率。代码如下:
ERBFilterBank 函数输入分别为:原始数据和GT滤波器系数。输出为滤波后的数据。该函数实现对原始数据的时域GT滤波。代码如下:
fft2gammatonemx为获得了GT滤波器的频率域系数。输入为:滤波器长度、采样频率、滤波器通道数、滤波器带宽、最小频率、最大频率、最大长度。输出为GT滤波器的频率域系数。代码如下:
- Gammatone 滤波器的 Python 代码实现
- Gammatone滤波器
- gabor滤波器python代码实现
- Gabor滤波器的代码实现
- 高通滤波器 python实现
- BoxFilter包滤波器的Matlab代码实现分析(基础)
- 实现SNN(对称近邻平滑滤波器)的代码
- FIR滤波器的实现
- 均值滤波器与中值滤波器的实现
- 卡尔曼滤波器及代码实现
- 实现自己的线性滤波器
- 实现自己的线性滤波器
- FIR滤波器的DSP实现
- FIR滤波器的FPGA实现
- IIR滤波器的C实现
- FPGA的中值滤波器实现
- FIR滤波器的Matlab实现
- 逆向iir滤波器的实现
- WTL的下载和安装
- [bzoj][BeiJing2006]狼抓兔子
- Spring + ExtJs4.x 国际化 (附:中文代码过滤Demo)
- Windows程序设计--宽字节和多字节
- Buff系统
- Gammatone 滤波器的 Python 代码实现
- Step By Step(Lua系统库)
- linux c typeof创建结构体元素类型用法
- OpenCV编程入门:视频序列操作
- xcode里archive无效的解决办法
- 用Arduino实现车库门开关自动化
- 各种对象的生命周期(博客转载)
- Latex常用数学符号集
- js table 单元格合并