![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音频信号处理
文章平均质量分 78
myuzhao
专注于音频信号处理,欢迎一起讨论学习。
展开
-
音频(语音)信号处理书籍
声学信号处理阵列信号处理自适应滤波语音信号处理原创 2022-04-01 21:38:45 · 1330 阅读 · 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}XkZk=AXk−1+Buk−1+wk−1=HXk+vk(1)式(1)中AAA,BBB和HHH分别是状态矩阵、控制矩阵和原创 2022-02-26 10:57:30 · 359 阅读 · 0 评论 -
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 · 8615 阅读 · 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 · 1821 阅读 · 4 评论 -
重采样(一)
Resample重采样算法降采样抽取(decimation)先滤波后抽取升采样插值(interpolation)先插零后滤波重采样算法在音频领域,存在着多种采样频率。例如CD产品用的抽样率是 44.1kHz,而数字音频广播用的是 32kHz,通话(通信)方面也存在着从8k到16k的转变。当两个不同采样频率的信号需要进行混合处理时,需要将两者的采样频率进行统一,统一过程中需要用到的算法就是重采样算法。降采样抽取(decimation)降采样主要通过信号的抽取(decimation)来实现,如果要将原创 2021-12-26 22:06:39 · 3759 阅读 · 0 评论 -
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 · 3074 阅读 · 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 · 736 阅读 · 0 评论 -
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 · 825 阅读 · 0 评论 -
噪声估计方法总结(一)
噪声估计在语音降噪中具有重要的作用,噪声估计的准确性决定了降噪效果的好坏,噪声估计算法主要根据语音的特性进行估计,语音具有以下三种特性,现象一在闭塞音闭合段和清摩擦音的低频段时候,频谱能量趋近于噪声水平,并且噪声对语音频谱具有不均匀现象,不同频谱的分量可能具有不同的实际信噪比。在某一频带的信噪比很低的时候,可以按照频带来对噪声进行估计和更新。这个现象对应的算法就是递归平均算法。现象二即使在语音在活动区间,带噪语音信号的单个频带的功率通常会衰减到噪声的功率水平,可以利用追踪短时窗(0.4~1s)内每个原创 2021-10-18 21:51:51 · 2499 阅读 · 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 · 842 阅读 · 0 评论 -
OMLSA算法思路
概要总结OM-LSA(Optimally-modified log-spectral amplitude)是比较经典的单通道降噪算法,之前面试时没有说的很简洁,导致回答的不是很好,这里自己总结一下,水平有限,也欢迎大家指正。omlsa算法是在假设干净语音和噪声的傅里叶变换系数满足复高斯分布,不相干的基础上,以最小化贝叶斯对数幅度谱做为估计器求解最优增益,其中利用了贝叶斯定理将条件语音存在概率转化为先验信噪比、后验信噪比和先验语音存在概率相关的函数,先后验信噪比的估计又利用MCRA算法估计出的噪声进行计算原创 2021-10-10 16:28:28 · 1291 阅读 · 0 评论 -
语音降噪常用的估计器
语音降噪常用的估计器最大似然估计最大似然估计是根据观测到的数据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 · 303 阅读 · 0 评论 -
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∑Na(l)y(n−l)=k=0∑Mb(k)x(n−k)令a(0)=1a(0) = 1a(0)=1,a(l),l=1,2,..原创 2021-10-05 10:14:31 · 7191 阅读 · 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 · 3480 阅读 · 0 评论 -
FIR滤波器
FIR滤波器原创 2021-10-01 21:27:59 · 8215 阅读 · 2 评论 -
语音降噪-谱减算法(改进)
语音降噪-谱减算法(改进)过减和最小值保护最优过减因子过减和最小值保护谱减法的半波整流(小于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 · 1363 阅读 · 0 评论 -
语音降噪-谱减算法
语音降噪-谱减算法假设基本原理幅度谱减法功率谱减法谱减法通用形式假设假设噪声和语音是加性的,噪声是平稳的(缓慢变换的),利用语音幅度进去估计出来的噪声幅度得到降噪后的语音幅度,相位使用带噪语音的相位。基本原理假定带噪语音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 · 1738 阅读 · 0 评论 -
自适应滤波学习感悟
12号写完原创 2019-11-10 21:19:16 · 2141 阅读 · 1 评论 -
圆周卷积和线卷积
前言在信号处理基础那篇博客中证明了时域的线卷积和频域DTFT相乘等价,但实际应用中用到的更多是DFT(FFT)变换和线卷积,因此也就没法应用此特性进行快速计算。幸运的是,频域的DFT相乘和时域的圆周卷积等价,因此只要在某种条件下,圆周卷积和线卷积等价,就可以利用FFT变换快速计算时域的线卷积。圆周卷积和线卷积有限长序列时移有限长序列x(n),0≤n≤N−1x(n),0\leq n\leq...原创 2019-11-10 20:07:14 · 6691 阅读 · 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 · 3719 阅读 · 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 · 7735 阅读 · 0 评论 -
音频文件(.wav)解析读取
wav是一种无损的音频文件格式,所有的WAV都有一个文件头,包含了音频流的编码参数,即支持非压缩的PCM编码方式,也支持常见的压缩编码格式。当WAV文件采用PCM编码方式时,PCM文件和WAV文件的区别只在于是否有文件头,下面介绍一下wav文件的文件头。wav文件头 偏移 地址 字节数 数据 类型 字段名称 字段说明 ...原创 2019-05-26 19:42:28 · 5978 阅读 · 0 评论