计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费毕业论文--智能语音识别遥控系统(一)信(4)

2013-06-11 01:06
导读:的问题。这个问题可以通过数的定标方法来实现。数的定标就是决定小数点在定点数中的位置。Q表示法是一种常用的定标方法。其表示机制是:设定点数
的问题。这个问题可以通过数的定标方法来实现。数的定标就是决定小数点在定点数中的位置。Q表示法是一种常用的定标方法。其表示机制是:设定点数是J,浮点数是)/,则Q法表示的定点数与浮点数的转换关系为:浮点数)/转换为定点数x:x= (int)y×2Q;
定点数z转换为浮点数y:y =(float)x×2-Q。
其二、 数据精度的处理
   用16b的定点DSP实现语音识别算法时,虽然程序的运行速度提高了,但是数据精度比较低。这可能由于中间过程的累计误差而引起运算结果的不正确。为了提高数据的运算精度,在程序中采用了以下的处理方法:
其三、扩展精度
   在精度要求比较高的地方,将计算的中间变量采用32b,甚至48b来表示。这样,在指令条数增加不多的情况下却使运算精度大大提高了。
其四、采用伪浮点法来表示浮点数
   伪浮点法即用尾数+指数的方法来表示浮点数。这时,数据块的尾数可以采用Q1.15数据格式,数据块的指数相同。这种表示数据的方法有足够大的数据范围,可以完全满足数据精度的要求,但是需要自己编写一套指数和尾数运算库,会额外增加程序的指令数和运算量,不利于实时实现。
    以上两种方法,都可以提高运算精度,但在实际操作时,要根据系统的要求和算法的复杂度,来权衡考虑。
在高级语言中,有全局变量与局部变量存储的区别,但在DSP程序中,所有声明的变量在链接时都会分给数据空间。所以如果按照高级语言那样定义局部变量,就会浪费大量的DSP存储空间,这对数据空间较为紧张的定点DSP来说,显然是不合理的。为了节省存储空间,在编写DSP程序时,最好维护好一张变量表。每进入一个DSP子模块时,不要急于分配新的局部变量,应优先使用已分配但不用的变量。只有在不够时才分配新的局部变量。 (转载自http://zw.nseac.coM科教作文网)
循环嵌套的处理:语音识别算法的实现,有许多是在循环中实现的。对于循环的处理,需要注意以下几个问题:
①ADSP2100系列DSP芯片中,循环嵌套最多不能超过4重,否则就会发生堆栈溢出,导致程序不能正确执行。但在语音识别的DSP程序中,包括中断在内的嵌套程序往往超过4重。这时不能使用DSP提供的do…until…指令,只能自己设计出一些循环变量,自己维护这些变量。由于这时没有使用DSP的循环堆栈,所以也不会导致堆栈溢出。另外,如果采用jump指令从循环指令中跳出,则必须维护好PC,LOOP和CNTR三个堆栈的指针。
②尽量减少循环体内的指令数。在多重循环的内部,减少指令数有利于降低程序的执行次数。这样有利于减少程序的执行时间、提高操作的实时性。
3.3.2 采用模块化的程序设计方法
 在语音识别算法的实现中,为了便于程序的设计和调试,采用了模块化的程序设计方法。以语音识别的基本过程为依据进行模块划分,每个模块再划分为若干个子模块,然后以模块为单元进行编程和调试。在编写程序之前,首先用高级语言对每个模块进行算法仿真,在此基础上再进行汇编程序的编写。在调试时,可以采用高级语言与汇编语言对比的调试方式,这样可以通过跟踪高级语言与汇编语言的中间状态,来验证汇编语言的正确性,并及时的发现和修改错误,缩短编程周期。另外,在程序的编写过程中,应在关键的部分加上必要的注释与说明,以增强程序的可读性。
在总调时,需要在各模块中设置好相应的人口参数与出口参数,维护好堆栈指针与中间变量等。
 利用C语言与汇编语言的混合编程,现在,大多数的DSP芯片都支持汇编语言与C或C++语言的混合编程,ADSP2181也不例外。用C语言开发DSP程序具有缩短开发周期、降低程序复杂度的优点,但是,程序的执行效率却不高,会增加额外的机器周期,不利于程序的实时实现。为此,在用C语言编写语音识别算法时,我们采用了定点化处理技术。ADSP2181是16位定点处理器,定点化处理应注意以下几个问题: (科教范文网 Lw.nsEAc.com编辑整理)
①ADSP2181支持小数和整数两种运算方式,在计算时应选择小数方式,使计算结果的绝对值都小于1;
②用双字定点运算库代替C语言的浮点库,提高运算精度;
③注意在每次乘加运算之后进行饱和操作,防止结果的上溢和下溢;
④循环处理后的一组数据可能有不同的指数,要进行归一化处理,以便后续定点操作对指数和尾数部分分别处理。
第4章  智能语音识别遥控系统技术
4.1语音识别技术
 本主要论述与机器进行语音交流,让机器明白你说什么,这是人们长期以来梦寐以求的事情。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别是一门交叉学科。近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。人们预计,未来10年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。 语音识别听写机在一些领域的应用被美国新闻界评为1997年计算机发展十件大事之一。很多专家都认为语音识别技术是2000年至2010年间信息技术领域十大重要的科技发展技术之一。
 其一、语音识别技术
 语音识别技术的研究与应用已有相当长的时间了,语音识别技术关系到多学科的研究领域,不同领域上的研究成果都对语音识别的发展做出了贡献。由于不同的说话人、不同的说话速度、不同的说话内容以及不同的环境条件等都使机器识别语音产生某种程度不同的困难。这是由语音信号本身的特点所造成的。这些特点包括多变性、,动态性、瞬时性和连续性等。一个完整的语音识别系统可大致分为4个部分:
 ①语音特征提取 其目的是从语音波形中提取出随时间变化的语音特征序列。 (转载自http://zw.nseac.coM科教作文网)
 ②建立声学模型 通常将获取的语音特征通过学习算法产生。
 ③模板匹配(识别算法) 在识别时将输入的语音特征同声学模型进行比较,得到最佳的识别结果。
 ④语言模型与语言处理 由识别语音命令构成的语法网络,可以进行语法、语义分析。对小词表语音识别系统,往往不需要语言处理部分。
 通常在以计算机为语音识别处理平台的系统中,一般采用隐含马可夫(Markov)模型(HMM)进行语音识别,该算法由于允许模板匹配中时间不定长,所以系统的适应性强,且识别阶段计算量也不大,但是需要进行大量的前期训练工作,需要系统具有较高的运算速度和庞大的系统存储资源。这对于那些需要识别的语音命令不多的特定应用场合,无疑是很不经济的,使用起来也不方便。利用廉价的定点数字信号处理器(DSP)芯片构成的小词表实时语音识别模块便能很好地解决这一矛盾。下面分别介绍该系统的硬件和软件结构。
 其二、系统的硬件构成
 系统核心硬件构成框图如图4-1所示。

图4-1 系统核心硬件构成框图
4.2 DSP芯片的选择
 合理选择DSP芯片对于本应用系统的设计是非常重要的。只有选定了DSP芯片才能进一步设计外围电路和系统的其他电路。DSP芯片的选择应根据实际的应用系统需要而确定。
 TMS320VC5402[1]是TI公司生产的从属于TMS320C54x系列的一个工作灵活、高速、具有较高性价比、低功耗的16b定点通用DS

上一篇:免费毕业论文-字密码锁设计(一)信息工程 下一篇:没有了