我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:天空彩票 > 端点编码 >

基于AMR语音编码中语音端点检测算法的研究实现pdf

归档日期:06-13       文本归类:端点编码      文章编辑:爱尚语录

  1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

  重庆邮电大学硕士论文 Abstract with ofthemulti·mediaand the development the Along rapid voice isalso tovarious technology,thesisalprocessingapplied totheinfluenceof times reality,due backgroundnoise,manyunnecessary processing are themeantimeloweredthe ofthevoice occupied,in accuracy signal.VoiceActi、嚏够 ofthecrucial ofthe Detection(Wdg),硒onetechnologies duringpre—processingphase determinesthe of whole sigmlprocessingsystems,itsaccuracy SUCCESSthe signal tosomeextent processingsystem Thisarticlewillbaseonthe in third codecthe adaptivemulti-rate(AMR)speech mobile makeadetailed ofthebasic of communication,tO generation analysis principle theAMR Voice Detection VAD speechcoding Activity algorithm.The ofthe in a roleinthe of rateof AMP.,it importantparts playskey partsspeechcoding in selectionandsavebandwidthvoicecommunicationthis adaptive system.Inpaper, wewillbaseonDSPsoftware theAMR development platform,programmingspeech and accounttothe module ofreal-timeofthe coding taking requirements digitalsignal in acombinationofactual processorspeechsignalprocessing.Andthrough project inthemanual Ccodeand codefor development aSsemblyoptimized assembly process direct the which method,we functionofthemodulesare optimization optimizepart relative andtime a reachthe ofreal result,we complex consuming.As requirements time we thebeforeandafterdataof speechsignal compare processing.After optimized the could conclusionthattheIPCandMCPSindicators performanceparameters,weget havebetter the codeexecutemore andreduce improvement,andoptimized efficiently the timeofthevoicecode processing greatly. VAD differentaudio the Besides,byinputting signals,weprogrammedalgorithm oftheAMR software.The resultshowsthatthe speechcodingthrough experimental betterthanVoice Detection aminimalvoice voiceis Activity becausethereis pure flames flamecouldbe environment,noise mistaken.Bycomparison,incomplexnoisy mistakenfor webasedontheVAD frames.Furthermore,when easily speech algorithm oftheAMR the featuresofvoice structural speechcoding,whilecombiningspecial and forwardtwonewVoice signal subtraction,we parametersimprovedspectral put Detection inlowSNR Activity algorithms alethe environment.Theyimprovedspectral subtractionofthe differenceoftheVoice bindingenergy&high-order Activity Detection andthe subtractionbasedon sub-band algorithmimprovedspectrum adaptive II 重庆邮电大学硕士论文 Abstract MATLAB thatinthelowSNR indicates spectralentropy.Byusing simulation,it noise new could forVoice environment,the achieveresults background algorithm good Detectionaswellas thebetterrobustness. Activity guarantee Words:Voice Activity subtraction; Key Detection;adaptivemulti-rate;spectral 11igh—orderdifference;spectralentropy;digitalsignal processing III 重庆邮电大学硕士论文 缩略字表 缩略字表 英文缩写 中文译文 英文全称 VAD 语音端点检测 Voice Detection Activity AMR 自适应多速率 Rate AdaptiveMultiple FIR 有限冲激响应 Finite ImpulseResponse DSP 数字信号处理 Data Process Signal DFT 离散傅里叶变换 DiscreteFourierTransform FFT 快速傅里叶变换 FastFourierTransf01Tn IFFT InverseFastFourier 快速傅里叶逆变换 Transforill DTMF双音多频 Dual·-Tone Multi·—Frequency ALU 算术逻辑单元 ArithmeticUnit Logical Ⅳ队U 乘累加单元 Unit Multiply—Accumulate AGU 地址产生单元 Address Unite Register SDK 软件开发工具包 Software Kit Development DTX Discontinuous 非连续传输格式 Transmission MCPS每秒百万条周期数 MillionClockPerSecond IPC 每时钟周期指令数 InstructionsPer Cycle VOL 短时能量 Volume HOD 高阶差分 OrderDifferent High Zero ZCR 过零率 CrossRate SSE 子带谱熵 Subband Spectral Entropy ABSE 自适应子带谱熵 AdaptiveBand-partitioningSpectralEntropy SNR 信噪比 NoiseRatio Signal VI 重庆邮电大学硕士论文 插图清单 插图清单 第二章 图2.1语音端点检测………………………………………………………………4 图2.2双门限端点检测算法仿真图………………………………………………5 图2.3不同噪声环境下谱熵曲线的比较…………………………………………7 图2.4 AMR系统的组成…………………………………………………………一8 图2.5AMR语音编码中VAD算法的原理图……………………………………8 图2.6 AMR语音编码中VAD处理流程……………………………………….13 图2.7纯净语音波形…………………………………………………………….15 图2.8带突发噪声的语音波形………………………………………………………15 第三章 图3.1ZSP500操作界面…………………………………………………………17 图3.2ZSP500八级流水线………………………………………………………19 图3.3AMR语音编码模块设计框图……………………………………………20 图3.4AMR语音编码模块的程序流程…………………………………………21 图3.5 AMR语音编码器的输入、输出………………………………………….21 图3.6LCF文件内存分配……………………………………………………….23 图3.7测试例的输入配置文件………………………………………………….24 图3-8测试例的输出结果文件………………………………………………….25 图3.9测试结果对比………………………………………………………………….25 图3.10程序优化流程……………………………………………………………..27 图3.11优化前性能参数……………………………………………………………..30 图3.12优化后性能参数…………………………………………………………32 第四章 图4.1结合语音降噪的VAD处理流程…………………………………………34 图4.2谱减法的原理图………………………………………………………….35 图4.3SNR=6db谱减法的仿真图……………………………………………….36 图4.4谱减法的改进型原理图………………………………………………….37 图4.5SNR=6曲谱减法与改进谱减法对比仿真图……………………………37 图4.6高阶差分算法的仿真图………………………………………………….38 图4.7 图4.8纯净语音VH仿真图……………………………………………………..41 图4.9“八’’的时域波形和SSE仿真图…………………………………………43 图4.1l各种噪声下的三种语音端点检测算法对比仿真图……………………..46 图4.12纯净语音的三种语音端点检测算法对比仿线改进的谱减法仿真图……………………………………………………49 图4.14基于ABSE算法的纯净语音端点检测仿真图…………………………49 图4.15不同信噪比下基于ABSE算法的带白噪声的语音端点检测仿线不同信噪比下基于本文算法提出的语音端点检测仿线时白噪声下基于改进算法的不同语音端点检测仿线l VII 重庆邮电大学硕士论文 第一章绪论 第一章绪论 1.1选题背景 通常人类在进行语音通信时,大约有60%左右的空闲时间没有讲话,始终用一 个速率进行语音编解码对信道资源是一个浪费。传统的定速率语音编码,采用较 高速率的编码算法对语音质量较易保证,但占用网络资源较大;用较低速率的编 码算法占用网络资源小,但对语音质量较难保证。因此考虑能否在无话时编解码 速率低一点,说话时编解码速率高一点,使平均速率降下来,由此需要一种速率 可变的语音编解码技术。 语音端点检测(Ⅵ姬I)技术IlJ也称语音激活检测,是指从包含语音的一段信号中 确定出该语音的起始点和终点,它的出现和发展使对有无话音进行判断成为可能, 从而对背景噪声和有话部分以不同的速率进行编码,实现变速率语音编码,降低 了编码的平均速率,在合成语音质量和系统容量之间取得很好的折衷,最大限度 的发挥系统的效能,所以在现代语言通信中得到了广泛的应用。 自适应多速率(AMR)语音编码广泛的应用于语音通信中,它可以根据通信的 质量自适应调整语音编码速犁21,在有话音时进行较高速率的编码方式,在无话音 时进行较低速率的编码,很好的节约系统传输带宽【3】和提高了通信系统的容量。之 所以可以自适应调节编码速率,语音端点检j贝U(VAD)算法对其准确的改变编码速率 起到了非常重要的作用。同时由AMR帧格式【4】可知,每帧编码比特流中都有指示 本帧的帧类型的若干比特,这样解码器根据帧类型,在编码器所采用的VAD具体 算法未知的情况下也可以恢复语音和背景噪声,它不牵涉到互通的问题,所以可 以根据具体的情况选择本标准以外的任意一种语音端点检测算法。在实际生活中, 噪音的干扰成了影响语音端点检测的重要问题,从而直接影响了语音通信效果。 本文的研究方向就是基于上述背景下提出的,AMR语音编解码器很好的应用 在第三代移动通信系统中,AMR语音编码中VAD算法对实现编码速率的改变、节 约系统带宽起了重要作用。然而,在低信噪比的环境下,研究具有较好准确性和 鲁棒性的语音端点检测算法越来越受到人们的关注,它不仅提高语音通信的质量, 而且也减少了通信设备的资源损耗。 1.2语音端点检测算法的研究现状 对于语音信号处理系统来说,有效的语音端点检测算法ⅣAD)不仅能减轻系统 重庆邮电大学硕士论文 第一章绪论 的运算负载,减少处理时间,提高系统的实时性,而且可以去除静音时背景噪声 的干扰,大大改善系统的性能。 常用算法中,包括AMR语音编码中VAD算法,大都根据语音信号的时域特征 参数进行研究。然而,在较复杂噪声环境下,人类语言中的清音和摩擦音往往和 背景噪声混合在一起,无法准确的分辨出语音和噪声的端点,容易发生漏检和虚 检,其抗噪声能力不强,对于各种强背景噪声下的语音信号检测则无能为力。 近几年来,各种区别语音和噪声的特征参数相继被提出,主要是用来提高算 法的抗噪声性能,或是将几种特征组合成一个新的特征参数来进行端点检测,而 对语音端点的判决也由原来的单--f-j限发展到多门限【5】,使得算法精度不断得到提 高。 随着语音端点检测技术受到越来越多的关注,大量的语音端点检测算法相继 被提出,但在现有的语音端点检测技术中,仍然普遍存在着以下几个问题: 1、一些依赖语音信号本身音节特征来区分语音和噪声的算法中,零声母或以 清音开头的语音信号易受到噪声干扰,通常会导致起始音的丢失。 2、抗噪能力普遍不强。对于低信噪比下的语音信号检测则无能为力。下文提 到的两种新算法便立意于此,努力尝试新的语音端点检测算法,使其尽量满足高 效、准确、鲁棒性好的要求。 1.3主要研究内容 本课题的研究内容主要分为AMR语音编码模块的DSP软件实现、代码优化和 AMR语音编码中、,AD算法的改进研究两个部分。 实现部分中,结合参与的一款3G无线上网卡AMR语音模块的研发项目,其中 主要参与AMR语音模块相关的程序设计与开发工作,在对AMR语音编码模块进行 DSP软件实现的基础上,不仅验证了自适应多速率语音编码的多种速率选择机制, 而且证明语音端点检测对语音信号进行语音帧与噪音帧的判别能力。最后,从数 字信号处理器对语音编码处理的实时性角度出发,在代码实现工作基础上对部分 子模块进行汇编代码的优化,更好的达到语音信号处理即时、准确的要求,以满 足后续实际产品开发的需要。 在对AMR语音编码中语音端点检测算法的研究发现,它主要从时域方面进行 分析研究,应用在实时系统中有其稳定可靠的因素,但在较低信噪比环境下,检 测效果下降。而且VAD又是一个相对独立的模块,因此可以根据具体研究方向进 行算法方面的改进。通过对VAD算法的不同特征参数分析与研究,考虑在低信噪 2 重庆邮电大学硕士论文 第一章绪论 比时对带噪语音进行降噪处理,达到提高带噪语音信噪比的效果,并结合语音信 号的特征参数,提出两种语音端点检测的改进算法。在低信噪比的白色噪声环境 下,通过仿真实验对文中提出的改进算法进行验证,仿真结果表明新算法的性能 得到改善。 1.4论文组织与结构 论文不仅对自适应语音编码算法和语音端点检测算法的基本理论和原理进行 了研究。同时针对语音信号处理系统实时性和鲁棒性强的特点:在DSP软件平台上 实现AMR语音编码算法并对其进行代码优化,减少了程序执行时间,达到良好的 语音编码实时性要求;并对低信噪比环境下的语音端点检测算法进行研究改进, 以使其适应复杂环境,增强语音端点检测的鲁棒性。 文章的具体组织结构安排如下t 第一章对传统的定速率语音编码技术进行了介绍,指出其局限性和缺点。 接着,分析了语音端点检测技术在变速率语音编解码中的价值和研究意义,并对 语音端点检测的研究现状与存在的问题进行分析。最后给出了本文的主要研究内 容。 第二章 分析两种典型的语音端点检测算法——双门限和谱熵,重点对AMR 语音编码中VAD算法进行研究。同时,对AMP.语音编码中VAD算法进行软件实 现,并以不同语音信号作为输入,将性能测试结果进行对比分析和总结。 件实现和代码优化的工作,并对AMR语音编码模块优化前、后的性能参数进行对 比分析;同时,也完成了AMR语音编码中VAD算法的实现工作。 第四章给出了基于改进谱减法的结合能量与高阶差分的语音端点检测算法 和基于改进谱减法的自适应子带谱熵的语音端点检测算法的算法流程,并在不同 低信噪比白色噪声环境下进行仿真实验,对实验结果进行总结、归纳。 第五章对全文进行总结及对未来研究方向进行展望。 3 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 第二章AMR语音编码中VAD算法研究 AMR语音编码中VAD算法的主要作用是检测当前一帧原始输入信号是语音 或是噪声信号,并给出状态标志,编码器根据标志决定对当前一帧信号的处理方 TS 法。这里主要介绍3GPP26.094协议所提供的VAD算法,并对该算法进行软件 实现及实验结果分析。 2.1两种典型的语音端点检测算法 2.1.1语音端点检测简介 语音端点检测属语音前端处理【6】,如图2.1所示。 输入信号 语音或噪声 语音端点检测 图2.1语音端点检测 一般的语音端点检测算法步骤如下: ①抽样、量化语音信号被分成各语音帧; ②对每一帧信号,选取并计算多种特征参数; ③根据对应于信号的特征向量序列,利用多种判决准则,来判决语音帧和非 语音帧; ④对第③步的判决结果进行后处理。后处理过程是为了避免把人在发声过程 中出现的自然停顿当作背景噪声。同时能有效的对字间间隙平滑,消除字间间隙 可能对语音端点检测造成的误判。 常用的语音端点检测【7l【3】主要以时域来描述,通常采用语音的短时过零率,短 时能量。它们实现简单,计算量相对较小,因而得到广泛的应用。算法大多采用 多种特征组合,组合方式用简单的“或’’、“与或采用多层或多级判别的思想。 这些方法在高信噪比时具有良好的性能,而在低信噪比的环境下性能很差,有时 甚至无法工作。 然而,语音信号处理系统通常要求工作在不同的噪声条件下,正确的识别语 音与非语音信号的端点是十分重要的,可以提高实时系统的运行效率,缩短处理 时间,不至于在静音段仅处理语音输入,白白浪费计算量和存储量。所以,通过 结合不同的语音特征参数,采用多种端点检测方法以增强噪声环境下语音端点检 4 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 测的准确性和鲁棒性已经成为一项重要课题。首先介绍两种典型的语音端点检测 算法。 2.1.2基于短时能量与过零率的双门限语音端点检测算法 语音主要分为浊音和清音。语音端点检测算法可采用语音信号的短时能量、 过零率等特征参数,并采用双门限判定法【9】来检测语音端点,即利用过零率检测清 音,用短时能量检测浊音,两者配合。首先为短时能量和过零率分别确定两个门 限,一个是数值较小的低门限,对信号的变化敏感,容易超过;另一个是高门限, 数值较大。低门限被超过不一定是语音的开始,也可能是瞬间的噪声引起的,高 门限被超过并且接下来的自定义时间段内的语音连续超过低门限,意味语音信号 的开始【101。 结合短时能量和过零率的双门限检测方法存在一些问题。例如:在一些特殊 情况下,当语音段的开始和末尾都是弱摩擦音时,比如“四”字的读音的开始段 的短时能量就比较小,而以鼻音结尾的语音,其末端的短时能量也比较小,它们 都容易与噪声混淆。然而清音的短时过零率最大,噪音和浊音次之,且噪音和浊 音的短时过零率相当。 双门限端点检测效果如图2.2所示。 W甜eform ∞ 孳 6000 兰 0 4E-5000 《·10000 Volume x105 萋1垂臣[瓦正五磁 卯 100 150 20D 250 300 Zero rate crossing 比100 ≈卯 j 0}k0。L疋止L 50 100 150 200 250 300 图2.2双门限端点检测算法仿线基于谱熵的语音端点检测算法 ①谱熵定义【11】 对每帧带噪语音信号求FFT得其频率分量五的能量谱乃(六),则每个频率分 量的归一化谱密度函数为: 5 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 既=掣七-1,2,...,N (2.1) ∑以(Z) 1=0 号,表示对第i帧语音进行分析。见实际上反映了信号能量在各个离散频点上的 分布,因而可以认为是频谱能量的概率密度函数。 的能量占总能量的百分比超过一定的限度艿【13】【14】,则说明存在集中于特殊频率的 噪声。因而,为了增强此概率密度函数区分语音和噪声段的能力,对(2.1)式引入约 束条件: or (2.2) 以(五)=0,/f石100Hzor五7000Pk艿 考虑上述约束条件后,根据(2.1)式所表示的频谱能量的概率密度函数,由 Shannon熵公式定义每个分析语音帧的短时谱熵为: Ⅳ 耳=一∑PklogPk (2.3) k=l 实际检测语音端点时,取E作为检测参数(本文与熵有关的检测参数均这样选 取)。 ②基于谱熵的语音端点检测算法【151 按照Shannon熵所定义的谱熵是对信息概率分布的一种描述,表征了信息的 不确定性,对于要处理的一帧信号而言,它也是对能量集中在某一频率点的概率 大小的描述。根据J.L.Shentl61的实验,可以利用谱熵来检测语音的端点,要比短时 能量的方法更加可靠。然而当噪声和语音的谱分布近似时,两者的谱熵值近似, 所以此时谱熵参数不能可靠地检测到语音端点,需要对基本谱熵算法进行改进。 图2.3是不同背景噪声下的语音谱熵曲线图,通过matlab仿真工具实现谱熵 算法。 输入语鲁涟韶 个数触 图2.3(a)含白色噪声的语音谱熵曲线 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 输入语音波形 O.5 瑙 0 毫 -0.5 .1 1 1.5 2 时间缈 谱熵扭线(b)混有粉色噪声的语音谱熵曲线 输入语音j!受形 个数—冁 图2.3(c)含汽车噪声的语音谱熵曲线不同噪声环境下谱熵曲线的比较 根据仿真结果对语音信号及噪声的谱熵进行了研究,得出以下特征: 1)语音信号的谱熵不同于噪声信号的谱熵; 2)语音谱熵随语音随机性而变化,与能量特征相比,谱熵的变化是很小的; 3)谱熵对噪声具有一定的鲁棒性,同一语音段在不同噪声干扰下,检测效果 较好,本文的改进算法就利用谱熵的这一特性。 2.2 AMR语音编码中VAD算法的基本原理 第三代移动通信系统是一种自干扰系统,采用码分多址技术,系统的容量取 决系统的即时业务量,在不通话期间发射机不发送信号,可以大大降低系统内的 7 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 多址干扰,提高系统的容量【171。因此,需要可靠的语音端点检测算法的支持。AMR 是第三代移动通信系统采用的信源编解码器,它的系统组成如图2.4所示。 信息位 信息位 语音编码 语音解码 语音端点检 模式信息 信息包传 模式信息 差错帧消除 测(VAD) 输及分类 舒适背景噪 发送类型 发送类型 舒适背景噪 声参数估计 声生成 图2.4AMR系统的组成 数分析的方法,基本原理是用部分语音编码参数和子带电平估计得到的能量信息 来检测信号帧是语音帧还是非语音帧,算法功能框图如图2.5所示。VAD模块的 输入是:经预处理的原始语音(20ms);编码器提取的一些参数:9个子带电平以及 由此导出的信号信噪比,开环检测得到的基音周期,开环检测得到的基音的增益, 开环检测基音所得到的自相关矢量,其中后三个参数为开环基音检测的伴随产物。 因此,整个算法复杂度低,输出是一个布尔量VAD 。实际上VAD galf.论理的法算 依据是语音和噪声的谱特性的不同。 子带电平 F酉目秽IL5U, LCVcILllJ I rr 滤波器组 子带电平计算 I m r1 甘立上;士胁一:‘一L Flail 三g日们、心7阻pi LppLnJ V L 基音检测 A AMR D 1或0 语 判 V垃flagr 】匕 t0’t1 音调标志位tone 目 -l音调检测 决 编 复杂信号标志 码 Complex._warning 器 。 复杂。 口 一 开环分析 号分析 一 拥单序旦 剪杂信号常时器 图2.5 AMR语音编码中VAD算法的原理图 8 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 2.2.1子带划分与电平计算 将20ms输入语音信号分成九个不同子带,可以用FFT或者滤波器组实现。这 里选择滤波器组是由于实现它复杂度较低,它包含5阶和3阶滤波器,每一个滤 波器将输入分成高通和低通两部分,将取样频率1:2降采样,最后滤波器组把信 号分成九个子带,频率越低,带宽越窄。 滤波器组中的5阶滤波器由下式给出: (2.4) j%“)-n5“@(卜1))+舭o)))、’ 1.%(f)=o.5·(4(x(i一1))一4(x(f))) 滤波器组中的3阶滤波器由下式给出: J硝D硼曩@o)+A,j(x(i。1”) 、(2.5)。 lx坳(f)=o.5-(x(f)一以(x(f一1))) 和以()是一阶直接形式的全通滤波器,其传输函数为: ,1上_一1 彳(z)2哥审 (2.6) COEFF5j,COEFF5_2,COEFF3。 在每个子带上分别估计输入信号电平,而后取绝对值求和得到这一帧的输入 信号电平值,即 level(n)=∑Ixn(i)I (2.7) i--STAR7=. 其中,n是子带序号,毛(f)是子带n在采样点i处的滤波器输出电平。 f-2,以4 f9,n4 ST×Rr.={一4,5≤n≤8 END.={19,5≤n≤8 l_8,n--9 【39,n--9 2.2.2基音检测与音调检测 基音检测的目的是为了检测元音和其它周期信号,它是基于加权语音信号 &∽)并通过比较连续子帧的开环延迟(T_卵【n】)来实现的。如果开环延迟的增量小 于设定的阀值(LTHRESH),则延迟计数累加;如果连续两帧的延迟计数之和足够 大(大于LTHRESH),则设鼍基音标志,整个处理过程类似于过零率检测。基音标 志算法如下: I.agcomat=0: If(I T_op[-1]-T_op[0】lLTHRESH) 9 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 Lagcount=Lagcount+l 疆(}T op[0】一砷p【l】ILTHRESH) Lagcount=Lagcount+l If(Lagexnmt+otdlageount=NTHRESh0 pitch=l else pitch=0 oldlagcount=Lagcount 其中,T.0p【-l】参考前一帧的开环延迟。. 由于基音检测算法不能保证检测到信令音和其它非常强的周期性信号,如果 该信号用舒适噪声替代,就可能影响听觉效果,所以标准中进行音调检测。音调 检测的目的是检测信号音调(基音检测不能准确检测到这类信号),当然也包括其他 具有很强周期性的信号,它是通过比较开环基音增益和设定阀值来实现的。具体 的检测方法是:如果开环基音增益大于门限TONETHR,则认为检测到音调,音 调标志置位:反之,清零。音调标志算法如下: if(toTONE_THR幸t1) tone=l elsetone=0 。 其中,tO=∑swQ)5。(万一七)tl=∑《@一后),‰仰)是该帧加权语音信号。 基音检洳算法和音调检测算法十分相似,都检测元音和信号音调。然而,它 们各自侧重点不同,基音检测器在检测存在两个或者更多基频的信号时存在问题, 比如能被音调检测器可靠检测的双音频(DTMF)信号,基音检测器却不能可靠检 测。另外,只要信噪比足够高,音调检测器也能很好地检测到元音,但是基音检 测器在低信噪比下却能可靠检测这些声音,在AMR的VAD算法中,它们互相补 充,实现基音和音调的准确检测。 2.2.3复杂信号分析与检测 复杂信号分析用于检测高通滤波(输入为O-4kHz的语音信号,截止频率为 80Hz的高通滤波器)后的相关信号(因为基音检测和音调检测算法并不能确切检测 到这些信号,而这些信号如果用舒适噪声模块对它编码,则会大大削弱重构语音 的自然度)。如果高通滤波信号的归一化自相关值峰值表明信号为强相关性的复杂 序列的高通值的大小完成的。 10 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 为了减少复杂度,高通滤波运算使用开环基音分析得到相关向量,如果从这 些相关向量值中统计到了最大标准相关向量值(best—corr一帆),则设置复杂信号 标志。复杂信号标志算法为:高通滤波运算后得到的最大标准相关向量值 的相关向量值(corr—hP.)由下式递归给出: (2.8) Ifcorr_hpCVAD—.THRESH——ADAPT——LOW. eomplex__low=1 if corr_hpCVAD—THRESH—ADAPT—HIGH. complex_high=l if corr_hpCVAD—THRESH—HANG. complex_hang_timer++ else complex_hang_timer=0 complexwarning被置位。 . 虽然原理上自相关域内的端点检测是可行的,但在具体实现时为了得到更好 的结果还有许多细节上的处理不能忽略。实际生活中,完全不相关的噪声是不存 在的,它们总是或多或少的与语音有些相关,如果直接用自相关值,仍是难以确 定语音的位置,所以要进一步增大语音段与噪声段的区别才能使得端点检测更加 准确,可以考虑选取对噪声不太敏感的语音特征参数进行研究。 2.2.4背景噪声估计 背景噪声估计119](bekrest【n】)利用了前一帧的幅度能级来更新。更新用一帧延 迟,避免未检测出突发语音开始位置而破坏噪声检测。如果VAD判决“1或者 如果已经检测出基音和音调,只允许向前更新。依据当前的环境选择不同的更新 方式。比如向前更新或恢复到以前的噪声环境。如果背景噪声电平突然增加,VAD 判决将置位,背景噪声不向前更新,而是恢复到以前的噪声环境。如果VAD置位 时间足够长,信号频谱稳定,背景噪声估计值将会更新。背景噪声电平的更新的 递推算法为: 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 每个子带更新速度选择如下: forn=lto9 { if(bckr—est.[n】level.一l【玎】) 2 alphaalphaup else 2 alphaalpha_down } 【n】)限制在常量NOISE—MIN和NOISE—MAX的范围内。 2.2.5 VAD判决方法 在进行VAD判决之前,先计算出输入信号电平和背景噪声估计值之间的比值: 册一s姗=琴川-MAX(1.O,赢lejvel[n羽]).2(2加) 果变化的随机性。这是基于假设输入任一信号电平总是高于或等于背景噪声估计 的电平结果。否则使用这种算法会产生大量的“剪音,降低语音质量。 thr: 再计算出VAD判决门限值vad THR SLOPE=5/63、VADP1=o和VAD level 其中,VAD HIGH=1260是常数,noise 是九个子带背景噪声电平值的和,即 noise—level=芝:bckr—est[n] (2.12) 一』-一 一 号帧是语音帧还是非语音帧:如果srffsum大于vadthr,则判决该帧为语音帧; 如果8111sum小于或等于vadthr,则判决该帧为非语音帧。算法过程如下,变量 vadreg指示VAD判决结果: if(snr_sumvad_thr) vadreg=1 else 12 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 0 vadre92 VAD最终判决就是将初始判决的结果与基音检测、音调检测和复杂信号检测 的结果进行综合判决,即如果初始判决结果为非语音帧且基音、音调和复杂信号 都没有被检测到,则判决该帧为非语音帧(背景噪声);如果初始判决结果为语音帧 或基音、音调和复杂信号中任意之一被检测到,则判决该帧为语音帧。 整个处理流程如图2.6所示: 子带滤波、计算子带电平 ◆ 由子带电平和估计出的噪声电平估计信 噪比,根据信噪比得到初始VAD判决结果 上 根据信号电平更新/ 调整复杂信号的估计 上 根据信号电平判决当 前帧是否为复杂信号 上 根据估计所得的背景噪声电平,基音 周期标志,稳态时间更新背景噪声的估计 上 根据即aCvad麴J决结果,语音已经持续的时 间和语音已经延长的时间,X,J-语音进行延长 上 输出最终判决结果 ◆ /, 、\ I 结束 ) \ / 图2.6 AMR语音编码中VAD处理流程 2.3实验数据及性能分析 13 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 20ms为一帧的语音信号作为输入,为了使讨论更加有效、直观,输入仅包含浊音 和清音语音元素。采用文件读写方式将输入语音数据加载到预先设定的缓存中, 变量,经过图2.6的VAD处理流程得到每一帧语音信号的判决结果,直到所有语 音数据读取完毕。程序中还对语音帧和噪声帧进行了统计,并对具体到哪些帧的 判决给出了分析结果。程序的主函数如下所示。 #includestdio.h #include”vadl.h竹 #include¨typedef.h” #define 160 FRAME——LEN void main0 { void vadl—init(vadStatel奎拳state); Wordl6 i,frame=0,vad_,n=:O,m=Ojnm,nn; Wordl6 vadState 1宰vadstate; FILE幸fpl; fpl--fopen(*.wav,rb”); ∥测试的语音文件 vadl 脚ad初始化 init(&(vadstate)); while(!feof(fpl” { 触me++; //语音包含的帧数 fread(&temp,2,160,审1); ∥读取语音文件 //160个点为一帧 for(i=0;iFRAME_LEN;i++) { indata[i]=temp[i]; ∥取高13bit数据 indata[i]=indata[i】&0xttig; , //Prc_Process(mdat轧FRAMELEN); //进行vad检测 vad--vadl(vadstate,indata); if(vad==1) { n++; } 14 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 else if(vad==0) { m++; ) printf(”%d、n”,n); //语音帧 primf(”‰、n”,m); //噪声帧 printf(¨%d\n”,n+m); //总帧数 } pmtf(”hello[”); fclose(fpl); ≥ 注:Wordl6定义为16bit长数据。 以下是在不同环境下,语音信号经过AMR语音编码中VAD处理后得出的实 验结果分析,其中语音信号共计289帧。为了更好的观察实验结果,给出了纯净 语音的波形,如图2.7所示。采用手工标记的方法对语音段进行标记,其中红色虚 线表示语音开始,绿色的实线表示语音的结束,较清晰地划分出语音与非语音段。 Waveform x104 ∞2 l! -, 1 3 ’■▲一一:l▲ ▲一。。.5{ …‰。.; ▲l 一.一。●k。.1 喜0 {-2 .r-÷’l¨iI 。 1.1 丌_旷一;.可{.{l l。l l l 0.5 1 1-5 2 2.5 图2.7纯净语音波形 ·如图2.7所示,输入为纯净语音,VAD测试结果及分析:开始有1.15帧非语 都为语音帧。结合纯净语音波形图及实验结果说明,连续语音间隙的短暂停顿和 残留音被当成清音误判为语音,拖尾音也容易被误判为语音,虽不影响语音的可 懂度,但需要占用过多的编码资源,造成传输带宽的浪费。 囊禽入审尊膏波形 ‘ L^,。。L。.。■▲I‘&d山 -.▲一▲.“▲..。。.一山。_J。 T■’ 一’ 1T、nr丌叮’’rT叮,1■r’呷r ‘ 一 l 15 重庆邮电大学硕士论文 第二章AMR语音编码中VAD算法分析 验结果说明,突发性干扰噪声容易将静音段的噪声误判为语音,在语音的拖尾部 分能较好检测出为非语音段,说明在噪声环境下,此VAD算法的鲁棒性能不是很 理想。 在不同背景下,各语音样本经过AMR中VAD算法检测之后得到每帧的实验 结果,通过对比分析数据可知:在纯净语音下,清音的判别较易造成误判;在强 噪声环境下,噪声的干扰对语音端点检测造成一定的影响,抗干扰性能有所下降, 对语音的可懂度有影响,同时也对语音信号处理干扰较严重,而语音端点检测效 果好坏直接影响了语音信号处理的性能。 2.4本章小结 本章首先从时域和频域两方面研究了两种典型的语音端点检测算法一双门 限、谱熵,分析了其算法原理,并在MATLAB平台下对双门限和谱熵语音端点检 测的算法进行仿真,指出各自算法的特性。 然后,以不同语音信号作为输入,对AMR语音编码中VAD算法进行软件实 现。通过分析研究不同语音信号的端点检测结果,并结合AMR语音编码中VAD 算法基本原理,可知该算法继承了传统方法(如短时能量,短时平均过零率)的优点, 同时克服了传统算法的缺点(如鲁棒性差,易造成漏检),对于各种不同的信号电平 和各种噪声干扰,门限会进行自适应调整。AMR语音编码中VAD算法对实时性 要求高的语音端点检测的应用领域来说是有效的,如第三代移动通信系统。同时 VAD算法作为AMR语音编码中的一个重要组成部分,很好的实现了AMR语音编 码算法的优良性能。第三章将对AMR语音编码算法在DSP软件上的实现做进一 步的研究,并且考虑语音编码实时性的要求,对其部分函数进行代码优化。 16 重庆邮电大学硕士论文 第三章AMR语音编码模块的软制:实现及代码优化 第三章AMR语音编码模块的DSP软件实现及代码优化 本章的主要研究内容是结合参与一款3G无线上网卡AMR语音模块的研发项 目,通过ZSP500软件平台对AMR语音编码算法进行编程实现并对其进行代码优 化,同时更好的完成了AMR语音编码中VAD算法的实现工作以及在DSP软件平 台上实时完成语音编码功能模块。 3.1ZSP500开发平台介绍 随着DSP芯片性价比的提高和应用范围的不断扩大,DSP处理器的品种越来 越多,其中LSI 泛的应用,它是针对3G无线和多媒体应用而设计的,在成本、功耗、性能方面有 着优秀的表现。 3.1.1 ZSP500软件开发工具介绍 打开ZSP500软件后,操作界面如图3.1所示: 图3.1ZSP500操作界面 3.1.2 ZSP500集成开发环境 ZDCC。实际编程中使用的软件版本:是ZSP500 SDK5.2,可以使用汇编和C两种编 17 重庆邮电大学硕士论文 第三章AMR语音编码模块的软件实现及代码优化 程语言。在代码编写过程中,对控制性的语句采用C语言编写,从而利于程序的可 读性;对调用次数较多的函数和算法较复杂的代码则用汇编语言编写,利于代码 的执行效率。 ①C中嵌套汇编语言 ZSP500编译器既可以编译C代码也可以编译汇编代码,涉及到在C中嵌套汇 编语言(如:设置控制寄存器状态),可以使用“asm指令实现在C中内嵌汇编指 令,“asm”指令的基本语法如下: asm(“paramcterizedassembly”: variable,…: output inputexpression,...: . clobbered explicitly register,…k 当需要与C与汇编中传递变量和参数123】时,调用较为复杂,而且这种情况使 用很少。如果不存在参数传递,我们只需要在aSmf)中直接嵌入汇编指令即可。如: asm(“bits%smode,7”); ‘ ②c语言参数传递 译器的一种)编译工具。此时的参数传递采用如下规则(

本文链接:http://diverlandya.com/duandianbianma/572.html