ionicons-v5-f

电话拨号音的合成与识别

实验题目:电话拨号音的合成与识别

课程简要信息

课程名称:信号与系统仿真实验

课程学时:16课时

项目学时:课内

适用专业:电子信息工程、通信工程

学生年级:大三

实验内容与任务(限500字,可与“实验过程及要求”合并)

项目需要完成的任务(如需要观察的现象,分析某种现象的成因、需要解决的问题等);是否设计有不同层次的任务。

(1)图形电话拨号面板制作 :利用MATLAB中 GUI 图形用户界面设计工具制作电话拨号面板,把 DTMF 信号和电话机的键盘矩阵对应起来。

要求:界面整洁美观。

  1. DTMF 信号合成 :对图形电话拨号面板上的各控件单位的动作和变化进行设置,完成回调函数。使对应的按键按照规定的频率组合产生相应的拨号音,完成对应行频及列频的叠加输出。

要求:按键的号码数字正确显示在拨号显示窗口中,并能用耳机测试出不同按键产生的拨号音。

  1. DTMF 信号检测识别 :采用 FFT 算法对信号进行解码分析,首先对接收到的数字信号作 FFT 分析,计算出其幅度谱,进而得到功率谱,组成输入信号的频率必定对应功率谱的峰值,从而确定 DTMF 信号所代表的数字或功能。

要求:识别通信录,模拟展示来电显示。

  1. 拓展任务:对拨号音信号进行加噪和识别,对给定的拨号音信号添加白噪声,通过控制信噪比参数,实现不同噪声强度对加噪后的拨号音进行时频分析,以及号码识别尝试记录能够正确识别的最低信噪比。

要求:GUI界面展示加噪拨号音时域和频域波形。

相关知识及背景(限150字)

项目涉及所需的知识方法、实践技能、应用背景、工程案例。

早期的脉冲拨号电话系统需要大量的操作员手工完成长途接续(效率低、易出错)。贝尔实验室的科学家们发明了双音多频(Dual Tone Multi-Frequency,DTMF,用两个特定的单音频率信号的组合来代表数字或功能,目的是为了能让电话系统自动接收号码然后完成呼叫),包括模数转换过程,是电话通信系统中的基础技术,拨号音的合成与识别涉及到信号的时域和频域分析。

表1 DTMF对应频率表

FH(Hz)

FL(Hz)

1209 1336 1477 1633
697 1 2 3 A
770 4 5 6 B
852 7 8 9 C
941 * 0 D

实验环境条件

项目实施需要实验资源,包括实验装置功能、实验仪器设备、设计软件工具、主要电子元器件等。

硬件设备 :计算机、声卡、耳机或音箱等音频输出设备。

软件平台 :MATLAB 软件,用于制作GUI界面,并编写程序实现电话拨号音的合成与识别。

教学目标与目的(限150字)

如学习、运用知识、技术、方法等;培养、提升技能、能力、素质等。

知识目标 :学生能够描述电话拨号音的合成与识别的产生过程,理解模拟信号和数字信号的转换原理。

能力目标 :学生能够利用MATLAB中的图形用户界面GUI制作简单直观的模拟界面,并能灵活利用MATLAB软件以及FFT算法实现对电话通信系统中拨号音的合成与识别。

素养目标 :学生能够认识到通信技术在日常生活中的重要性,培养对专业的认同感和学习成就感,提高对工程应用、科学研究的积极性和主动性。

教学设计与实施进程

课堂知识讲解、方法引导、背景解释;实验中的方法指导,问题设置、思路引导等。教学模式、实验渠道、研讨主题、观察节点、验收重点、质询问题等方面设计等。实验实施进程的各个环节(如任务安排、预习自学、现场教学、分组研讨、现场操作、结果验收、总结演讲、报告批改等)中教学设计的思路、目的,教师、学生各自需要完成的工作任务,需要关注的重点与细节。

本实验的过程是一个比较完整的实践工程,需要经历学习研究、界面设计、回调函数调试、测试效果、设计总结等过程。在实验教学中,应在以下几个方面加强对课堂教学的设计。

设计思路:

实验设计突出“原理性”、“趣味性”、“综合性”和“实用性”。从学生感兴趣的角度(新闻事件)导入实验内容;拓展学习内容(电话拨号系统的发展历程、各类密码保护技术等);分析回顾时域抽样定理、信号傅里叶分析;阐述双音多频的实验原理;学生动手设计、优化、调试、讨论、总结提升。实验过程中注重师生互动。

从教学痛点出发,丰富教学内容,优化教学手段,改进教学方法,提升学生的学习兴趣和注意力,充分调动学生的实验课堂的参与度,加强学习效果。学生通过设计电话拨号GUI界面(app)并编程实现电话拨号音的合成和识别,初步建立了工程设计的系统思维并提升了编程能力;学生通过计算拨号音的数字频率、利用傅里叶变换对实际信号进行频谱分析,并绘制拨号音的频谱图,加深了对信号与系统理论知识的理解。通过课堂教学使学生掌握了“双音多频”、“白噪声”、“信噪比”等通信、信号处理中的基本概念;通过课堂讨论密码保护技术,拓展了学生的知识面,锻炼了学生多元化思维;通过生活场景的对接,使学生感受到科学技术服务于生活,并引出“科技是双刃剑”的思政元素,强调科技工作者、工程设计者正确价值观的重要性。

实施步骤:五星教学法

案例导入:提升课程的实用性和趣味性,调动学生的关注度。

90后大学生仅凭声音破解360老总的手机,后被邀请进入360工作! (sohu.com)

IMG_256

课堂讲授:教师通过讲解,使学生了解电话拨号音的基本原理和产生机制,包括如何在Matlab中设计GUI界面和回调函数的编写、双音多频 DTMF 信号的原理、模拟信号与数字信号转换等知识。

实验操作:学生一人一组,在教师的指导下,按照实验内容和步骤,利用 MATLAB 软件进行电话拨号音合成与识别的实验操作。包括制作图形电话拨号面板、合成拨号音、检测识别拨号音等。

小组讨论:学生进行小组讨论,交流实验过程中遇到的问题和解决方案,教师进行巡视指导,引导学生主动思考和探索,提高学生的分析和解决问题的能力。

拓展学习:分析了解白噪声的频谱特性,通过添加白噪声,直观了解信噪比的概念,探讨发出拨号音从而拨通电话的可行性,了解人类语音信号的特点。了解银行内按键音与双音多频的区别,以及手机银行密码按键音演进的原因以及各类密码保护技术等。

总结归纳:教师对学生的实验结果进行考评和归纳总结,强调实验中的重点和难点,解答学生在实验过程中存在的疑问,使学生对电话拨号音合成与识别的原理和方法有更深入的理解。

在设计中,要注意学生设计和编程的规范性;如按键标号的顺序和回调函数的对应,拨号音行频和列频的计算;要注意学生界面设计的美观性;在调试分析中,要细致耐心,不只是追求结果,重视实验过程和排错的总结。

课后为学有余力的同学创设实验条件,鼓励有需求的学生继续独立或者合作完成开放实验,加入噪声信号之后,实现界面的优化和信号的提取。

实验原理及方案

实验的基本原理、设计依据、完成任务的思路方法,可能采用的方法、技术、电路、器件。

信号合成原理:根据 DTMF 信号的频率组合规则,利用正弦函数生成对应的低频和高频信号,然后将两者相加,即可得到拨号音信号。例如,按下数字键 “1” 时,会产生 697Hz 和 1209Hz 两个频率的正弦波信号,将这两个信号相加,就得到了代表数字 “1” 的拨号音信号。

鉴于 CCITT 对 DTMF 信号规定的指标,这里每个数字信号取 1000 个采样点模拟按键信号,并且每两个数字之间用 100 个 0 来表示间隔来模拟静音。以便区别连续的两个按键信号。间隔的静音信号也是在按键时产生的。

模拟信号数字化:DTMF最高频率1633Hz,选择采样率8192Hz满足时域抽样定理。

频率的换算关系(以数字0键为例):

由表 1 中 0 键对应的 ,计算得出,

已知声音取样频率

则取样后

,

d0=sin(0.7217*n)+sin(1.0247*n)

% 按键 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.edit1,'string',n0); % 显示号码

space=zeros(1,100); %100 个 0 模拟静音信号

global NUM

phone=[NUM,d0];

NUM=[phone,space]; % 存储连续的拨号音信号

wavplay(d0,8192); % 产生拨号音

依此类推,算出其他按键的数字频率并编写回调函数。

对于保留的两个功能键“ *”和“#”,按照现行键盘式拨号电话的习惯,将“ *”作为删除键,“#”作为确认键。“ *”删除键的作用是将前面拨错的号码删除退回,表现为将显示窗口已经显示的错误号码退回一位数字,并且将连续拨号音信号的存储单元 NUM 中退回一位拨号音信号和静音信号。删除可以进行连续的操作。“#”确认键的作用是将前面拨过的号码进行确认保留,意味着此时连续拨号音信号的存储单元 NUM 中的信号即为最后用于识别的连续拨号音 DTMF 信号,并在显示窗口中显示“#”号作为标记。

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

信号在频域能够呈现出时域不易发现的性质和规律,傅里叶变换能够将信号从时域变换到频域,便于在频域对信号的特性进行分析。

时域离散信号x(n)的傅里叶变换定义如下:

在实际中,傅里叶变换通常使用快速傅里叶变换FFT实现,而FFT实则用离散傅里叶变换(DFT)的快速算法。x[n]的DFT定义如下

因此实际中使用FFT对信号进行频域傅里叶分析时,必须遵循DFT应用的要求,即FFT的点数应大于等于信号的序列长度。在程序设计中应留意这一点。

确定行频和列频的数值范围是通过计算得出的:已知输入信号的取样频率 ,而做FFT的N=2048,则频谱分辨率为 ,由此可算出频谱图上任意点对应的频率 。例如,数字8的高、低端频率为,则在谱图上对应的点

实验报告要求

需要学生在实验报告中反映的工作(如:实验需求分析、实现方案论证、理论推导计算、设计仿真分析、电路参数选择、实验过程设计、数据测量记录、数据处理分析、实验结果总结等等),如:

实验报告需要反映以下工作:

实验目的 :简要说明本次实验的目的和意义。

实验原理 :阐述电话拨号音合成与识别的基本原理,包括 DTMF 信号的产生和检测方法。

实验内容 :详细描述实验的具体内容和步骤,包括图形电话拨号面板的制作、拨号音的合成与识别过程等。

实验结果 :给出实验中得到的拨号音信号波形图、频谱图等结果,并对结果进行分析和讨论,说明实验结果是否符合预期,以及出现的问题和解决方案。

实验总结 :总结本次实验的收获和体会,包括对电话拨号音合成与识别原理的理解、实验技能的提高等方面。

考核要求与方法(限300字)

考核的节点、时间、标准及考核方法。

课堂表现:评估学生在课堂上的参与度、提问回答、小组讨论等,以考察学生的学习态度和积极性。

评分标准:不做其他无关事情跟着老师的节奏完成任务(80+);积极思考、及时回答老师的提问(85+);充分参与小组讨论并发表见解(90+);能完成拓展任务(95+);其他被动参与的表现老师视情况给予评分(80-)。

实验报告:根据学生提交的实验报告的完整性和准确性,评估学生对实验内容的掌握程度和分析问题的能力。

评分标准:根据学生现场操作熟练度、代码和界面布局规范、结果是否正确、问答是否流畅给予评分。

表2 实验报告考核标准

分数范围 描述
90-100 按时独立完成,代码和界面布局规范,结果正确,文字处理工整。
80-89 按时完成,代码和界面布局比较规范,结果无误,报告整洁。
70-79 在提示下完成,代码和界面能实现功能,结果无明显误差,内容完整。
60-69 在帮助下完成,代码和界面需修改后才能运行,结果部分正确。
<60 无法完成仿真任务,报告不完整。

本次实验总成绩:课堂操作表现成绩*50%+报告成绩*50%。

项目特色或创新(可空缺,限150字)

项目的特色在于:项目背景的工程性,知识应用的综合性,实现方法的多样性。

实践性强:利用 MATLAB 软件进行仿真实验,使实验更加直观、生动,让学生亲身体验电话拨号音的合成与识别过程,提高了学生的学习兴趣和实践动手能力。

学科交叉融合:融合信号与系统、通信技术、APP设计等知识,让学生拓展了知识面,增强了专业认同感,为今后从事相关工作打下了基础。

五星教学法:提高了课堂效率,促进了学生积极参与、深层思考和规范描述。

获奖信息

获奖等级 一等奖
年份 2025

作品信息

学时分类 1-6学时
课程分类 信号与系统

作者信息

作者
翟月英,刘锐,李庆
学校
武汉晴川学院
院系
北斗学院

电工电子实验教学资源平台 苏ICP备09069895号-19