《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 基于DSP的广播节目自动识别系统的实现

基于DSP的广播节目自动识别系统的实现

2009-01-05
作者:郑仁富,刘 杰

    摘 要: 本系统针对广播节目信号传输时易受干扰的问题,采用相关系数算法判别广播音频信号的相似性,实现在高速数字信号处理器(DSPs)芯片上对输入的多路节目信号进行自动识别,并分析其实现原理。实验结果表明了系统的正确性和合理性。
    关键词: 相关系数;音频信号;DSP6713;语音识别

 

    目前,国内广播中心节目传输系统是将其所有播出节目通过传输系统送往发射中心和其他目的地。传输方式有地面无线、光纤、微波中继及卫星传输等。音频广播节目通过这四种传输方式传输到广播发射机房供发射机选择使用。然而,现今的转播选择控制过程都要依靠人为来实现,既浪费了人力物力,又容易出现误操作。特别在无人看守的情况下,一旦出现恶意攻击节目信号的事件,后果将难以估计。
    在通常情况下,每个信道同时受到攻击的可能性很小,一般是某个信道受到攻击或干扰。因此,要把接收到的四路信号进行两两比较。若四路信号都为同一信息,则说明四路都没被攻击;若有一路或两路信号与其他路信号不同,即可判为被恶意攻击的信号。
    本系统利用瑞泰公司的ICETEK-C6713-A评估板支持多路输入输出的特性,同时对四路广播节目信号进行采集,然后对采集到的四路信号进行同步,再通过相关系数算法,对其两两的相似性作判决,最终选出一路最佳信号,并做出相应操作。该系统从保证节目安全播出的角度出发,能够对广播节目进行自动识别,可应用于广播节目自动识别系统,提高广播机房工作的有效性、可靠性、安全性。
1 识别算法的实现
1.1 互相关算法

    互相关处理是信号检测中常用的方法,即求两个信号的相似程度,当两个信号出现互相关性时会产生峰值,而无相关性信号将被大幅度衰减,从而判断出被噪声淹没的两路信号的相似程度。这是因为信息有良好的时间相关性(即信号是积累的),而噪声是随机的,没有时间相关性(即噪声不积累)。假设x(t)为一路信号,y(t)为另一路信号,n(t)为噪声,则s(t)=x(t)+n(t)为被噪声干扰的信号。则它们的互相关函数为:
    
    由于广播节目信号与环境的随机噪声没有相关性,所以Rny(τ)=0,故Rsy(τ)=Rxy(τ),可以排除环境的随机噪声对系统识别的影响。因此,只要根据Rxy(τ)的值,就能判断出接收到的两路信号是不是同一信号,即有没有受到恶意攻击。可以设一个门限K来判断,若Rxy(τ)>K,则认为这两路信号有相关性,判为同一信号;否则判为不同信号。
    但是在实际应用中,由于信号的不同或噪声等其他因素的影响,Rxy(τ)值的波动太大,所以K的值很难确定。针对该问题,本系统采用求两路信号的相关系数ρ的绝对值来解决,因为ρ取值范围介于-1~1之间。ρ>0为正相关,ρ<0为负相关,ρ=0表示不相关;ρ的绝对值越大,相关程度越高。ρ的计算公式如下:
   
1.2 算法可行性在MATLAB上的验证
    首先,通过麦克风录音,随便保存好几个音频信号,用于下面的语音识别,如本实验中,录入由笔者念的“1”、“2”、“福州大学”、“信息工程”等音频信号;接着通过MATLAB打开音频信号,加入噪声,再找出信号间的相关性,并画出波形图。实验结果如图1所示。

 


    在图1中,信号一和信号二的信号内容都是笔者自己录制的“福州大学”四个字的音频信号,相关性为这两个信号在加噪后(信噪比为25dB)求出的互相关程度。其中在X轴为3841的位置有明显的波峰,峰值为205.8。
    在图2中,信号一的信号内容是笔者自己录制的“福州大学”四个字的音频信号,而信号二的信号内容都是 “信息工程”四个字的音频信号,其中相关性也是这两个信号在加噪后(信噪比为25dB)求出的互相关程度。图中没有明显的波峰,且相关性大小幅值明显偏小(其幅值最大值为4.947)。
    从图1与图2可以看出,相同信号在噪声的影响下具有较大的相关性,而不同信号之间的相关性非常小,从而说明了该算法的可行性。

 


1.3 算法在DSP上的实现
    本系统的主要算法是求两信号的相关系数,由公式(2)可看出,相关系数的计算,其实就是用两信号的互相关性除以各信号的自相关的乘积的平方根。因此,求一次相关系数就等于求三次互相关性,如式(1)。
    利用DSP6713的浮点运算功能的优势,用快速傅立叶(FFT)来计算两信号的互相关性[1]。其步骤如下:
    (1)假设截取的用来识别的信号长度为M,则选择FFT的变换长度L应满足如下条件:
    
    (2)将截取的音频信号x(n)、y(n)也按如下方式补零,形成长度有L的序列:
   
    (3)用FFT算法分别计算信号序列的离散傅立叶变换X(k)和Y(k):
     
    (4)计算X(k)和Y(k)的乘积: Z(k)=X*(k)Y(k),其中*表示复共轭。
    (5)用FFT算法计算Z(k)离散傅立叶反变换,得到相关性z(n):
    
2 系统设计与实现
    本系统主要基于TMS320C6713实现广播中心的自动识别,它是基于语音识别技术实现的。基本处理流程为:对输入的多路音频信号进行采集,对得到的数据进行信号处理,用相关算法判别信号的相似性,而后输出控制信号对多路信号进行切换,使输出的数据具有最佳信噪比。系统框图如图3所示。

 


2.1 节目信号的输入
    本系统语音采集主要利用ICETEK-AIC23板上语音codec芯片TLV320AIC23实现。在语音输入时利用了ICETEK-C6713-A EVM支持多路输入输出的特点。首先,DSP通过I2C总线将配置命令发送到AIC23使其初始化,等配置完成后AIC23开始工作。然后AIC23通过其中的AD转换采集输入的语音信号,每采集完一个信号后,将数据发送到DSP的McBSP接口上,DSP可以读取到语音数据,每个数据为16位无符号整数,左右通道各有一个数值。
2.2 分帧
    从整体来看语音信号的特性及表征其本质特征的参数均是随时间而变化的,是一个典型的非平稳过程,但是在一个短时间段内(10ms~30ms的短时间段内)其特性保持相对稳定,因而可以看作是一个准平稳过程,即语音信号的短时平稳性。目前绝大多数的语音信号处理技术均是在“短时”的基础上,将语音信号分为许多段来逐段分析其特征参数,其中每一段称为一“帧”,分段的过程称为“分帧”处理。根据不同的处理需求,选取不同的帧长。通常,帧长选取10ms~30ms(当FS=22.050kHz时,相应于每帧有220~661个信号样本值)。在取数据时,前一帧的尾和后一帧的头交叠截取,交叠部分称为帧移。帧移与帧长的比值一般取为0~1/2。在端点检测前,选取帧长为240个信号样本值,帧移为80个信号样本值。
2.3 迭加滤波
    由于语音信号具有短时平稳性的特点,即语音信号在30ms左右时间里基本保持不变,而噪声则具有随机性的特点,不具备短时平稳性的特点,因此,本系统用迭加滤波的方法对输入的广播节目信号进行滤波。迭加滤波的实现步骤如下:
    (1)语音信号经过采样和量化后,以N点为一帧,对一帧内的N点进行累加,设累加后的结果为SUM。
    (2)将这一帧内的平均值(SUM/N)代替该帧的信号采样值。
    (3)重复步骤(2)的操作,直到所有的帧均作平均处理。
2.4 端点检测
    语音的端点检测就是确定语音的起点和终点,端点检测的正确与否对语音识别的性能有很大的影响,特别是对端点检测比较敏感的语音识别算法。汉语语音因为声母都是清声母,还有送气与不送气的塞音和塞擦音,它们与环境噪声难以分辨。
    常用的端点检测方法有过零检测和短时能量检测。本系统采用这两种方法的综合——双门限端点检测法来进行语音信号端点检测,检测时,先要分别为短时能量和过零率确定两个门限。高门限被超过时,基本可以确定语音的起始端点,低门限用于确定语音真正的端点。低门限被超过未必就是语音的起始端点,也有可能是短时噪声。当高门限已经确定语音起始端点,再返回去利用低门限确定语音的真正起始点,语音结束点的判别方法类似。有时噪声的能量也相当大,可能超过高门限,但是噪声一般持续时间比较短,可以用持续时间来决定是噪声还是语音。
2.5 识别判决与相应动作
    因为光纤传输的节目受到恶意侵入的可能性比较小,因此,可以以这路信号为模板,将其他三路信号与该路信号比较,判决其他三路信号是否遭到恶意侵入。若没有一路信号与其相同,则说明该路可能受到敌意攻击,则再选另一路做为模板来做判决。
    经过语音识别判决后,在已经识别出的未受干扰的正常广播节目信号中,要选取一路最佳节目作为输出,即要寻找一路信噪比最高的信号。
    在这里,通过计算信号的平均功率来进行判别。具体步骤如下:
    (1)读取各路正常信号进行分帧后,计算每一帧的短时能量;
    (2)对各路信号均取其N帧的短时能量进行累加;
    (3)对它们累加后的结果取平均,便得到各路信号的平均功率;
    (4)根据各路信号的平均功率进行比较,选择平均功率最高的那路信号作为输出。
2.6 实验结果
    在ICETEK-C6713-A的硬件平台下,每次输入两路语音信号,并给信号加噪声(信噪比为13dB),然后对相同信号与不同信号之间进行判决。各做了66次实验,其结果如表1所示。

 


    本系统采用相关性算法,结合TI公司高速的DSP浮点处理器TMS320C6713嵌入式硬件平台,实现对四路广播节目的自动识别。系统对提高广播机房工作的有效性、可靠性、安全性,并最终实现无人看守方面有着重大意义。当然,系统处理速度和识别率等方面都有待于优化。
参考文献
[1] 殷福亮,宋爱军.数字信号处理C语言程序集[M].辽宁:辽宁科学技术出版社,1997.
[2] 李方慧,王飞.TMS320C6000系列DSPs原理与应用[M].北京:电子工业出版社,2003.
[3] 何强,何英.MATLAB扩展编程[M].北京:清华大学出版社,2002.
[4] 胡广书.数字信号处理理论、算法与实现[M].北京:清华大学出版社,2003.
[5] 郑君理,应启衍,杨为理.信号与系统[M].北京:高等教育出版社,2000.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。