由于本模块计算得到的平均能量仅用于同语音判决模块中的门限比较,出于节省硬件资源的考虑,该平均能量和语音判决模块中的门限均不化成dB单位。通过Matlab仿真验证,这种做法并不会影响到最后的判决结果。加窗、平均能量计算模块的处理延迟为5个时钟周期,图6为本模块的结构框图。图中的ready_out信号为高通滤波模块完成一次滤波计算后输出的数据可读信号,aCC_clken信号为累加器的时钟使能信号。
2.4 语音判决模块
根据计算出的当前帧的平均能量以及之前帧的情况,判断该帧是否为语音帧。通过使用四个标志位:frame_attribute[2:0]和smooth来决定是否需要进行平滑,其中,frame_attribute[2:0]记录前三帧的属性,smooth记录前三帧中是否存在非平滑过的语音。此模块的处理延迟为1个时钟周期。
2.5 控制模块
控制模块控制高通滤波、加窗、平均能量计算以及语音判决模块的运行,并且根据实际情况对门限进行更新。
2.6 系统综合结果
表2为本设计在两款 FPGA 芯片上的综合结果。
综合结果显示,本设计在硬件上占用的资源较少,并可在低成本的FPGA(考虑到成本,选用CycloneII系列的EP2C5T144C7)上实现。因此本设计也可以与其他数字语音处理模块一起构成完整的语音处理芯片。
2.7 仿真结果及分析
图7为ModelSim仿真结果。图中最后一行信号为检测结果,高电平表示语音,低电平表示静音。由仿真结果可以看到,所设计的FPGA可以满足准确性及实时性的要求。
由前面各个模块的分析结果可以推算出,本设计在采集完一帧数据、在14个时钟周期后可将判决结果输出。
本文介绍了基于 短时能量 和短时 过零率 的 VAD算法 的FPGA实现。整个系统采用VHDL进行描述,并进行了仿真,验证了设计的正确性。系统的时钟频率可达46.22MHz,可在采集完一帧数据后的302.90ns内输出检测结果,符合实时性的要求。由于本设计采用VHDL进行描述,因此具有可移植性,同时由于设计所使用的硬件资源并不多,因此也可以作为一个模块应用到其他系统中。
参考文献
1 BRADY P T. A technique for investigating on-off patterns of speech[J]. Bell Syst Tech J, 1965;(44):1~22
2 GERSHO A,PAKSOY E. An overview of variable rate speech coding for cellular networks[A]. IEEE Conf Selected on TopICs Wireless Commun[C]. Vancouver, 1992;172~175
3 吴智勇.VoIP中语音压缩CODEC的研究与实现.硕士论文.南开大学, 2003
4 ITU-T Rec.G.729,Coding of speech at 8 Kbit/s using conjugate-structure algebraic-code-excited linearpreDICtion(CS ACELP) [S]. 1996
5 Parhi K K.VLSI digital signal processing systEMS: Design and Implementation. 北京:机械工业出版社,2003
6 Kuo S M, Lee B H著,卢伯英译.实时数字信号处理.北京:中国铁道出版社,2004
7 韩雁,姚庆栋.数字专用集成电路中平方运算的硬件实现.电子科学学刊,1996;18(6)
本文关键字:暂无联系方式DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术