所以,在本系统中,首先要进行距离匹配,使各路信号基本实现相位之间的匹配。下面给出两个具体的方案:①采用频域的分析方法,将语音信号解析,然后根据麦克风之间的距离计算相位差,之后补偿。②在数据流中加入数字滤波器,使滤波器的相频相应恰恰可以补偿相位差。前者较为精细,处理效果好,但是要耗费大量的系统资源;后者是较为通用的方案,虽然不能实现完全的匹配,但是效果还是可以接受的。
4.3用户特色语音设定
由用户预先在较为安静的环境中进行麦克风测试。用户对着主麦克风说话,然后由内部的匹配算法,将各个方向的麦克风的信号收集然后根据用户的语音信息进行合理的配置,尽量增大各个麦克风的该用户的语音特征音量输出。
之后,在噪声环境中,用户可以选择相应的配置,增大用户的特征音量,减小环境噪声。如果噪声的频率特性较用户语音的差别较大,这种方法就比较有效。
4.4其他语音滤波算法的应用
随着DSP(数字信号处理)技术的发展和在各种应用中的深入,数字信号处理算法的研究是当前的一个热点。其中自适应滤波算法以其卓越的自学习和自跟踪性能在以上的产品中得到广泛的应用,也是本文要研究的方向。自适应滤波的基本理论通过几十年的发展己日趋成熟,近十几年来自适应滤波器的研究主要针对算法与硬件实现。算法研究主要是对算法速度和精度的改进,其方法大都采用软件C、MATLAB等仿真软件对算法的建模和修正[11]。
自适应滤波算法有以下几种常见的实现方式:RLS算法,SIGN一ERROE一LMS算法,LMS算法,NLMS算法。而本系统可以根据不同的噪声背景选择,不同的消噪模式。
5.设计流程
SOC设计一般采用经典的自顶向下的设计流程。它开始于规范制定、功能划分,结束于系统集成和验证。主要包括以下步骤:① 为系统和子系统制定全面的设计规范。② 精简设计中的结构和算法。如果必要的话,包括软件设计和软硬件协同仿真。③ 把芯片功能划分为定义好了的核。④ 设计或者选择合适的核。⑤ 把核进行集成,进行功能验证和时序验证。⑥ 把子系统或系统提交给下一级更高层次的集成,如果是最顶层,则可以Tapeout(投片)⑦ 验证设计的所有方面(功能、时序等等)。
图 4 SOC设计流程
本系统做为SOPC设计方法的独特之处在于:1.高级算法建模,可以利用matlab仿真之后,使用DSPbuilder将算法生成为VHDL的硬件描述语言代码,直接在FPGA中生成电路,验证算法。相对于仿真模拟,可靠性进一步增加。2.由于采用SOPC的设计方案,在整个系统设计完成后,可以利用FPGA直接做成板级产品,投入市场。现在的低端FPGA的成本已经下降很多,对于本应用的规模电路设计,其完全可以满足需求。待市场明细后,可快速生成SOC方案,进一步降低成本,降低投资风险。
6.可行性分析
麦克风的差动结构之前就有人研究过,不过都是很简单的直接将不同方向的信号进行相减操作,未充分考率信号中的相位延迟问题。对于相位调制的方法,使用FFT硬件算法的方案已经比较成熟。
OR1200已经比较成熟。当使用0.18 m和6层金属工艺时,OR1200的主频可达300 MHz,此时可以提供300 Dhrystone 2.1 MIPS和300M 次/秒的32×32的DSP乘加操作能力[12]。OR1200在2002年9月被FlextronICs公司选中,用于集成在Flextronics的设计中,并提供商业服务。2003年8月,Flextronics公司成功实现了集成OR1200、10Mbps/100Mbps自适应以太网MAC控制器、32位33MHz/66MHzPCI接口、16550兼容UART和Memory控制器的SoC芯片,并成功运行了μClinux和Linux操作系统。另外,由于OR1200是由OpenCores组织负责开发和维护、免费、开源的RISC处理器内核家族,现在其已经支持以下IP:
·Wishbone 总线互连
·CPU Debug 模块;
·通用 I /O 控制器;
·片内高速 RAM 控制器;
·16550 兼容 UART 控制器;
·Memory 控制器;
·10Mbps/100Mbps 自适应以太网 MAC 控制器;
·VGA/LCD 控制器;
·8042 兼容 PS/2 控制器。
故OR1200能满足一般的用户需求,而且其开源性将引来更多的开源IP的加入。
上一篇:SoC测试的概念及实例解析