数字信号处理
文章平均质量分 77
373955482
If we can analysis it,we can optimize it
展开
-
子带分解
子带分解与合成文章目录子带分解与合成1. 卷积和DFT2. DFT filter bank3.子带分解3.1 子带分解示例3.2 高效计算3.3 混叠code在语音信号处理中,通常使用STFT对信号进行分频带处理,,STFT公式表示如下Y(m,w)=∑n=−∞+∞x(t)w(t−mD)e−jwtY(m,w)=\sum_{n=-\infty }^{+\infty }x(t)w(t-mD)e^{-jwt}Y(m,w)=n=−∞∑+∞x(t)w(t−mD)e−jwtSTFT过程可以表示为使用一个滑动原创 2020-12-30 23:20:49 · 5637 阅读 · 3 评论 -
LMS自适应滤波器
最小均方误差自适应滤波器文章目录最小均方误差自适应滤波器1. wiener filter2. 最陡下降法(Steepest Descent Method)3. LMS 滤波器1. wiener filter 上一篇中介绍了维纳滤波器在时域的闭式解,分别得到最重要的两个公式如下最优权值:hopt=R−1∗rdx(1)\mathbf{h_{opt}}=\mathbf{R}^{-1}*\...原创 2020-02-23 16:27:00 · 1453 阅读 · 2 评论 -
维纳滤波器
维纳滤波器1.wiener filter维纳滤波器是一个均方误差最小准则下的最优滤波器,定义一个离散线性时不变系统,输入x(n)x(n)x(n)、输出y^(n)\hat y(n)y^(n),参考信号d(n)d(n)d(n)误差信号e(n)=y^(n)−d(n)(1)e(n)=\hat y(n)-d(n)\tag1e(n)=y^(n)−d(n)(1)定义长度MMM的FIR滤波器h\...原创 2020-02-16 18:23:31 · 2259 阅读 · 1 评论 -
fixed wideband beamformer
1. fixed beamformer根据滤波器系数是否独立于输入数据(data-independent),beamformer可以分为固定和自适应两大类,这里先介绍一些固定宽带波束形成方法2. Evaluation of Beamfomers2.1 Array-Gainarray-gain反映了阵列对输入信号SNR改善程度,定义为阵列输出SNR与输入SNR(参考阵元SNR)之比 ...原创 2018-08-15 10:36:17 · 1565 阅读 · 8 评论 -
滤波器的因果稳定性
这里总结一下滤波器的因果性以及稳定性1.因果性因果系统:系统某时刻的输出只取决于该时刻和该时刻以前的输入如一个常用的滑动平均滤波器,h(n)=[0.2,0.2,0.2,0.2,0.2]h(n) = [0.2,0.2,0.2,0.2,0.2]h(n)=[0.2,0.2,0.2,0.2,0.2]z变换为∑n=0Nh(n)z−n\sum_{n=0}^{N}h(n)z^{-n}n=0∑N...原创 2019-01-05 21:37:32 · 12531 阅读 · 2 评论 -
因果稳定性举例
1 Example1.1 因果性上面讲的看起来好像就是那么回事的,那实际应用会是个什么样子的呢,这里举个简单例子说明一下 ATF(acoustic transfer function)常用来描述声音从声源到麦克风间的传输情况,用RIR-Generator的方法可以很方便产生ATFexample_3[s,fs] = audioread('an103-mtms-senn4.wav');s...原创 2019-01-21 23:24:17 · 3479 阅读 · 0 评论 -
线性时不变(LTI)离散时间系统
一个线性时不变(LTI)离散时间系统有以下四种描述方式单位脉冲响应:系统在输入为单位脉冲信号时的输出响应如一个滑动平均滤波器h(n)=[0.2,0.2,0.2]h(n) = [0.2,0.2, 0.2]h(n)=[0.2,0.2,0.2]差分方程:系统在任意输入时的输出响应如y(n)=0.2∗x(n)+0.2∗x(n−1)0.2∗x(n−2)y(n)=0.2*x(n)+0.2*x(...原创 2019-01-28 11:21:40 · 6846 阅读 · 0 评论 -
窗函数法FIR滤波器设计
FIR滤波器设计通常可以分为窗函数法和频率采样法两类,这里先介绍窗函数法原创 2019-01-28 23:32:29 · 29074 阅读 · 5 评论 -
一些FFT库的使用
#include "kiss_fftr.h"#include "kiss_fft.h"#include "kiss_fftr.h"#include<stdint.h&原创 2018-10-24 16:50:22 · 6395 阅读 · 7 评论 -
频率采样法FIR滤波器设计
频率采样法设计FIR滤波器频率采样法功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入上一篇中,简单介绍了FIR滤波器的...原创 2019-04-14 12:14:57 · 17839 阅读 · 5 评论 -
A Dual-Microphone Speech Enhancement Algorithm Based on the Coherence Function
A Dual-Microphone Speech Enhancement Algorithm Based on the Coherence FunctionA. Definition of Coherence FunctionB. Proposed Method Based on Coherence FunctionA. Definition of Coherence Function输入带噪...原创 2019-08-04 12:05:46 · 1162 阅读 · 2 评论 -
A Dual-Microphone Algorithm That Can Cope With Competing-Talkers Scenarios
@[TOC](A Dual-Microphone Algorithm That Can Cope With Competing-Talkers Scenarios) 11.Abstract这里介绍一种基于相干函数的双麦降噪算法,上一篇2中的方法从本质上讲应该是这篇论文里的一个特例,或者说是一种简化处理,这里咱们就来看看完整的框架 先上系统框图: 基本与上一篇里面的相同,这里就多了...原创 2019-08-11 13:57:43 · 747 阅读 · 2 评论 -
语音增强之OMLSA
OMLSAOM-LSA算法,全称为optimally-modified log-spectral amplitude,中文有翻译为“最优改进对数谱幅度估计”,OMLSA算法相比较其它抑制算法有较少的音乐噪声残留(due to its superiorityin reducing musica noise phenomena)先看系统框图流程跟其它降噪方法什么不同,信号输入->STFT-...原创 2019-09-11 19:21:43 · 5105 阅读 · 3 评论 -
Beamforming
SRP-PHATelement_num=8; % 阵元数c=340; % 声速f = 2125; % 信号频率d = 0.08; % 阵元间距d_lamda=1/2; % 阵元间距等于...原创 2018-07-30 17:57:45 · 18216 阅读 · 34 评论 -
STFT filter bank
STFT filter bankSTFT根据公式不同的写法,可以推导出overlap-add和filter-bank两种不同的实现方式 filter bank可以用以下流程表示 输入信号x(n)x(n)x(n)被一个复指数调制,任意信号都可以分解成正弦函数的叠加,因此复指数调试过程在频域可以看做是进行频谱搬移,即所有频率的信号都往前搬移了ωkωk\omega_k,可以看出,原先x(...原创 2018-07-20 11:59:11 · 2505 阅读 · 0 评论 -
STFT使用overlap-add重建信号
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...原创 2018-07-11 15:44:12 · 11955 阅读 · 2 评论 -
C数字滤波器
复习数字信号处理,根据IIR滤波器的差分方程写了段相应的C程序,滤波器系数用matlab产生,程序如下:void IIR(const double *x,double *y){ //滤波器系数,低通,截止频率1KHz double B[3]={0,0.116,0.0715}; //分子系数,系统零点 double A[4]={1,1.6 ,-1.02 ,0.232原创 2014-12-24 21:38:57 · 1431 阅读 · 4 评论 -
重叠相加法&重叠保留法
1.问题 上一篇中介绍了利用循环卷积计算线性卷积,但是当两个卷积项长度相差很大时,短序列需要补的0非常多,这样无助于计算量的减小,并且这种方法需要等长序列全部输入完之后才开始计算,这会造成输出有很大的延时。 但是实际中这种现象很长见,比如对音频信号进行数字滤波,滤波器抽头系数点数较少,而MIC一直在录音,需要滤波的信号可以认为是无限长的,如果等录很久后才开始进行滤波,则会造成需要存储的数据量原创 2017-09-07 15:28:29 · 33957 阅读 · 9 评论 -
线性卷积与圆周卷积
1.圆周卷积(circular convolution)圆周卷积,也叫循环卷积,两个长度为N的有限场序列x(n)x(n)x(n)和h(n)h(n)h(n)的循环卷积定义为 即循环卷积相当于周期延拓后的序列x˜(n)x~(n)\widetilde{x}(n)和h˜(n)h~(n)\widetilde{h}(n)做周期卷积后再取主值区间,若x(n)和h(n)的离散傅里叶变换为X(K)X(...原创 2017-09-06 15:51:25 · 48624 阅读 · 0 评论 -
音频特征提取及差异
MFCC特征提取步骤: 预加重->STFT->mel滤波->DCT变换->倒谱提升 不同工具提取的特征会有差别,这里选用python中的librosa库分析 预加重: FIR一阶高通滤波器,提升高频分量,传递函数为 H(z)=1−a∗z−1H(z)=1−a∗z−1H(z) = 1-a*z{^-1}系数a一般取原创 2017-12-28 11:30:21 · 14921 阅读 · 7 评论 -
【论文】A Minimum Distortion Noise Reduction Algorithm With Multiple Microphones
学习麦克风阵列信号处理,记录论文实现过程 原论文地址 A Minimum Distortion Noise Reduction Algorithm With Multiple Microphones问题模型k时刻各阵元输出表示如下: 向量表示如下 各相应符号定义如下其中 : G n为通道冲击响应矩阵,大小为 L X Ls,Ls = L + Lg - 1,Lg原创 2017-07-29 17:28:29 · 2502 阅读 · 21 评论 -
【论文 Postfiler】Microphone Array Post-Filter Based on Noise Field Coherence
1.系统框图 NN路时间对齐的信号x1x_{1}、x2x_{2}…….xNx_{N}经过滤波-相加后得到一路信号,同时,利用这N路信号估计自频谱与互频谱,最后利用估计到的参数对滤波相加后的信号进行维纳滤波,得到最终的输出2.zelinksi后置滤波本文的方法是基于对zelinksi后置滤波器的扩展,因此先通过回顾zelinksi后置滤波器来说明问题模型 假设加性噪声模型,滤波原创 2017-08-09 16:00:46 · 1140 阅读 · 9 评论 -
【论文 Frost1972】An Algorithm for Linearly Constrained Adaptive Array Processing
经典的Frost beamformer,也叫线性约束最小方差(LCMV)滤波概括如上图所示,假设目标信号从线性阵列的宽边方向传入,noise以及inference从其它方向传入,取最近的J个数据,在理想远场模型下,,每个时刻各个阵元接收到的目标信号相同,噪声在每个阵元的信号不同(非宽边注视方向输入),将每个时刻的信号加权求和,得到上图中下部分的等效模型,即最终输出为一个加权求和得到的F原创 2017-08-02 10:51:01 · 2060 阅读 · 1 评论 -
内插函数恢复模拟信号
使用内插函数恢复模拟信号时域信号的离散会导致频域的周期延拓,只有满足不低于信号最高频率两倍的采样率采样,才不会导致频域周期延拓后的混叠,才有可能不失真地恢复源信号。 在频域上看,恢复信号就是用一个理想低通滤波器与时域信号的频谱相乘,以得到频域的第一个周期,而频域的理想低通滤波器,也就是频域矩形窗,经过傅里叶逆变化后在时域是无限长的内插函数,是非因果的 非因果系统:系统的当前输出只与当前或者原创 2017-06-21 20:45:07 · 14182 阅读 · 3 评论 -
图解圆周卷积
1.圆周卷积(circular convolution)圆周卷积,也叫循环卷积,两个长度为N的有限场序列x(n)x\left ( n \right )和h(n)h\left ( n \right )的循环卷积定义为 y(n)=[∑N−1m=0x(m)h((n−m))N]RN(n)=xn⨂yny\left ( n \right ) = [\sum_{m = 0}^{N-1}x\left (原创 2017-09-07 14:32:30 · 45462 阅读 · 9 评论 -
差分麦克风阵列(Differential microphone arrays)
差分麦克风阵列(Differential microphone arrays)1.介绍 传统波束成形方法有延时累加(delay-sum),滤波相加(filter-sum)以及自适应波束形成(LCMV、MVDR、GSC …..)等等,这些方法都是将阵列数据做同步后相加输出,与相加相对应的是相减,这类方法就是下面要介绍的差分阵列(Differential microphone array...原创 2017-12-09 23:41:43 · 17874 阅读 · 23 评论 -
麦克风阵列声源定位 GCC-PHAT
麦克风阵列声源定位利用麦克风阵列可以实现声源到达方向估计(direction-of-arrival (DOA) estimation),DOA估计的其中一种方法是计算到达不同阵元间的时间差,这里主要介绍经典的GCC-PHAT方法背景 简单说明问题背景,信号模型如下图,远场平面波,二元阵列 要计算得到θθ\theta,其实就是要求两个阵元接收到的信号时间差,现在问题变成到达时...原创 2018-03-28 22:16:43 · 35049 阅读 · 74 评论 -
互相关函数的频域计算
互相关函数的频域计算1.时域计算x1(n)与x2(n)的互相关定义如下x1(n)与x2(n)的互相关定义如下x_1(n)与x_2(n)的互相关定义如下 R(τ)=E[x1(m)x2(m+τ)]R...原创 2018-04-07 14:00:31 · 28139 阅读 · 17 评论 -
N点DIT_FFT的C程序
根据DIT-FFT原理和过程,DIT-FFT的完整程序框图包括以下几部分:(1)倒序:输入自然顺序序列x(n),根据倒序规律,进行倒序处理;(2)循环层1:确定运算的级数,L=1~M(N=2M);确定一蝶形两输入数据距离B=2L-1(3)循环层2:确定L级的(B=)2L-1个旋转因子;旋转因子指数p=2M-LJ,J=0~B-1;(4)循环层3:对于同一旋转因子,用于同一级2M-L个原创 2014-04-14 14:57:38 · 1853 阅读 · 0 评论