电话按键音的识别

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电话按键音的识别

————————————————————————————————作者:————————————————————————————————日期:

一、 实验目的

1. 本实验的内容基于对电话通信系统中拨号音的识别仿真实验。主要涉及到电话

拨号音识别的基本原理和识别的主要方法。利用matlab 软件以及fft 算法实现对电话通信系统中拨号音的识别。并进一步利用matlab 中的图形用户界面制作简单直观的模拟界面,使其对拨号音的识别有个基本的了解。

2. 能够利用矩阵不同的基频合成0-9不同按键的拨号音,并能够对不同的拨号音

加以正确的识别。进一步画出简单的图形,从而实现对电话拨号音系统的简单的实验仿真。

3.了解学习DTMF (双音多频)相关知识,知道双音多频的信号是用两个特定的单音频率信号的组合来代表数字或功能。

二、实验仪器

安装有MATLAB 软件的计算机一台。

三、实验原理

1. DTMF (双音多频) (1) 基本概念

电话拨号有两种,脉冲和音频,所谓音频也成双音多频(DTMF )信号的拨号方式即是电话拨号时每按一个键,有两个音频频率叠加成一个双音频信号,十六个按键由八个音频频率区分。

(2) 编制规则

具体DTMF 编制规则如表1所示

表1 DTMF 键盘

高群/Hz

低群/Hz 1209 3 697 1 2 3 A 770 4 5 6 B 852

7

8

9

C

941 * 0 # D

双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频。用户每按一个键就发送一个高频和低频的正弦信号组合。

2. 电话按键音识别

MATLAB 中audioread 函数可以实现多种音频信号的读取,调用形式为

[y,fs]=audioread()

其中y 为所读取的音频数据; 而fs 为采样频率;

调用的为指定载入的音频文件名称。 用fft 频谱分析公式

/2/w T fs f fs π=Ω=Ω= (1)

2/w N k π=⋅ (2)

由公式(1)和(2)可得:

(3)

四.实验内容

本实验要实现电话拨号音(DTMF)信号的检测的识别,可以通过直接计算傅里叶变换时的输入信号组成的频率。这里采用FFT 算法对信号进行解码分析。首先对接收到的数字信号作FFT 分析。计算出其频幅谱,继而得到功率谱,组成输入信号的频率必定对应功率谱的峰值。对于连续的双音多频(DTMF)信号。需要把有效的数字拨号信号从静音间隔中分割提取出来,然后再用FFT 算法对信号进行解码分析,得出电话拨号码。

五、实验过程与分析

1. 读取音频文件

利用MATLAB 中audioread 读取

[x,fs]=audioread('电话按键音.m4a'); 2. 声道提取

电话按键音是双声道,本实验提取声道1进行分析: x=x(:,1); 3. 端点提取

该按键音为一段连续的11位数字拨号音,分析时需要对它们分别进行处理,而这11位数字间的时间间隔一般情况是没有规律的,无法直接用for 循环控制截取,而要是手动一段一段地进行截取,换一个音频信号就得再次重新截取,因此考虑到可能存在噪音的情况,基于短时能量和短时平均过零率来进行端点检测,实现端点的提取,对于不同的音频信号,只需要修改部分可变参数便可以适用。 4. 分析

根据音频实际情况设置对应参数:

framelen= floor(fs*40/1000);%floor 向下取整,帧长 frameinc= floor(fs*10/1000);%帧移 % 进行分帧,每帧长framelength ,

voice_min_len =15;% 最短语音长度150ms

%语音段的最短长度,若语音段长度小于此值(如果语音段中的静音帧数未超过此值,),则认为其为一段噪音

unvoice_min_len = 5;%结束段最小持续50ms n3=0.05;%过零率下限参数0.05 检测结果见图1

结果: 将11个检测到的号码音频左右端点提取出来

对信号进行fft 变换后,得到的频谱是呈现对称的,在此截取前部分进行观察,得到频谱图如图2所示。 程序运行最终结果为:

The telephone number is:

/f fs k N =*

图1 端点检测结果图 图2 电话按键音fft 频谱图 5. 可靠性检验

自己录制一段拨号音,检验程序的可靠性,这里为了 为了验证程序的正确、可靠性,又分别录制了我自己手机号以及1234567890两段不同格式不同号码,在有噪声条件下的按键音,检验过程如下 (1)(.mp3格式) 参数设置同上

图3 端点检测结果图 图4 电话按键音的fft 频谱图 程序运行结果:

The telephone number is:

图5 端点检测结果图 图6 电话按键音的fft 频谱图

(2)1234567890(.ogg 格式)

该音频录制时,有的按键音持续时间较短,需要对检测初始参数进行修改

0.51 1.5

2 2.5

3 3.54x 10

5

-1

01

s p e e c h

样本点

100

200

300

400500

600

700

800

100200

e n e r g y

帧数

100200300

400500600700800

5z c r

帧数

1234567x 10

5

-1

01

s p e e c h

样本点

200

400

600

8001000

1200

1400

1600

200400

e n e r g y

帧数

200400600

8001000120014001600

50

z c r

帧数

0.51 1.52

2.53

3.54

4.55

5.5x 10

5

-1

01

s p e e c h

样本点

200400

60080010001200

100e n e r g y

帧数

200

400

600800

1000

1200

2040

z c r

帧数

6008001000120014001600

2

46

x 10

-4

fft 频谱图

频率/Hz 幅度

6008001000120014001600

2

46x 10

-4

fft 频谱图

频率/Hz 幅度

6008001000120014001600

1

234x 10

-4

fft 频谱图

频率/Hz 幅度

6008001000120014001600

1

23

x 10

-4

fft 频谱图

频率/Hz 幅度

6008001000120014001600

1

23

x 10-4

fft 频谱图频率/Hz 幅度

6008001000120014001600

0.5

11.5

2x 10

-4

fft 频谱图频率/Hz 幅度

6008001000120014001600

0.5

11.52

2.5x 10-4

fft 频谱图频率/Hz

幅度

6008001000120014001600

1

23x 10-4

fft 频谱图频率/Hz

幅度

6008001000120014001600

0.5

11.52

x 10-4

fft 频谱图频率/Hz

幅度

6008001000120014001600

0.5

11.52

2.5x 10-4

fft 频谱图频率/Hz

幅度

相关文档
最新文档