子带分解。

例如语音信号是宽带信号,根据奈奎斯特采样定理,采样率为16kHz的语音信号的有效带宽是8KHz,不论是对于降噪,aec,vad,波束形成亦或是logfbank特征提取,我们都期望更精细的处理以提高准确性,因为有时噪声就是带限信号,而回声消除要能处理的时间比较长,就需要滤波器抽头数比较多,这样积累的数据长度和计算量就比较大,同理波束形成技术也是空时域滤波技术,也可以划分成子带进行更为精细的处理。
首先划分成多个子带,用到的必然是傅里叶变换,这里通常被称为STFT,也就是截取一段时长然后滑窗做FFT变换,由于语音在10ms~30ms内可以看成是稳态的,所以通常就是这段时长内做FFT,需要提醒的是不同算法在选择语音时长做STFT时并不一定一样,如果在做降噪时选择10ms,而在aec选择了4ms亦或是logfbank选择了25ms,当然上述的时间根据不同的实现也会有所区别。

【子带编码】子带编码技术,是将原始信号由时间域转变为频率域,然后将其分割为若干个子频带,并对其分别进行数字编码的技术。它是利用带通滤波器(BPF)组把原始信号分割为若干(例如m个)子频带(简称子带)。

【子带编码特点】子带编码技术具有突出的优点。首先,声音频谱各频率分量的幅度值各不相同,若对不同子带分配以合适的比例系数,可以更合理地分别控制各子带的量化电平数目和相应的重建误差,使码率更精确地与各子带的信号源特性相匹配。通常,在低频基音附近,采用较大的比特数目来表示取样值,而在高频段则可分配以较小的编码比特。其次,通过合理分配不同子带的比特数,可控制总的重建误差频谱形状,通过与声学心理模型相结合,可将噪声频谱按人耳主观噪声感知特性来形成。于是,利用人耳听觉掩蔽效应可节省大量比特数。 在采用子带编码时,利用了听觉的掩蔽效应进行处理。它对一些子带信号予以删除或大量减少比特数目,可明显压缩传输数据总量。比如,不存在信号频率分量的子带,被噪声掩蔽的信号频率的子带,被邻近强信号掩蔽的信号频率分量子带等,都可进行删除处理。另外,全系统的传输信息量与信号的频带范围、动态范围等均有关系,而动态范围则决定于量化比特数,若对信号引入合理的比特数,可使不同子带内按需要给以不同的比特数,也可压缩其信息量。

【存在问题】滤波器的具体实现不可能是理想的带通,其幅度影响不可避免地带有有限的滚降。因此在划分子带时,只能使子带间有交叠或者使子带间有一定的间隙。前者若按奈氏频率取样将会产生混叠失真,而后者使原有的部分频带经滤波而损失掉,重建的信号会有失真。针对这个问题的解决方法有正交镜像滤波法和时域混叠消除法。

【关键概念】比如对麦克风阵列信号的采样频率是Fs=64000,傅立叶变换点数是1024,那么对每个子间隔进行J点的离散傅立叶变换,就得到了宽带内J个不相重叠的子带。所以我们得到了宽带内1024个不重叠的子带。每个窄带的频带宽度是64000/1024=62.5Hz;因为语音信号频率主要集中在300~3000Hz之间,而且某点n所表示的频率为:Fn=(n-1)*Fs/N,所以我们选取的测试数据主要集中在5~49个频点之间,超过或者小于这个范围测试的话一般会出现测试偏差,或者出现旁瓣,影响主瓣峰值位置的判断。

参考

https://blog.csdn.net/shichaog/article/details/77379998

https://blog.csdn.net/liusandian/article/details/51966740

Subband Decomposition的更多相关文章

  1. Matrix QR Decomposition using OpenCV

    Matrix QR decomposition is very useful in least square fitting model. But there is no function avail ...

  2. A.Kaw矩阵代数初步学习笔记 7. LU Decomposition

    “矩阵代数初步”(Introduction to MATRIX ALGEBRA)课程由Prof. A.K.Kaw(University of South Florida)设计并讲授. PDF格式学习笔 ...

  3. URAL 1320 Graph Decomposition(并查集)

    1320. Graph Decomposition Time limit: 0.5 secondMemory limit: 64 MB There is a simple graph with an ...

  4. 奇异值分解(We Recommend a Singular Value Decomposition)

    奇异值分解(We Recommend a Singular Value Decomposition) 原文作者:David Austin原文链接: http://www.ams.org/samplin ...

  5. We Recommend a Singular Value Decomposition

    We Recommend a Singular Value Decomposition Introduction The topic of this article, the singular val ...

  6. 【转】奇异值分解(We Recommend a Singular Value Decomposition)

    文章转自:奇异值分解(We Recommend a Singular Value Decomposition) 文章写的浅显易懂,很有意思.但是没找到转载方式,所以复制了过来.一个是备忘,一个是分享给 ...

  7. 矩阵分解(rank decomposition)文章代码汇总

    矩阵分解(rank decomposition)文章代码汇总 矩阵分解(rank decomposition) 本文收集了现有矩阵分解的几乎所有算法和应用,原文链接:https://sites.goo ...

  8. 关于SVD(Singular Value Decomposition)的那些事儿

    SVD简介 SVD不仅是一个数学问题,在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层 ...

  9. [转]奇异值分解(We Recommend a Singular Value Decomposition)

    原文作者:David Austin原文链接: http://www.ams.org/samplings/feature-column/fcarc-svd译者:richardsun(孙振龙) 在这篇文章 ...

随机推荐

  1. 关于C语言指针的讨论

    C语言指针的讨论 1.指整的概念辨析 2.指针与一维数组 3.指针与二维数组 4.指针与动态数组 5.指针数组 6. 指整与函数,形参,返回值 先熟悉一下概念,使劲把他们记下了 变量定义 类型表示 含 ...

  2. 微软官方关于 Windows To Go 的常见问题

    Windows To Go:常见问题 2016/04/01 本文内容 什么是 Windows To Go? Windows To Go 是否依赖虚拟化? 哪些人员应该使用 Windows To Go? ...

  3. java中static和final修饰符

    static和final修饰符 一.static修饰符 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. ...

  4. Python3 解决windows里PIP下载安装速度慢

    直接保存为xxx.py运行即可 自动在用户文件夹创建pip文件夹,并创建配置文件:pip.ini 从此告别pip install XXXX 下载模块速度超级慢的问题! # -*- coding: ut ...

  5. Java DbUtils 操作数据库

    示例 1.新建项目,把数据库驱动.DbUtils的jar包添加到项目中 2.新建文件夹resource,标识为资源根目录,下面新建数据库连接的配置文件mysql.properties driver=c ...

  6. OCR4:Tesseract 4

    Tesseract OCR 该软件包包含一个OCR引擎 -  libtesseract和一个命令行程序 -  tesseract. Tesseract 4增加了一个基于OCR引擎的新神经网络(LSTM ...

  7. 在页面获取本地电脑IP

    <%@ page language="java" import="java.util.*" contentType="text/html; ch ...

  8. es聚合后排序

    注意: es版本至少6.1以上 语句: GET 76/sessions/_search { "size": 0, "query": { "bool&q ...

  9. 【爬虫】使用selenium设置cookie

    https://segmentfault.com/a/1190000015826749

  10. 【Git】.DS_Store 是什么文件

    一.为啥会注意到该文件 合并代码的时候,.DS_Store文件发生了冲突,然后进入到项目目录去看,果然存在该文件,就比较好奇该文件是干什么的. 二..DS_Store 是什么文件 .DS_Store( ...