频率计权网络的数字电路实现

http://img1.qikan.com.cn/qkimages/moet/moet201519/moet20151925-1-l.jpghttp://img1.qikan.com.cn/qkimages/moet/moet201519/moet20151925-2-l.jpghttp://img1.qikan.com.cn/qkimages/moet/moet201519/moet20151925-3-l.jpghttp://img1.qikan.com.cn/qkimages/moet/moet201519/moet20151925-4-l.jpghttp://img1.qikan.com.cn/qkimages/moet/moet201519/moet20151925-5-l.jpg
  摘 要: 提出一种频率计权网络的数字电路实现方案,详细阐述由滤波器设计工具生成频率计权滤波器,然后采用HDL代码生成工具将其转换成可移植、可综合的能在FPGA上实现的HDL代码,分别在软件和硬件上进行仿真验证测试的过程。结果表明,设计的频率计权网络符合计权特性及允差标准,且采用此方法设计的频率计权网络简化了电路结构,操作简单,降低了功耗、成本,节省了资源,提高了效率,能快速得出信号的频率计权值。
  关键词: 频率计权; HDL代码; 数字电路; FPGA仿真
  中图分类号: TN711?34 文献标识码: A 文章编号: 1004?373X(2015)19?0094?04
  Abstract: An implementation scheme of digital circuit for frequency weighting network is presented. The frequency weighting filter generated by the filter design tool is described in detail, which is converted into transplantable and synthesizable HDL code by using HDL code generation tool, and can be implemented on FPGA. The test process of the filter model was simulated and verified respectively by software and hardware. The test results show that the designed frequency weighting network conforms to weighting characteristic and tolerance standard, and can simplify circuit structure and operation, reduce power consumption and the cost, save resources and improve efficiency. The frequency weighting value of the signal can be obtained quickly.
  Keywords: frequency weighting; HDL code; digital circuit; FPGA simulation
  0 引 言
  人的耳朵听到声音后的感觉,不仅与声的强度有关,而且与声音的频率有关。一般情况下,人耳对高频段的声音比较敏感,而对低频段的声音感觉不明显,即使是声压级相同的声音,频率不同也可能听起来不一样响[1?2]。为了正确认识声音的特性,进行噪声测量及分析,预防噪声对人耳产生危害,根据等响度曲线对接收到的声音信号进行频率计权滤波,以模拟人耳的响度感觉特性[3]。频率计权在噪声测量及分析中有很重要的作用,它是一种模拟人耳对不同频率的声音感觉不同的特性,使计算出的声压级与人耳所到的感觉一致的网络,其实质就是对声音信号进行滤波处理[4?6]。传统的办法是用模拟电路实现频率计权网络[7],这种方法采用了大量如电阻、电容等模拟器件,结构复杂、成本高、功耗大,其稳定性、可靠性、性能指标很难做好,而且不方便调试[8]。目前,很多是通过计算机,ARM,DSP等软件方法实现频率计权网络,该方法程序代码复杂,占用资源多[9?11]。
  本文提出一种频率计权的电路级实现方案,以减少程序代码设计复杂和硬件电路调试不便等问题。该方法是数字化全电路实现,占用资源少、速度快、功耗低、可移植性好,适合FPGA以及ASIC实现。
  1 频率计权特性
  频率计权的基本定义是指幅度稳定不变的输入信号级与实际测量输出信号级两者之间作为频率函数关系而规定的差值, 频率计权值用分贝(dB) 表示[12]。为了更好地模拟人耳听觉在不同频率处不同的灵敏度,声级计的频率计权主要有A和C计权[13?14]。
  A计权网络是模拟人耳对55 dB以下低频噪声的响应,电信号在中、低频段(1 000 Hz以下)有较明显的衰减。C计权网络是模拟人耳对高强度噪声感应的频率特性[15]。
  由幅频特性可以看出,A计权滤波器对其低频、中频段(1 000 Hz以下)有较大的衰减;在整个频率范围内C计权滤波器的响应近乎平直。将仿真出来的结果与频率计权允差表[15]比较可以得到,设计出的频率计权符合表中的允差标准,说明设计出来的结果符合要求。
  将滤波器设计工具实现的频率计权滤波器算法转换成硬件在FPGA中实现,就需要设计HDL代码。滤波器代码生成工具利用已生成的代码和模型生成可移植和可综合的VHDL或Verilog HDL代码[19],且生成的代码可读性较高,可用于FPGA编程设计,并在开发板上进行验证[20?22]。
  生成代码时在计权类型中分别选择A,C计权方式,在音频系统中抽样频率一般都是48 kHz。由于用于FPGA编译仿真的软件Quartus Ⅱ不支持浮点型数据,为了使滤波器在FPGA硬件上实现,就需要对生成的滤波器数据类型重新定义,使数据更符合FPGA的处理方式[23]。在设计中把数据进行量化,进行定点仿真。由滤波器设计工具得到滤波器的系数,根据频率计权精度要求将系数量化,得到定点型数据[24?25]。考虑到滤波器的精度以及节省资源的问题,选择合适的字长范围进行分析。如图4所示,滤波器系数的字长为12,可看出滤波器的系数定点化后,幅频响应与未定点化的响应相差很大,所以应当提高系数的字长以减小误差[25]。