基于matlab的连续DTMF信号检测的程序实现.pdf
文本预览下载声明
160 福建 电脑 2009年第4期
张昊
(河南师范大学计算机与信息技术学院通信工程专业2006级河南新乡453007)
【摘
简要的解析。程序通过计算信号的短时能量和短时过零率。对信号在频域上进行分析,成功的找出了按键音对应的数字号码。
相信在低噪声环境下的信号检测能有一定的应用价值。
DTMF语音信号处理
【关键词】:端点检测Goert∞l算法
1、概述:
1Ⅳ一l
本论文通过对手机连续按键音的时域和频域分析.来识别 sgll【_(聊)】一s弘[_(聊一1)】
乙=去∑I
手机按键号码。 -卢0
语音信号处理一直是一个重要的研究领域.已经有很长的 其中:
研究历史。其中重要的原因就是.它能够始终与信息科学中最活
跃的前沿学科保持密切的联系。语音信号处理算法的复杂性和 s酬也茳翟
实时处理的要求,促使人们在软硬件方面不断的进行探索。鉴于
大部分的现有文献资料都缺乏详尽的底层描述和具体的实现过 3、信号检测的实现过程:
程,不适合初学者的入门学习。本文针对此问题。仅仅在连续 要识别出连续的DTMF信号.首先要进行的就是端点检测,
DTMF信号检测的具体实现方面进行探讨.并在madab语言环即从输入音频信息中将信号音和背景噪声区分开来。然后信号
境下加以编程实现。以期对初学者能有很好的启发作用。 解码就是要对每一段单独的信号声音做fft变换.在频域中找到
要实现对连续D1MF信号的检测.主要有两大任务:端点检信号编码时的两个组合频率。这里采用Goenzel算法从输入信
测和信号解码。其中端点检测主要利用声音信号的短时能量或 号中提取频谱信息。最后将找到的行频和列频与CCItI’r的国际
短时过零率两项基本指标.设置信号识别门限值.对连续的按键 标准频率进行比照。从而找出具体按的按键号码。
音进行区域分割,找出每一个按键音的时域范围。信号解码主要 3.1端点检测:
针对前一步分割好的声音信号.利用Goenzel算法在相应的频所谓端点检测.就是从一段连续的按键音中找出每一个单
点上进行快速傅里叶变换.提取出频谱信息.找到信号编码时的 独声音的起点和终点。在音频识别系统中,端点检测起着十分重
行频和列频。然后在D1MF信号的编码对照表中查找。找出组合要的作用。好的端点检测不仅能减少计算量和处理时间,而且能
频率对应的数字号码。将结果显示出来。 够提高信号识别的正确率。研究表明即使在高信噪比的情况下,
2√L个基本概念: 识别系统中一半以上的错误率来自端点检测。端点检测的主要
D’rMF(DualToneMulti 指标有短时能量,短时平均幅度。短时过零率,倒谱特征和子带
F嘲uency):即双音多频信号,广泛的
使用在全世界范围内的按键式电话机上。现今应用于通过电话 能量等。其中倒谱特征主要应用于高级别的语言语音识别等系
统.本程序仅用短时能量和短时过零率便可以有效的进行断点
发送信号来选择菜单操作的各种系统中。一个DTMF信号由两
个频率的音频信号叠加构成。这两个音频信号的频率来自两个 检测。
预分配的频率组:行频组和列频组。每一对这样的音频信号唯一 在实际应用中。背景噪声较低时用短时能量识别较为方便,
表示一个数字或符号。为了产生DTMF信号,可以产生两个正弦而背景噪声较大时用短时过零率识别则更为有效。这是因为背
波叠加在一起后发送。解码时可以采用GoeItzel算法,从频域搜景噪声较小时,时域波形分布平坦,短时过零率门限和部分噪声
索两个正弦波的存在.从而解词出D嘲F信号。信号编码
显示全部