自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

myuzhao的博客

打怪升级中...

  • 博客(30)
  • 收藏
  • 关注

原创 音频(语音)信号处理书籍

声学信号处理阵列信号处理自适应滤波语音信号处理

2022-04-01 21:38:45 1352 1

原创 卡尔曼滤波器

卡尔曼滤波器在B站看了一个卡尔曼滤波器的推导视频,感觉很详细,做一个笔记。状态和测量方程Xk=AXk−1+Buk−1+wk−1Zk=HXk+vk(1)\begin{aligned} X_k &= AX_{k-1} + Bu_{k-1} + w_{k-1} \\ Z_k &= HX_{k} + v_{k} \end{aligned}\tag{1}Xk​Zk​​=AXk−1​+Buk−1​+wk−1​=HXk​+vk​​(1)式(1)中AAA,BBB和HHH分别是状态矩阵、控制矩阵和

2022-02-26 10:57:30 369

原创 音频工程常用库总结

音频测试时经常使用一些开源的库函数,这里总结一些常用的库函数,并配上测试工程AudioEngine命令行解析linux 平台包含unistd.h这个头文件windows平台可以参考这个仓库wingetopt配置文件配置文件仓库inihJSONJSON文件仓库json日志日志仓库logger读取音频读取音频仓库dr_wav傅里叶变换Ne10仓库Ne10...

2022-02-07 22:02:14 353

原创 CIC滤波器

CIC滤波器CIC滤波器是级联积分梳状(Cascaded Integrator-Comb)滤波器的缩写,具有滤波器系数都是1,不需要乘法和线性相位的优点,因此在多速率系统中比较常用,之前研究PDM接口的MEMS麦克风时,将PDM信号转换为PCM时使用过,做个总结。滑动平均滤波器CIC滤波器是受到滑动平均启发来的,定义D点的移动平均为:y(n)=1D[x(n)+x(n−1)+...+x(n−D+1)]y(n)=\frac{1}{D}[x(n) + x(n-1) + ... + x(n-D+1)]y(n

2022-02-07 21:46:42 8670 1

原创 AEC延时估计

AEC(回声消除)延迟估计aec3 中采样了时域nlms算法对延迟进行估计,滤波器能量最大的点对应着延迟值。aec3的延迟估计为了降低计算量,降采样到4k进行处理,使用了5个滤波器,每个滤波器长度512点,相邻滤波器中间有128点交叠,最大可估计的延时为delay_s=(512∗5−128∗4)/4000=0.512sdelay\_s=(512*5-128*4)/ 4000 = 0.512sdelay_s=(512∗5−128∗4)/4000=0.512s开始看的时候感觉分块比较麻烦,还有重叠增加计算

2022-01-25 20:50:52 1870 4

原创 重采样(一)

Resample重采样算法降采样抽取(decimation)先滤波后抽取升采样插值(interpolation)先插零后滤波重采样算法在音频领域,存在着多种采样频率。例如CD产品用的抽样率是 44.1kHz,而数字音频广播用的是 32kHz,通话(通信)方面也存在着从8k到16k的转变。当两个不同采样频率的信号需要进行混合处理时,需要将两者的采样频率进行统一,统一过程中需要用到的算法就是重采样算法。降采样抽取(decimation)降采样主要通过信号的抽取(decimation)来实现,如果要将

2021-12-26 22:06:39 3808

原创 webrtc 降噪算法总结

维纳增益webrtc ns采用的是维纳增益,参考之前写的维纳滤波原理,可得增益函数为,G(k,l)=∣X(k,l)∣2∣Y(k,l)∣2=1−∣N(k,l)∣2∣Y(k,l)∣2(1)G(k,l)=\frac{|X(k,l)|^2}{|Y(k,l)|^2}=1-\frac{|N(k,l)|^2}{|Y(k,l)|^2} \tag{1}G(k,l)=∣Y(k,l)∣2∣X(k,l)∣2​=1−∣Y(k,l)∣2∣N(k,l)∣2​(1)其中∣Y(k,l)|Y(k,l)∣Y(k,l)代表带噪语音的频谱,∣

2021-11-04 08:41:55 3128 1

原创 噪声估计方法总结(二)

MCRAMCRA(Minima controlled recursive averaging)算法使用了递归平均和最小值跟踪相结合的方法,这里的最小值跟踪体现在语音存在概率是由最小值跟踪确定的。递归平滑在噪声段进行语音平滑处理,在语音段不更新噪声,则,H0′(k,l):λd^(k,l+1)=αdλd^(k,l)+(1−αd)∣Y(k,l)∣2H1′(k,l):λd^(k,l+1)=λd^(k,l)(1)\begin{aligned} H_0^{'}(k,l):\hat{\lambda_d}(k,l+

2021-11-01 21:35:29 752

原创 webrtc分位数噪声估计

分位数噪声估计将最近LLL帧的语音能量进行排序,Y(k,t0)≤Y(k,t1)≤...≤Y(k,tL−1)Y(k,t_0) \leq Y(k,t_1) \leq ... \leq Y(k,t_{L-1})Y(k,t0​)≤Y(k,t1​)≤...≤Y(k,tL−1​),q-分位的噪声估计为N(w,l)=Y(w,t⌊qL⌋)N(w,l) = Y(w,t_{\left \lfloor qL \right \rfloor})N(w,l)=Y(w,t⌊qL⌋​)分位数噪声估计鲁棒性比较好,但需要对LLL帧的

2021-10-21 22:16:40 843

原创 噪声估计方法总结(一)

噪声估计在语音降噪中具有重要的作用,噪声估计的准确性决定了降噪效果的好坏,噪声估计算法主要根据语音的特性进行估计,语音具有以下三种特性,现象一在闭塞音闭合段和清摩擦音的低频段时候,频谱能量趋近于噪声水平,并且噪声对语音频谱具有不均匀现象,不同频谱的分量可能具有不同的实际信噪比。在某一频带的信噪比很低的时候,可以按照频带来对噪声进行估计和更新。这个现象对应的算法就是递归平均算法。现象二即使在语音在活动区间,带噪语音信号的单个频带的功率通常会衰减到噪声的功率水平,可以利用追踪短时窗(0.4~1s)内每个

2021-10-18 21:51:51 2563 1

原创 OMLSA算法推导

OMLSA算法推导LSA估计增益贝叶斯定理估计条件语音存在概率DD准则估计先验信噪比通过先验信噪比的软决策估计先验语音缺失概率MCRA方法估计底噪递归平滑最小值控制语音存在概率OM-LSA(Optimally-modified log-spectral amplitude)是经典的降噪算法,这里做一个学习总结,把中间的一些公式推导一下,写一些自己的想法,水平有限,欢迎指正。LSA估计增益OM-LSA(Optimally-modified log-spectral amplitude)从名字上就可以看出

2021-10-10 17:55:20 873

原创 OMLSA算法思路

概要总结OM-LSA(Optimally-modified log-spectral amplitude)是比较经典的单通道降噪算法,之前面试时没有说的很简洁,导致回答的不是很好,这里自己总结一下,水平有限,也欢迎大家指正。omlsa算法是在假设干净语音和噪声的傅里叶变换系数满足复高斯分布,不相干的基础上,以最小化贝叶斯对数幅度谱做为估计器求解最优增益,其中利用了贝叶斯定理将条件语音存在概率转化为先验信噪比、后验信噪比和先验语音存在概率相关的函数,先后验信噪比的估计又利用MCRA算法估计出的噪声进行计算

2021-10-10 16:28:28 1310

原创 语音降噪常用的估计器

语音降噪常用的估计器最大似然估计最大似然估计是根据观测到的数据yyy估计数据概率密度函数中p(y;θ)p(y;\theta)p(y;θ)的参数θ\thetaθ,最大似然估计假设参数是未知、确定的。θML=arg maxθ p(y;θ)(1)\theta_{ML}=arg\ \underset{\theta}{max}\ p(y;\theta) \tag{1}θML​=arg θmax​ p(y;θ)(1)不同的概率分布假设会有不同的效果。假设一假设二如果

2021-10-06 10:09:37 315

原创 IIR滤波器

IIR滤波器IIR滤波器定义滤波器结构图直接I型滤波器直接II型滤波器程序仿真参考IIR滤波器定义IIR(infinite impulse response)滤波器,无限冲击响应滤波器,IIR滤波器定义如下,∑l=0Na(l)y(n−l)=∑k=0Mb(k)x(n−k)\sum_{l=0}^{N}a(l)y(n-l)=\sum_{k=0}^{M}b(k)x(n-k)l=0∑N​a(l)y(n−l)=k=0∑M​b(k)x(n−k)令a(0)=1a(0) = 1a(0)=1,a(l),l=1,2,..

2021-10-05 10:14:31 7229 2

原创 FIR滤波器

FIR滤波器

2021-10-01 21:27:59 8252 2

原创 语音降噪-维纳滤波

语音降噪-维纳滤波维纳滤波原理时频域维纳滤波器频域维纳滤波器迭代维纳滤波器维纳滤波原理输入信号通过一个线性时不变系统之后产生一个输出信号,使得输出信号尽量逼近期望信号,使其估计误差最小化,能够最小化这个估计误差的最优滤波器称为维纳滤波器。时频域维纳滤波器假定输入信号y(n)y(n)y(n)和期望信号d(n)d(n)d(n),定义估计的误差信号为e(n)e(n)e(n)e(n)=d(n)−d^(n)=d(n)−hTye(n) = d(n) - \widehat{d}(n) \

2021-09-28 10:23:22 3508

原创 语音降噪-谱减算法(改进)

语音降噪-谱减算法(改进)过减和最小值保护最优过减因子过减和最小值保护谱减法的半波整流(小于0,置0)方法,会引入噪声,为了减少音乐噪声,将满足条件的频点不设置为0,而是设置为相邻几帧的最小值。∣Xi^(w)∣={∣Yi(w)∣−∣Di^(w)∣,如果∣Yi(w)∣−∣Di^(w)∣>∣Di^(w)∣minj=i−1:i+1∣Xj^(w)∣,其它|\widehat{X_{i}}(w)| =\begin{cases} & |Y_{i}(w)| - \widehat{|D_{i}}(w)

2021-04-10 14:46:32 1397

原创 语音降噪-谱减算法

语音降噪-谱减算法假设基本原理幅度谱减法功率谱减法谱减法通用形式假设假设噪声和语音是加性的,噪声是平稳的(缓慢变换的),利用语音幅度进去估计出来的噪声幅度得到降噪后的语音幅度,相位使用带噪语音的相位。基本原理假定带噪语音y(n)y(n)y(n),纯净语音x(n)x(n)x(n),加性噪声d(n)d(n)d(n),即:y(n)=x(n)+d(n)y(n)=x(n) + d(n)y(n)=x(n)+d(n)做傅里叶变换后:Y(w)=X(w)+D(w)Y(w)=X(w) + D(w)Y(w)=X(w

2021-03-29 21:43:50 1769

原创 重叠保留和重叠相加

利用FFT快速计算卷积操作时涉及到数据的综合问题,常见的方法有两种,重叠保留和重叠相加。重叠相加:特点:当前帧数据和前面的数据拼接,重叠部分相加。重叠保留:特点:当前帧数据补0,重叠保留。...

2020-03-08 17:04:00 1527

原创 自适应滤波学习感悟

12号写完

2019-11-10 21:19:16 2151 1

原创 圆周卷积和线卷积

前言在信号处理基础那篇博客中证明了时域的线卷积和频域DTFT相乘等价,但实际应用中用到的更多是DFT(FFT)变换和线卷积,因此也就没法应用此特性进行快速计算。幸运的是,频域的DFT相乘和时域的圆周卷积等价,因此只要在某种条件下,圆周卷积和线卷积等价,就可以利用FFT变换快速计算时域的线卷积。圆周卷积和线卷积有限长序列时移有限长序列x(n),0≤n≤N−1x(n),0\leq n\leq...

2019-11-10 20:07:14 6709 2

原创 STFT的综合分析--滤波器组求和(FBS)和叠相相加(OLA)

STFT的公式可以表示为:X(n,w)=∑n=−∞n=∞x(m)w(n−m)e−jwmX(n,w)=\sum_{n=-\infty}^{n=\infty}x(m)w(n-m)e^{-jwm}X(n,w)=n=−∞∑n=∞​x(m)w(n−m)e−jwm上一篇博客介绍了STFT的可以解释为滤波操作,将www 固定于某个值,X(n,wk)=∑m=−∞m=∞[x(m)e−jwkm]w(n−m)=[...

2019-10-25 23:42:54 3754 3

原创 信号处理基础-- DTFT、DFT和STFT基本概念

信号处理基础离散信号x(n)x(n)x(n) 可以表示为连续模拟信号的采样,即KaTeX parse error: \tag works only in display equations其中 xa(t)x_a(t)xa​(t) 是模拟信号, ttt 代表时间,TsT_sTs​ 代表采样周期。DISCRETE-TIME FOURIER TRANSFORM序列 x(n)x(n)x(n) 的...

2019-10-18 20:36:04 7816

原创 音频文件(.wav)解析读取

wav是一种无损的音频文件格式,所有的WAV都有一个文件头,包含了音频流的编码参数,即支持非压缩的PCM编码方式,也支持常见的压缩编码格式。当WAV文件采用PCM编码方式时,PCM文件和WAV文件的区别只在于是否有文件头,下面介绍一下wav文件的文件头。wav文件头 偏移 地址 字节数 数据 类型 字段名称 字段说明 ...

2019-05-26 19:42:28 6014

原创 传感器阵列波束优化设计与应用

《传感器阵列波束优化设计与应用》这本书很好,但没有例程,学习起来比较费劲,和同学写了这本书(第2章~第8章)的部分程序。PUDN上面,连接如下:http://www.pudn.com/User/profile/id/5634467.html...

2019-02-24 09:30:03 2153 11

原创 ubantu+kaldi安装填坑记录

目的:为了学习kaldi,安装kaldi运行的必要环境,下面先把我踩过的主要坑列举出来,然后在按照我的安装顺序写采坑记录电脑环境:win10系统,显卡GT730M1)坑1 :试图在虚拟机内安装kaldi因为win10系统内有很多软件,资料,所以我就想着把win10保留下来,如果想在保留win10的基础上实现linux环境,有两种方法,一种是采用虚拟机,一种是采用双系统,为了方便,我就采...

2018-07-20 08:49:01 1880

原创 线性判别分析LDA

LDA线性判别分析:线性判别的基本思想是将数据投影到一条直线上,在直线上使得同类样本尽可能靠近,使的异类样本尽可能远离。下面以二分类问题为例子进行推导,并将其推到多维分类问题。1.LDA推导  推广到多类别线性判别分析:2.二分类别和多类别的区别  主要是类间距离的计算不同,二分类的类间间距是两个类之间的中心距离的函数,而多类别的类间间距是求解每一类的中心距离到总体...

2018-06-13 20:20:51 342

原创 机器学习入门基础知识(模型选择与评估的基本概念)

1.No Free Lunch Theorem(NFL定理)一个算法a在某些性能方面比算法b好,则比然存在着某一方面性能比b差,在假设所有“问题”出现概率相等、同等重要的情况下,任意两个算法之间的期望性能是相等的。好在实际情况下假设并不成立,但NFL定理告诉了我们一个重要的寓意就是:脱离具体的问题,空谈那种算法更优是没有意义的,必须具体问题具体分析。2.模型的评估与选择...

2018-05-16 20:20:30 1071

原创 anaconda安装遇到的问题

由于之前电脑安装过python2.7和python3.6,导致环境变量比较乱,在安装anaconda之前将python的环境变量清空安装之后遇到的第一个问题:failed to create anacoda menu1.根据 https://blog.csdn.net/lixiangyong123/article/details/55816168的提示,选择忽视它,安装成功。然后WIN+R 进入c...

2018-05-11 11:27:21 9068 2

原创 排序算法学习总结

1.排序算法的稳定性:如果序列中两个元素相等,排序后两个元素的相对顺序不变,则称所用的排序方法是稳定的,反之,是非稳定的。(有人会说,两个元素相等为什么还考虑相对顺序? 在单一属性元素的排序中确实不重要,但在结构体数据的排序中,算法的稳定性很重要),一般来说,若存在不相邻元素间交换,则很可能是不稳定的排序。2.算法的复杂度:一个算法的质量优劣将影响到算法乃至程序的效率,主要从时间复杂度和空间复杂度...

2018-05-05 14:07:01 2066 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除