音频信号采集系统

关键词: 信号处理 多媒体 数字 算法

音频信号采集系统(精选八篇)

音频信号采集系统 篇1

LabVIEW是美国NI公司1986年推出的一种图形化的编程语言和开发环境。作为虚拟仪器开发平台,由于其图形化的编程方式具有简单易学、直观方便、功能强大等特点,是很多工程设计人员进行虚拟仪器开发的首选。生产者/消费者设计模式是NI公司最新推出的程序设计概念,它从主/从设计模式发展而来,生产者/消费者设计模式将生产和消费数据速度不同的任务分开处理,大大提高了不同速率的多个循环之间数据共享的能力,对于多任务处理和实时性、连续性要求严格的程序设计,生产者/消费者设计模式是较好的选择。

在虚拟仪器系统中,硬件解决信号的输入和输出,软件可以方便地更新仪器系统的功能,以适应不同使用者的需要。其中信号的输入部分一般使用数据采集卡实现,商用的数据采集卡具有较大的通用性。普通声卡具有16位的量化精度、数据采集频率是44 kHz,完全可以满足特定音频信号范围内数据采集的需要,个别性能指标还优于商用数据采集卡,而价格却为商用数据采集卡的十几分之一甚至几十分之一。若保证信号采集的逼真性,在采集过程中的连续性和实时控制显得尤为重要。本文以LabVIEW为平台,着重介绍了生产者/消费者模式的实现,以及在实时控制的连续音频采集系统中的应用。

1 生产者/消费者设计模式概念及其实现

1.1 生产者/消费者设计模式概念

生产者/消费者设计模式包括多个并行循环,每个循环以不同的速率执行任务。一个循环作为生产数据的循环,其他循环作为消费数据的循环。生产数据的循环控制所有消费数据的循环,并且使用通信技术与它们进行通信。

1.2 生产者循环与消费者循环之间的通信

在LabVIEW程序设计过程中,变量(局部变量和全局变量)、通知器、队列常用于多个循环之间传递数据。

LabVIEW中的变量是程序框图中的元素,通过它可以在另一位置访问或存储数据。 根据不同的变量类型,数据的实际位置也不一样。 局部变量将数据存储在前面板的输入控件和显示控件中, 全局变量和单进程共享变量将数据存储在特殊的通过多个VI可以访问的仓库中。不管变量将数据存储在何处,所有的变量都可以在不使用连线连接两个地方的条件下把数据从一个地方传递到另一个地方,而不必使用正常的数据流。但是变量的使用有着其自身的缺点,变量不仅不能保证各个循环之间的同步,而且使用变量会破坏LabVIEW 的数据流模式,在对变量进行读写操作时容易产生内存拷贝,浪费内存资源,影响系统运行效率。

变量还允许竞争状态的出现,竞争状态不容易识别和调试,因为输出取决于操作系统执行排定的任务和外部时间定时的顺序。 任务之间和任务同计算机之间的交互方式,以及外部时间的任意定时都使这种顺序变得随机。 很多情况下,带有竞争状态的代码会在数千次测试中返回相同的结果,但仍然可能会在运行时返回一个不同的结果。

对生产者/消费者设计模式的一个更有效的实现是使用通知器和队列使数据传输保持同步。 通知器在发出数据可用的通知时,将同时发送数据。使用通知器将数据从主循环传送到从循环消除了和竞争状态相关的问题。 使用通知器还有同步的好处,因为数据可用时,主从循环都已完成定时,并准备实现一个良好的生产者/消费者设计模式。但是通知器不会缓冲数据,如果主循环在从循环读取第一份数据之前发送另一份数据,那么原来那份数据就会被覆盖并丢失。队列类似于通知器。但它可以存储多份数据,默认情况下,队列按照 FIFO(先进先出)的方式执行。因此,第一份插入队列的数据,也是第一份从队列中删除的数据。在实时控制的连续音频信号采集过程中,由于需要处理许多用户界面的事件,为了不造成数据丢失,选择队列在各个循环之间传递数据,实现过程如图1所示。

如图1所示,在循环开始使用 “获取队列引用”函数之前,队列就已经创建完毕。 生产者循环使用 “元素入队列”函数向队列中添加数据。 消费者循环使用 “元素出队列”函数从队列中移除数据。 消费者循环一直到队列中的数据可用时才执行。

可见,在此生产者/消费者设计模式中,两个循环均被同步为与生产者循环一致。消费者循环只在队列中的数据可用时才执行。这样就保证了消费者循环执行任务的连续性和高效性。并且,队列用于循环之间的数据传递,创建全局可用的位于队列中的数据,而且在添加新的数据到队列时,避免了丢失数据的可能性。

2 实时控制的连续音频信号采集系统

2.1 声卡简介

从数据采集的角度看,声卡是一种音频范围内的数据采集卡,是计算机与外部模拟量环境联系的重要途径。一般声卡都是由以下几部分组成:声音控制/处理芯片,功放芯片,声音输人/输出端口等。

声音控制/处理芯片是声卡的核心,集成了采样保持、A/D转换、D/A转换、音效处理等电路,它决定了声卡的性能和档次,基本功能包括对声波采样和回放控制、处理MIDI指令等,有的厂家还加进了混响、合声、音场调整等功能。

功放芯片完成信号的功率放大以推动喇叭发声工作。声音输人/输出端口是音频信号的输人和输出,它主要有外接端口和内接端口。外接端口有“SPK Out”喇叭输出端口,“Wave Out(或Line Out)”线性输出端口,“Line In”线性输人端口,“MIC”麦克风输人端口,还有MIDI端口,连接电子乐器以及连接游戏控制器。内接端口是内置的输人/输出端口,是CD音频接口,通过3~4针的音频线直接连接。Line In接口和MIC都可以用于外部音频信号的输入,只不过后者可接入较弱的信号,幅值大约为0.02~0.2 V,显然这个信号较易受到干扰,因而常使用Line In,它可接入幅值约不超过1 V的信号。

市面上的声卡主流都是16位的,声卡的最高采样频率是44.1 kHz,民用的声卡一般将采样频率设为4档,分别为44.1 kHz,22.05 kHz,11.025 kHz和8 kHz。与一般的数据采集卡不同,声卡的D/A和A/D功能都是连续状态的。

2.2 具体设计

根据声卡的性能指标,将声卡初始设置为双声道、44 100 Hz采样频率、16位采样精度。要使采集到的音频信号达到逼真的效果,要求信号的采集过程保持连续,但实时控制要求程序对用户界面的控件做出响应,这就在采集的连续性和对用户的响应方面产生了矛盾。本音频信号采集系统,运用生产者/消费者程序设计模式,很好地解决了这一矛盾,使生产者循环完成对用户界面的响应,消费者循环完成音频信号的采集任务,从而不仅提高了整个信号采集过程的效率,而且使采集的语音信号效果逼真。图2是实际音频信号采集系统前面板。

主要程序框图如图3所示,在循环开始前,使用“获取队列引用”函数创建消息队列。 生产者循环使用 “元素入队列”函数向队列中添加数据。消费者循环使用“元素出队列”函数从队列中获取消息并移除数据。

该设计模式允许消费者循环以固有速度采集信号的同时,生产者循环完成对用户界面的响应,生产者循环中采用事件结构,事件结构的延时时间为100 ms,采用轮询操作,处理用户界面各个控件的响应,对信号采集进行实时控制,同时为了不影响消费者循环中信号采集的连续性,并不是每一个用户事件都通过队列产生消息,通知消费者循环重新配置信号采集,只有在声卡配置参数(采样点数、采样率)发生改变时,生产者循环使用“发送通知”函数产生消息,以便通过“等待通知”函数通知消费者循环。

消费者循环内部是状态机结构,在第一次循环时进入“SetUp”分支,进行声卡的初始化配置,从下次循环开始,在其他控件发生改变而有关声卡配置的参数不发生变化时,生产者循环不会产生消息队列,消费者循环中在“daq”分支和“Wait”分支间进行,“Wait”分支仅检查消息队列中是否有消息,如果没有转“daq”分支进行数据采集,而不会进入声卡配置的“SetUp”分支,这样不仅保证了独立的采集过程不受影响,而且由用户界面引起的任何延时 (如显示对话框)都不会导致采集过程的循环操作产生延时,从而保证采集音频信号的连续性。

在用户改变声卡配置参数发生时,生产者循环响应该事件,“元素入队列”函数向队列中添加消息,消费者循环“Wait”分支中的“元素出队列”函数从队列中移出消息,在下次循环时进入“SetUp”分支进行声卡参数配置,然后转入“daq”分支继续进行信号采集。在“daq”分支中除进行数据采集外,还对信号进行功率谱分析,并将信号保存在一个硬盘文件中。

通过大量实验发现采用生产者/消费者设计模式设计的音频信号采集系统能够有效避免在采集过程中出现的声音中断和失真现象,较之以前基于其他模式的设计有一定的优势。

3 结 语

在LabVIEW程序设计过程中,并行循环之间的数据传递必须进行妥善处理,否则就会出现死循环等预想不到的错误。该文介绍的生产者/消费者设计模式不仅使并行循环间传递数据的逻辑关系更加简洁明了,使得程序的修改维护更加方便,而且大大提高了程序运行的效率。本文只是利用一个简单的实时控制的连续音频信号采集系统介绍了此模式的应用,阐明了这种设计模式的思想,在用LabVIEW设计如网络通信程序等要求准确且响应速度快的实时控制程序时,生产者/消费者模式有很好的借鉴意义。

参考文献

[1]Conway J,Watts Steve A.Software Engineering Approachto LabVIEW[M].NewJersey:Prentice Hall PTR,2003.

[2]Bitter Rick,Mohiuddin Taqi,Nawrocki Matt.LabVIEW Ad-vance Programming Techniques[M].Boca Raton:CRC PressLLC,2001.

[3]Johnson Gary,Jennings Richard.LabVIEW Graphical Pro-gramming[M].New York:McGraw-Hill,2006.

[4]Jeffrey Travis,Ji m Kring.LabVIEW大学实用教程[M].3版.北京:电子工业出版社,2008.

[5]Peter A.Blume,The LabVIEW Style book[M].NewJersey:Prentice Hall PTR,2007.

[6]周生国,李世义.机械工程测试技术[M].北京:国防工业出版社,2005.

[7]王磊,陶梅.精通LabVIEW8.0[M].北京:电子工业出版社,2007.

[8]郑继明,李仪.声卡在数据采集中的应用[J].国外电子测量技术,2000(5):28-29.

[9]杨乐平,李海涛,杨磊.LabVIEW程序设计与应用[M].2版.北京:电子工业出版社,2004.

音频信号采集系统 篇2

【关键词】演播室;音频系统;信号分配;无源分配;音频矩阵;音频网络

文章编号:10.3969/j.issn.1674-8239.2015.08.004

【Abstract】Based on the signal distribution of audio system in the TV studio, the author analysed the signal processing, transmission capacity and system architecture of the audio matrix at present, and formulated the IP-based digital audio network system in the future.

【Key Words】studio; audio system; signal distribution; passive distribution; audio matrix; audio network

在电视节目制作播出的庞大技术体系中,尽管音频系统略显微不足道,但对于电视节目的安全播出却同样发挥着不可或缺的作用。因此,作为电视节目的信号域,演播室音频系统的安全性、灵活性、合理性及先进性就显得尤为重要。以笔者所服务的央视新址E01演播室为例,为使其音频系统达到高水平的技术标准,满足台内各类节目的制作需求,在系统建设过程中,对设计方案做了全方位的论证,对目前国际上主流演播室音频设备进行了广泛的考察、对比,以及深入的研究,并在建设完成后进行了一系列测试及实际应用。E01演播室目前已平稳运行超过三年的时间,其系统经历了各类节目的严苛考验,达到了系统稳定、操作灵活、规模合理、高品质声音的总体性要求。以下集合了目前演播室音频系统信号分配的主要解决方案及国际上演播室中所采用的相应的主流核心设备,并以中国当今演播室音频需求特征为视角进行分析。

1 前端信号的无源分配方式

在E01演播室音频系统设计之初,就明确了一个原则,播出和扩声调音台(主/备调音台)通过共享接口箱的方式获取前端信号。在最后的实施过程中,根据所购调音台的产品特点,前端信号采用了无源分配的方式,将信号分别送至两张调音台,以保证信号源头的安全。E01演播室的无源分配有以下两种情况。

1.1 经无源传声器分配器的分配

演播室内的主要有线传声器通路经由无源传声器分配器分配后再送至播出调音台和扩声调音台的话放板卡,如图1所示。节目制作时,两张调音台对该类信号实现完全独立控制,并送入各自的系统后级。

1.2 经无源光纤分配器的分配

演播室内的绝大多数音频信号(包括无线传声器信号、线路信号、视频AES信号等)全部接入共享接口箱,并通过接口箱内的核心卡将全部信号转换成MADI信号后,通过光纤输出,并由无源光纤分配器分配后送至播出调音台和扩声调音台的本地接口箱,如图2所示,两张调音台共享此类信号。

2 音频矩阵信号分配系统分析

随着央视节目的深入创新,节目的制作规模越来越大,制作形式也愈发多样,这一切对系统的技术要求提升到了新的高度。E01音频系统的承载能力和节目制作规模之间的矛盾日益显现,系统扩容势在必行,但是,由于前端信号分配方式全部为无源分配,这给扩容增加了一定的难度和成本。一般意义上讲,就目前的技术水平,演播室内无源设备的稳定性要高于有源设备。但随着技术的革新,各大调音台厂商陆续将“无源”或“双星拓扑①”的设计理念融入自家产品,以提高音频系统的安全性。同时,大量使用经验也表明,除采用无源分配的方式之外,各大知名厂商的音频矩阵在安全性上同样值得信任。

层出不穷的大型节目需要规模更大的音频系统去适配,因此,各大调音台厂商纷纷推出更灵活、更高效的信号分配共享解决方案,以及计算能力更强的核心处理单元。作为电视音频工作者,一方面关注新技术、新设备在音频信号处理能力上的提升,另一方面也关注它们在安全性、稳定性方面的改进。以下笔者结合几款典型产品,分析讨论音频矩阵信号分配系统在处理能力和系统架构方面的提升。

2.1 提升信号传输处理能力

在各大电视台的音控室时常能看到Studer调音台,Studer为了满足市场不断变化的需求,2013年特意研发了Infinity系列处理引擎。Infinity处理引擎拥有强适应性和灵活性的DSP技术,并凭借全新的A-Link传输协议,提供了更大的信号传输处理能力及一流音质。与上一代产品使用的HD Link协议(最大可同时传输192个通道的24 bit音频信号)不同,采用A-Link传输协议,数据通过光纤在IO机箱和核心处理单元之间进行交换,最大可同时传输1 536个通道的24 bit音频信号;还可以直接与Riedel MediorNet分布式路由器连接,使更多的Infinity系统相互连接。如图3所示,D23m接口箱通过A-Link主备输出与两个Infinity Core处理核心相连,而两个Infinity Core以热备份的关系存在,分别连接两张调音台。

依据生产厂家提供的数据,每台Infinity Core可以同时处理多达8 448个输入通道和8 448个输出通道;在信号和接口资源的共享方面,Infinity也提供了更为简便灵活的方式。但是,由于Infinity系统的台面、接口箱、板卡与上一代产品完全无法通用,只是在D23m接口箱中保留了通过MADI Link协议将D21机箱作为卫星接口箱接入系统能力,所以对于老用户来说,升级成Infinity系统,就意味要淘汰原系统中的台面、机箱及部分板卡,升级成本相对偏高。同时,D23m接口箱中的IO板卡与A-Link板卡虽在机箱内部是有源的双星形连接,但一个接口箱中只能存在一张A-Link卡,严格意义来讲,并没有物理的冗余备份,因此,Infinity系统的安全系数略低。

音频信号采集系统 篇3

1 系统设计方案

整个系统对四路模拟音频信号同时进行采集,得到的信号在DSP中进行算法处理,其他音频模拟信号分帧进入A/D转换芯片等待转换转换后得到的数字信号,分帧输入到DSP中进行滤波算法高速处理。采用DSP的Mc ASP完成数字音频信号的接收和发送功能,通过D/A转换模拟音频信号,经过放大电路输出音频。设计方案如图1所示。

2 硬件电路设计

2.1 硬件芯片

2.1.1 音频处理器

TMS320DM642是美国德州仪器公司(TI)推出的一款面向数字多媒体应用的32位定点DSP芯片,它保留了C64x原有的内核结构,工作频率可以达到600 MHz,每秒可执行指令数4 800 MIPS。具有丰富的外设接口,其Mc ASP接口主要应用在多路音频处理中,提供可以完全独立工作的数据接收部分和数据发送部分。

2.1.2 音频转换芯片

TLV320AIC23B是美国TI推出的一款高性能的立体声音频Codec芯片,其内置输出放大器,并且输出和输入都具有可编程增益调节。在该芯片内部高度集成了模数转换(ADC)和数模转换(DAC)部件,可以在8~96 K范围内采样,ADC和DAC的信噪比分别可达到90 d B和100 d B。同时,TLV320AIC23B具有低功耗的特性,回放模式下功率仅为23 m W,省电模式下小于15 m W[3]。

2.2 TLV320AIC23B和TMS320DM642的接口

TLV320AIC23B与DSP处理器的接口有两个,一个是控制口,用于设置TLV320AIC23B的工作参数,另一个是数据口,用于传输TLV320AIC23B的A/D、D/A转换数据。在系统中,将TMS320DM642的Mc ASP的帧同步配置成Burst模式,与TLV320AIC23B数据口接口;使用IIC总线与TLV320AIC23B的控制口接口。其硬件连接如图2所示。

图2中Mc ASP接口与4片TLV320AIC23B芯片连接,完成4路音频信号的采集。MODE引脚接地,把4片TLV320AIC23B中的U1、U3的NCS引脚接地,另两片U2、U4的NCS引脚接VCC。为了使用TLV320AIC23B的IIC接口配置内部寄存器,需要额外采用1片SN74CBT3257对4片TLV320AIC23B的IIC接口分别控制,SN74CBT3257的端口选择信号由TMS320DM642的GPIO引脚输出[4]。Mc ASP的AXR[1]、AXR[3]、AXR[5]、AXR[7]分别为4路的数据输入,AXR[0]、AXR[2]、AXR[4]、AXR[6]为数据输出,4个通路的帧同步信号、发送与接收时钟是共用的。

2.3 TLV320AIC23B的数据口

TLV320AIC23B的数据口有四种工作方式,一般采用DSP和IIS两种模式。其区别仅在于DSP的Mc ASP帧同步信号的宽度。前者的帧同步信号宽度可为一个位长,后者的帧宽度必须为一个字长。系统中采用DSP模式,实现数据接口的无缝连接。当Mc ASP为从模式时,Mc ASP的接收时钟与帧同步信号都由TLV320AIC23B提供;当Mc ASP为主模式时,Mc ASP产生所有的信号。并采用EDMA访问数据端口、读写音频数据,Mc ASP接口的发送事件或接收事件产生时,EDMA自动接收或发送数据,无需CPU的参与。其在DSP模式的时序如图3所示。

2.4 TLV320AIC23B的控制口

TLV320AIC23B芯片的控制端口信号包括片选引脚NCS、控制端口时钟信号引脚SCLK、控制端口数据信号引脚SDIN和控制端口模式选择引脚MODE。其控制端口支持三线SPI协议和两线IIC协议,两类接口选择由MODE引脚状态决定。在系统中,将MODE引脚接地,配置为IIC接口。使用IIC总线对TLV320AIC23B配置的时,IIC总线选择7位地址的寻址方式,并由于TLV320AIC23B只有写操作无读操作,因而其通讯协议为每个WORD的前7-Bit为寄存器地址,后9-Bit为寄存器内容[5,6]。每片TLV320AIC23B只有两个不同的IIC从设备地址,由NCS引脚状态决定,当NCS引脚为低电平或高低平时,芯片的IIC设备地址分别为0011010和0011011,即一个IIC总线只能配置两片TLV320AIC23B。因此,系统采用多路信号开关SN74CBT3257把TMS320DM642的IIC总线切换成两路IIC总线实现对4片TLV320AIC23B的配置。

3 软件设计

DSP的软件设计的主要任务是初始化和实现语音处理算法。在开发DSP应用程序时,可以在CCS环境下编程,利用TI提供的相关驱动程序,这样可以节省开发时间,降低程序开发难度[7]。

3.1 配置IIC总线

利用CSL库中的IIC_open函数和宏进行复位并返回总线句柄,然后利用总线句柄和总线控制器的值组成结构体作为IIC_config的参数配置总线,以满足控制接口的配置[8]。

3.2 TLV320AIC23B的初始化

在设计音频处理程序时,需要配置TLV320AIC23B的控制寄存器。ANAPATHREG寄存器用于控制模拟音频通道,模拟音频信号来自麦克风,则该寄存器的值设为0x0015;模拟信号时音频信号,该寄存器值设为0x0011。DIGIFREG寄存器用于设置音频接口工作模式,将工作模式设置为DSP模式,其值为0x0043。SAMPLERATEREG寄存器用于设置A/D、D/A的采样率,设SAMPLERATEREG的值为0x000D,将A/D、D/A的采样率都设置为8 KHz。

3.3 Mc ASP的初始化

在使用Mc ASP串口时,需要考虑很多因素,如时钟源、数据引脚、数据格式、数据传输模式等[9]。Mc ASP的配置可以通过设置各个控制寄存器来进行,设置PFUNC寄存器,使能Mc ASP的各引脚;设置PDIR寄存器,配置Mc ASP口引脚的输入、输出方向;设置AFSXCTL寄存器,设置时钟和数据格式;设置XFMT寄存器,高16位为有效掩码;设置XTDM寄存器中的XTDMS0和XTDMS1字段有效。设置SRCTL寄存器,配置串行器引脚。

3.4 音频信号处理算法

音频信号经过A/D转换采用之后,混合进入大量量化噪声和机器噪声,在DSP中使用滤波算法处理除掉信号中的干扰成分。为了保证信号的线性相位和稳定性,采用FIR滤波。对采集的音频信号处理后利用CCS3.3在计算机上实时显示,图4和图5分别为滤波前后的时域波形和频域波形。

通过图4和图5可以看出,输入的音频信号通过设计好的硬件电路,将采集到的数据经过算法处理程序,在时域和频域上,原始波形上的不规则毛刺得到了平滑。算法处理程序有效去除了混入的干扰信号。

4 结束语

设计了TMS320DM642和4路音频芯片TLV320AIC23B的接口电路,并给出了软件设计方法。实现了DSP对TLV320AIC23B的配置和数据通信,完成对4路音频信号的A/D转换采集,并对其中一路信号进行了FIR滤波处理。在CCS3.3上调试后,实现了处理后的音频信号的回放。处理后的语音清晰、稳定,可以满足各种嵌入式产品的语音需求。

参考文献

[1]胡涛,陈超.TLV320AIC23B与TMS320DM642的接口设计[J].仪表技术与传感器,2006(6):36-37.

[2]张杰,顾德英,李成铁.基于DSP的音频信号采集和处理设计[J].仪器仪表学报,2005,26(8):704-706.

[3]Texas Instruments Inc.TLV320AI23B data manual,2003:1-3.

[4]王跃宗,刘京会.TMS320DM642DSP应用系统设计与开发[M].北京:人民邮电出版社,2009.

[5]李倩然,周南.TMS320DM642与TLV320AIC23B通信的接口设计[J].电声技术,2010,34(11):45-47.

[6]黎泽清,王明泉,李博.基于DSP与TLV320AIC23B的音频处理系统[J].动化与仪表,2009,24(8):57-60.

[7]齐敏,王玲,韩韬.基于TMS320DM642的实时语音处理系统[J].电声技术,2009,33(1):65-67.

[8]Texas Instruments Inc.TMS320C6x Chip Support LibraryAPI Reference Guide,2004:1-15.

音频信号防插播错播预警系统 篇4

音频信号的安全优质播出是广播电视播出的基本要求。目前对音频信号的监测和控制, 特别是对转播信号源的监测和控制主要依赖于人工监听监视和切换, 因此, 自动化和智能化程度低, 播出值班人员劳动强度大, 安全播出的压力也大, 播出安全与值班人员的主观性存在相当关系

计算机、网络技术的高速发展为音频信号的监测和控制提供了新的手段。为改变现有的运行模式, 提高音频信号转播的自动化程度, 确保安全优质播出, 开展音频信号防插播错播预警系统的研发十分必要。

1 系统设计及特点

音频信号防插播错播预警系统设计的主要思想是:对两路信号通过数学模型进行数据处理和计算, 并采用一些智能技术进行综合分析、判断, 使系统具有很高的判断准确率, 从技术上提高安全播出的智能化管理水平。系统主要达到以下几个功能:

1.停播预警:两路信号源中任一路信号中断, 系统立即发出声、光报警;

2.错播预警:两路信号源内容不同时, 系统立即发出声、光报警和相应的控制动作;

3.插播预警:两路信号源中有一路信号源叠加了另一信号时, 系统立即发出声、光报警和相应的控制动作;

4. 语音备查:信号源故障时, 系统自动对两路信号进行录音保存, 以便用户查询;

5.信号自动同步:同一信号源不同传输通道的两路信号, 在传输过程中存在一定的延时和漂移, 系统能自动完成两路信号同步点的寻找并实时跟踪保持同步;

6.报警门限自行设置:用户可根据实际情况设置系统的报警门限, 使系统具有很高的信号判别准确率。

2 系统软件构成及功能

系统针对音频信号的特点, 建立合适的数学模型, 通过数学分析, 计算出信号的相似度和能量比, 以此来判断信号是否发生插播、错转、中断事故。本系统主要通过自主开发的软件来实现对音频信号分析、计算、判断等, 软件共分为信号同步与跟踪、信号相似度和能量比计算、系统报警控制与存档三大模块。

1.信号的同步与跟踪

信号同步与跟踪模块是针对同源不同传输通道的两个信号往往存在着一定的时延, 以及同源不同传输通道或相同传输通道的两个信号在时间上产生的漂移往往是不同的, 根据这些音频信号传输特性, 通过数据计算和分析, 使两个信号准确地同步并自动跟踪同步点, 为信号的正确判别奠定基础。

2.信号相似度和能量比计算

信号相似度和能量比计算模块主要是在对广播信号进行分帧、加窗、分段等处理的基础上, 根据数学模型, 进行数学分析, 计算出信号的相似度和能量比, 该计算模型有效排除了丢帧和底噪的干扰。

3.系统报警控制与存档

系统报警控制与存档模块根据信号相似度和能量比计算模块计算的结果以及用户设定的相似度和能量比的报警阈值来判断信号是否发生插播、错转、停播事故, 一旦判定即发出声、光报警以提醒值班人员, 并同时根据事故的性质确定是否切断信号源。

3 音频信号特点分析

1.音频信号的内容丰富, 且具有非常大的不确定性

音频信号的内容包括了语言, 音乐, 噪音等, 各种形式的内容相互之间不断交替或者重叠, 在时序上也没有任何的规律性。这一段时间的信号内容是语言类节目, 下一段时间的信号内容是语言还是音乐, 或语言加音乐无法预测。很可能这一段都是平缓的语音播报, 下一段可能马上就是节奏强烈的声乐演奏。各种不确定因素都有可能发生。不同节目内容的信号波形及包含的能量也不同。图2为纯语言信号、图3为纯音乐信号、图4为带背景音乐的语言信号。

2.同源不同传输通道的两路信号可能在时序和相位上都存在很大的差异

由于受到传输媒介、发送和接收装置等各类因素的影响, 导致从不同的传输通道接收到的同源信号在时序和相位上都可能存在很大的差异, 最直接的感觉就是两路信号可能存在明显的延时 (如图5) 。不同型号的设备或者同一型号两台不同的设备都可能存在明显的差异, 同一台设备在不同的环境或不同的时间, 其时延均会有所不同, 而且每次设备的复位或者重启操作都会对延时的时间长短和信号数据的相位产生影响

3.两路信号在时序和相位上存在动态随机的漂移和临时的间断

这种变化产生的原因可能也是多样的, 如同一设备在不同时间内随环境变化, 引起参数变化, 所造成的时序和相位随即漂移;编码解码设备、信号收发设备和信号采样设备临时产生的短时间延时或者丢帧都可能对接受到的信号在时序或者相位上产生影响 (如图6) 。虽然这些影响可能人的听觉无法分辨, 但是对数据的分析可能带来很大的影响

4. 两路信号受到完全不同的底噪干扰

两路音频信号由于采用不同的传输通道进行传输, 不同的传输通道其信噪比不同, 因此会产生大小不同的底噪。在信号能量较强时, 底部噪音的特征表现得可能并不明显, 人的听觉系统也根本无法分辨, 但是对于信号能量较弱时, 底部噪音的特征可能会变得比较明显, 从而严重干扰我们对信号的处理和分析。

5.两路信号的电平可能发生改变

最终接收到音频信号的电平受到各种因素的影响, 其电平也可能在某一时刻发生一定的变化 (如通道信号设备的切换) , 表现在听觉上便是某一时间声音可能比较大, 而另一时间声音却表现得比较小。

4 音频信号的技术处理

4.1 信号分帧、加窗和分段

从以上我们对音频信号特点分析可以看到, 接收到的音频信号的特性及表征的参数均可能随时间而发生变化, 且具有非常大的不确定性, 所以它是一个非平稳过程。但是音频信号在一个短时间范围内 (如小于30ms的短时间内) , 其特性基本保持不变即相对稳定, 即同源的两路信号在此范围内其短时能量、短时过零率、短时自相关系数和短时平均幅度等函数基本保持不变, 因而可以将它看做是一个准平稳过程, 即音频信号具有短时平稳性。

由于音频信号具有短时平稳性, 所以我们可以对信号进行分帧 (0.5ms~2ms) 后依次进行分析, 对语音的每一帧依次进行分析, 这样的操作称为加窗, 窗在音频信号上滑动, 对音频信号分帧。为了保证后续信号提取效果, 降低由于没有精确同步造成的影响, 使帧与帧之间平滑过渡, 保持其连续性, 帧之间都有交叠, 交叠的部分一般为窗长的一半或者三分之一。

窗一般有矩形窗、汉明窗和汉宁窗, 而窗的选择不能影响将来所需要提取的语音特征。在我们的系统中选择了具有1/2交叠区域的矩形窗来对信号进行处理。

矩形窗函数表示为W (n) :

则加窗分帧处理后得到的第n帧信号 (0≤m

对信号进行分段可以有效地降低系统的运算复杂度, 为系统的实时性带来了可能。选择较长的分段却可以大大降低信号中由于小尺度的突变带来的干扰, 降低误判率;而选择较短分段, 系统的报警响应时间会明显改善, 但是信号小尺度的突变带来的影响将会表现得比较强烈, 从而加大了系统的误判率。通过实验, 我们发现如果选择1/3秒到1/2秒的分段方式, 既可以较好的满足我们报警响应的要求, 又可以满足我们对误判率的要求。

分段的大小会对系统报警响应时间会带来直接影响, 由于对信号的分析都是以段为单位来进行, 系统至少要先预取一段数据并分析完后才知道信号有没有被篡改, 如果分段较长, 则预读取的时间就长, 计算量也将比较大, 从而延迟了系统报警的时间。

在整个比较的过程中我们主要用帧的平均能量和帧的总能量来表征每帧信号的特征, 平均能量用来计算段信号的相似度, 而帧总能量用来计算每段能量比。当前分析的多段相似度的累加值小于一个特定的相似度报警值或者能量比值的累加值大于一个特定的能量报警值时, 我们就会发出报警。这样虽然降低了报警响应时间, 但却可以大大改善系统的误判率, 而且响应时间也可以控制在1.5s以内, 可以满足实际需求。相似度报警值和能量报警值都由实验后确定, 相似度报警值设置过高则可能降低识别率, 而太低则可能提高误判率, 能量报警值则相反。

4.2 信号初步同步

接收到的两路音频信号往往存在着较大的延时, 信号初步同步就是解决同源不同传输通道的两路音频信号往往存在着较大的延时问题, 使两者保持初步同步。

1.信号的预读:对两路信号都分别预读取10s的数据S1 (n) 和S2 (n) 。预读取的长度可以跟据实际情况进行调整, 较长的预读取长度显然可以用来同步较长的延时的信号。

2.在第二路预读取的信号S2 (n) 中选择一段比较有特征的信号P2 (n) (如具有较大的能量的一段) 其起始时间为t2, 长度为L的信号 (为了加快处理的速度, 长度可以取得相对较小, 如L=0.1秒) , P2 (n) 经过分帧加窗处理后与预读取信号S1 (n) 分帧加窗后的数据以1帧为步长, L为比较长度, 通过帧的平均能量来计算其相似度, 在S1 (n) 具有最大相似度的点t1就是S2 (n) 信号在S1 (n) 信号中的同步点, 其时间的间隔t=t1-t2即位目标信号相对源信号的延时时间。

通过此操作后, 第一路信号和第二路信号在1帧的误差范围内将会是同步的, 即在1帧的误差范围内保持同步。这样我们便完成了信号的自动初步同步——帧同步。

4.3 同步点自动跟踪与精度同步

1.同步点自动跟踪

由于信号随时可能发生无法预测的漂移和丢帧等情况, 使得信号的初步同步点失效, 如果在发生此类情况后不采取一定的策略对同步点进行自动跟踪, 将会产生严重的后果, 在接下来比较的数据将可能出现非常大的误差, 直接导致系统地误判, 在这种情况下, 我们就需要对同步点的自动跟踪。

在实际的系统运行过程中, 不管信号是向前漂移还是向后漂移, 我们可以在第二路信号中取一段信号S2与在S1中的上一次的理论同步点附近的几段信号进行相似度计算以找到新的最佳同步点, 以此为新的实际基准点。

2.精度同步

在分帧的长度范围内, 对于系统产生的底噪的影响有时也是不能忽略的, 如信号较弱或者是静音区域时, 我们对信号的加窗操作虽然可以减小由于没有绝对同步带来的相似度影响, 但是并不能完全的消除, 要尽量减小这些因素的影响, 我们就需要对信号进行精度的同步。

找到了以帧为单位的同步点后, 我们便可以对源信号在当前同步点前后一个帧的范围内以一个采样点为循环单位选择起始点重新进行分帧然后与目标信号进行比较, 这样我们可以找到一个最大相似度的点, 而这个点就是我们找到的最精确的同步点, 其相似度便是我们得到的最精确的信号相似度。初步同步和精确同步相结合, 一方面满足了最精确的相似度计算, 另一方面又能很好的满足系统实时响应的要求。

4.4 低信号区域自动过滤和相似度自动保持

较低的信号区域对系统的运行可能带来较大的影响, 有时即使信号没有被篡改, 但因为这一区域底噪和小尺度的突变的特征将会表现得比较强烈, 从而引起系统的误判;而有时虽然信号发生了篡改, 却可能计算出较大的相似度, 从而使得无法正确判断信号是否被篡改而错过报警。

在此我们对于每个分段信号比较前, 都分别计算两路信号的能量, 如果它们都小于我们的一个经验值, 则放弃计算当前的相似度和能量比值以避免其产生的影响, 当前相似度和能量比值则直接使用上一段有效信号的相似度和能量比值。这样如果上一次是没有篡改的数据, 那么我们会得到一个好的相似度和能量比值, 相反我们会得到一个差的相似度和能量比值。由此操作, 对于篡改的信号我们更加降低了其相似度, 而对于正常信号, 我们则提高了其相似度, 这样不仅能减少误判, 而且还使得系统对于篡改信号变得更加敏感, 既提高了识别率又提高了报警响应时间。

4.5 跳变点自动过滤处理

实际运行中我们发现, 即使信号较强的情况下, 信号在某一时刻发生的突变对于一段信号的相似度和能量可能有着较大的影响, 从而对整个系统的判断产生影响, 在这一区域, 我们总是会看到当前段的前后两段信号都具有较好的相似度。我们知道, 如果当前是被篡改的信号, 必然是一个较长时间并且连续的过程, 其前后两段信号的相似度应该较差, 这样我们可以直接将此段数据的相似度计算值用前后两段相似度的平均值代替, 从而消除信号小尺度的突变带来的影响

5 信号相似性判别模型

计算信号的相似度是实现音频信号防插播错播预警系统的最基本的问题, 只有解决了这个问题, 我们才可以以此为基础判断信号是否被篡改。

计算信号的相似度首先要对信号进行处理, 计算信号的相似度的方法有很多, 如FFT变换后的频谱特征、信号过零率、信号的能量特征等。

FFT是一种较好的判别方法, 但是运算量较大, 产生很多我们不关心的信号特征信息, 特别是对于比较信号的目标不确定而且随时可能存在漂移的情况下, 很难满足实时性的要求;信号过零率可以满足一般的要求但是其特点决定了其误判率可能较高。

为了符合音频信号的特点和满足实时处理的要求, 我们选择通过相对误差能量来度量信号的相似程度, 再配合信号能量比的计算来综合判断信号是否被篡改, 通过实际应用, 我们发现此算法能既能有效降低系统的运行量达到实时性的要求, 又能很好识别音频信号是否被篡改。

关于具体的相对误差能量度量法不在此详叙, 有兴趣的同行可同我们联系。

6 结束语

运用信号的相对误差相似度和能量比的计算模型和信号分级同步技术有较高的应用价值, 以此建立的音频信号防插播错播预警系统在丽水广播转播台等多个单位应用, 二年多来成效明显。对中央人民广播电台第一套节目和浙江人民广播电台第一套节目来自光纤和卫星两路不同传输通道的信号进行判别, 运行稳定, 操作简便。多次对太阳黑子、雨衰等对信号源的影响都能及时报警提醒, 有效地减轻了值机人员的劳动强度和压力, 同时播出的安全性和可靠性得到加强。

摘要:本文全面阐述了音频信号防插播错播预警系统的设计思想、系统结构、系统功能, 并详细介绍了音频信号分析和技术处理以及信号相似性判别模型等, 以及音频信号技术处理中的信号分级同步、小电平信号和突变信号的处理方法等。

LED可见光音频信号传输系统设计 篇5

LED具有高亮度、低功耗、灵敏度高、调制特点好等优点, 利用这些特性可以实现在照明的同时, 把信号调制到LED光中进行传输。实现利用可见光为信息载体, 不使用光纤等有线传输介质, 在空气中直接传送光信号的通信方式, 即可见光通信技术 (Visible Light Communication, VLC)

利用LED高速调试的特性将音频信号调制到LED可见光上进行信息传输, 这传输方式减少了电磁辐射对环境的影响, 适合对电磁信号敏感的区域使用。在当前节能和环保两大主题的前提下, 随着世界各国对白光照明光源的大力推广, 以及其光谱特性、一特性、调制特性等性能的提高, 基于白光可见光通信正在逐渐发展起来。

1 系统设计

系统整体由发射端和接收端两部分组成, 发射端由MP3 或音频信号发生器输入音频信号, 通过三极管放大电路将音频信号放大, 并驱动LED发光。接收端将光信号转化为电信经放大电路放大, 再由功率放大器进行功率放大, 从扬声器输出。系统框图如图1 所示。

2 电路设计

(1) 电源设计。电源输入电压为220V工频交流电, 三端稳压器采用电子设备中常用的线性稳压集成电路LM7812 和LM7912。电路如图2所示, 电路图中LM7812 和LM7912 接有一大一小两个滤波电容, 大电容低频滤波, 小电容高频滤波。跨接于LM7812 和LM7912 输入输出端的二极管D4、D5 可以保护三端稳压器不被反向浪涌电流的冲击而烧毁。

(2) 发射端设计。发射端电路如图3 所示, 当音频信号由A、B端输入, 经耦合电容C1 的隔直作用后会在三极管的基极加上一组和音频信号一样变化的电流, 在由三极管的放大作用, 驱动两个LED。因LED的发光强度与电流的大小成正比, 所以LED的发光强度与音频信号的幅度大小同步调制, 实现音频信号的发射。

(3) 接收端设计。接收端电路如图4 所示, 由光敏二极管和UA741组成的光电转换电路和音频频放大电路成。

光敏二极管与半导体二极管结构类似, 管芯是一个具有光敏特征的PN结, 工作时需加反向电压。无光源时, 光敏二极管截止, 有很小的饱和反向漏电流, 即暗电流。有光照时, 饱和反向漏电流随光照强度的增大而增大, 形成光电流。PN结受到光线照射时, 在PN结中产生使少数载流子密度增加的电子-空穴对。在反向电压的作用下载流子发生漂移, 使反向电流变大。因此, 可以利用光照强弱来改变电路中的电流, 从而实现光电信号的换。由光敏二极管接收到的信号, 经两个UA741 组成的放大电路放大后再入音频放大电路。音频放大电路采用LM386 外接原件最少的用法, 由于引脚的1 和8 开路, 集成运放的电压增益为26d B, 即电压放大倍数为20, 利用变阻器R10 可以调节音量大小。

3 结束语

经测试利用LED构建的音频信号传输系统实现了音频信号在可见光上的可靠传输。LED光源无肉眼可见的闪烁, 其通信距离在0.5m范围内, 传输角度30°左右, 音频信号清晰无失真, 并且不受自然光和室内荧光灯的影响

参考文献

[1]朱涛.基于可见光LED的无线语音通信系统的设计[J].咸宁学院学报, 2012, 6:33-36.

[2]梁烈勇.短距离LED可见光音频传输系统设计[J].电子技术应用, 2012, 9:18-20.

[3]沈年凤, 张洪明, 姚敏玉.基于无线可见光通信的双向语音对讲系统[J].光电子.激光, 2014, 10:1900-1905.

[4]江晓明, 朱孝勇, 刘涛, 等.LED室内可见光语音通信系统设计及实现[J].激光技术, 2014, 6:807-812.

[5]刘慧芳, 王巍, 惠昭, 等.LED可见光语音信息通告系统设计[A].中国高科技产业化研究会信号处理专家委员会.第六届全国信号和智能信息处理与应用学术会议论文集[C].中国高科技产业化研究会信号处理专家委员会, 2012:4.

[6]张晨亮, 苏学军, 王文, 等.基于白光LED的可见光通信系统研究[J].光通信技术, 2015, 5:44-46.

[7]苏长赞.电视伴音红外线转发与接收器[J].电子世界, 1995, 3:20-21.

[8]旷亚和.基于LED的无线数据传输技术研究与设计实现[D].大连海事大学, 2014.

音频信号采集系统 篇6

Linux是一个基于Unix的操作系统,它也是Unix家族的一元,与Unix不同的是它可以运行在不同的硬件平台上。它于1991年诞生于芬兰的一个为大学生Linus Torvalds手中,不过当时还只是一个雏形,为了不让自己的这个羽翼未满的操作系统夭折,Linus将自已的作品Linux通过Internet发布。从此一大批知名的、不知名的电脑黑客、编程人员加入到开发过程中来,Linux逐渐成长起来。到目前为止,Linux的内核已经发展到了2.6.22,并在此基础上发展了数十种发行版,其中有经过长期发展洗礼的Redhat(Fedora),也有发展迅猛使用方便的Ubuntu。

多媒体技术中,视频技术发展越来越迅速,比如在远程教育、在线视频会议、银行监控、危险地区探测以及智能家庭安防方面应用越来越广泛。由于Linux自身的特殊的发展过程使得它具有了得天独厚的网络性能,加上越来越丰富的视频支持和开源软件的优势以及对不同硬件平台的良好支持,使得Linux成为视频采集的最佳平台。

2 系统设计

2.1 硬件

硬件平台为PC机,决定图像的质量的一个首要的因素是摄像头,应该根据不同的应用场合合理选择。大体上有两种方案:普通视频聊天用USB摄像头和工业视频拍摄用摄像头。这两种方案在不同的技术参数上各有特点。如果仅仅是用于在线视频会议,则可以选用USB摄像头方案。如果是用于高清晰的拍摄监控,则需选用工业的摄像头,而且由于这种摄像的输出的是模拟信号,必须接入视频采集卡才能将模拟信号转换数字信号提供给计算机处理。

硬件结构如图1所示,图像信号经过USB摄像头采集后,将数字信号直接提供给计算机进行处理。或者图像经过CCD摄像头采集,通过同轴电缆传给视频采集卡,经过视频采集卡转换数字信号然后交给计算机。一般的采集卡会有多个视频接入口,按照采集能力的高低还可以分为多路实时采集和多路分时采集。如果是多路实时采集则可以在同一时刻输出多路视频信号。大多数的视频采集卡官方的驱动并不支持Linux,如果视频采集卡采用的是Bt8XX(Bt848/849/878/879)的话就没有问题了,因为Linux内核就提供了对Bt8XX很好的支持,其驱动为bttv(目前最新的版本为0.9),已经包含在Linux的2.6的内核当中。

本方案采用的是Honeywell GC-755P-A2-G工业级摄像头,采用的是微视Microview V110视频卡。USB摄像头用的是金河田的GD-202A,Linux本身支持ov511x芯片的USB摄像头,对于市场上大部分的采用ZC301的摄像头Linux也能够很好地支持。随着Linux的快速发展,对硬件的支持也越来越好。现在安装硬件相对于以前来说方便多了。将视频采集卡插入计算机,重启进入Linux之后系统会识别出硬件然后加载相应的驱动模块,模块包括bttv、bt878、videodev和tuner。然后安装Xawtv来预览,查看视频画面质量来进行测试。一般来说加载的模块和参数都不需要用户更改,要说明一下的是bttv这个模块,由的视频卡插入电脑后运行Xawtv出现的为黑白的画面,甚至有时候出现的是变形和重影的图像。这是bttv没有正确识别出卡的类型导致的,对于本方案中的视频采集卡可以采用指定卡的型号的方法来解决,首先卸载已经加载的模块rmmod bt878、rmmod bttv。然后重新加载模块并附上指定的参数modprobe bttv card=13。然后重新打开Xawtv来查看图像,则图像显示正常。

2.2 软件设计

Video4Linux是Linux下面为各种视频设备提供的统一的API接口,包括市面上常见的视频采集卡和USB的摄像头。视频设备在Linux下对应的文件为“/dev/video0”,如果视频卡支持多路视频输入或者PC上接了多个USB摄像头的话,视频设备文件会有多个比如“/dev/video1,/dev/video2”等等。

在Linux下面所有设备统一当作文件处理,要采集视频首先得打开相应的设备文件。然后才能对设备进行设置和数据采集处理。

1)打开视频设备

2)更改视频设备的设置

ioctl是设备驱动中对设备的I/O通道进行管理的一个函数,所有对设备属性的设置都依靠它来完成。在V4L中还提供了一个额外的ioctl函数用于对各种视频操作的控制。其中有:视频设备的基本信息,包括:设备名称,最大最小分辨率和信号源信息,采集而来的图像的各种属性,包括:亮度,对比度和灰度,还有信号源的属性和内存映射的设置。下面是一个简单的例子:

3)读取数据

首先我们要保证的是程序要等到下一帧图像准备好了才能开始读取,或者一个中断等待的信号。如果由中断信号产生就从系统调用中返回,这样信号才能传达到程序中。此外程序还检查用户是否实际上不想程序读取图像的时候等待,比如采用非阻塞I/O模式在图像没有准备好的时候可以继续做其他的事情。接下来从视频卡拷贝图像,这里的capture_w和capture_h是用来保持采集到的图像的宽度与高度的。

2.3 音频捕捉

对音频捕捉是通过对声卡的编程来实现的,声卡在Linux下对应的设备文件应为/dev/dsp和/dev/audio,这两个文件基本一样,提供/dev/audio是为了与SUN声音系统兼容。编程的流程与视频编程非常相似:

1)打开声音设备文件;

2)对声卡的采样量化位和采样频率等等进行设置;

3)读取声音数据;

4)播放。

代码范例如下:

由于篇幅的限制,其中设置声音采样频率和量化位数的代码没有写入本文当中。

3 结束语

该文介绍了利用一台普通的PC机,利用Linux作为开源软件所具有的低成本,资源丰富等优势。根据使用场所的实际需要,可同时对多路的高性能的专业摄像头和普通USB摄像头捕获的视频信号以及MIC捕获的音频信号进行采集。若结合多媒体视频音频的编码、解码技术和流媒体技术,充分利用现有的网络基础,则可以方便的实现监控、拍摄和远程教育等各种功能。

参考文献

[1]Stevens W R,Rago S A.Advanced Programming in the UNIX Environment[M].2th ed.Addison Wesley/Pearson,2006.

[2]李玉波,朱自强,郭军.Linux C编程[M].北京:清华大学出版社,2005.

音频信号采集系统 篇7

传声器阵列定位技术一直是国内外研究的热点, 在声目标检测、声源定位和语音增强等领域得到了广泛应用。空气中被动声定位技术[1]具有通视条件好、不受烟雾阻挡以及隐蔽性强等特点, 因此在军事领域也有较为广泛的应用。

在声阵列定位系统中, 声音采集部分的实时性和可控性直接影响到整个系统的实时性和稳定性[1]。为了得到精度高, 实时性好的声音信号, 需要采用高采样位数、转换速度快的A/D转换芯片组成采集电路, 尽可能高质量、高速度地采集信号, 成本较高。

DirectSound提供了强大的声音处理功能, 使得开发者在不需要知道声卡硬件细节的前提下开发出高性能的音频采集程序。本文以DirectSound音频组件为基础, 结合多通道声卡设计一组4通道实时声音采集系统, 同时讨论了利用DirectSound作为声音采集的声阵列定位系统。

2DirectSound基础[2]

DirectSound是微软公司开发的供DirectX编程人员引用的SDK平台音频组件, 它可以提供对声音设备的直接使用、低反应期混合以及硬件加速功能, 同时维持同已有设备驱动器的兼容[3]。DirectSound具有两个重要特性:速度快、可控性强。图1为DirectSound的件系结构。

DirectSound为声音实时仿真提供强大的API, 使开发人员绕开具体的硬件规范, 并充分利用硬件的加速功能, 达到最佳性能。在应用DirectSound进行声音捕获采集时, 是通过创建和管理相应的捕获缓冲区来实现的。为了控制相应的缓冲区, 用户常常需要在当前捕获位置到达缓冲区的某一点时通知程序, 用户可以使用通知接口的IDirectSoundNotify;SetNotificationPositions方法在缓冲区中设置任意数目的特定点, 以通知特定事件。

3声阵列定位系统

本文研究的传声器阵列定位系统是基于空间布放的4元传声器的圆形阵列, 采用DirectSound对声卡编程实现对声音信号的实时采集;信号处理采用时延估计算法, 时延估计算法的优点在于所需要的阵元少, 计算量小, 实时性较好。

本系统的组成主要包括三方面的内容:硬件系统、声音信号采集与定位显控程序以及声源阵列定位算法。下面对各方面内容作简单介绍。

3.1硬件系统

系统使用正四面体的传声器阵列阵形, 安装4个传声器阵元, 组成四元传声器阵列。4路传声器接收到的声音信号经过声卡采集后传送到计算机, 由计算机内相应的信号处理算法对接收到的信号进行计算, 调用显控程序将计算结果显示出来。整个硬件系统如图2所示。

在本系统中, 采用玛雅MAYA44 Pro声卡作为传声器信号采集的硬件接口。MAYA44 Pro是一款具有24bit/96KHz指标的4进4出专业音频声卡, 它具有PCI插槽设计, 可以和工控机或台式计算机直接连接。

3.2时延定位算法

利用目标运动时发出的噪声来确定目标的位置, 是被动声探测系统测定目标位置的基本原理[3]。系统以被动方式测出目标声源的参数, 利用声程差来确定目标方向和距离。

3.2.1 空间阵列定向数学模型

考虑空间任意分布的M元阵列[4], 阵元各向同性。分别用φ和θ表示远场中声源P的方位角和俯仰角, 如图3所示。如果用ri表示第i号阵元的位置, 则有undefined。

以1号阵元为参考阵元, 定义时延向量,

undefined (1)

式 (1) 中, τ1j 表示第j号阵元相对于第1个传声器阵元的时延量。定义远场的方向向量,

undefined

(2)

时延可以表示为:

undefined;

undefined

(3)

式 (3) 中, c为声速, R表示各个阵元到参考阵元的向量。可以通过各种时延计算法得到时延向量的估计值undefined, 则k的估计值可由式 (4) 给出

undefined (4)

把undefined转换为极坐标, 当阵列为空间三维分布时, 方位角和俯仰角分别为:

undefined

(5)

每间隔一定的时间就对目标的俯仰角和方位角进行一次估计, 从而完成对目标的跟踪[5]。

3.2.2 互相关时延估计算法

假设传感器M1、M2接收到的信号分别为undefined和undefined, undefined为目标声源信号, τ0为所要估计的时间延迟, undefined和undefined为加性噪声。假定undefined、undefined、undefined互不相关, 两传感器接收信号的模型为:

undefined

(6)

用来确定两相关信号之间的时延最直接的方法就是互相关函数法, 则undefined和undefined的互相关函数为:

undefined

由上述假设undefined、undefined、undefined互不相关, 可得:

undefined (8)

式 (8) 中, undefined表示为源信号undefined的自相关函数。从而可知, 当τ-τ0=0时, 两个接收信号的相关最大, 选择相关函数峰值点位置作为时延估计值[6]。

4 实验结果

为了测试此实时测向系统的性能, 在半消声室内进行了测试实验, 并同时针对单个目标的情况做了场外实验。

4.1半消声室内实验结果

在半消声室内, 背景噪声低, 测向较为准确。实验中间隔一段时间旋转阵列, 从图4可以看出声源方向的变化。

当声源位置发生移动时, 所测得的声源的方位角也发生明显的变化。在图4中横轴是时间轴, 单位为秒 (s) , 其中0s是当前时刻计算出来的方位角, 标定负时间值为以前时刻, 例如-10s所对应的角度是以前10s所计算出来的方位角。

在图4中大约-40s处出现的大的跳变, 这是由于声源转动过程中的陡动所引起的。

4.2场外实验结果

为了进一步检测系统的测向性能, 进行了外场实验。实验中, 目标声源为汽车从远处逐渐靠近阵列系统, 然后远离。图5为阵列系统第1路传声器采集到的汽车噪声信号, 可以看到汽车由远及近, 信噪比逐渐增加。

图6是在现场实时测向的截图。横轴是时间序列, 每点对应20ms左右数据的计算结果, 纵轴是方位角 (度) 。从图6可以看到, 在近处信噪比较高时, 测向精度较为准确, 测向的误差在±1度。但当目标在远处信噪声较低时, 并且存在其他干扰源时, 计算结果出现跳变, 这主要是此系统是针对单一声源定位。

5结束语

本文设计了一个实时被动声阵列定位系统, 使用DirectSound实现了声音的实时采集, 并具有计算能力强、实时性好的特点。通过外场实验对此系统的整体性能进行了检测, 实验结果表明:系统结构简单, 便于携带布放。在近处信噪比较高时, 侧向结果较好, 误差在±1度, 另外, 此系统工作稳定、可靠性强, 适用于野外作业。

摘要:DirectSound提供了强大的音频处理功能, 使得开发者在不需要知道声卡硬件细节的前提下开发出高性能的多媒体程序。本文结合笔者的开发实例, 详细阐述了使用DirectSound实现实时音频采集的方法, 并设计实现了基于时延估计算法的声阵列定位系统。

关键词:DirectSound,实时音频采集,时延估计

参考文献

[1]赵玉洁.声测定位技术的现状和发展趋势.声学与电子工程, 1993, (4) :37~41

[2]杨亦春.反直升机智能雷弹声复引信技术-时延估计、目标定位和识别及系统设计.南京理工大学, 2000 (1)

[3]朱春喜, 吴贵鲜.DirectX5/6高级多媒体程序开发.北京:北京航空航天大学出版社, 1999.4.

[4] C.H.Knapp, G.C.Carter.The generalized correlation method for estimation of time estimation of time delay.IEEE Trans.Acoust.Speech Signal Process.1976, Assp-24 (8) :320~327

[5]唐建生, 孙超, 钱汉明.基于时延估计的任意阵列单目标角跟踪试验研究.西北工业大学学报.

音频信号采集系统 篇8

语言是人类最基本也是最重要的沟通方式。随着信息技术、计算机技术和微电子技术的不断发展,尤其是网络技术的日益普及和嵌入式VOIP技术的不断进步,音频信号处理技术发挥着越来越重要的作用。局域网技术的发展日渐成熟,在同一局域网内通信不受距离的影响,并具通信带宽比较高,使它的应用领域越来越广。目前,随着数字信号处理器DSP在生产生活诸多领域中的广泛应用,各种数字信号处理器利用局域网技术进行远距离实时数据传输的需求日益强烈[1]。在保持数字信号处理器稳定可靠和快速实时响应的基础上,对现场采集的语音信号进行实时传输和分析,为指挥和调试现场状况提供准确和可靠的信息,能够应用在灾害预防、故障检测、军事、远程调试等领域。

1 系统总体方案

DSP采用的是TI公司的TMS320VC5402,它是TI公司的一款16位定点DSP,最高工作频率100MHz,片内内置16k×16bit的DARAM,4k×16bit的ROM,2个Mc BSP,1个8bit的HPI,完全能够实现TCP/IP协议栈的嵌入。

音频转换芯片采用的是TI公司的TLV320AIC23,它是一款集成有模拟功能、高性能的立体声音频编解码芯片[2]。

单片机采用的是SST公司的STC89LE58RD+,它既是串口下载程序的载体,又是充当DSP的片外存储器(相对于FLASH),用于固化程序。

RTL8019AS芯片是Realtek公司生产的以太网控制芯片,它与NE2000标准兼容,支持即插即用,具有10 M的ISA总线接口和全双工和三级电源控制特性[3]。

采用了Ateral公司的可复杂编程逻辑器件EPM7032AE来实现逻辑控制和片选信号(图中未标出)。

系统主要实现的系统总体架构如图1所示,图中各个模块的作用如下:单片机负责控制网络通讯模块RTL8019as的上电复位,AD模块AIC23的初始化和复位和DSP5402的加载启动和复位和;通过串口RS232将程序下载到单片机中;DSP5402负责对音频进行编码;AIC23负责采集音频信号;SRAM为处理过程中数据存储提供更大的空间。

2 硬件主要模块设计与实现

2.1 音频采集模块

DSP5402具有2个多通道缓冲串口Mc BSP,即Mc BSP0和Mc BSP1。音频信号的采集则是通过DSP5402的Mc BSP0口把TLV320AIC23采集得来的音频数字量进行存储进行编码处理。

DSP与音频芯片连接如图2所示。多通道缓冲串口Mc BSP使其控制通路、数据通路与外部设备相连是通过6个引脚实现的[4]。本文中将DSP的发送串行数据BDX0、接收串行数据BDR0、发送帧同步引脚BFSX0、接收帧同步引脚BFSR0分别与TLV320AIC23的接收串行数据DIN、发送串行数据DOUT、接收帧同步信号LRCIN、发送帧同步信号LRCOUT相连接。时钟信号统一用发送时钟引脚BCLKX0,故而将发送时钟引脚BCLKX0、接收时钟引脚BCLKR0以及TLV320AIC23上的BCLK相连。

2.2 网络通信模块

DSP与以太网控制芯片连接如图3所示。RTL8019AS工作在跳线方式,将16位的数据总线SD0-SD15与DSP的数据总线D0-D15连接。RTL8019内部寄存器和存储器的读写地址为00H-IFH,只需要5根地址线进行选择,所以只需将地址总线SA0-SA4和DSP的地址总线A0-A4相连。

3 关键程序设计

3.1 网络模块的程序设计

要想使DSP连接到Internet,需要将TCP/IP协议移植进DSP中。本文涉及的主要技术有以太网数据帧的传输、IP协议、ARP协议、TCP协议、API和Socket编程。通过ARP协议广播目的PC主机IP地址,并与之建立起连接;通过IP协议进行IP数据报的传输[5];通过TCP协议判断收到IP数据报时,IP数据报首部协议字段是否为TCP协议模块,如果是的话就进行相应的处理;通过API接口函数和socket实现对数据的发送。

网卡初始化:初始化过程主要是设置网卡的寄存器工作参数,包括网卡复位,配置网卡的发送接收参数,中断使能与屏蔽以及发送缓冲区、接收缓冲区、网卡物理地址、多播过滤地址等。主要部分代码如下:

数据发送过程:发送数据时,先将待发送的数据通过远程DMA写入到网卡芯片内部RAM中,然后将待发送的起始地址和长度分别写到发送页面开始寄存器TPSR和字节数寄存器TBCR0/1中,最后向命令寄存器CR写入控制位,启动数据发送。网卡将自动按照以太网相关协议完成发送过程并将发送结果写入到发送状态寄存器中,若中断屏蔽寄存器IMR允许,发送结果可以产生相关中断信号。

数据接收过程:主控制器可以使用两种方式从RTL8019AS处接收数据包,即中断模式和查询模式[6]。采用中断模式时,当有数据包被正确接收后,网卡产生一个中断信号,该信号一般会作为主控制器的一个外部中断输入,此时,主控制器响应中断,产生一个中断信号,从网卡读取数据。查询方式下,主控制器周期性的查询接收状态相关的位,以判断数据包是否成功接收,若是,则读取网卡中RAM的数据。查询方式虽然可行,但是这种方式的效率不是太高,所以采用中断模式

协议栈初始化:初始化工作主要是包括内存初始化、数据包结构初始化、网络接口结构初始化、IP层初始化、TCP层初始化、ARP层的初始化、网卡信息的注册等。

3.2 语音编码模块的优化实现

采用的G.723.1编码算法是以8k Hz的16位线性PCM码为输入信号,是一个双速率的语音编码器,即它有两个编码速率,分别为6.3kbps和5.3kbps[7]。它们的区别在于固定码本激励部分,对于6.3kbps,采用了多脉冲最大似然量化(MP-MLQ)激励,而对5.3kbps,则采用代数编码(ACELP)激励。G.723.1编码算法在编码码率方面拥有优势,语音质量又较好,带宽要求也最低,能够达到节省带宽,提高传输效率的目的,目前在语音传输中使用的特别普遍[8]。

在编码过程中,算法的计算量主要集中在基音估值器、自适应码本搜索和固定码本搜索模块,想要减少运算量,降低复杂度,对这三个模块进行优化是必要的[9]。

①互相关运算优化

开环基音周期点计算是通过搜索归一化互相关最大得到的。定义互相关准则:

优化方法中,对于互相关的计算,可使用(FFT)快速傅里叶变换方法计算。另外基音搜索范围为18到124,可以把这个范围分为奇偶两个部分来分别计算。对于奇数部分,可采用基底为4的FFT算法,对于偶数部分,可采用基底为2的FFT算法。这样不仅将原算法中的乘法运算变为了加法运算,还将两次的开环基音周期计算合并为一次计算,使得运算时间能够减少一半,达到了优化的目的。

②卷积运算的优化

在固定码本搜索、自适应码本搜索等函数中,卷积运算占整个运算中的大部分比例,可以根据变量的特点,将卷积运算简化为加法或减法运算,来达到减少运算次数的目的。在采用MP-MLQ的方法来搜索固定码本时,计算后最后得到预测残差信号r'[n]。

如果直接进行卷积运算,需要1+2+3+…+58+59=1770次乘累加运算。但考虑到k的值为0或者-1,那么式子运算结果通过加减运算就可以得到。最后乘以增益G就可以得到r'[n]。这样一来预测残差矢量的计算只需要进行多次加减运算即可。

3.3 通信模块的程序设计

嵌入式协议栈提供了三种用户编程接口方式raw/callback API,sequential API,BSD-style socket API,但目前很多网络应用程序都是经过套接字口的,也为了增加这些程序的可移植性,设计者们对sequential API函数进行了简单的封装,这样就得到了可供用户使用的套接字函数socket API[10]。在Windows系统中也定义了一套网络编程接口,这样通过socket就能够实现数据的发送和接收了。

套接字的编程可以是基于TCP/IP协议也可以是基于UDP协议的,但考虑到基于TCP/IP协议的编程偏重于传输的可靠性,传输时需要经三次握手协议后建立连接,这样就增加了传输的延时,与所要求的数据传输的实时性相违背,所以采用基于UDP协议的套接字编程。

如图4所示,服务器创建连接后,调用bind()函数将套接字与准备接收数据的接口绑定在一起[11]。对于客户端来说,创建套接字后就直接向服务器发送数据了。在通信完成后,双方就都调用closesocket()函数关闭套接字。

3.4 语音播放模块程序设计

语音播放程序的设计采用了底层的Windows音频采样API函数,使用时需要添加Winmm.lib库,对音频数据的操作主要包括打开播放设备函数、为播放波形音频准备缓冲区、设置播放音量、播放波形音频数据等。

4 系统性能测试分析

4.1 系统测试

本文设计实现的语音信号压缩实时通信的界面如图5所示,DSP板卡是语音编码端,IP地址为192.168.58.157。PC端则是语音解码端,IP地址为192.168.58.40。首先运行PC端的解码程序,再运行DSP板卡端的程序,在PC端输入DSP板卡的IP地址,点击连接按钮后,PC端就绑定了DSP板卡的IP地址,就可以进行数据传输了。对着插入板卡芯片的耳麦说话,PC端就能播放相同的内容。

4.2 听音验证

听音验证就是以人耳的主观听觉感受为依据,通过人耳试听重建后的语音,判断语音是否清晰可懂[12]。经测试发现,在PC端听到解码后的语音内容仍可懂,但语音质量明显有所下降,这是需要进一步研究改善的地方。

5 结束语

通过对硬件的分析、基于TCP/IP协议的连接技术、G.723.1语音编码算法和套接字接口等各项技术,设计和实现了一个语音信号压缩实时通信系统。测试结果表明在降低了语音质量的基础上,减少了算法的运算复杂度,实现了语音信号的远距离传输。但是仍有很多有待提高:①从整个传输系统看,数据传输时依赖网络,在网络不通畅的情况下会导致数据传输失败。②算法优化时,应在确保语音质量的前提下,降低运算复杂度。③基于UDP协议的套接字因为不需要建立连接,所以会存在丢包的现象。

参考文献

[1]丽娜.数字信号处理器分析与实现探讨[J].计算机光盘软件与应用,2013(17):104-106.

[2]王幸,王林,李孺昕.基于DSP控制的音频解码系统设计[J].电子设计工程,2014,22(7):169-173.

[3]张书南蒋宇中,苏凯.基于DSP+CPLD的网络数据传输系统设计[J].通信技术,2010,45(1):7-9.

[4]向建军,夏海宝,许蕴山.基于DSP的机载数据采集记录系统的设计[J].航空计算技术,2011,41(3):106-109.

[5]李杰,姜波,吴卫.TCP/IP网络协议在嵌入式系统中的应用[J].仪器仪表学报,2012,33(8):124-127.

[6]佟为明,高蕾,刘勇.RTL8019AS在以太网MAC帧检测实验系统中的应用[J].低压电器,2010(2):36-40.

[7]ITU-T Draft Recommendation G.723.1 Dualrate speech coder for multimedia telecommunications transmitting at 5.3&6.3kbps[Z].1996.

[8]彭仁明,陈擘威.一种语音压缩和网络传输系统设计[J].绵阳师范学院学报,2010,29(5):31-34.

[9]李章林.VOIP中G.723.1语音编码算法的DSP实现[D].南开大学,2004.

[10]韩玉坤,邵国强,杨红.简析Windows C语言网络编程技术与方法[J].大庆师范学院学报,2011,31(3):42-44.

[11]刘赟.Winsock技术在网络通信系统中的应用[J].西南科技大学学报,2013,28(2):88-91.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:发动机转速信号采集 下一篇:挫折理论对管理的启示