datasheet

基于TMS320C64x DSP/BIOSⅡ的嵌入式语音采集与盲分离系统设计

2008-06-04来源: 电子技术 关键字:BIOS  盲分离  语音信号  BSS  嵌入式  矩阵A  DSP芯片  移位寄存器  语音

  1 概述

  盲信号分离(BSS)是指在对彼此独立的源信号的混合过程及各源信号本身均未知的情况下,如何从混合信号中分离出这些源信号。BSS可以用来从多个话筒混合语音信号中提取出单个的语音信号。然而,现有的BSS算法比较复杂、运算量大、实时性差,不能满足语音处理对实时性的要求,从而限制了它的硬件实现和应用。

  随着IC技术的发展,DSP芯片的功能越来越强大。以数字器件特有的稳定性、可重复性、可大规模集成,特别是可编程性高和易于实现自适应处理的特点,DSP芯片从另一个方向解决了像BSS这样复杂算法的实现问题。由于系统开发中的复杂硬件功能现在均已集成到了DSP芯片中,系统开发人员只需选择合适的芯片并根据该硬件结构来设计软件即可。因此,系统开发的主要难度已经转移到了软件设计上。而传统的编程方式很难应付日益复杂的算法、系统设计,编程难度很大。DSP/BIOS II是TI公司为它的TMS320C5000和TMS320C6000系列DSP而设计的、免费的、用于复杂系统开发与应用的、可裁减的多任务实时内核,它大大地简化了程序设计的难度和提高了系统的稳定性。

  本文利用TMS320C6416 DSP设计出了基于DSP/BIOS II的、高性能的嵌入式混合语音盲信号分离系统。该系统通过采集的两路混合语音信号进行BSS,能实时地输出分离的语音信号。

  2 盲信号分离

  盲信号分离可以用下面的混合方程描述:

  

  式中为n个源信号构成的n维向量;为m维观测数据向量,它的元素是各个传感器得到的输出;mn维矩阵A称为混合矩阵,它的元素表示信号的混合情况。式(1)的含义是n个源信号通过混合得到m维观测数据向量。盲信号分离问题的提法是:在混合矩阵A和源信号未知的情况下,只根据观测数据向量) X (t)确定分离矩阵W,使得变换后的输出是源信号向量) S(t) 的复制或估计。

  

  图1示意了这一过程。最大熵(ME)算法、独立成分分析理论(ICA)、最小互信息量(MMI)算法和最大似然盲信号分离(ML)算法是几种常用的盲信号分离算法。

  

  3 系统设计

  本系统用TMS320C6416芯片的2个McBSP和EDMA来实现语音信号的采集、数据的传递和分离语音的输出。

  3.1 系统硬件设计

  32 位定点TMS320C6416芯片是TI公司TMS320C64x系列DSP的代表产品,其时钟频率为400 ~600MHz,可以同时执行8条32位指令,最大峰值速度为4800MIPS。外设资源十分丰富,其中包含一个具有64个独立通道的增强型存储器直接存储(EDMA)控制器和3个多通道缓冲串口(McBSP)。

  用于语音数据转换的ADC和DAC很多,如TI公司生产的语音信号编码解码芯片TLC320AD50,ADI公司的AD1674等。由于C6416的McBSP通道含有μ律和A律压扩硬件,支持对输入数据的μ律或A律扩展以及对输出数据的μ律或A律压缩,又美国国家半导体(NS)公司的A律编解码芯片TP3057为8位的串行A律压扩编解码器,包含一个利用D/A、A/D转换结构的A律脉冲编码调制的编/解码器电路和一个串行PCM接口。因此,我们选用作TP3057为ADC和DAC。

  系统选用两片TP3057,它们把用麦克风采集到的语音信号数字化(8kHz的采样频率),输出8位A律PCM码。同时,其中一片TP3057还将C6416 McBSP输出的A律PCM码解压缩后,通过扬声器输出。图2所示为TP3057和C6416的接口图。

  

  我们将C6416的McBSP0和McBSP2分别与两片TP3057相连,采集两路混合语音信号,TP3057(1)还会输出分离语音信号。TP3057将模拟混合语音信号转换为8位A律PCM码,然后在FSX为低期间,C6416通过McBSP接收PCM码,经McBSP A律解压缩后放入DRR中,再由EDMA控制器将数据从DRR中读到L2中的SDRAM指定单元,最后进行BSS处理。分离语音信号由EDMA送到McBSP0中的发送寄存器(DXR),经过A律压缩后送入发送移位寄存器,然后在FSR为低期间,经接口送到TP3057(1)。TP3057(1)把数据A律解压缩后用扬声器输出。

  3.2 嵌入式设计

  DSP/BIOS II是TI为它的TMS320C5000和TMS320C6000系列DSP开发的一个免费的、用户可剪裁的实时操作系统,集成在TI的Code Composer Studio集成开发环境之中,主要由四部分组成:抢占式多任务实时内核、配置工具、实时分析工具和芯片支持库。利用此实时操作系统,可以方便快速地开发复杂的DSP程序。操作系统维护、调度多线程的运行,只需将定制的数字信号算法作为一个线程嵌入系统即可;芯片支持库帮助管理外设资源;复杂的外设寄存器初始化可以直接利用图形工具配置;实时分析工具可以帮助分析算法实时运行情况。DSP/BIOS II以模块化方式提供给用户,对线程、中断、定时器、内存资源、所有外设资源的管理能力都可以根据需要剪裁。实际应用中需要定制的算法作为一个线程插入队列,由DSP/BIOS II进行调度。

  在本系统中,需要用DSP/BIOS II的配置工具来配置生成一个软件中断(BssSWI)、三个PIP对象(DSS_rx1Pipe、DSS_rx2Pipe和DSS_txPipe)、一个硬件中断(HWI)。BssSWI实现BSS。三个PIP对象完成与语音编解码芯片相连接的串口和软件中断之间的数据交换,语音编解码芯片采集到的两路语音数据流向串口,然后经DSS_rx1Pipe和DSS_rx2Pipe送到软件中断,软件中断对两路信号进行盲分离(BSS),然后将分离出来的信号DSS_txPipe送回串口ISR,最后送到语音编解码芯片输出。程序信号流程图如图3所示。

  

  图中三个PIP对象中的DSS_rx2Pipe和DSS_rx1Pipe分别对应着SWI邮箱中的bit2和bit1,DSS_txPipe对应着SWI邮箱中的bit0,初始值均为1,通过这三位来实现同步。当ISR接收到一满帧信号,就会调用相应的SWI_andn( ) 来清除SWI 邮箱中的相应位(如DSS_rx1Pipe调用SWI_andn(1)来清除邮箱中的bit1)。而且, 当出现一个空的数据接收块时,将调用SWI_andn(0)来清除邮箱中的bit0。一旦bit2、bit1和bit0均为0时,触发BssSWI,就调用Bss( )来进行盲信号分离。

  4 结束语

  本文设计了一个高性能的、基于DSP/BIOS II的嵌入式混合语音信号的采集与盲分离系统,采集到的数据经过DSP的McBSP和EDMA通道直接被送到片内存储器堆栈中,然后进行BSS,将混合语音分离出来。系统还采用了实时操作系统DSP/BIOS II,大大地简化了编程的难度和提高了系统的实时性和稳定性。由于该系统结构简单、实时性好、性能稳定和易于集成,所以在移动通信终端有广泛的应用空间和良好的市场前景。

  另外,由于BSS算法复杂,在一定程度上影响了整个系统的性能。因此,要想进一步提高系统的实时性,研究简单的、易于实现的、鲁棒性好的BSS算法是十分必要的,这也是我们的下一步工作。

关键字:BIOS  盲分离  语音信号  BSS  嵌入式  矩阵A  DSP芯片  移位寄存器  语音

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/afdz/2008/0604/article_737.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于MPC82xx处理器和专用编解码芯片的DVR设计
下一篇:基于无线传感器网络的监狱安防系统设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

戴尔紧急叫停Intel平台BIOS更新:会频繁重启/死机

  1月23日,Intel在官网发布声明,称已经找到了Broadwell和Haswell平台在修复Spectre安全漏洞中出现重启问题的根本原因,新的测试版正在客户处测试。下面就随嵌入式小编一起来了解一下相关内容吧。  与此同时,他们叫停了老版本补丁的部署工作,也就是不要安装BIOS更新。  对此,戴尔(Dell EMC)已经火速响应,最新的知识库文档建议尚未进行BIOS更新的立即暂停,已经更新BIOS的应该尝试回退到旧版。  戴尔将问题原因归咎于Intel提供的固件,因为它导致了系统重启和死机。  目前,戴尔已经从官方渠道移除了所有受影响的BIOS,会和Intel方面紧密合作,尽快拿出新版。  据悉,在Spectre漏洞
发表于 2018-01-25
戴尔紧急叫停Intel平台BIOS更新:会频繁重启/死机

英特尔:重启BUG原因查明 先别更新BIOS

  CPU漏洞Meltdown和Spectre爆发以来,问题依然是连绵不绝。迄今,桌面平台的Intel和AMD也没有得到100%的修复(主要是老平台的工作较多),移动平台如ARM阵营则缺乏透明度。下面就随手机便携小编一起来了解一下相关内容吧。 英特尔:重启BUG原因查明 先别更新BIOS  据Intel 1月23日的官方消息,1月11日发现的Haswell和Broadwell平台在借助主板BIOS升级以根除Spectre漏洞的过程中造成了系统重启的不稳定现象,目前已经找到了最终的解决方案。  在1月21日这个周末,他们已经向合作伙伴分发了更新,会在最终完工后正式发布。  为此,Intel建议,利用早先版本微码制作的补丁
发表于 2018-01-24
英特尔:重启BUG原因查明 先别更新BIOS

Intel近三年CPU集体曝漏洞:技嘉首发新BIOS修复

N/J系列  需要注意的是,企业级的Xeon E7/E5系列并不受影响。 Intel近三年CPU集体曝漏洞:技嘉首发新BIOS修复  Intel表示,已经开发了修复补丁,但不同于操作系统,处理器升级需要主板、整机伙伴协作才行,这就看各家厂商的诚意了。  事发之后,主板大厂技嘉迅速发布公告称,已经为旗下主板产品部署安全措施,可以修复Intel ME管理引擎、TXE可信赖执行引擎中的安全漏洞。  技嘉主板用户只需刷入最新的BIOS,并更新ME、TXE驱动程序,即可确保安全。  技嘉表示,Z370、200系列主板首批更新,旧款型号也将随后跟进。  Intel近三年CPU集体曝漏洞:技嘉首发新BIOS修复   
发表于 2017-11-29
Intel近三年CPU集体曝漏洞:技嘉首发新BIOS修复

电子早报:OPPO Q3位居第一 英特尔将淘汰PC BIOS

  近日,苹果又一项无线充电专利曝光;世界无人驾驶汽车数量至2020年将超过15万辆;全面屏后,苹果可折叠iPhone出现;Q3国内华为并不是第一, 小米也不是第五;英特尔2020年之前淘汰PC BIOS;中移动狂投8400万元复活新飞信,下月启动商用……详情资讯,尽在电子早报今日看点……下面就随手机便携小编一起来了解一下相关内容吧。  苹果又一项无线充电专利曝光  Pantenlyapple 网站在欧洲专利系统中发现苹果一项与感应式充电系统有关的专利申请,与苹果上月在美国专利商标局中申请的一样。该专利涉及到一种可以为 iPhone 和其他设备充电的充电器。按照苹果专利的描述,上图中黄色部分为感应充电接收器,可以置于 iPhone
发表于 2017-11-27

一个时代的结束:英特尔决心淘汰PC BIOS

Intel已经决心在2020年之前,彻底淘汰PC BIOS,全面向UEFI固件过渡,而这也意味着一个时代的终结。1981年,IBM推出第一台PC,当时BIOS就是PC的关键部分。BIOS全称是BasicInput/Output System,其是一小段代码,植入PC主板,负责处理硬件的基本初始化、启动任务。当我们启动PC时,首先就是BIOS检测硬件,检查完之后就会加载操作系统,运行系统。然后提供一些基本系统服务,比如接收键盘输入指令,在屏幕、硬盘上阅读/书写内容。为了在2020年彻底淘汰BIOS,Intel在2011年推出Sandy Bridge处理器时,PC硬件开始向UEFI转移。到了今天,UEFI无处不在,基本上所有X86系统
发表于 2017-11-25

AMD RX Vega 64刷入不同BIOS:结果迥异

日前有玩家在AMD新款次旗舰卡RX Vega 56上刷入旗舰卡RX Vega 64的BIOS,结果发生了神奇一幕,被屏蔽的流处理器没有打开,但是频率和功耗上去了,性能直追老大哥!难道又要上演开核好戏?外媒VideoCardz近日拿到了自己的风冷版旗舰卡Vega 64,入手第一时间不是跑分,而是开刷BIOS,而且一连刷了五个。首先需要指出的是,RX Vega显卡依然都有两组BIOS,其中一组无法修改和刷入替换,另外一组则有更高的功耗限制(频率也能跑得更高)。实测表明,如果在Vega 64显卡上刷入Vega 56 BIOS,无论是哪一个,都一切正常,而且流处理器数量会变成Vega 56的3584个!有趣的是,刷回Vega 64
发表于 2017-09-05
AMD RX Vega 64刷入不同BIOS:结果迥异

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">