双音多频(Dual Tone Multi Frequency, DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。这种信号制式具有很高的拨号速度,且容易自动检测识别,很快就代替了原有的用脉冲计数方式的拨号制式。这种双音多频信号制式不仅用在电话网络中,还可以用于传输十进制数据的其他通信系统中,用于电子邮件和银行系统中。这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。

DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了D/A变换器;在接收端用A/D变换器将其转换成数字信号,并进行数字信号处理。本文着重介绍了一种快速的频率检测算法——GEORTZEL算法的原理,以及该算法在双音多频拨号检测系统中的应用。并根据此算法设计出了相应的滤波器,利用MATLAB在计算机上对双音多频的信令产生及检测接收系统进行了仿真测试。

双音多频(Dual Tone Multi Frequency,DTMF)信号,由美国AT&T贝尔实验室研制,用于音频电话网络中的拨号信号。一方面这种信号具有非常高的拨号速度,另一方面它便于自动检测识别及电话业务的拓展,所以很快代替了原有的脉冲计数方式的拨号形式。

自1876年美国贝尔发明电话以来,电话交换技术发展主要经历了三个阶段:人工交换、机电交换、电子交换。早在1878年就出现了人工供电制交换机,它借助话务员进行话务连接。15年后步进制的交换机问世,这种交换机属于“直接控制”方式,用户通过话机拨号脉冲直接控制步进接续器做升降和旋转动作。从而自动完成用户间的接续。这种交换机虽然实现了自动接续,但存在着速度慢、效率低、杂音大与机械磨损严重等缺点。直到1938年发明了纵横制交换机由直接控制过渡到间接控制方式,随后又出现了电子交换机及程控交换机等。用户的拨号脉冲不再直接控制接线器动作,而先由记发器接收、存储,然后通过标志器驱动接线器,以完成用户间接续。由于标志器记取的是标识信号,所以可以不采用不稳定的脉冲计数方式,逐步发展到数字号码标识,所以快速、稳定灵活的DTMF音频拨号方式取代了脉冲计数方式。

本文主要阐述GOERTZEL算法在双音拨号系统中的应用,并利用Matlab的强大功能,用软件实现DTMF(双音多频)信号的检测。

1.2 数字信号简介

信号是反映消息的物理量,是消息的表现形式。由于非电的物理量可以通过各种传感器较容易地转换成电信号,而电信号又容易传送和控制,所以使其成为应用最广的信号。电信号是指随着时间而变化的电压或电流,因此在数学描述上可将它表示为时间的函数,并可画出其波形。信息可以通过电信号进行传送、交换、存储、提取等。

电信号的形式是多种多样的,可以从不同的角度进行分类。根据信号的随机

性可以分为确定信号和随机信号;根据信号的周期性可分为周期信号和非周期信

1

号;根据信号的连续性可以分为连续时间信号和离散信号;在电子线路中将信号分为模拟信号和数字信号。

我们每天遇到的信号,大部分都是模拟信号。离散时间信号只被定义在一种特定的时间瞬间集合上,表现为具有连续数值范围的数值序列。而数字信号在时间上和幅值上都有离散的数字。因此在实际的操作中,数字信号更容易处理。随着数字电子技术的发展,在语音处理、通信控制、图象处理等领域DSP(Digital Signal Processor 数字信号处理器 )也得到了越来越广泛的应用。

数字通信抗干扰能力强、无噪声积累,由于数字信号的幅值为有限个离散值(通常取两个幅值),在传输过程中虽然也受到噪声的干扰,但当信噪比恶化到一定程度时,即在适当的距离采用判决再生的方法,再生成没有噪声干扰的和原发送端一样的数字信号,所以可实现长距离高质量的传输。

较之传统的方法,数字信号处理系统自身有着无可比拟的优点:

(1)便于加密处理

  信息传输的安全性和保密性越来越重要,数字通信的加密处理的比模拟通信容易得多,以话音信号为例,经过数字变换后的信号可用简单的数字逻辑运算进行加密、解密处理。

(2)便于存储、处理和交换

  数字通信的信号形式和计算机所用信号一致,都是二进制代码,因此便于与计算机联网,也便于用计算机对数字信号进行存储、处理和交换,可使通信网的管理、维护实现自动化、智能化。

(3)设备便于集成化、微型

  数字通信采用时分多路复用,不需要体积较大的滤波器。设备中大部分电路是数字电路,可用大规模和超大规模集成电路实现,因此体积小、功耗低。

(4)便于构成综合数字网和综合业务数字网

  采用数字传输方式,可以通过程控数字交换设备进行数字交换,以实现传输和交换的综合。另外,电话业务和各种非话业务都可以实现数字化,构成综合业务数字网。

2

(5)占用信道频带较宽

  一路模拟电话的频带为4kHz带宽,一路数字电话约占64kHz,这是模拟通信目前仍有生命力的主要原因。随着宽频带信道(光缆、数字微波)的大量利用以及数字信号处理技术的发展,数字电话的带宽问题已不是主要问题了。

下面用MATLAB程序对该系统进行模拟,程序分四段:第一段(第2~7行)设置参数,并读入8位电话号码;第二段(第9~20行)根据输入的8位电话号码产生时域离散DTMF信号,并连续发出8位号码对应的双音频声音;第三段(第22~25行)对时域离散DTMF信号进行频率检测,画出幅度谱;第四段(第26~33行)根据幅度谱的两个峰值,分别查找并确定输入的8位电话号码。程序如下:

17

% 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];              %8个基频对应的8个k值

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));                   %计算出第l位号码数字

TN=TN-d*10^(8-l);

for p=1:4;

for q=1:4;

if tm(p,q)==abs(d); break,end     % 检测与l位号码相符的列号q

end

if tm(p,q)==abs(d); break,end     % 检测与l位号码相符的行号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)                            %相邻信号响声之间加0.1秒停顿

% 接收检测端的程序

X=goertzel(x(1:N),K+1);            % 用Goertzel算法计算8点DFT样本

val = abs(X);                           % 列出八点DFT的摸

subplot(4,2,l);

stem(K,val,'.');grid;xlabel('k');ylabel('|X(k)|') % 画出8点DFT(k)的幅度

axis([10 50 0 120])

limit = 80;                           %基频检测门限为80

for s=5:8;

if val(s) > limit, break, end       % 查找列号

end

for r=1:4;

if val(r) > limit, break, end       % 查找行号

end

18

TNr=TNr+tm(r,s-4)*10^(8-l);    %将8位号码表示成一个8位数,以便显示

end

disp('接收端检测到的号码为:')         % 显示接收到的8位电话号码

disp(TNr)

运行程序,根据提示输入8位电话号码12345678,回车后可以听见8位电话号码对应的DTMF信号的声音,并输出响应的频谱图,如图5-1所示。左上角的第一个图在k=18和k=31两点出现峰值,所以对应第一位号码数字1,依次类推,其他7幅图分别表示数字2,3,4,5,6,7,8对应的DTMF信号DFT的8点采样的幅度值。最后显示检测到的电话号码12345678,如图5-2所示。

图5-1 8位电话号码12345678的DTMF信号在8个近似基频点的DFT幅度

DTMF信号系统的Matlab仿真相关推荐

  1. dtmf信号系统的matlab仿真,dtmf信号系统的matlab仿真毕业设计

    dtmf信号系统的matlab仿真毕业设计 DTMF 信号系统的 Matlab 仿真摘 要双音多频(Dual Tone Multi Frequency, DTMF)信号是音频电话中的拨号信号,由美国 ...

  2. matlab仿真生成信号程序,信号与系统的MATLAB仿真

    用哪个MATLAB进行信号与系统仿真,有详细的实例程序及结果 1 信号与系统的MATLAB 仿真 一.信号生成与运算的实现 1.1 实现)3(sin )()(π±===t t t t S t f a ...

  3. matlab中电流调节器仿真模型,直流调速系统的matlab仿真(课程设计作业).docx

    直流调速系统的matlab仿真(课程设计作业).docx 运动控制系统课程设计班级自动化0802姓名王有录学号0806050231摘要直流调速系统具有调速范围广.精度高.动态性能好和易于控制等优点,所 ...

  4. 对蓄电池matlab仿真,UPS系统的MATLAB仿真

    科 学 论 坛 I■ China science and Technology Review UPS系统的 MATLAB仿真 刘春玉 (武汉 理工大学 4 300 70) [摘 要]UPS系统主要用 ...

  5. 变频调速matlab仿真模型,SPWM变频调速系统的MATLAB仿真

    <SPWM变频调速系统的MATLAB仿真>由会员分享,可在线阅读,更多相关<SPWM变频调速系统的MATLAB仿真(15页珍藏版)>请在人人文库网上搜索. 1.SPWM变频调速 ...

  6. 静电场的有限差分法与matlab 仿真课程设计,计算物理和MATLAB课程设计--自激振动系统的MATLAB仿真.doc...

    东北石油大学课程设计任务书 课程 计算物理和MATLAB课程设计 题目 自激振动系统的MATLAB仿真 专业 姓名 学号 主要内容.基本要求.主要参考资料等 主要内容: 研究范?德?波耳(Van de ...

  7. IEEE14节点求解系统潮流matlab仿真( PQ分解法)

    目录 程序运行结果与IEEE14节点标准测试系统数据比较 设置变量和相关参数 线路和变压器参数矩阵 节点参数矩阵 计算节点导纳矩阵 调整节点编号 计算节点导纳矩阵 PQ解偶迭代 发电机和负荷的注入功率 ...

  8. 超级干货:BPSK/QPSK数字调制系统误码率MATLAB仿真

    本文旨在通过简单实例来对基于MATLAB的数字调制解调系统仿真进行一个较为全面的介绍,并加深对一些基础知识的理解.且有详细解释大多数人在进行数字调制MATLAB仿真时遇到的大部分问题. 数字调制的概念 ...

  9. ZF均衡和ML均衡在不同天线数量下的MIMO系统误码率matlab仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 MIMO系统(Multiple-Input Multiple-Output)是指在发射端和接收端分别使用多个发射天线和接收天线 ...

最新文章

  1. 【小实验讲解】贝叶斯拼写检查器
  2. java 8 新功能详解_Java 8和Java 14之间的新功能
  3. 在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别
  4. QML官方系列教程——QML Applications
  5. 奋战杭电ACM(DAY9)1013
  6. mysql怎么把datetime类型转换_mysql怎样实现time转datetime
  7. 360浏览器怎么添加应用 360安全浏览器应用添加教程
  8. Java反射机制(Reflection)
  9. python 库 类_在Python中导入库类
  10. 物联网的未来不止于 5G!
  11. Hive数据更新同时去重入门
  12. vue中使用echarts
  13. 有人培训设计模式,吾表示难以理解,因为根本没用
  14. 大前端主题添加强力推荐和联系我们模块
  15. 微信java版s40_微信诺基亚下载
  16. mysql主从 备份数据库脱敏_数据库脱敏有用吗?会不会损坏重要数据?
  17. 在 Excel 中对多行多列进行条件求和
  18. linux ogv格式转换,使用OGV转换将OGV转换为Linux中的AVI | MOS86
  19. 【Travis CI使用教程】如何让定制你的travis.yml配置文件
  20. 【正点原子FPGA连载】 第二十章 LCD触摸屏实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

热门文章

  1. 我对计算机的看法英语作文,我对网络的看法 My Concepts on Internet 英语作文范文...
  2. 小游戏贪吃蛇的c++源代码
  3. 机器学习08:最近邻学习
  4. 用CSS实现一个聚光灯效果
  5. 编写Java程序,实现简单的五子棋博弈游戏(美和易思Java练习习题)
  6. Android广告轮播图效果实现
  7. 2017-10-20 西电 新一代人工智能与深度学习“国际”研讨会第一天见闻
  8. Python使用PuLP第三方库解决线性规划问题
  9. MY-I.MX6-DEMO Android4.4.2环境搭建
  10. 密码学历史及近40年人物技术里程碑(公号回复“密码学”下载PDF资料,欢迎转发、赞赏、支持科普)