实验六 数字信号处理在双音多频拨号系统中的应用
实验3双音多频(DTMF)接收与检测单元实验

实验3双音多频(DTMF)接收与检测单元实验一、实验目的1.了解电话号码双音多频信号在程控交换系统中的发送和接收方法。
2.熟悉该电路的组成及工作过程。
二、预习要求1.认真预习有关双音多频方面的相关内容。
三、实验仪器仪表1.现代程控交换实验系统一台2.电话机四部3.20MHz 示波器一台四、实验电路工作过程(一)双音多频拨号和脉冲拨号简单介绍在电话机中,有两种拔号方式,即脉冲拨号和双音多频拔号。
双音多频拨号方式中的双音多频是指用两个特定的单音频信号的组合来代表数字或功能,两个单音频的频率不同,所代表的数字和功能也不同,在双音多频电话机中有 16 个按键,其中有 10 个数字键 0-9,6 个功能键*、#、A、 B、C、D,按照组合的原理,它必须有 8 种不同的单音频信号,由于采用的频率有 8 种,故称之为多频,又因为 8 种频率中任意抽出 2 种进行组合。
又称其为 8 中取 2 的编码方法。
表 5-1双音多频,简写 DTMF(DTMF=Dual Tone Multifrequency)图 5-1 一个典型的 DTMF 发送电路原理框图DTMF 发送器的原理与构成如图 5-1 所示,它主要包括:(1) 晶体振荡器——外接晶体(通常采用 3.58MHz)与片内电路构成振荡器,经分频产生参考信号。
(2) 键控可变时钟产生电路——它是一种可控分频比的分频器,通常由 n 级移位寄存器与键控反馈逻辑单元组成。
(3) 正弦波产生电路——它是由正弦波编码器与 D/A 变换器构成,通常,可变速时钟信号先经 5 位寄存器,产生一组 5 位移位代码,再由可编程逻辑阵列(PLA)将其转换成二进制代码,加到 D/A 变换器形成台阶型正弦波。
显然台阶的宽度等于时钟频率的倒数,这样形成的正弦波信号频率必然对应于时钟的速率和按键的号码。
(4) 混合电路——将键盘所对应的行、列正弦波信号(即低、高群 fL 、 fH )相加、混合成双音信号输出。
DFT在信号频谱中的应用设计数字信号处理课程设计

目录一、设计题目 (2)二、设计目的 (2)1、DFT在信号频谱中的应用设计目的: (2)2、双音多频拨号音频解码系统设计目的 (2)三、设计原理 (2)1、DFT在信号频谱中的应用设计原理 (2)2、双音多频拨号音编解码系统设计原理 (2)四、实现方法 (3)1. DFT在信号频谱中的应用 (3)2. 双音多频拨号音频解码系统 (3)五、设计内容及要求 (4)1、DFT在信号频谱分析中的应用 (4)2、双音多频拨号音编解码系统 (6)六、设计结果及改进建议 (19)1. DFT在信号频谱分析中的应用 (19)2. 双音多频拨号音编解码系统 (22)七、回答思考题 (22)1. DFT在信号频谱分析中的作用 (22)2. 双音多频拨号音编解码系统 (23)八、设计体会 (23)九、参考文献 (24)一、设计题目我共选择了两个题目:DFT在信号频谱中的应用和双音多频拨号音频解码系统。
二、设计目的1、DFT在信号频谱中的应用设计目的:1.1熟悉DFT的性质。
1.2加深理解信号频谱的概念及性质。
2、双音多频拨号音频解码系统设计目的本设计是一个综合设计,目的在于了解IIR系统、谱分析方法以及滤波器的设计和具体应用。
三、设计原理1、DFT在信号频谱中的应用设计原理1.1学习用DFT和补零DFT的方法来计算信号的频谱。
1.2用MATLAB语言编程来实现,在做课程设计前,必须充分预习课本DTFT、DFT及补零DFT的有关概念,熟悉MATLAB语言,独立编写程序。
2、双音多频拨号音编解码系统设计原理一个双音多频电话机(DTMF, dual-tone multi-frequency touch-tone phone)可以对12个按键编码,每个码都是两个单频正弦之和。
这两个单频正弦信号分别来自两个频率组,即列频率组(或称低频率群)与行频率组(或称高频率群),它们与每个按键的对应关系如下表所示:数字DTMF接收机通过接收到的双音信号的频谱,再现每个按键所对应的两个频率,从而确认被发送的电话号码。
双音多频信号检测教学案例设计

双音多频信号检测教学案例设计作者:曹英丽许童羽陈春玲杜梦媛来源:《教育教学论坛》2017年第05期摘要:频域分析作为“信号与系统”课程的重要组成部分,因其物理概念复杂、理论计算枯燥学生理解困难等问题造成教学难度大,为了提高教学质量,本文设计了以DTMF信号为例的频域分析教学案例,具体研究了利用离散傅里叶变换分析DTMF信号,并实现按键号码的自动检测。
关键词:信号与系统;频域分析;教学案例;DTMF中图分类号:G642.3 文献标志码:A 文章编号:1674-9324(2017)00-0221-03“信号与系统”是电气电子信息类本科学生连接数字信号处理、通信原理等后续课程学习的一门重要专业基础课程,美国麻省理工学院著名教授奥本海默也在他所著教科书Signals and Systems的前言中指出:“信号与系统课程不仅是工程教学中一门非常基本的课程,而且也成为工科学生在大学教育阶段所修课程中最得益而又引人入胜和最有用的一门课程。
”然而由于课程本身的特点,物理概念抽象,并且与数学联系紧密,尤其是频域分析部分,复杂的数学公式推导以及数学结果常常使学生难以理解,仅依靠做题来巩固和理解所学知识,无法达到让学生真正理解频域分析的物理概念和工程含义等教学目的,这时根据课程特点及需要,提出适当的教学案例便能让学生更深刻理解所学知识的基本原理,更直观地体会频谱的物理概念以及应用。
本文结合学生日常生活所能接触到的电话按键,设计了按键中DTMF信号频域分析的教学案例,并实现按键号码的自动检测。
一、DTMF的概念DTMF(Dual Tone Multi Frequency,双音多频)被广泛应用于世界范围内的按键式电话上。
作为实现号码快速转换并传输的一种技术,具有很强的抗干扰能力和较高的传输速度,主要用于解决远程电话的自动呼叫发送被叫号码,代替原本由人工接续的脉冲拨号方式,是电话系统中电话机与交换机之间的一种用户信令。
电话拨号有两种,脉冲和音频,所谓音频就是双音多频(DTMF)信号的拨号方式,近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和来电显示等方面。
频谱分析的应用--话拨号音合成与识别

WNm = e
−
2π N
m
。
由于对 DTMF 信号解码只需其频谱的幅值信息,因而可舍去相位信息,输出频谱的 幅度平方值,即
X [m = ]
2ห้องสมุดไป่ตู้
ym [ N = Qm [ N ] + Qm [ N − 1] − 2 cos ]
2.DTMF 信号识别 DTMF 信号的检测是将两个信号频率提取出来,从而确定所接收的 DTMF 是哪个数 字。利用 DFT 对 DTMF 信号进行 N 点的频谱分析,根据谱峰出现的频率点位置 Ni 就可
以确定 DTMF 信号的频率 fi:
f = Ni × f s / N i
DTMF 信号的解码要求快速、简单、准确,Goertzel 算法比 FFT 算法更为有效适用。 因为 FFT 涉及较多的复数乘法和加法,Goertzel 算法可以将复数运算转化为实数运算,从 而减少了计算量,提高了计算速度。Goertzel 算法的基本思想是对 DFT 公式进行转换, 使其成为一个二阶传输函数:
= x[n] sin(ωH n) + sin(ωL n)
式中:ωH 2 = = π f H / f s , ωL 2π f L / f s 分别表示高频低频频率,电话信号的典型抽样频率 为 f s = 8kHz 。 DTMF 信号的标准是:在传送过程中每个按键字占用 100ms,其中信号必须持续至少 40ms,且不得多于 55ms,100ms 里的其余时间为静音(无信号) 。 表 4.1 按键频率对应表 fL 697 Hz 770 Hz 852 Hz 941 Hz W=2pi*fL/fs rad/s 697 Hz 770 Hz 852 Hz 941 Hz 0.5474 0.6048 0.6692 0.7391 N=106 m 9.2 10.2 11.2 12.47 fH 1209 Hz 1 4 7 * m 取整 9 10 11 12 1209 Hz 1336 Hz 1477 Hz 1336 Hz 2 5 8 0 W=2pi*fH/fs rad/s 0.9495 1.0493 1.1600 1477 Hz 3 6 9 # N=106 m 16.02 17.70 19.57 m 取整 16 18 20
DTMF信号的产生与接收资料

数字信号处理综合实验设计题目:DTMF信号的产生与接收姓名:庞露深学号:20144148087 姓名:韩晓艺学号:20144148036姓名:张森豪学号:20144141045姓名:孙坤宁学号:20144161081姓名:陈爽学号:20144148063 年级专业:14级通信工程指导老师:田晓燕2016年12月25日DTMF信号系统的产生与接收具体分工如下:搜集资料:陈爽编写程序:庞露深、韩晓艺撰写报告:孙坤宁、张森豪摘要双音多频(Dual Tone Multi Frequency, DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。
这种信号制式具有很高的拨号速度,且容易自动检测识别,很快就代替了原有的用脉冲计数方式的拨号制式。
这种双音多频信号制式不仅用在电话网络中,还可以用于传输十进制数据的其他通信系统中,用于电子邮件和银行系统中。
这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。
DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了D/A变换器;在接收端用A/D变换器将其转换成数字信号,并进行数字信号处理。
本文使用一种快速的频率检测算法——FFT算法,利用MATLAB在计算机上对双音多频的信令产生及检测接收系统进行了仿真测试。
关键词:双音多频,FFT算法,数字信号处理,傅里叶变换;本设计是本人精心设计的,功能强大,可以随便输入电话号码,多少位都可以,而且分页显示DFT图像,不懂得可以加1054105507咨询!目录摘要 (ⅠⅠ)1.绪论 (1)1.1 引言 (1)1.2 数字信号简介 (1)1.3 数字滤波器 (3)1.4 频率分析 (3)1.4.1 傅里叶级数及傅里叶变换 (4)1.4.2 Z变换及系统函数 (4)1.4.3 离散系统傅里叶变换(DFT) (5)2.双音多频(DTMF)通信系统 (5)2.1 双音多频(DTMF)信号简介 (5)2.2 双音多频(DTMF)信号的产生 (6)2.3 双音多频(DTMF)信号的检测 (7)3.检测双音多频信号(DTMF)的DFT参数 (9)3.1 频谱分析的分辨率 (9)3.2 频谱分析的频率范围 (9)3.3 检测频率的准确性 (10)4.双音多频(DTMF)系统的Matlab实现 (11)4.1 Matlab简介 (11)4.2 双音多频(DTMF)系统的逻辑图 (12)4.3 双音多频(DTMF)系统的仿真 (13)5.结束语 (16)致谢 (16)1 绪论1.1 引言双音多频(Dual Tone Multi Frequency,DTMF)信号,由美国AT&T贝尔实验室研制,用于音频电话网络中的拨号信号。
用FFT分析双音频电话按键音

用FFT分析双音频电话按键音一、实验目的对于现在的电话大多是双音频电话,本次试验的目的在于用快速傅里叶变换分析出一些按键音的频谱,从而判断所按下的键,这样的实验不仅带有一定的趣味性同时也可加深我们对FFT的理解以及对他的在信号的分析和处理方面的应用有所了解。
二、实验原理基于FFT的基2算法有效的实现对信号的频谱分析,从分析出的频谱中分析出双音频电话所按下的键的键值下表1是键值与频率的对应关系三实验步骤1 先通过录音软件将要分析的按键音用录音软件,录下设置好采样率,和量化位数,本次试验使用的录音软件如下图1图1点击设置设置采样频率和量化位数等参数如下图2所示采样频率设置为4000Hz量化位数设置为8位;输入设备选择:麦克风图2设置完参数后点击录音开始录音,点击之录麦克风如图3图3录音完成后点击弹出界面中间的选项即“确定”Y””录音完成如图4图4通过对录音进行剪辑点击“提取块”,提取你所需要的部分的录音点击“另存为(wav)”另存为wav格式保存到MATLAB的目录下,例如我自己创建的文件D:\MATLAB\R008a\work\FFT文件夹中.如图5、6图5打开MATLAB软件在file-set path 点击add folder添加该路径.图7图8完成路径的添加后点击save再点击close;2 读取该音频文件,通过调用matlab函数库的wavread函数实现对wav格式的音频文件的读取.例如:[y,fs,bits]=wavread(‘a.wav’);y: 该音频文件的数据数组fs: 该音频文件的采样频率bits: 该音频文件的量化位数a.wav: 该音频文件3 编写频谱分析程序即编写M序列;四实验程序和结果分析按键频谱的M文件如图4图4分析出的频谱图如下图5图5通过上图分析出的频率与双音频电话的频率表进行对比查的该键值为双音频电话键值”6”在分析一个按键如下频谱分析程序如图6图6 分析出的频谱如图7图7通过上图分析出的频率与双音频电话的频率表进行对比查的该键值为双音频电话键值”7”五实验结论该次实验很好的锻炼了我在数字信号处理方面的程序编写,以及MATLAB的使用的能力,有效地提高了在信号处理方面的水平,该次实验室一次趣味性的实验,极大地激发了对数字信号处理的兴趣,特别是在matlab处理音频文件上学会了如何从matlab的外部向matlab导入一些文件,如txt文件,wav文件等.在这次分析双音频按键的信号频谱实验中受益匪浅,从而也了解了matlab软件功能的强大,今后还需要更加深入的去学习该软件,应用该软件解决一些工程应用的问题。
双音多频信号的产生和检测
摘要所谓双音多频(DTMF ),就是用两个频率一一行频和列频来表示电话机键盘上的一个数字。
DTMF电话的指令正在迅速的取代脉冲指令。
除了在电话呼叫信号中使用外,DTMF还广泛的使用在交互式控制应用,例如电话银行、电子邮件甚至家电远程控制等,用户可以从电话机发送DTMF信号来做菜单选择。
本文基于MATLAB的双音多频拨号系统的仿真实现。
主要涉及到电话拨号音合成的基本原理及识别的主要方法,利用MATLAB软件以及GOERTZEL算法实现对电话通信系统中拨号音的合成与识别。
并进一步利用MATLAB中的图形用户界面GUI制作简单直观的模拟界面,根据提示输入8位电话号码,通过按下输入键可以听见8位电话号码对应的DTMF 信号的声音,通过按下解码键可输出相应的8幅频谱图,并显示检测到的电话号码。
关键词:多音双频MATLAB GOERTZEL算法频谱图第一章、绪论1 • 1研究背景及意义双音多频(Dual Tone Multi Frequency , DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。
这种信号制式具有很高的拨号速度,且容易自动监测识别,很快就代替了原有的用脉冲计数方式的拨号制式。
这种双音多频信号制式不仅用在电话网络中,还可以用于传输十进制数据的其它通信系统中,用于电子邮件和银行系统中。
这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。
1.2研究内容及任务说明DTMF编码,是将电话拨号盘上的数字0~9,字母A~D,及*、#,共16个字符,用音频范围的8个频率表示出来,具体来说,将8个频率分为高频群和低频群两组,分别作为列频和行频,每一个键的频率模式由来自于列频和行频的两个频率叠加而成。
要求生成8位电话号码的DTMF信号,并在接受端进行检测。
生成和检测模块要求分开。
第二章双音频信号产生与检测的原理和内容2.1双音频信号产生与检测的原理介绍双音多频(Dual Tone Multi Frequency, DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。
双音多频(DTMF)接收与检测实验
实验4 双音多频(DTMF )接收与检测实验一、实验目的1.观测电话机发送的DT M F 信号波形;2.了解电话号码双音多频信号在程控交换系统中的接收和检测方法; 3.熟悉该电路的组成结构及工作过程。
二、实验电路工作过程DTMF 接收器包括D T MF 分组滤波器和D T MF 译码器,其基本原理如图4-1所示。
DTMF 接收器先经高、低群带通滤器进行fL / f H 区分,然后过零检测、比较,得到相应于D T MF 的两路f L 、fH 信号输出。
该两路信号经译码、锁存、缓冲,恢复成对应于16种D T MF 信号音对的4比特二进制码(D 1~D4)。
图4-1 典型DTM F 接收器原理框图图4-2 MT8870芯片管脚排列在本实验系统电路中,DTMF 接收器采用的是M T8870芯片。
图4-2为管脚排列图。
1.电路的基本特性(1)提供DTM F 信号分离滤波和译码功能,输出相应16种DTM F 频率组合的4位 并行二进制码。
(2)可外接3.5795M H z 晶体,与内含振荡器产生基准频率信号。
(3)具有抑制拨号音和模拟信号输入增益可调的能力。
(4)二进制码为三态输出。
18VDDD1 D2 D3 D4(4)提供基准电压(VDD\2)输出。
(5)电源+5V(6)功耗15mw(7)工艺CMOS(8)封装18引线双列直插2.管脚简要说明IN+ ,IN-运放同、反相输入端,模拟信号或D T MF信号从此端输入。
FB 运放输出端,外接反馈电阻可调节输入放大器的增益。
VREF 基准电压输出。
IC 内部连接端,应接地。
OSC1,OSC0振荡器输入、输出端,两端外接3.5795MH z晶体。
EN 数据输出允许端,若为高电平输入,即允许D01~D04输出,若为低电平输入,则禁止D01~D04输出。
双音多频(DTMF)接收与检测实验
实验4 双音多频(DTMF)接收与检测实验一、实验目的1.观测电话机发送的DTMF信号波形;2.了解电话号码双音多频信号在程控交换系统中的接收和检测方法;3.熟悉该电路的组成结构及工作过程。
二、实验电路工作过程DTMF接收器包括DTMF分组滤波器和DTMF译码器,其基本原理如图4-1所示。
DTMF接收器先经高、低群带通滤器进行f L / f H区分,然后过零检测、比较,得到相应于DTMF的两路f L、f H信号输出。
该两路信号经译码、锁存、缓冲,恢复成对应于16种DTMF信号音对的4比特二进制码(D1~D4)。
图4-1 典型DTMF接收器原理框图18 VDD图4-2 MT8870芯片管脚排列在本实验系统电路中,DTMF接收器采用的是MT8870芯片。
图4-2为管脚排列图。
1.电路的基本特性(1)提供DTMF信号分离滤波和译码功能,输出相应16种DTMF频率组合的4位并行二进制码。
(2)可外接3.5795MHz晶体,与内含振荡器产生基准频率信号。
(3)具有抑制拨号音和模拟信号输入增益可调的能力。
(4)二进制码为三态输出。
(4)提供基准电压(VDD\2)输出。
(5)电源+5V(6)功耗15mw(7)工艺CMOS(8)封装18引线双列直插2.管脚简要说明IN+ ,IN-运放同、反相输入端,模拟信号或DTMF信号从此端输入。
FB 运放输出端,外接反馈电阻可调节输入放大器的增益。
VREF 基准电压输出。
IC 内部连接端,应接地。
OSC1,OSC0振荡器输入、输出端,两端外接3.5795MHz晶体。
EN 数据输出允许端,若为高电平输入,即允许D01~D04输出,若为低电平输入,则禁止D01 ~D04输出。
D01~D04 数据输出,它是相应于16种DTMF信号(高,低单音组合)的4位二进制并行码,为三态缓冲输出。
CI\GT 控制输入,若此输入电压高于门限值VTSt,则电路将接收DTMF单音对,并锁存相应码字于输出,若输入电压低于VTSt,则电路不接收新的单音对。
双音多频DTMF
DTMF(双音多频)技术调研报告学院电子工程学院班级卓越工程师班学号00101201姓名冉艳伟目录1.DTMF信号介绍1.1 DTMF信号基本释义1.2 DTMF的原理分析1.3 DTMF信号合成1.4 DTMF信号的识别2. DTMF的发展3.DTMF信号的应用3.1 新型DTMF信号收/发芯片MT8888及其应用3.2 MT8870双音多频收号器3.3 基于DTMF技术与射频技术的远程控制的实现3.3.1 电话通信的实现3.3.2 DTMF信号收、发芯片MT8880简介3.3.3 MT8880与单片机控制接口3.3.4 手机模块与单片机控制接口3.3.5 射频技术及其硬件电路设计3.3.6 远程控制应用实现3.3.7 软件实现3.4 利用DTMF信号传输监控数据3.4.l 原理简介3.4.2 总体设计3.4.3 分系统设计3.5 DTMF技术展望DTMF(双音多频)技术调研报告电子工程学院冉艳伟00101201摘要:双音多频DTMF(Dual Tone Multi-Frequency)信令,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。
作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。
但绝大部分是用电话的音频拨号。
另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音等信息的远程传输。
近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM 终端等。
将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。
引言:1876年.Alexander Graham Bell(贝尔)发明电话以后,双音多频(DTMF)技术最早被应用于电话领域。
双音多频(DTMF)技术以其简单、快速的特点不仅可以广泛的应用于无线传输中的先期调制阶段和工业遥控领域,而且经双音多频技术调制的信息可以直接通过电话线进行传输,实现电话网络的复合应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六 数字信号处理在双音多频拨号系统中的应用 一、实验目的 1.了解双音频信号的特点 2.学会双频拨号的使用 3.了解并检测DTMF信号的DFT参数选择
二、实验环境 计算机 MATLAB软件
三、实验原理 DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了D/A变换器;在接收端用A/D变换diji zh器将其转换成数字信号,并进行数字信号处理与识别。为了系统的检测速度并降低成本,还开发一种特殊的DFT算法,称为戈泽尔(Goertzel)算法,这种算法既可以用硬件(专用芯片)实现,也可以用软件实现。下面首先介绍双音多频信号的产生方法和检测方法,包括戈泽尔算法,最后进行模拟实验。下面先介绍电话中的DTMF信号的组成。 在电话中,数字0~9的中每一个都用两个不同的单音频传输,所用的8个频率分成高频带和低频带两组,低频带有四个频率:679Hz,770Hz,852Hz和941Hz;高频带也有四个频率:1209Hz,1336Hz,1477Hz和1633Hz.。每一个数字均由高、低频带中各一个频率构成,例如1用697Hz
和1209Hz两个频率,信号用)2sin()2sin(21tftf表示,其中Hzf6791,Hzf12092。这样8个频率形成16种不同的双频信号。具体号码以及符号对应的频率如表10.6.1所示。表中最后一列在电话中暂时未用。
表1 双频拨号的频率分配: 列 行 1209Hz 1336Hz 1477Hz 1633Hz
697Hz 1 2 3 A 770Hz 4 5 6 B 852Hz 7 8 9 C 942Hz * 0 # D DTMF信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播放留言、语音信箱等。 2 电话中的双音多频(DTMF)信号的产生与检测 (1)双音多频信号的产生
假设时间连续的 DTMF信号用)2sin()2sin()(21tftftx表示,式中21ff和是按照表
10.10.1选择的两个频率,1f代表低频带中的一个频率,2f
代表高频带中的一个频率。显然采用数字
方法产生DTMF信号,方便而且体积小。下面介绍采用数字方法产生DTMF信号。规定用8KHz对DTMF信号进行采样,采样后得到时域离散信号为
)8000/2sin()8000/2sin()(21nfnfnx
形成上面序列的方法有两种,即计算法和查表法。用计算法求正弦波的序列值容易,但实际中要实验六 数字信号处理在双音多频拨号系统中的应用 占用一些计算时间,影响运行速度。查表法是预先将正弦波的各序列值计算出来,寄存在存储器中,运行时只要按顺序和一定的速度取出便可。这种方法要占用一定的存储空间,但是速度快。 因为采样频率是8000Hz,因此要求每125ms输出一个样本,得到的序列再送到D/A变换器和平滑滤波器,输出便是连续时间的DTMF信号。DTMF信号通过电话线路送到交换机。 (2)双音多频信号的检测 在接收端,要对收到的双音多频信号进行检测,检测两个正弦波的频率是多少,以判断所对应的十进制数字或者符号。显然这里仍然要用数字方法进行检测,因此要将收到的时间连续 DTMF信号经过A/D变换,变成数字信号进行检测。检测的方法有两种,一种是用一组滤波器提取所关心的频率,根据有输出信号的2个滤波器判断相应的数字或符号。另一种是用DFT(FFT)对双音多频信号进行频谱分析,由信号的幅度谱,判断信号的两个频率,最后确定相应的数字或符号。当检测的音频数目较少时,用滤波器组实现更合适。FFT是DFT的快速算法,但当DFT的变换区间较小时,FFT快速算法的效果并不明显,而且还要占用很多内存,因此不如直接用DFT合适。下面介绍Goertzel算法,这种算法的实质是直接计算DFT的一种线性滤波方法。这里略去Goertzel算法的介绍(请参考文献[19]),可以直接调用MATLAB信号处理工具箱中戈泽尔算法的函数Goertzel,计算N点DFT的几个感兴趣的频点的值。
表2: 8个基频 Hz 最近的整数k值 DFT的 k值 绝对误差 二次谐波 Hz 对应的 k值 最近的 整数k值 绝对误差
697 17.861 18 0.139 1394 35.024 35 0.024 770 19.531 20 0.269 1540 38.692 39 0.308 852 21.833 22 0.167 1704 42.813 43 0.187 941 24.113 24 0.113 1882 47.285 47 0.285 1209 30.981 31 0.019 2418 60.752 61 0.248 1336 34.235 34 0.235 2672 67.134 67 0.134 1477 37.848 38 0.152 2954 74.219 74 0.219 1633 41.846 42 0.154 3266 82.058 82 0.058
四、实验过程(实验步骤、记录、数据、分析、结果) (1) 运行仿真程序exp6.m,任意送入6位电话号码,打印出相应的幅度谱。观察程序运行结果,对照表1和表2,判断程序谱分析的正确性。 实验代码: 6位号码 % DTMF双频拨号信号的生成和检测程序 %clear all;clc; tm=[1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68]; % DTMF信号代表的16个数 N=205;K=[18,20,22,24,31,34,38,42]; f1=[697,770,852,941]; % 行频率向量 f2=[1209,1336,1477,1633]; % 列频率向量 TN=input('键入6位电话号码= '); % 输入6位数字 TNr=0; %接收端电话号码初值为零 for l=1:6; d=fix(TN/10^(6-l)); TN=TN-d*10^(6-l); for p=1:4; 实验六 数字信号处理在双音多频拨号系统中的应用 for q=1:4; if tm(p,q)==abs(d); break,end % 检测码相符的列号q end if tm(p,q)==abs(d); break,end % 检测码相符的行号p end n=0:1023; % 为了发声,加长序列 x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);% 构成双频信号 sound(x,8000); % 发出声音 pause(0.1) % 接收检测端的程序 X=goertzel(x(1:205),K+1); % 用Goertzel算法计算八点DFT样本 val = abs(X); % 列出八点DFT向量 subplot(3,2,l); stem(K,val,'.');grid;xlabel('k');ylabel('|X(k)|') % 画出DFT(k)幅度 axis([10 50 0 120]) limit = 80; % for s=5:8; if val(s) > limit, break, end % 查找列号 end for r=1:4; if val(r) > limit, break, end % 查找行号 end TNr=TNr+tm(r,s-4)*10^(6-l); end disp('接收端检测到的号码为:') % 显示接收到的字符 disp(TNr) 实验六 数字信号处理在双音多频拨号系统中的应用 分析:运行程序,根据提示键入6位电话号码678012,回车后可以听见6位电话号码对应的DTMF信号的声音,并输出相应的6幅频谱图如图1所示,左上角的第一个图在k=20和k=38两点出现峰值,所以对应第一位号码数字6。最后显示检测到的电话号码678012。
(2) 分析该仿真程序,将产生、检测和识别6位电话号码的程序改为能产生、检测和识别8位电话号码的程序,并运行一次,打印出相应的幅度谱和8位电话号码。 实验代码: 8位号码 % DTMF双频拨号信号的生成和检测程序 %clear all;clc; tm=[1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68]; % DTMF信号代表的16个数 N=205;K=[18,20,22,24,31,34,38,42]; f1=[697,770,852,941]; % 行频率向量 f2=[1209,1336,1477,1633]; % 列频率向量 TN=input('键入8位电话号码= '); % 输入8位数字 TNr=0; %接收端电话号码初值为零 for l=1:8; d=fix(TN/10^(8-l)); TN=TN-d*10^(8-l); 实验六 数字信号处理在双音多频拨号系统中的应用 for p=1:4; for q=1:4; if tm(p,q)==abs(d); break,end % 检测码相符的列号q end if tm(p,q)==abs(d); break,end % 检测码相符的行号p end n=0:1023; % 为了发声,加长序列 x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);% 构成双频信号 sound(x,8000); % 发出声音 pause(0.1) % 接收检测端的程序 X=goertzel(x(1:205),K+1); % 用Goertzel算法计算八点DFT样本 val = abs(X); % 列出八点DFT向量 figure(2) subplot(4,2,l); stem(K,val,'.');grid;xlabel('k');ylabel('|X(k)|') % 画出DFT(k)幅度 axis([10 50 0 120]) limit = 80; % for s=5:8; if val(s) > limit, break, end % 查找列号 end for r=1:4; if val(r) > limit, break, end % 查找行号 end TNr=TNr+tm(r,s-4)*10^(8-l); end disp('接收端检测到的号码为:') % 显示接收到的字符 disp(TNr)