基于音频水印技术的多机器人声音身份识别仿真软件_第1页
基于音频水印技术的多机器人声音身份识别仿真软件_第2页
基于音频水印技术的多机器人声音身份识别仿真软件_第3页
基于音频水印技术的多机器人声音身份识别仿真软件_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于音频水印技术的多机器人声音身份识别仿真软件基于音频水印技术的多机器人声音身份识别仿真软件1.引言机器人技术突飞猛进,是时代的潮流。将来机器人与人交流的情形将不再是一机对一人,而是多机对多人。然而与人交流时机器人之间需要通过声音识别对方身份,同时不能让参与交流的人有所觉察,所以需要在机器人声音中嵌入特征水印,解决多个机器人之间的声音识别问题。语音识别和音频水印技术是计算机信息处理的关键技术。音频水印技术是指通过修改音频信号从而在原始信号中嵌入附加信息的技术。目前音频水印嵌入技术主要有DT域音频水印嵌入、码分复用数字音频水印嵌入等等。音频水印识别技术主要有系统特征参数提取识别、DT在线并行算法

2、识别等等。本文基于ATLAB开发环境,利用FDATl与用户界面GUI等设计工具,通过分频式音频水印嵌入与提取方法,开发了一套模拟多机器人交谈情形并识别各个机器人讲话时刻的仿真软件。2.音频水印嵌入与提取方法音频水印嵌入与提取方法的本质本文由论文联盟搜集整理是在一段声音中嵌入特定的水印作为信息隐藏,接收后再将所隐藏信息提取出来的方法。在本仿真软件中,首先选定一段声音作为原始基音,设定原始基音就是多个机器人互相交谈所发出的声音。假设机器人有N个,先在20HZ-20000HZ的频率范围内为N个机器人选定N种水印载波频率,依次用中心阻带频率为的N个带阻滤波器对原始基音进展滤波得到基音信号。然后为每个机

3、器人指定一个身份识别ID号,把ID号的二进制数作为待嵌入水印数据,频率选为。再用第i个待嵌入水印数据对频率为fi的正弦波载波进展调制,把调制后的信号幅值调整到基音信号平均幅值数倍以下与基音信号叠加。水印添加时刻统一指定为基音信号的时刻。至此得到各个机器人的音频信号,也就是讲话声音。模拟讲话时,各机器人在设定时刻输出一次自己的音频信号,所有机器人的音乐声互相叠加齐鸣。在多台机器人讲话的同时,每一个机器人对齐鸣声进展采样。先依次用中心通带频率为的带通滤波器对齐鸣音信号进展滤波,滤波后得到调制了的水印数据的正弦波载波信号,再用通带频率为f0的低通滤波器进展滤波,得到ID号的二进制数据。在对所有的载波

4、频率都进展了一次同样的操作后,一个机器人就得到了所有机器人的ID水印数据,并获得各机器人的发声时刻。3.软件设计与实现多机器人声音身份识仿真别软件主要由音频水印嵌入模块和身份ID识别模块组成,通过ATLAB语言,FDATl设计工具实现音频水印的嵌入与提取,运用Siulink算法模拟多个机器人的交谈情形,并通过GUI用户界面设计工具实时检验发声机器人的身份ID和发生时刻。3.1音频水印嵌入模块Sineave模块用于生成水印载波频率为的正弦波,Subsyste模块使用Step函数产生水印二进制码波形,并设置频率为。Subsyste模块后面的延时模块Transprtdelay用于设置延迟播放声音时间

5、。Triggeredsubsyste模块用于接收到高电平时触发显示当前接收时间。Sineave模块和Subsyste模块生成的波形叠加后通过零阶保持器输出至扬声器。3.2声音身份识别模块声音身份识别模块的根本构造如图2所示,FrAudiDevie模块为麦克风声音拾龋设置高频带通滤波器中心通带频率为,将拾取到的声音传给高频带通滤波器DigitalFilterDesign,将携带二进制水印数据的高频正弦波留下,其余信号抑制掉。由于正弦波有负值部分,需要用绝对值函数Abs将正值部分取出。设置低通滤波器DigitalFilterDesign1的通带频率为f0,将正弦波的正值部分中频率为f0的水印滤出。

6、为了获得完好的二进制水印波形,需要对波形幅值进展调整。把水印信号送给Bias模块和符号函数Sign后,得到幅值为1或-1的波形,再通过波形幅值加1和0.5倍增益运算,提取出二进制水印波形。3.3GUI用户界面模块GUI用户界面如图3所示。左上角的下拉菜单用于选择机器人编号,底下的滑动条用于设置机器人发声延迟时间。右上角的控制台方框内有两个按键:讲话和聆听,点击讲话按键后扬声器输出所选编号机器人的声音,点击聆听按键后麦克风接收外界声音。在控制台下方显示的是识别出的各机器人的发声时间。软件界面中央是以时间为横坐标的各机器人声音中所携带水印的波形图。atlab的GUI用于实现用户和机器之间的交互,在

7、仿真软件中,底层程序将对Siulink模块中的参数进展设置,并将rkspae中产生的数据通过显示在GUI用户界面上。例如设置机器人发声延迟时间时,需要对滑动条进展操作来设定时间值f1=str2dublegethandles.edit1,String;set_paraterprnt3k/000/TransprtDelay1,delaytie,nu2strf1实现将滑动条所设置的延迟时间传递给延时模块Transprtdelay,用于tiedelay的参数设置。在用户界面按下讲话按键,GUI底层程序将立即调用对应的发声模块。图3设置本台机器为Rbt6,那么将调用si101函数。当按下聆听按键时,GU

8、I调用siterprnt3k函数。Siulink模块执行完毕后,机器人发声水印数据保存在rkspae中,通过assigninbase,y16,siuty=evalinbase,y16将rkspae中的数据传递给GUI,用axeshandles.axes1;pltt,y显示水印数据。Triggeredsubsyste模块将接收到高电平时的当前时间保存至rkspae中,利用assigninbase,y24,siut8;y8=evalinbase,y24函数rkspae中的数据传递给GUI,sethandles.edit9,string,nu2stry8-0.16963函数将声音接收时间转化成字符串

9、显示。GUI用户界面的操作过程如下:翻开GUI用户界面,先利用下拉菜单项选择择机器人编号,再利用8个滑动条设置8个机器人的发声时间。设置完成后按下讲话按钮和聆听按钮,8个机器人的水印波形及发声时间及显示在界面上。4.软件运行实例翻开GUI用户界面,在机器号选择下拉菜单中选择对应本机的机器号6,那么将要嵌入的水印设置为二进制数11011,D0位和D4位均为1,都为高电平,同样其他的7台电脑依次选定好机器号,然后在机器人延迟时间选项中调节RBT1滑动条,设置发声时刻为第0.423912秒,其他7台电脑依次按对应的RBT号设置发声时刻第0.71739秒、第0.978261秒、第1.30435秒、第1

10、.56522秒、第0.489129秒、第0.847827秒、第1.04348秒。按下讲话按键,siulink读取rkspae中的原始音频,见图4a,并用第i个待嵌入水印数据对频率为fi的正弦波进展载波,见图b。随后水印信号与原始音频叠加,通过计算机的扬声器播放出。机器人发声完毕后再按下聆听按键,麦克风接收其他计算机播放的声音,通过高频滤波器将混合音中的水印滤出,滤出的水印见图4。载波水印通过低频滤波器后,提取的水印见图4d。图4e为水印数据调整后的结果。待聆听完毕后GUI用户界面同时显示8台电脑的声音身份ID号以及发声时间:0.42393秒、0.71741秒、0.97828秒、1.3043秒、1.5652秒、0.48915秒、0.84785秒、1.0435秒。此运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论