- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP_实验9_电话拨号音的合成与识别课案
武汉大学教学实验报告
电子信息学院 通信工程 专业 2015 年_10 月10日
实验名称 电话拨号音的合成与识别 指导教师 卢昕
姓名 莫帮杰 年级 2013 学号 2013301200227 成绩
预习部分
实验目的
实验基本原理
主要仪器设备(含必要的元器件、工具)一、实验目的
本实验基于对电话通信系统中拨号音合成与识别的仿真实现,主要涉及到电话拨号音合成的基本原理及识别的主要方法,利用 MATLAB 软件以及 FFT 算法实现对电话通信系统中拨号音的合成与识别。并进一步利用 MATLAB 中的图形用户界面 GUI 制作简单直观的模拟界面。使其对电话通信系统拨号音的合成与识别有个基本的了解。
能够利用矩阵不同的基频合成 0 - 9 不同按键的拨号音,并能够对不同的拨号音加以正确的识别,实现由拨号音解析出电话号码的过程。进一步利用 GUI 做出简单的图形操作界面。要求界面清楚,画面简洁,易于理解,操作简单。从而实现对电话拨号音系统的简单的实验仿真。
二、实验基本原理
双音多频 DTMF( Dual Tone Multi-Frequency )信号,是用两个特定的单音频率信号的组合来代表数字或功能。在 DTMF 电话机中有 16 个按键,其中 10 个数字键 0 — 9 , 6 个功能键 * 、 # 、 A 、 B 、 C 、 D 。其中 12 个按键是我们比较熟悉的按键,另外由第 4 列确定的按键作为保留,作为功能键留为今后他用。 根据 CCITT 建议,国际上采用 697Hz 、 770Hz 、 852Hz 、 94lHz 低频群及 1209Hz 、 1336Hz 、 1477Hz 、 1633Hz 高频群。从低频群和高频群任意各抽出一种频率进行组合,共有 16 种组合,代表 16 种不同的数字键或功能,每个按键唯一地由一组行频和列频组成,如表 1 所示。
三、主要仪器设备
MATLAB(软件)
涉及的 MATLAB 函数
1. Set
功能:设置对象属性。
基本调用格式:set(H,PropertyName,PropertyValue,...)
用属性值PropertyValue设置关于用参量 H 标志的对象(一个或个)
的属性名PropertyName(一个或多个)。H 可以为一句柄的向量。在这
种情形下,命令 set 可以设置所有对象的属性值。
2. find
功能:找出矩阵 X 中非 0 项的坐标和取值。
基本???用格式:[row,col] = find(X, ...)
常与逻辑运算法一起使用,可进一步明确有哪些信誉好的足球投注网站数值的范围。
3. disp
功能:显示文本或数组。
基本调用格式:disp(X)
4. struct
功能:创建一个结构体数组。
基本调用格式:s = struct(field1, values1, field2,
values2, ...)
给每一个域名赋值,赋值可以为矢量也可以为标量,但是矢量必须有相
同的维数。实验操作部分
实验数据、表格及数据处理
实验操作过程(可用图表示)
实验结论一、实验过程
图形电话拨号面板的制作
利用 GUI 图形用户界面设计工具制作电话拨号面板,把 DTMF 信号
和电话机的键盘矩阵对应起来,如下图所示。
2. DTMF 信号的产生合成
现在将对上节制作的图形电话拨号面板上的各控件单位的动作和变化进行设置,即对 tu1.m 文件进行编辑。其主要的功能是使对应的按键,按照表 1 的对应关系产生相应的拨号音,完成对应行频及列频的叠加输出。此外,对于图形界面的需要,还要使按键的号码数字显示在拨号显示窗口中。
鉴于 CCITT 对 DTMF 信号规定的指标,这里每个数字信号取 1000 个采样点模拟按键信号,并且每两个数字之间用 100 个 0 来表示间隔来模拟静音。以便区别连续的两个按键信号。间隔的静音信号也是在按键时产生的。
以按键 0 为例,简单介绍拨号音产生的过程:
% 按键 0 的响应函数
function varargout = pushbutton0_Callback(h, eventdata, handles,
varargin)
n=[1:1000]; % 每个数字 1000 个采样点表示
d0=sin(0.7217*n)+sin(1.0247*n); % 对应行频列频叠加
n0=strcat(get(handles.edit1,string),0); % 获取数字号码
set(handles.edit
文档评论(0)