基于平均幅度和加权过零率的VAD算法及其FPGA实现
- 格式:pdf
- 大小:10.12 MB
- 文档页数:6
一种基于MMSE-LSA和VAD的语音增强算法晏光华【摘要】通过介绍语音增强的特点,详细分析了最小均方误差对数谱幅度估计(MMSE-LSA)算法,并提出了与MMSE-LSA算法相匹配的语音激活检测(VAD)算法。
该方案计算简单、易于实现且语音增强效果好,能够动态地跟踪背景噪声的变化。
最后通过仿真分析,比较了MMSE-LSA与其它几种语音增强算法的增强效果。
%The minimum mean square error of log-spectral amplitude estimator (MMSE-LSA) algorithm is analyzed in detail by introducing the characteristics of speech enhancement, and voice activity detection (VAD) algorithm matching with MMSE-LSA algorithm is proposed. This scheme is simple and easy to implement and its speech enhancement effect is good. In addition, it can track the changes of background noise dynamically. Finally, the enhancement effect of MMSE-LSA is compared with that of other algorithms by the analysis of simulation.【期刊名称】《移动通信》【年(卷),期】2014(000)010【总页数】5页(P59-62,66)【关键词】MMSE-LSA;VAD;语音增强【作者】晏光华【作者单位】海军司令部信息化部,北京100036【正文语种】中文【中图分类】TN912.351 引言在语音通信特别是军用语音通信中,各类的噪声干扰较为普遍,坦克、飞机、舰船上的电台常常会受到很强的背景噪声干扰,严重影响语音通信的质量和效果。
基于云平台的NAO机器人语音处理①陈佳欣; 王大东; 孙明辰; 王晓宇【期刊名称】《《佳木斯大学学报(自然科学版)》》【年(卷),期】2019(037)006【总页数】5页(P912-916)【关键词】语音识别; 调制域谱减法; NAO; 降噪; 端点检测【作者】陈佳欣; 王大东; 孙明辰; 王晓宇【作者单位】吉林师范大学计算机学院吉林四平136000【正文语种】中文【中图分类】TP3910 引言NAO机器人自带语音模块在非标准语音会话时识别准确率较低。
由于NAO机器人的处理速度低、存储空间有限,只依靠NAO机器人自身的软硬件资源大幅度提高会话语音识别率比较困难。
百度语音云服务,为基于Linux的性能有限的NAO 机器人提高语音识别率提供了服务平台[1]。
NAO机器人调用语音云服务需要处理端点检测和降噪等问题。
基于能量的端点检测方法运算量小,但受噪声影响大,且运算量大。
如Roy提出的基于小波卷积的语音端点检测(WCSED)方法,将语音信号分解为高频和低频分量,然后对这两个频率分量计算基于信息熵的阈值[2]。
此算法获得较好语音端点检测效果,但由于算法复杂度大,检测时间较长。
这些运算量大的算法并不特别适合NAO机器人使用。
所以提出的NAO机器人语音在线识别方法,采用先降噪后做端点检测方法。
利用调制域的短时傅里叶变换(STFT)对接收声音进行处理,用传统的双门限判决方法处理声音信号进行降噪和信号重组,最后NAO机器人生成声音文件并调用云服务进行语音识别。
1 NAO调用云服务1.1 NAO机器人语音识别原理NAO机器人语音识别过程:对待识别语音信号进行预加重、归一化、分帧加窗、端点检测等预处理,计算语音信号的声音特征向量;根据训练好的声学模型,在词汇库中按照一定的匹配规则查找最优匹配词汇,从而得到合理的识别结果,如图1所示。
NAO机器人使用NUANCE的语音识别引擎,可以识别预先定义的词或短语。
图1 NAO语音识别系统1.2 百度云语音服务百度语音开放平台为开发者提供基于百度大脑的语音模型,使用深度学习方法学习海量语音数据,大幅度提高了识别率,为用户进行更精准、高效、安全的服务。
vad算法原理
VAD算法是语音信号处理中的一种关键技术,用于检测语音信号中的活动和非活动部分。
它的主要原理是基于语音信号的能量特征和短时过零率,通过设置阈值判断当前是否为语音段,有效提高对语音信号的识别率和准确性。
为了更好地理解VAD算法的原理,需要了解一些基本概念。
首先是短时能量,它是指在一段时间内,信号的各个样本值平方的和。
如果短时能量超过了设定的阈值,则我们可以认为当前部分是语音段,反之则为非语音段。
另一个关键概念是短时过零率,它指的是在一段时间内信号穿越零点的次数。
比如,当一个人在说话时,声带振动会产生正负交替的波形,而这些波形会穿越零点。
如果在一段时间内短时过零率超过了设定的阈值,则我们可以认为当前部分是语音段。
基于这些概念,我们可以得出VAD算法的基本流程。
首先,将输入的语音信号分成短时段,每个短时段的长度通常为10-30ms。
然后,对每个短时段计算它的能量和过零率,判断当前是否为语音段,并输出对应的标识。
最后,对输出的标识进行后处理,以确保最终输出的语音信号质量稳定且准确。
可以看出,VAD算法的原理很简单,但实现还需要考虑到实际应用中
的复杂性,比如噪声、信号失真等问题。
为了应对这些挑战,研究人员已经提出了各种各样的VAD改进方案,包括谱减法、双门限法和基于机器学习的方法等。
这些方案都能有效提高VAD算法的鲁棒性和性能。
总之,VAD算法是语音信号处理中不可或缺的关键技术,能够帮助我们更好地识别和理解语音信号。
未来随着技术的发展和应用领域的扩展,VAD算法还将不断优化和改进,为我们带来更准确、更智能的语音处理体验。
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202011415964.4(22)申请日 2020.12.07(71)申请人 中国工程物理研究院核物理与化学研究所地址 621999 四川省绵阳市绵山路64号(72)发明人 刘金鑫 吴军 袁晨 叶岑明 杜亚飞 杨波 (74)专利代理机构 中国工程物理研究院专利中心 51210代理人 张晓林(51)Int.Cl.G05B 19/042(2006.01)(54)发明名称一种基于FPGA和高精度延时芯片的数字信号延时方法(57)摘要本发明公开了一种基于FPGA和高精度延时芯片的数字信号延时方法,该方法首先利用用户设置的延时时长T、延时后输出脉冲的宽度Tw和测量得到的输入信号相对于FPGA时钟的时间值T1计算数字信号前沿或后沿的延时参数;之后利用延时参数,对数字信号进行延时处理;最后通过逻辑运算合成经过延时处理的信号前沿和后沿,获得延时和宽度均精确可调的输出脉冲。
本发明公开的数字信号延时方法,利用FPGA和高精度延时芯片,采用粗延时结合中延时和细延时的数字信号延时方式,有效降低了信号延时抖动,提高了延时分辨率,本发明公开的方法的多数功能在一片芯片内完成,硬件电路简单可靠,集程度高,有效降低了延时误差。
权利要求书1页 说明书4页 附图2页CN 112558519 A 2021.03.26C N 112558519A1.一种基于FPGA和高精度延时芯片的数字信号延时方法,其特征在于,所述方法包括以下步骤:S1:用户根据需求设置输入信号的延时时长T与延时后输出脉冲的宽度Tw;S2:利用TDC测量输入信号相对于FPGA时钟的时间值T1;S3:利用参数T、Tw和T1分别计算数字信号前沿或后沿的延时参数;S4:利用步骤S3中计算的延时参数,对数字信号前沿和后沿进行延时处理;S5:通过逻辑运算合成经过延时处理的信号前沿和后沿,获得延时和宽度均精确可调的输出脉冲。
基于FPGA 的DDS 设计及实现帅 倩,吴国辉,代冀阳(南昌航空大学信息工程学院,江西南昌 330063)摘 要:针对DDS 频率转换时间短,分辨率高等优点,提出了基于FP GA 芯片设计DDS 系统的方案。
该方案利用Al 2tera 公司的Quartus Ⅱ开发软件,完成DDS 核心部分即相位累加器和ROM 查找表的设计,可得到相位连续、频率可变的信号,并通过单片机配置FP GA 的E 2PROM 完成对DDS 硬件的下载,最后完成每个模块与系统的时序仿真。
经过电路设计和模块仿真,验证了设计的正确性。
由于FP GA 的可编程性,使得修改和优化DDS 的功能非常快捷。
关键词:DDS ;Quartus Ⅱ开发软件;FP GA ;单片机配置中图分类号:TN702 文献标识码:A 文章编号:10042373X (2010)1320090203Design and Implementation of DDS B ased on FPG ASHUA I Qian ,WU Guo 2hui ,DA I Ji 2yang(School of Information Engineering ,Nanchang Hangkong University ,Nanchang 330063,China )Abstract :A design scheme of DDS system based on FP GA is introduced for the merits of fast frequency conversion time and high resolution of DDS.The design of the phase accumulator and ROM lookup table which are the cores of DDS is a 2chieved with the Quartus Ⅱdevelopment software produced by Altera Company.The phase continuous and f requency variable signal can be obtained with design scheme.The download of DDS hardware is implemented by E 2PROM based on MCU allo 2cation FP GA ,the time sequence simulation of each module and system is completed.After designing and testing circuit ,it illustrates the validity of DDS.As the advantage of the programmable of FP GA ,it is convenient to modify ,add and optimize the f unctionof DDS.K eywords :DDS ;Quartus Ⅱsoftware ;FP GA ;MCU configuration收稿日期:20102012210 引 言随着现代电子技术的不断发展,在通信系统中往往需要在一定频率范围内提供一系列稳定和准确的频率信号,一般的振荡器己不能满足要求,这就需要频率合成技术[1]。
vad和vd方案在音频信号处理和语音识别领域,语音活动检测(Voice Activity Detection,简称VAD)和语音端点检测(Voice Endpoint Detection,简称VD)是两个关键任务。
本文将介绍VAD和VD方案的基本原理和应用。
一、VAD方案VAD是一种用于检测语音信号是否存在的算法。
其作用是在音频信号中准确地识别出含有语音的部分,并将其从非语音的背景噪声中分离出来。
VAD在语音通信系统、音频编解码器、语音合成等领域都有着广泛的应用。
VAD的基本原理是通过分析音频信号的幅度、频谱、时域特征等来判断是否存在语音。
常用的VAD技术包括基于幅度阈值、能量阈值、短时过零率、短时能量等算法。
这些算法通常结合使用,以提高准确性和鲁棒性。
VAD方案的应用场景非常广泛。
在语音通信系统中,VAD可以用于降噪、增强语音质量和提高语音编解码效率;在语音识别系统中,VAD可以用于只处理包含语音的部分,减少计算量和提高识别性能;在音频编解码器中,VAD可以用于适应不同噪声环境下的编码参数选择等。
二、VD方案VD是一种用于检测语音段的起止点的算法。
其作用是在音频信号中准确地定位出语音段的开始和结束的位置,以便进行后续的处理和分析。
VD在语音识别、自动语音识别、语音合成等领域都有着重要的应用。
VD的基本原理是通过分析音频信号的特征来判断语音段的开始和结束。
常用的VD技术包括基于能量阈值、过零率、短时平均幅度等算法。
这些算法通常结合使用,以提高定位准确性和鲁棒性。
VD方案的应用非常广泛。
在语音识别系统中,VD可以用于分割连续的音频流,提取出语音段进行识别,以避免对静音段的处理和浪费计算资源;在自动语音识别系统中,VD可以用于定位用户的语音输入,提高识别准确性;在语音合成系统中,VD可以用于确定要合成的语音段,提高合成效果和自然度。
三、VAD和VD的应用VAD和VD的应用范围广泛,对于提高音频信号处理和语音识别系统的效果具有重要作用。
第11卷第6期信息工程大学学报Vo l 11No 6 2010年12月Journal o f Infor m ati o n Eng ineeri n g Un i v ersity Dec 2010基于平均幅度和加权过零率的VAD算法及其FP GA实现周明忠,吉立新(信息工程大学国家数字交换系统工程技术研究中心,河南郑州450002)摘要:介绍了一种平均幅度和加权过零率的VAD算法,并对该算法进行了硬件实现。
对其中主要的模块,在硬件实现方法上进行了优化,取得了较好效果,使其在保证实时性要求的同时节省了资源,为进一步向低成本器件上移植或系统中作为I P模块应用提供了可能性。
关键词:语音激活检测;短时能量;短时过零率;现场可编程门阵列中图分类号:TN912.3 文献标识码:A文章编号:1671-0673(2010)06-0713-06Voice Activity Detection Algorith m and Its I mple m entation Based onM agnit ude andW eighted Zero Crossing RateZ HOU M i n g z hong,JI L i x i n(N ationa l D ig ital S w itch i ng Syste m Eng i neeri ng&T echn ica l R esearch Center,In f o r m ati on Eng i neer i ng U n i versity,Zhengzhou450002,Ch i na)Abstract:This paper intr oduces a VAD algor ithm w it h average of the m agn itude and w eigh ted zerocrossing rate,and t h e a l g orithm has been i m ple m ented by har dw are.The m a j o r m odules have ach ieved good effects wh ich have been opti m ized in the hard w are i m p le m entation,thus ensuring rea lti m e requ ire m ents and sav i n g resources.The algor ith m offers t h e possibility for f u rther m i g ration tolo w cost dev i c e or syste m I P m odu le app lications.Key w ords:VAD;short ter m energy;short ter m zero crossing rate;FPGA语音激活检测VAD(V oice A ctivity Detection)是一种通过特定的判决准则判断语音中出现的停顿和静默间隔,检测出有效语音部分的技术。
在典型连续语音信号中,语音信号大约占40%,其余为噪声或者没有声音[1]。
在语音识别系统前端预处理中采用VAD技术,可以在确保语音质量的前提下,减小后续处理的数据量,提高语音识别系统的效率。
一般来讲,不同的应用需要根据其对计算准确度、算法复杂度、稳健性以及响应时间等的不同要求来选择合适的算法。
通常使用的方法有:短时能量、短时平均幅值、短时过零率、基音检测、频谱分析和倒谱分析等。
研究表明,大部分时域算法简单易实现,但抗噪性能弱;大部分频域算法复杂不易实现,但抗噪性能强。
本文针对特定的应用,利用时域算法易实现的思想,采用时域短时平均幅度值和加权过零率,对256路电话语音信号进行实时检测。
主要是对过零率值进行加权求和,从而提高了算法的抗噪性能。
最终将算法在FPGA上实现,仿真结果显示,该算法充分满足了系统实时高效的要求。
收稿日期:2010-05-27基金项目:国家863计划资助项目(2008AA011001)作者简介:周明忠(1982-),男,硕士,主要研究方向为电信网信息关防。
714 信息工程大学学报 2010年 图1 预处理流程图1 算法描述针对实际运用中语音通信的特殊性,要求检测过程能达到实时性的要求。
现场可编程门阵列(FPGA )具有可编程的灵活性,具有较高的并行处理能力,对于256路电话信道语音信号识别检测,能够在满足实时性要求的前提下,提高语音识别系统的效率和准确性。
语音识别一般分为:预处理、特征参数提取和判决几个流程。
其中处于前端的预处理模块如图1所示。
VAD 是语音信号预处理技术的一部分,有着广泛的应用范围,在语音识别、语音通信、语音增强、说话人识别中起着非常重要的作用。
有效的VAD 技术不仅能减少系统的处理时间、提高系统的处理实时性,而且能排除无声段的噪声干扰,从而使后续工作的性能得到较大提高。
VAD 算法可以基于时域或频域,本文采用的算法是时域分析的方法。
选取时域短时平均幅度和过零率作为判决参数对语音信号进行判决。
根据语音的统计特性,可以把语音段分为清音、浊音以及静音(包括背景噪声)3种。
在本算法中,短时平均幅度检测可以较好地区分出浊音和静音。
对于清音,由于其能量较小,在短时平均幅度检测中会因为低于幅度门限而被误判为静音;短时过零率则可以从语音中区分出静音和清音。
将2种检测结合起来,就可以检测出语音段及静音段。
短时过零率表示一帧语音信号波形穿过横轴(零电平)的次数。
过零分析是语音时域分析中最简单的一种。
对于连续语音信号,过零即意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值改变符号则称为过零[2]。
过零率就是样本改变符号的次数。
过零率有2类重要应用:用于粗略地描述信号的频谱特性,就是用多带滤波器将信号分为若干个通道,对各通道进行短时平均过零率和短时能量的计算,即可粗略地估计频谱特性;用于判别清音和浊音、有话和无话;区分清音和浊音,对语音信号进行分析,发现发浊音时,尽管声道有若干个共振峰,但由于声门波引起谱的高频跌落,所以其语音能量约集中在3k H z 以下。
而发清音时,多数能量出现在较高频率上。
高频就意味着高的平均过零率,低频就意味着低的平均过零率,所以可以认为浊音时具有较低的过零率,而清音时具有较高的过零率。
当然,这种高低仅是相对而言的,并没有精确的数值关系。
研究发现[3],白噪声的过零率明显高于语音信号过零率,粉噪声的过零率与语音信号相当。
总结分析得出:对于电话信道信号的过零率,清音大于噪声,噪声大于浊音;幅度值:浊音大于噪声,清音稍大于噪声。
定义帧平均幅度:A = N -1i =0|S n (i)|(1)其中,A 为第n 帧语音信号的平均幅度,n 为帧的编号,N 为每帧的点数。
它也是一帧语音信号能量大小的表征,它与短时平均能量E 0的区别在于计算时取样值的大小不同,不因取平方而造成较大差异,在某些应用领域中会带来一些好处。
第j 帧信号的短时平均过零率(zero crossing num ber):Z j = N -1i =0ne g i(2)其中,neg i =1,当|S n (i)| T i 且S n (i -1) S n (i)<0,0,其它。
2 检测流程整个VAD 检测可分为4段:静音段、过渡段、语音段和结束。
如果连续2帧平均幅度检测或过零率检测有语音就进入语音段,当连续两帧的2个参数值都回落到低门限以下,标记语音结束,具体判决流程如图2所示。
第6期周明忠等:基于平均幅度和加权过零率的VAD 算法及其FPGA 实现715图2 VAD 检测流程图首先,为帧平均幅度确定两个门限,一个是较低的门限(A L ),数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大(A H )。
超过低门限进行过零律检测,超过高门限意味有语音。
其次,定义3个点幅度值门限:T 1<T 2<T 3。
对每一帧256点信号,分别求相应T 1、T 2、T 33种门限过零率Z 1、Z 2和Z 3,如果当前点的幅度值大于T 3且信号过零,Z 3加1;否则如果大于T 2,Z 2加1;如果幅度值小于T 2,判断是否大于T 1,大于T 1且信号过零,Z 1加1。
当一帧信号结束时,用其加权和来表示总的过零率:Z =w 1 Z 1+w 2 Z 2+w 3 Z 3(4)只要门限值T 1、T 2、T 3和权值w 1、w 2、w 3选得合适,语音开始后的信号的Z 值明显大于静音或者噪声时的Z 值。
通过试验摸索一个分界值Z 0,当Z >Z 0时判为有话帧,Z <Z 0时判为无话帧,这样可以准确而实时地区分有无清音。
3 算法FPGA 实现本设计采用X ilinx I SE10.1以及M ode l S i m 进行开发(M odel S i m 是M en tor G raph ics 公司的仿真软件)。
X ilinx I SE10.1是X ili n x 公司的一套开发FPGA /CPLD 的EDA 软件,可以完成从设计输入、功能仿真、综合优化、后仿真、引脚配置、布局布线到配置芯片的一系列FPGA /CPLD 的开发流程,并提供调用其它EDA 工具的接口。
最终算法在X ilinx 公司新推出的V irtex 5系列FPGA XC5VLX110上实现。
3.1 算法功能实现VAD 单元从A 律子单元获取每帧256点16位的有符号语音数据,分别计算该帧语音数据的平均幅度(简便起见,采用幅值和代替)和帧短时平均过零率。
然后用计算的结果和设定的各门限值按照一定的规则进行判决,输出静音/语音检测结果信号给加窗子单元,算法实现如图3所示。
3.2 算法功能模块划分该算法设计分为1个一级模块:顶层模块(VAD );4个二级模块:平均幅度计算模块(ARC)、平均过零率计算模块(ZC N )、语音/静音判决模块(VSJ)、VAD 子单元控制模块(VCO),其关系如图4所示。
本设计的输人项为:16位线性码的数字语音信号;各门限A L 、A H 、T 1、T 2、T 3、w 1、w 2、w 3、Z 0的值;VAD 使能信号;工作时钟和复位信号。
输出项为:有无语音标志VADHAM _V oice ,VADHAM _V oice=1表示有语音;等于0表示静音或者噪声;VAD 点处理完成信号VADAW _Po i E nd ,各子模块间信号接口如图5所示。
3.2.1 ARC 模块功能描述:当VAD 使能有效时,计数获取每帧256点语音数据,计算每点语音数据的幅值(绝对值),并进行累加。