CN102610237A - 两通道卷积混合语音信号盲分离算法的dsp实现系统 - Google Patents
两通道卷积混合语音信号盲分离算法的dsp实现系统 Download PDFInfo
- Publication number
- CN102610237A CN102610237A CN2012100771113A CN201210077111A CN102610237A CN 102610237 A CN102610237 A CN 102610237A CN 2012100771113 A CN2012100771113 A CN 2012100771113A CN 201210077111 A CN201210077111 A CN 201210077111A CN 102610237 A CN102610237 A CN 102610237A
- Authority
- CN
- China
- Prior art keywords
- signal
- circuit
- microphone
- channel
- voice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明提供一种两通道卷积混合语音信号盲分离算法的DSP实现系统,包括嵌入式处理器平台、麦克风接入电路、电源电路和信号预放大电路,嵌入式处理器平台用于完成A/D转换、D/A转换和模拟信号输出,麦克风接入电路包括两个采集语音信号的单声道麦克风和双声道麦克风采集电路,将两个单声道麦克风采集得到双通道语音信号作为线路输入音频输入接口的左右声道信号输入;信号预放大电路将麦克风信号有效放大到线路输入音频接口要求的增益。本发明实现了两个说话人的双通道语音信号的麦克风采集、预放大、语音盲分离、语音播放和存储等多项功能,在离线和在线两种情况下均取得了对真实采集的两说话人混合语音的有效分离。
Description
技术领域
本发明涉及一种针对两通道卷积混合语音信号盲分离算法的DSP实现系统,属于语音信号处理技术领域。
背景技术
盲信号分离技术是一种在源信号、传输通道未知或所知先验知识很少的情况下,仅根据传感器获得的观测信号,通过信号处理算法实现对源信号有效估计的技术。由于语音信号自身的特性,语音盲分离成为盲分离领域中的一个难点与热点,它通常作为说话人定位、语音增强及语音识别等语音信号处理的前端处理,因而在实际应用中具有巨大的潜力和广阔的前景。
语音信号盲分离问题自上世纪80年代初提出以来,经过广大科研工作者20多年的努力,有了很大的进步,出现了许多有价值和性能优秀的算法。但另一方面,这一研究领域中仍然存在着许多问题需要进一步的研究和解决,其中一个重要的问题是目前的混合语音分离大多是基于无噪环境中的瞬时混合模型,而在真实环境下的语音信号盲分离应采用多通道卷积混合模型。针对卷积盲分离问题,目前主要存在两类算法:第一类是时域分离算法,第二类是频域分离算法。频域语音信号盲分离算法相对于时域盲源分离算法来说,因其较小的计算量和良好的分离性能而受到研究人员的关注,因此寻找有效的卷积混合的语音分离方法具有非常重要的理论价值和实际意义。
同时,由于卷积混合模型本身的复杂性导致盲分离的计算复杂度远大于瞬时混合模型,当前绝大多数的算法均是在配置较高的PC机的MATLAB环境下完成仿真与测试,但由于PC机属于通用型设备其功耗较大、专用性较差,同时PC机体型较大便携性也较差,不符合当今科技产品朝着智能化、小型化方向发展的趋势。
发明内容
本发明针对现有实现卷积混合语音信号盲分离算法的技术存在的不足,提供一种两通道卷积混合语音信号盲分离算法的DSP实现系统,该系统将PC下的仿真算法移植到嵌入式平台,在嵌入式平台上实现离线和在线两种情况下对采集的两通道混合语音信号的盲分离。
本发明的两通道卷积混合语音信号盲分离算法的DSP实现系统,采用以下技术方案:
该系统,包括嵌入式处理器平台、麦克风接入电路、信号预放大电路和电源电路:
(1)嵌入式处理器平台:该平台至少具有一个DSP处理器、一个音频编解码芯片、分别适用于麦克风、线性输入、扬声器、线性输出的四个音频接口、一个片外SDRAM(同步动态随机存储器)和一个内置USB的嵌入式JTAG仿真器或者板载标准IEEE JTAG接口,该平台用于完成A/D转换、D/A转换和模拟信号输出;
(2)麦克风接入电路:包括两个采集语音信号的单声道麦克风和双声道麦克风采集电路,两个单声道麦克风与双声道麦克风采集电路连接,两个单声道麦克风与嵌入式处理器平台线路输入(line in)音频接口连接,将两个单声道麦克风采集得到双通道语音信号作为线路输入(line in)音频输入接口的左右声道信号输入;
(3)信号预放大电路:与麦克风接入电路中的双声道麦克风采集电路连接,采用仪器放大器,用于隔离直流信号,完成对双通道语音信号电平增益的有效同等放大,将麦克风信号有效放大到线路输入(line in)音频接口要求的增益;
(4)电源电路:与麦克风接入电路中的双声道麦克风采集电路以及信号预放大电路连接,为双声道麦克风采集电路和信号预放大电路提供+5V和-5V直流电压;
两个单声道麦克风采集的双通道麦克风混合语音信号首先经过信号预放大电路,将信号提升到嵌入式处理器平台上的线路输入音频接口要求的有效增益,然后经过嵌入式处理器平台上的音频编解码芯片将模拟信号量转化为数字信号,再通过增强型(EDMA)将语音数据传输到片外SDRAM中的接收缓冲区中,嵌入式处理器平台中的DSP处理器调用接收缓冲区中的语音数据,在嵌入式处理器平台上的DSP处理器中执行语音盲分离算法完成对两路源信号的估计,再由增强型(EDMA)将分离之后的语音数据填充至片外SDRAM中的发送缓冲区,经音频编解码芯片将数字信号量转换为模拟信号以进行播放或实时存储。
DSP处理器中执行的语音盲分离算法是一种两通道卷积混合语音信号盲分离算法,该算法首先将混合语音信号由时域转换到频域,在每个频点上使用频域独立成分分析(ICA)算法进行盲分离,然后针对ICA算法所存在的排序不确定性问题,进行频点排序,实现每个频点的对准,得到排序后的分离矩阵,最后对混合语音信号进行多通道有限冲激响应(FIR)滤波获得估计的源信号。
DSP处理器中的程序在开发环境CCS下基于DSP/BIOS嵌入式实时内核进行开发、移植与优化。在语音源与麦克风满足一定距离(20-40cm)时,实现了离线和在线两种情况下的两个说话人的混合语音盲分离。最后测试结果显示本发明具有较好的性能,离线情况时,用开关控制语音信号的采集、盲分离算法处理及语音播放存储的启动与停止,可以获得良好性能;在线情况时,假设语音源位置固定,在保证盲分离性能的前提下达到了系统实时连续地运行。
本发明在嵌入式处理器平台上进行拓展,实现了两个说话人的双通道语音信号的麦克风采集、预放大、语音盲分离、语音播放和存储等多项功能,有效解决多任务之间的实时调度,将基于卷积混合模型的语音信号频域盲分离算法移植至目标平台,有效实现了对源信号的有效估计及增强、在离线情况下的混合语音信号的采集与分离以及在线情况下的混合语音信号实时的采集与分离。
附图说明
图1是本发明的系统结构原理框图。
图2是AD620芯片的管脚及放大电路示意图。
图3是本发明中的双声道麦克风采集和预放大电路的原理图。
图4是本发明中的电源电路原理图。
图5是本发明实现两通道卷积混合语音信号盲分离的逻辑原理示意图。
图6是频域语音盲分离流程框图。
图7是语音采集的房间布局示意图。
图8是观测信号、估计信号和真实源信号示意图。
具体实施方式
如图1所示,本发明的两通道卷积混合语音信号盲分离算法的DSP实现系统,包括嵌入式处理器平台(采用C6713 DSK平台)、麦克风接入电路、电源电路和信号预放大电路,各部分具体的设计及功能如下所述:
(1)嵌入式处理器平台
本发明采用的嵌入式处理器平台为C6713 DSK平台,该平台主要包括:1)1个225MHz的C6713 DSP;2)1个TLV320AIC23B立体声编解码器;3)4个3.5mm音频接口,分别适用于麦克风、线性输入、扬声器、线性输出;4)16MB片外SDRAM;5)512KB FLASH闪存(默认只有256KB可用);6)4个用户可控的LED指示灯;7)4个DIP开关;8)内置USB的嵌入式JTAG或者外部仿真器进行仿真;9)板载标准IEEE JTAG接口。
C6713 DSK平台采用一个TLV320AIC23B(以下简称AIC23B)芯片作为音频信号的编解码芯片,AIC23B是一款高性能可编程的立体声编解码芯片,在8K~96KHz的采样频率范围内可以提供16bit、20bit、24bit和32bit的数据转换结果,内部采样率发生器再对12MHz时钟进行下变频以生成一些采样频率如8KHz、16KHz、44.1KHz等,它能够对MIC in接口或Linein接口(不能同时使用两个输入口)的模拟信号采样转换成数字信号供DSP处理;当DSP处理完数字信号后,再将数字信号转换成模拟信号输出到line out接口或耳机接口。
AIC23B的工作原理是通过两个串行通道进行通信,一是控制通道配置AIC23B内部控制寄存器,控制芯片的工作模式;二是数据通道负责发送和接收数字音频信号。控制通道是一个单向通道,CPU通过McBSP0发送16位SPI格式的控制字配置AIC23B,其中控制字的高7位指示内部控制寄存器的地址,低9位用于设置对应的寄存器的配置值,该控制通道只在配置AIC23B时使用,有音频数据传输时控制通道一般是空闲的(idle)。数据通道为双向通道,所有的音频信号均经由McBSP1输入和输出,该通道可以设置成多种数据格式传输,本发明中使用的格式是DSP模式,该模式是TI专门针对DSP的McBSP而设计。
(2)麦克风接入电路
麦克风接入电路采用两个单声道的全指向性驻极体麦克风作为语音采集的传感器,利用line in音频接口具有的左右声道特性,设计了双麦克风接入的采集电路,左右两声道各自对应一通道的麦克风信号。
a.麦克风型号选择
目前市场上可供选择的麦克风主要有三类:动圈式麦克风、电容式麦克风及驻极体麦克风。三种麦克风拾音原理各有特点,因此其使用场景也有所不同。驻极体麦克风因为其性价比最高在市场上最为常见,在电路设计方面对电源的要求较低,仅需3V左右的直流电平就可使其工作,但是由于驻极体麦克的指向性一般是全指向性,导致在广泛拾取说话人语音的同时也容易引入背景噪声,所以噪声水平较高是驻极体麦克的一个缺点。经过实际测试,驻极体麦克引入的噪声不会影响系统的正常运行。相比驻极体麦克,动圈式麦克和电容式麦克的抑制噪声能力要好很多,更进一步的逼近原声,因此这两种麦克的成本也更高,这两种麦克的指向性一般不是全指向性,而是像心形、8字型等对特定方向上有更强拾音能力的指向。在电路设计方面,动圈式麦克较为简单,因为它本身是无源麦克风即它不需要外部直流电源的供电。经测试证明,只需在驻极体麦克采集电路基础上,进行动圈麦克-驻极体麦克的接口转换就可以使动圈式麦克工作,这是由于动圈麦克中设计了隔直流电路。电容式麦克风在电路设计上与其他两种存在较大区别,主要是因为电容麦克风正常工作需要48V幻象电压。另外,动圈麦克通常远距离拾音能力弱。
考虑到语音盲分离的实际应用场景,本发明最终采用单声道的驻极体麦克风,其主要参数如下:咪头尺寸:9.7X4.7mm;灵敏度:-58dB±3dB;方向性:全指向;阻抗:≤2.2KΩ;工作电压:4.5V;频率响应:100-16KHz;信噪比:>60dB。
b.双通道语音信号采集
为了实现语音盲分离算法,要求系统必须能够同时采集接收两路语音信号。如图1所示,C6713 DSK平台上提供两个音频输入接口,一个是Mic in接口,用于单声道麦克风,另一个是line in接口,用于线路电平音频信号,但这两种音频输入接口不支持同时使用。标准的Mic in接口有三个接点:AUD_GND、AUD_MIC_BIAS、AUD_MIC_in,分别为地、音频信号、麦克风偏置电压。标准的line in接口也有三个接点:AUD_LEFT、AUD_RIGHT、AUD_GND,分别为立体声音频信号的左声道、右声道、地。本发明利用line in接口具有的左右声道特性,设计了双声道麦克风采集电路,参见图3给出的双声道麦克风采集和信号预放大电路,利用两个麦克风采集两个不同说话人声音,并通过line in左右声道分别输入,实现了双通道语音信号采集。
(3)信号预放大电路
由于line in接口能接受范围在0.5V到2V的均方根值之间的音频信号,而麦克风信号是非常微弱的毫伏级信号,如果直接接入line in接口,将发生信号太弱会导致引入更多噪声,所以必须设计双通道信号预放大电路。
信号预放大电路的设计有多种方案,如采用可实现自动增益控制的运算放大器、采用普通运放+数控电位器的方法等。考虑到麦克风信号的特点及电路的复杂度,最终采用专用仪表放大器AD620作为信号放大芯片,此芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也很好,且外部接口简单,是进行高精度仪表仪器测量的专用芯片。AD620的管脚图及放大电路图如图2所示,其中1、8引脚要跨接一电阻以调整放大倍率,4、7引脚需提供正负相等的工作电压,由2、3引脚输入需要放大的信号,即可从引脚6输出放大后的电压值。引脚5则是参考基准电压,如果接地则引脚6的输出即为与地之间的相对电压。图3给出了双声道麦克风采集和信号预放大电路的原理图。
(3)电源电路
该电源电路为图3所示的双声道麦克风采集和信号预放大电路提供+5V和-5V直流电压,电路原理图如图4所示,电路采用220V市电经220~9V变压器变压供电,再通过整流、滤波、稳压、再滤波的方法得到内部需要+5V和-5V直流电压,其中稳压器件采用常用的7805、7809(分别稳压至+5V、-5V)。
上述系统实现了两个说话人的声音信号采集、盲信号算法DSP处理及语音回放存储,实现了对源信号的有效估计及增强,主要功能有:
①双声道语音信号采集;
②离线情况下,混合语音信号的采集与分离;
③在线情况下,混合语音信号实时的采集与分离。
如图5所示,上述系统实现实现两通道卷积混合语音信号盲分离的逻辑原理如下所述:
两个单声道麦克风采集的双通道麦克风混合语音信号首先经过信号预放大电路,将信号提升到嵌入式处理器平台(C6713 DSK)上的线路输入(line in)音频接口要求的有效增益,然后经过嵌入式处理器平台(C6713 DSK)上的音频编解码芯片(TLV320AIC23B立体声编解码器)的ADC将模拟信号量化为数字信号,再通过增强型(EDMA)将语音数据传输到片外SDRAM中的接收缓冲区中,嵌入式处理器平台中的DSP处理器调用接收缓冲区中的语音数据,在DSP处理器中执行语音盲分离算法完成对两路源信号的估计,再由增强型(EDMA)将分离之后的语音数据填充至片外SDRAM中的发送缓冲区,经音频编解码芯片的DAC转换为模拟信号以进行播放或实时存储。
本发明中采用的两通道卷积混合语音信号盲分离算法属于频域算法,其流程如图6所示:
首先将时域上的混合语音信号进行短时傅里叶变换(STFT)到频域,在每一个频点上使用频域独立成分分析(frequency domain ICA)算法进行盲分离,由于ICA算法固有的排序不确定性问题,故需要解决频域盲分离排序问题才能获得正确的排序矩阵。
本发明使用的排序算法基于论文“A three-stage permutation approach forfrequency-domain blind source separation”,Qian Wang,Ju Liu,Jun Du,Ning Lv,Zhaochen Liu,Yujun Li,3th International Conference on Awareness Science andTechnology(iCAST 2011)(一种针对频域盲分离的三步排序算法,2011年第三届iCAST会议)。下面简要叙述排序的三个步骤:
1)基准频点的对准:选取基准频点进行对准,在所有频点中选取基准频点,根据对于同一个语音信号在不同频点上能量随时间呈现相似的变化这一特点对基准频点进行排序;
2)剩余频点的对准:根据已排序好的基准频点对剩余频点进行排序,每个剩余频点都有对应的基准频点,对应的基准频点是指距离该剩余频点最近的基准频点,利用已排序好的基准频点,根据同一语音信号在相邻频点上的幅度相关性这一特点,对每个剩余频点进行排序;
3)补充性对准:标记可能出现排序错误的频点,利用基于分离矩阵的到达角(DOA)估计进行补充性对准,对步骤2)中可能出现对准错误的频点用基于DOA估计的排序方法进行重新排序。
由此在每个频点上都得到了排序好的分离矩阵,对其进行离散傅里叶逆变换(IDFT)得到时域上的分离矩阵,然后通过对混合语音信号进行多通道FIR滤波得到估计的源信号。
本发明的优化方案:
(1)编译环境级优化
a.CCS编译器设置
TI C6000的CCS编译器可以通过对代码进行各种级别的优化,以减小可执行目标文件尺寸提高代码的执行速度。经过测试,系统选择执行-O2级别的优化。编译器所做的优化包括进行软件流水,进行循环优化,删除全局共有的子表达式,删除全局未使用的赋值语句,把循环中的对数组的引用转变为递增的指针形式进行循环展开。
b.存储器分配策略
C6713片内采用基于二级缓存的存储架构,4KB直接匹配的L1P(Program Cache),4KB可匹配的L1D(Data Cache),256KB L2 Cache为程序及数据共享,在存储空间映射为0X00000000-0X00040000,片外扩展16MB的SDRAM,在存储空间的映射为0X80000000-0X81000000。
存储器的层次结构服从金字塔型,更快更小同时成本更高的存储器在更高一层。利用基于SRAM的L1、L2高速Cache存储器特别重要,这是因为从高速Cache存取数据的性能比从片外SDRAM存取数据的程序运行速度快过一个数量级。但是在算法的代码中,特别是数据(data)所占空间远远大于片内存储空间,不可能将其全部配置于片内RAM,因此本发明需要合理地配置片内与片外存储空间,将程序所使用的代码和数据有效地分配在存储空间中,最大限度地发挥DSP的处理性能。
由于算法的数据结构复杂多样,数据量大,经过反复调试,本发明将如下段.bss,.far,.data段分配到片外RAM,其余段.text,.stack,.cinit,.switch及与DSP/BIOS系统相关的段均分配在片内RAM。同时考虑到程序的空间复杂度,本发明将堆(heap)分配在片外RAM,在存储空间的映射地址为0X80000000-0X80a00000,大小为8MB,这样就可以有选择地指定时间局限性不高的数据结构动态的创建与释放。此外,将栈(stack)的大小设置为最大值0Xffff,以最大限度地提高数据的访问速度。
c.使用TI提供的优化函数库
由于TI提供的函数库是已经高度优化后的运算函数,所以只需在链接时调用库中相关的链接目标文件(.o)。经测试发现,使用这类库函数对算法进行优化可以大大提升算法的性能,为算法的实现带来极大的便利。本发明的程序中主要用到以下两个函数库:针对浮点型数据数学函数运行时的快速支持库TMS320C67X FastRTS Library和常用的数字信号处理运算库TMS320C67X DSPLib。
d.为保证实时连续性所采取的处理措施:乒乓缓存(Ping-Pong buffering)传输技术和EDMA通道链接(EDMA Linked)传输技术。
若要达到连续实时处理,那么当接收缓冲区存满之后,DSP必须在下一个新的音频数据到来之前处理完整个接收缓冲区,否则新数据就将覆盖在接收缓冲区。为了解决这一问题,引入了Ping-Pong缓存传输机制,即在发送端和接收端各使用两个缓冲区,一个Ping缓冲区和一个Pong缓冲区。这种传输机制的基本思想是:当系统在填充Ping缓冲区时,CPU处理Pong缓冲区中的数据,确保当前的数据传输不会对Pong缓冲区进行重写;当Ping缓冲区填充完毕,CPU转向处理Ping缓冲区中的数据,同时新的数据传输对Pong缓冲区进行填充,这一过程以此反复。因此只要再通过其他的优化方案保证CPU处理数据的时间少于采集满一个缓冲区的时间就可以保证系统运行的连续性。
TI提供的片上外设EDMA允许数据传输独立于CPU进行,CPU能够更专注于软件的逻辑控制与DSP算法处理。在使用乒乓缓存传输技术时,EDMA控制器需要为发送端和接收端各维护两张传输参数RAM表。其中一张参数RAM表用于Ping缓冲区读写,另一张表用于Pong缓冲区读写,这存在一个问题:当缓冲区填充完毕后,EDMA控制器会产生中断,中断处理必须在下一次采样到来之前为下一个缓冲区重新分配传输参数RAM表,这显然对时间上要求较高。因此本发明通过使用EDMA通道链接传输技术来解决这一问题,一旦缓冲区填充完毕时,EDMA控制器将自动装载另一张参数RAM表开始下一个缓冲区的填充。
(2)算法级优化
a.对标准差的优化
标准差计算公式为:其中是信号向量的均值,经过MATLAB仿真总结发现对于麦克风采集到的语音数据的均值可以近似为0,所以标准差公式中可以忽略对修改过的算法再经过MATLAB仿真验证程序的有效性。在离线情况下,对于长度BUFFSIZE=64000缓冲区,经此优化后,时间复杂度可节省BUFFSIZE次浮点加运算。
b.在线场景下语音盲分离的优化
在线情况下,为了达到系统实时连续地运行,必须创建大小合适的缓冲区。如果缓冲区长度太小,允许CPU对另一缓冲区中的数据处理的时间就越短,同时也会由于数据量太少而不会获得良好的分离效果;如果缓冲区太长,虽然允许CPU对另一缓冲区中的数据处理的时间变长了,但也会使CPU由于需要处理的数据量过大而造成计算复杂度加大,同时也会造成输出的严重延迟。
在语音源位置固定情况下,短时间内分离矩阵可以看作是不变的。利用这一特点,对长度为BUFFSIZE=128000的缓冲区,取BUFFSIZE/2大小进行算法处理首先获得分离矩阵,再对缓冲区的全部数据进行FIR滤波最终获得估计的源信号。经此优化后,时间复杂度可节省BUFFSIZE/2次浮点乘加操作。
(3)程序级优化
虽然CCS编译器已经进行了-O2级别的优化,但是没有任何编译器能用一个好的算法或数据结构来替代低效率的算法或数据结构,因此本发明在对程序的优化上仍有很多方法来协助编译器生成更高效的代码,采取的措施如下:
a.减少连续的函数调用
可以考虑有选择的降低程序的模块性,虽然这会严重牺牲程序的可读性,但是在系统开发的程序优化阶段是很有必要的。参数变量频繁的压栈、出栈及函数调用时所要进行的边界检查都会引入相当大的开销,这类似于使用内联(inline)函数来改进程序性能,但比内联函数更直观有效。
b.循环展开(loop unrolling)
循环展开技术的基本思想是在一次迭代中对多个数组元素进行访问和合并操作,这样得到的程序需要更少的迭代,从而降低了循环的开销,提高运算的并行性。经过-O2级别的优化,编译器已对循环函数进行了保守的循环展开,为了更加充分利用软件流水,本发明中经过手动调试与优化,尽可能地创造一个较大的内核循环,使得内核循环展开后,可以对原来的外部循环进行软件流水,从而减少填充和排空软件流水的总开销。
c.低级优化
除了使用以上的两种程序级优化手段,在程序中也采用了其他一些更为普遍的优化措施,以避免限制优化的因素,这样编译器就能产生高效的程序。从宏观角度看这些措施对于提升系统性能有很积极的意义。
第一,消除不必要的片外RAM的引用。引入临时变量来保存结果,只在最后结果计算出的时候,才将结果存放到数组或全局变量中。
第二,使用restrict关键字,避免存取器别名使用(memory aliasing)问题。restrict关键字用来标明一个指针是指向一个特定内存的指针,避免编译器采用保守的编译方法,可以并行进行多个数据的读取与运算。
第三,将数组代码的查找、读取等操作形式转换为指针代码。C语言的一个独特特性是能够对任意的程序对象创建和使用指针,而使用指针而不是数组可以改进程序的性能。
4、本发明的操作步骤。
当系统运行时,对于离线情况和在线情况下的语音盲分离分别有不同的操作步骤。离线情况,具体实施方式如下:
1)系统上电;
2)完成目标板BSL(Board Support Library)初始化、LED指示灯初始化、DIP开关初始化;
3)完成全局堆初始化,完成AIC23B芯片控制通道参数设置;
4)main函数返回,CPU控制权交给DSP/BIOS实时系统内核,由其进行实时调度;
5)开启PRD线程,周期性检测DIP1引脚,若开关开启,则完成接收通道EDNA初始化、MCBSP初始化及中断初始化;
6)接收通道EDNA传输完成,触发HWI线程,HWI线程具有最高优先级,抢占CPU进入HWI函数,对接收缓冲区中的语音数据执行盲分离算法及发送通道EDNA初始化;
7)发送通道EDNA完成,再次触发HWI线程,执行关闭EDNA通道,终止EDNA传输及关闭McBSP数据通道;
8)返回DSP/BIOS系统内核,由其实时调度各个线程。
在线情况,具体实施方式如下:
1)系统上电;
2)完成目标板BSL(Board Support Library)初始化、LED指示灯初始化、DIP开关初始化;
3)完成全局堆初始化,完成AIC23B芯片控制通道参数设置;
4)完成接收通道EDNA、发送通道EDNA初始化,完成McBSP初始化,完成中断初始化;
5)main函数返回,CPU控制权交给DSP/BIOS实时系统内核,由其进行实时调度;
6)EDNA传输的完成触发HWI线程,在HWI函数中完成对目前传输状态的判断包括:传输通道传输的完成还是发送通道传输的完成及Ping Buffer中的数据处理完成还是Pong Buffer中的数据的处理完成;
7)由6)中的判断结果确定是否执行SWI线程,SWI函数执行对相应Buffer中数据的盲分离算法;
8)DSP/BIOS系统内核实时调度各个线程。
下面通过实验来验证本发明的性能。在如图7所示的房间里以8KHz的采样率采集两段语音信号。观测信号的信噪比为11dB。结果如图8所示,第1行和第2行是两个观测信号,第3行和第4行显示的是估计出的源信号,第5、6两行显示的是真实的源信号。通过比较估计信号和真实源信号的波形,观测信号已成功实现盲分离。可见本发明对分离两通道采集的混合语音信号是有效的。
从实验数据上来看,通过CCS提供的内存读取工具获得目标系统运行得到的分离矩阵结果,与PC平台下Matlab环境算法运行得到的分离矩阵相比较,计算精度在10的-4次幂之上均保持一致。此外,经过编译环境、算法、程序三种级别上的软件优化,系统的整体优化效果如下表所示。可见系统在离线情况和在线情况下的性能均得到明显提升。
表1系统整体优化结果
Claims (2)
1.一种两通道卷积混合语音信号盲分离算法的DSP实现系统,包括嵌入式处理器平台、麦克风接入电路、信号预放大电路和电源电路,其特征是:
(1)嵌入式处理器平台:该平台至少具有一个DSP处理器、一个音频编解码芯片、分别适用于麦克风、线性输入、扬声器、线性输出的四个音频接口和一个片外SDRAM、一个内置USB的嵌入式JTAG仿真器或者板载标准IEEE JTAG接口,该平台用于完成A/D转换、D/A转换和模拟信号输出;
(2)麦克风接入电路:包括两个采集语音信号的单声道麦克风和双声道麦克风采集电路,两个单声道麦克风与双声道麦克风采集电路连接,两个单声道麦克风与嵌入式处理器平台线路输入音频接口连接,将两个单声道麦克风采集得到双通道语音信号作为线路输入音频输入接口的左右声道信号输入;
(3)信号预放大电路:与麦克风接入电路中的双声道麦克风采集电路连接,采用仪器放大器,用于隔离直流信号,完成对双通道语音信号电平增益的有效同等放大,将麦克风信号有效放大到线路输入音频接口要求的增益;
(4)电源电路:与麦克风接入电路中的双声道麦克风采集电路以及信号预放大电路连接,为双声道麦克风采集电路和信号预放大电路提供+5V和-5V直流电压;
两个单声道麦克风采集的双通道麦克风混合语音信号首先经过信号预放大电路,将信号提升到嵌入式处理器平台上的线路输入音频接口要求的有效增益,然后经过嵌入式处理器平台上的音频编解码芯片将模拟信号量转化为数字信号,再通过增强型将语音数据传输到片外SDRAM中的接收缓冲区中,嵌入式处理器平台中的DSP处理器调用接收缓冲区中的语音数据,在嵌入式处理器平台上的DSP处理器中执行语音盲分离算法完成对两路源信号的估计,再由增强型将分离之后的语音数据填充至片外SDRAM中的发送缓冲区,经音频编解码芯片将数字信号量转换为模拟信号以进行播放或实时存储。
2.根据权利要求1所述两通道卷积混合语音信号盲分离算法的DSP实现系统,其特征是:所述DSP处理器中执行的语音盲分离算法是一种两通道卷积混合语音信号盲分离算法,该算法首先将混合语音信号由时域转换到频域,在每个频点上使用频域独立成分分析算法进行盲分离,然后针对独立成分分析算法所存在的排序不确定性问题,进行频点排序,实现每个频点的对准,得到排序后的分离矩阵,最后对混合语音信号进行多通道有限冲激响应滤波获得估计的源信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100771113A CN102610237A (zh) | 2012-03-21 | 2012-03-21 | 两通道卷积混合语音信号盲分离算法的dsp实现系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100771113A CN102610237A (zh) | 2012-03-21 | 2012-03-21 | 两通道卷积混合语音信号盲分离算法的dsp实现系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102610237A true CN102610237A (zh) | 2012-07-25 |
Family
ID=46527559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100771113A Pending CN102610237A (zh) | 2012-03-21 | 2012-03-21 | 两通道卷积混合语音信号盲分离算法的dsp实现系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102610237A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104637494A (zh) * | 2015-02-02 | 2015-05-20 | 哈尔滨工程大学 | 基于盲源分离的双话筒移动设备语音信号增强方法 |
CN106531156A (zh) * | 2016-10-19 | 2017-03-22 | 兰州交通大学 | 一种基于室内多移动源实时处理的语音信号增强技术方法 |
CN108564952A (zh) * | 2018-03-12 | 2018-09-21 | 新华智云科技有限公司 | 语音角色分离的方法和设备 |
CN108682427A (zh) * | 2018-05-23 | 2018-10-19 | 北京航空航天大学 | 一种用于远场人机交互的便携式电声门图语音采集装置 |
CN109036455A (zh) * | 2018-09-17 | 2018-12-18 | 中科上声(苏州)电子有限公司 | 直达声与背景声提取方法、扬声器系统及其声重放方法 |
CN109819391A (zh) * | 2019-01-24 | 2019-05-28 | 苏州思必驰信息科技有限公司 | 用于FreeRTOS单芯片的音频重采样方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231280A (zh) * | 2011-05-06 | 2011-11-02 | 山东大学 | 卷积语音信号的频域盲分离排序算法 |
-
2012
- 2012-03-21 CN CN2012100771113A patent/CN102610237A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231280A (zh) * | 2011-05-06 | 2011-11-02 | 山东大学 | 卷积语音信号的频域盲分离排序算法 |
Non-Patent Citations (3)
Title |
---|
张玲: "基于时域的语音信号盲分离算法研究及其DSP实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
张雪峰等: "一种快速的频域盲语音分离系统", 《信号处理》 * |
牛晓莉: "基于免疫算法的盲信号分离问题研究及其DSP实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104637494A (zh) * | 2015-02-02 | 2015-05-20 | 哈尔滨工程大学 | 基于盲源分离的双话筒移动设备语音信号增强方法 |
CN106531156A (zh) * | 2016-10-19 | 2017-03-22 | 兰州交通大学 | 一种基于室内多移动源实时处理的语音信号增强技术方法 |
CN108564952A (zh) * | 2018-03-12 | 2018-09-21 | 新华智云科技有限公司 | 语音角色分离的方法和设备 |
CN108682427A (zh) * | 2018-05-23 | 2018-10-19 | 北京航空航天大学 | 一种用于远场人机交互的便携式电声门图语音采集装置 |
CN109036455A (zh) * | 2018-09-17 | 2018-12-18 | 中科上声(苏州)电子有限公司 | 直达声与背景声提取方法、扬声器系统及其声重放方法 |
CN109819391A (zh) * | 2019-01-24 | 2019-05-28 | 苏州思必驰信息科技有限公司 | 用于FreeRTOS单芯片的音频重采样方法和装置 |
CN109819391B (zh) * | 2019-01-24 | 2022-05-06 | 思必驰科技股份有限公司 | 用于FreeRTOS单芯片的音频重采样方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102610237A (zh) | 两通道卷积混合语音信号盲分离算法的dsp实现系统 | |
US20210158799A1 (en) | Speech recognition method, device, and computer-readable storage medium | |
CN103745722B (zh) | 一种语音交互智能家居系统及语音交互方法 | |
CN106782591B (zh) | 一种在背景噪音下提高语音识别率的装置及其方法 | |
US20160196838A1 (en) | Utilizing Digital Microphones for Low Power Keyword Detection and Noise Suppression | |
CN110503970A (zh) | 一种音频数据处理方法、装置及存储介质 | |
CN101923857A (zh) | 一种人机交互的可扩展语音识别方法 | |
CN106898353A (zh) | 一种智能家居语音控制系统及其语音识别方法 | |
US20190237070A1 (en) | Voice interaction method, device, apparatus and server | |
Barker et al. | The CHiME challenges: Robust speech recognition in everyday environments | |
CN108447483A (zh) | 语音识别系统 | |
CN110827822A (zh) | 一种智能语音交互方法、装置、出行终端、设备及介质 | |
TWI581255B (zh) | 前端音頻處理系統 | |
CN208538474U (zh) | 语音识别系统 | |
CN104766610A (zh) | 基于振动的声音识别系统和识别方法 | |
CN203311843U (zh) | 高噪声环境下正确识别语音的装置 | |
CN205921736U (zh) | 一种语音数字化处理器 | |
CN208444595U (zh) | 一种具有声音调节功能的朗读装置 | |
CN112799016A (zh) | 声源定位方法、装置、计算机可读存储介质和电子设备 | |
CN206209708U (zh) | 一种智能数学计算装置 | |
Theodoropoulos et al. | A reconfigurable beamformer for audio applications | |
CN220604328U (zh) | 数字语音信号处理系统 | |
CN205864732U (zh) | 一种手机麦克风多程序同时运行系统 | |
Jian et al. | A new complex mapping method of neural networks used in sound source localization | |
CN111767083A (zh) | 误唤醒音频数据的收集方法、播放设备、电子设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120725 |