文献标识码: A
文章编号: 0258-7998(2014)09-0024-03
随着现代网络的飞速发展,声纹因其采集方便,成本低,易于在网络中进行传输,而作为一种应用在互联网和电话网中的认证技术变得越来越重要[1]。由于声音采集的环境复杂,背景噪声经常是非平稳的,诸如在办公室、街道和工厂等,正确区分语音和噪声是系统正常工作的保证。因此音频信号的预处理成了整个设计的关键部分[2]。
为完成音频信号的预处理,有些人在MATLAB中编写代码完成滤波器设计,但是它不能在硬件上实现SOPC设计;有些人采用Verilog 语言直接在FPGA中实现,但是它需要对Verilog语言十分熟悉[3]。本文提出一种利用DSP builder技术设计滤波器,既不需要对Verilog语言十分熟悉,还可以借助Simulink平台完成基于线性相位结构和DA算法的音频滤波器结构设计,最后通过Signal Compiler转换为HDL语言,实现由算法级到RTL级的转换[4-8]。
1 系统功能结构设计
1.1 系统流程
本系统设计包括滤波器参数设计、滤波器结构设计、MATLAB理论计算、ModelSim时序仿真和板级验证等流程,如图1所示。
1.2 滤波器参数设计
本文中的滤波器采用线性相位结构和DA算法[9-12],它的系数是对称的,即h(n)=±h(N-n-1)。系数使用SystemVue软件获取,并在MATLAB中进行量化。
1.2.1 SystemVue设计滤波器参数
打开SystemVue软件,在空白处右键选择linear sys filters,选择菜单栏中的filters,选择汉明窗,截止频率使用归一化频率设置为0.45,如图2所示,最后得到如图3所示滤波器的时域图。
1.2.2 滤波器系数
SystemVue设计出的12阶系数,如表1所示。
1.3 滤波器结构设计
打开MATLAB2009b,在Command窗口输入Simulink,新建一个model文件,打开Altera DSP Builder库,选择组件,包括延时模块、Parallel Adder Subtractor、Bus Splitter、Data type conversion、Look-up table、Product等,完成一个12阶的线性相位结构和DA算法的滤波器模块设计,如图4所示。
它是由3个4阶滤波器子系统组成的,一个4阶滤波器子系统的内部结构如图5所示。
图5 4阶线性相位滤波器
2 Verilog HDL语言生成
在Simulink中添加Signal Compiler组件,点击图标进行设置,就可以完成HDL代码的生成,设置如图6所示。
3 仿真与验证
3.1 下载
首先在Quartus II中点击编译按钮,之后出现详细的存储资源分配情况,可看到存储资源类型、存储器位宽和深度以及存储量大小,还有初始化文件映射等,如图7所示。
3.2 仿真
在Simulink中添加Source为一个幅值为10的方波信号,Sink为信号显示器,仿真结果如图8所示。
在Quartus II中进行ModelSim仿真,结果转化为十进制,如图9所示。
为验证音频滤波器设计的准确性,在MATLAB软件中编写滤波器的卷积公式,计算得出的理论结果和Simulink仿真的结果进行比较,由表2可看出两者的数值很接近,可看出本文设计是准确的。
本文在DE2开发板上完成了音频信号的采集和预处理,在Simulink中完成线性相位结构和DA算法的滤波器的模块设计,由Signal Compiler转换为HDL代码烧写到板子中,节省了大量的编程时间,减少了设计音频滤波器的复杂度。把Simulink仿真值和MATLAB理论计算值进行对比,结果很接近,可验证设计的准确性。本文使用的SOPC设计,大大缩短设计周期,这将为后续的用于互联网和电话网的声纹特征提取系统的设计提供便利。
参考文献
[1] 陈拥权,张羽,胡翀豪,等.声纹识别技术及其应用前景分析[J].网络安全技术与应用,2013(11):24-25.
[2] 李琳琳,秦敏.音频异步采样率转换IP的设计及联合仿真[J].电子技术应用,2013,39(6):121-123.
[3] 蒋小燕.MATLAB/FPGA/Dsp builder在《数字信号处理》课程教学中的应用[J].软件导刊,2013,20(4):197-199.
[4] 郑争兵.基于DSPBuilder的FIR数字滤波器设计与仿真[J].陕西理工学院学报(自然科学版),2013(2):34-38.
[5] 单文军,周雪纯,李文华.基于FPGA的FIR数字滤波器设计与实现[J].现代电子技术,2013,36(14):123-126.
[6] 陈勇,南玲巧,任鹤翔,等.基于SOPC的网络入侵检测中模式匹配系统设计[J].电子技术应用,2011,37(11):13-16.
[7] 杜友杰,王紫婷.基于DSP Builder的数字滤波器设计与实现[J].电子测试,2012(8):43-46.
[8] GHAMKHARI S F,GHAZNAVI G M B.A new low-power architecture design for distributed arithmetic unit in FIR filter implementation[J].Circuits,Systems,and Signal Processing,2014,33(4):1245-1259.
[9] Wei Ling,Yang Rijie,Cui Xutao.Design of FIR filter based on distributed arithmetic and its FPGA implementation[J].Chinese Journal of Scientific Instrument,2008,29(10):2100-2104.
[10] 李俊,刘淮霞,朱丹,等.基于FPGA技术的FIR数字滤波器的设计[J].数字技术与应用,2012(2):104-105.
[11] 单文军,周雪纯,李文华.基于FPGA的FIR数字滤波器设计与实现[J].现代电子技术,2013,36(14):123-126.
[12] 夏瀑.基于分布式算法的 FIR 滤波器设计及FPGA实现[D].大连:大连海事大学,2008.