基于lin总线的语音控制智能家居系统毕业论文(编辑修改稿)内容摘要:
1 语音训练与识别 语音识别方式有两种,一种是特定人识别( SD),特定人识别之前需要进行语音训练;另一种是非特定人识别( SI),非特定人识别不需进行语音训练。 本系统采用的是前一种识别模式。 特定人识别的原理如下图所示: 图 11 特定人识别原理 10 SPCE061A 内部只有 2K 字的 RAM,其只能支持 5 个语音命令,而在进行识别之前要进行语音模板训练,模板的数据也是放在内部的 RAM 中。 这些资源对于一个庞大的系统来说是远远不够的,于是我们将语音命令进行分层,并外扩了flash,也就是上文中提到的 SPR4096 模组。 4096 具有 512K 字的 flash 空间。 由于每条语音命令模板占用 100 字的 flash 空间,所以 4096 除了存储语音模板,其他剩余的空间还可以用来存储提示音数据。 图 12 是语音分层示意图,每一层具有 5 条命令,总共有 4 层,第一层作为家庭成员入口层,第二层为家里各个重点地点层,第三层为电器层,第四层为电器操作层。 使用了分层后,扩展了语音命令,使得家庭的每个成员都能进行语音识别,此外,识别结构也变得非常清晰。 除第一层外,其余每一层都有一个返回命令,用户可以通过该命令返回上一层的识别。 图 12 语音分层识别 在没外扩 flash 之前,由于语音模板是存在 SPCE061A 内部的 RAM 中,一掉电就丢失,所以每次系统复位或者重新上电就必 须重新训练,这在实际中使用非常不方便。 于是,我们在外部 FLASH 中分配一个存储空间,专门用来存储训练后的语音模板,在程序中设一个标志位,查看 4096 相应的地址单元否有数据,从而判断是否已经训练过,如果训练过,则只需把 flash 中的语音模板装载到SPCE061A 中,从而避免每次复位和上电需要训练的麻烦。 图 13 是系统的语音系统总体流程图。 11 开 始读 取 外 部F L A S H 标 志已 训练。 进 行 语 音训 练识 别 用 户用 户 1 用 户 2 用 户 3 用 户 4 用 户 5识 别 地 点识 别 电 器识 别 操 作结 束YN 图 13 语音系统总流程 系统在第一次使用 时需要经过一次训练,为了用户训练方便,我们给出了一个语音训练命令表,用户可以参照该表的命令进行训练,也可以用个性化的命令自行定义命令。 但是语音命令应该遵从简约、容记、容易分辨的原则,以提高系统的识别能力。 表 1 的语音命令经过我们的验证,系统能够很好地识别,准确识别率达 98%以上,偶尔的无法识别是因为话筒接受不到语音命令或者是用户发出的语音命令与训练时相差太大等而引起的。 传统的语音训练设计,采用的是顺序训练的方式,则不管前后命令 是否重复,都需要从头至尾逐个训练。 由于家庭内 12 的不同地方往往大部分电器都是相同的,比如“卧室”与“客厅”、“厨房”等都有“灯管”,因此我们对训练进程进行了优化处理,只需要训练一次“灯管”语音命令,系统会自动将该“灯管”语模板存储到“卧室”、“客厅”、“厨房”、“阳台”对应的 FLASH 存储区域,识别时系统从不同的 FLASH 区域调用该语音模板,从而识别不同地方的电器。 由于考虑到一个家庭的用户所住的卧室不同,我们假设用户一“小明”在“卧室 1”,用户二和用户三“爸爸”“妈妈”在“卧室2”,用户四和用户五“爷爷”“奶奶 ”在“卧室 3”。 在训练里只要选择了是哪个用户,系统会将该用户训练的语音模板存储而不同的 FLASH 空间,在识别时会自 动 识 别 出 该 用 户 对 应 的 “ 卧 室 ”。 系 统 训 练 流 程 图 如开 始训 练 用 户 名 并 储 存结 束是 否 已 经 训 练。 NY训 练 地 点 并 储 存训 练 各 地 点 对 应 电器 名 称 并 储 存训 练 各 电 器 对 应 操作 并 储 存是 否 训 练 下 一 用 户。 NY 图 14 所示。 表 1 语音训练命令表 用户 地点 电器 操作 1 操作 2 操作 3 操作 4 13 小明 卧室 1 电脑 开 关 NULL NULL 空调 开 关 升温 下 降 风扇 开 关 加速 减速 灯管 开 关 NULL NULL 爸爸 妈妈 卧室 2 电脑 开 关 NULL NULL 空调 开 关 升温 下降 风扇 开 关 加速 减速 灯管 开 关 NULL NULL 爷爷 奶奶 卧室 3 电视 开 关 NULL NULL 空调 开 关 升温 下降 风扇 开 关 加速 减速 灯管 开 关 NULL NULL 全家 客厅 电视 开 关 NULL NULL 空调 开 关 升温 下降 风扇 开 关 加速 减速 灯管 开 关 NULL NULL 全家 厨房 抽烟机 开 关 高速 低 速 微波炉 开 关 加时 减时 电饭锅 开 关 煮饭 煮粥 灯管 开 关 NULL NULL 全家 阳台 洗衣机 开 关 正常 脱水 晾衣竿 上升 下降 NULL NULL 窗帘 拉开 关闭 NULL NULL 灯管 开 关 NULL NULL 注:表中的 NULL 是保留的用户命令,如用户需要,可以简单改动程序而增加更多的控制命令。 各个用户经过首次训练后,其语音特征会存到单片机中。 当用户需要对某个电器操作时,只需说出相应的语音命令,系统就能根据内部编码,将地址命令及控制命令发送到相应的从机,实现对特定电器的操作。 系统命令编码如表 2 所示。 14 表 2 电器操作从机通信编码 地点 地点编码 (高 3 位) 电器操作 操作编码(低 5 位) 8 位通信编码 卧室 1 000 电脑(视)开 00000 0x00 电脑(视)关 00001 0x01 空调开 00010 0x02 空调 关 00011 0x03 空调升温 00100 0x04 空调降温 00101 0x05 风扇关 00110 0x06 风扇开( 1 档) 00111 0x07 风扇 2 档 01000 0x08 风扇 3 档 01001 0x09 灯管开 01010 0x0a 灯管关 01011 0x0b 卧室 2 001 电脑(视)开 00000 0x20 电脑(视)关 00001 0x21 空调开 00010 0x22 空调关 00011 0x23 空调升温 00100 0x24 空调降温 00101 0x25 风扇关 00110 0x26 风扇开( 1 档) 00111 0x27 风扇 2 档 01000 0x28 风扇 3 档 01001 0x29 灯管开 01010 0x2a 灯管关 01011 0x2b 电脑(视)开 00000 0x40 电脑(视)关 00001 0x41 15 卧室 3。基于lin总线的语音控制智能家居系统毕业论文(编辑修改稿)
相关推荐
)(2 TT iT S ( ) 可得到: _ )2(SSTiHTTπ,STπ ( ) )(T 还可以用傅里 叶级数来表示即: SjnTn n eT )( ( ) 其中: deTT SSSTjnTTSn //2πππ ( ) 或者 deTiHTT SSSTjnTTi
[4]分为两组,每组包含 4 个输入。 同一组内的每个输入必须连接到相同的相位。 相位不同的组之间可以互连。 [5]0/4 ... 20mA 的电流仅可用于订货号为 6ED1055 1MM00 0BA1 的模块,并且可以选择连接 0 ... 10 V 或者 0/4 ... 20mA。 LOGO!系统 I/O 配置 当 LOGO!本机模块的 I/O 点数不足以满足控制要求时
、节假日及不同的天气情况进行的 “ 时控 ” ,可实现路灯全夜灯和半夜灯自动定时控制,还可以根据季节和天气变化进行光控,这样不仅节约电能,而且也保护了路灯,延长了它们的使用寿命。 (2) 控制逻辑设计 LOGO!的各项功能是通过其内部的各种模块的组合来实现的,这些模块包括基本功能模块和特殊功能模块,基本功能模块包括与门、非门、或门等,来实现简单的基本连接操作(选择功能并将它拖至列表中
..............44 部署步骤 ............................................................................................................44 测试 ...............................................................
.....................................41 本章小结 ............................................................................................................43 第 6 章 DMOC 服务器集群的部署和测试 ....................
rcpthosts 中的域名最好不要超过 50行,多出的添加到 morercpthosts 中。 Morercpthosts:用来指定 qmail 将要为其接受消息的额外的主机和域名。 Smtpgreeting:用来指定 SMTP 连接的欢迎标志 ,默认是 用 me 文件的主机名。 那么建立一个 smtp 连接的时候将会看到如下信息: Trying ... Connected to Escape