河北大学 数字信号处理 综合实验——DTMF信号的产生

合集下载

DTMF信号的产生及检测解读

DTMF信号的产生及检测解读

DSP课程设计实验报告DTMF信号的产生及检测院(系):电子信息工程学院-通信工程设计人员:周钰哲学号:08211052苗祚雨08212075目录一、设计任务书 (2)二、设计内容 (2)三、设计方案、算法原理说明 (3)四、程序设计、调试与结果分析 (6)五、设计(安装)与调试的体会 (16)六、参考文献 (16)一设计任务要求双音多频DTMF(Dual Tone Multi Frequency)是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。

这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。

每组分别包括4个频率,分别抽出一个频率进行组合就可以组成16种DTMF编码,分别记作0~9、*、#、A、B、C、D。

如下图1所示。

图1 DTMF信令的编码要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

1、基本部分:(1)使用C语言编写DTMF信号的发生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

(2)使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。

2、发挥部分:利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,使每秒内传送的DTMF编码越多越好。

3、要求完成的任务(1)编写C语言程序,并在CCS集成开发环境下调试通过。

(2)实现设计所要求的各项功能。

(3)按要求撰写设计报告。

二、设计内容DTMF发生器基于两个二阶数字正弦振荡器,一个用于产生行频,一个用于产生列频。

在输入信号中检测DTMF信号,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。

整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。

Goertzel算法实质是一个两极点的IIR滤波器。

数字信号处理综合实验题目

数字信号处理综合实验题目

数字信号处理综合实验题目(可参考,但不仅限于这些题目。

)综合实验题目之一:DTMF信号的产生与自动检测,考虑有噪声情况下的检测。

综合实验题目之二:产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。

综合实验题目之三:采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一个合适的滤波器滤除噪音信号。

综合实验题目之四:差分脉冲编码调制(DPCM)的matlab模块仿真,实现抽样,量化,预测,编码并解码。

综合实验题目之五:已知载波频率的扩频通讯MATLAB程序,通过扩展频率实现低信噪比的传输。

综合实验题目之六:给一幅灰度图象上色,使之变为一幅彩色图像。

综合实验题目之七:对含有噪音的心电信号(可以对采集的再加进噪声信号),对其进行采样和频谱分析,根据分析结果设计出一个合适的滤波器滤除噪声信号。

综合实验题目之八:采集一段自己的语音信号,画出采样后的语音信号的时域波形和频谱,给信号加入混响,并对其进行频谱分析。

综合实验题目之九:在保证彩色图像的视觉效果的条件下,减少图像中的颜色数。

综合实验题目之十:将一幅灰度图象进行处理,使之呈现出铅笔素描的效果。

综合实验题目之十一:录入自己的一段语音,通过处理,改变这段语音的语速。

综合实验题目之十二:录入自己的一段语音,通过处理,改变这段语音的频率,并回放语音,达到男声变为女声,或女声变为男声的效果。

综合实验题目之十三:录入自己的一段语音,通过处理,给这段语音叠加加上延迟,产生混响效果,并回放语音。

综合实验题目之十四读入一段摄像头固定情况下拍摄的视频,检测出视频中运动的物体。

实验报告要求:结合所选择的题目,详细说明为达到实验所要求的效果而采用的技术路线及方法,说明程序设计的思路和细节,并附上实验效果图,以说明所采用的方法的有效性,最后进行实验总结,结合课程,谈谈在实验设计中的体会。

DTMF信号的生成

DTMF信号的生成

3. 专用硬件方法:使用专门的DTMF芯片产生和接 收,比如HT9170,MT8880等。
DTMF信号生成
DTMF信号硬件电路原理:
DTMF信号生成
软件生成DTMF
软件生成原理: sample=sin(n*2*PI*f/fs) sample:序数为n时的采样值; n:采样序数,由0开始递增 f:正弦波频率 Fs:采样频率。
2. 产生两个数字方波,再使用滤波器滤除 二次以上谐波,将输出合成; 3. 查表输出。
DTMF信号生成
数字正弦波震荡器原理
数字震荡器的实质是使用IIR滤波器,通过把其极点 放在单位圆上产生震荡。
sample=sin(n*2*PI*f/fs) 令x=n*2*PI*f/fs; 2*PI*f/fs
DTMF信号生成程序
start: SSBX STM RPT MVPD STM RPT MVPD STM CALL STM RPT MVPD STM RPT MVPD STM CALL STM STM STM STM ADD STH BANZ B FRCT #H,AR1 #1 #KEY4_L,*AR1+ #L,AR1 #1 #(KEY4_L+2),*AR1+ #X,AR5 SIN #H,AR1 #1 #KEY3_H,*AR1+ #L,AR1 #1 #(KEY3_H+2),*AR1+ #Y,AR5 SIN #DTMF,AR4 #X,AR2 #Y,AR3 #400-1,AR6 *AR2+,*AR3+,B B,*AR4+ LOOP,*AR6end ;设置小数方式位,以消去多余符号 ;AR1指向H ;AR1指向KEY4_L ;AR1指向L ;AR1指向KEY4_L+2 ;AR5指向X,用于存储400个正弦波样点 ;调用SIN,产生固定行频的正弦波 ;AR1指向H ;AR1指向KEY4_H ;AR1指向L

DSP实验报告 DTMF信号产生与检测

DSP实验报告 DTMF信号产生与检测

DTMF 信号的产生与检测一、 实验目的1、 了解语音拨号的产生和原理;2、 理解和掌握DTMF 信号的产生和检测;3、学会使用MATLAB 软件进行仿真分析;二、实验原理实际的拨号系统中,每一个按键都对应着一个高频信号和一个低频信号。

按下一个键之后,就会产生有一个相应的双音频信号。

通过一个窗函数就可以将其检测出来。

但在实际的过程中要考虑拨号时间之间的间隔。

窗的长短要合适,不能让窗同时滑过两个语音信号,否则就检测不出来。

Y[n]=cos(wl*t)+cos(wh*t)采用Goertzel 算法进行谱分析:Goertzel 算法本质上是一种非标准DFT ,它是DTMF 检测器的基础。

利用这种方法从输入信号中提取频谱信息有效且快速。

该算法实际上是利用双极点IIR 滤波器来有效地计算DFT 值。

一般的DFT 在开始处理之前都需要有一定的数据量,而Goertzel 算法的逐点递归结构就有明显的优点,可以有效地提高系统的响应速度。

Goertzel 滤波器在经过一定数量的样点N(等效于DFT 块的大小)后,输出便聚合到一个Go-ertzel 算法的内部变量Vii(n)上,并由它得出幅度的平方。

简单的数学描述如下:(1)递归计算:vdn)=2cos(2kn /N)·vdn .1).vk(n .2)+x(n)其中vd .1)=0,v 。

(-2)=0,x(n)=input ,n 0·N 。

(2)每N 次循环计算一次:Ix(k)12=yk(N)yk+(N)=V ,(N)+Vk2(N .1).2cos(2kn /N)W(N)Vd(N .1)由上面的分析可以看出,Goertzel 算法只需要对行频和列频及其相应的二次谐波,共计8个频点进行能量计算。

因为只需要少数的频率值并且只对这些值进行滤波,所以Goertzel 算法比DFT 快得多。

其中的二次谐波能量能够把DTMF 信号与声音信号区分开来。

Goertezl 算法的系统函数和流图如下图所示。

DTMF信号的产生及检测要点

DTMF信号的产生及检测要点

DTMF信号的产生及检测要点
1.频率生成:产生DTMF信号的关键是生成两个不同的频率。

一般采
用频率合成器,如计数器、D/A转换器等来产生。

其中,高频系列对应的
频率为1209Hz、1336Hz、1477Hz和1633Hz;低频系列对应的频率为
697Hz、770Hz、852Hz和941Hz。

2.频率叠加:将产生的高频和低频信号进行叠加,从而形成DTMF信号。

叠加可以通过电容或电感来实现,使得两个频率的波形在同一时间段
内同时存在。

3.声音接口:将产生的DTMF信号转换为声音信号,一般通过耳机、
扬声器等设备进行输出。

1.频率分离:DTMF信号检测的第一步是将输入的混合信号分离成高
频和低频两个信号。

这可以通过滤波器、带通滤波器等实现,将不同频段
的信号分离出来。

2. 频率识别:分离后的高频和低频信号需要进行频率识别,找出它
们所对应的频率。

常用的方法有傅里叶变换、Goertzel算法等。

将识别
结果与预设的DTMF频率进行比对,判断输入的信号是哪个数字、字母或
符号。

3.信号解码:识别出的频率对应了DTMF信号的一个组合,需要将其
解码为实际的数字、字母或符号。

一种常用的解码方法是根据频率识别结
果在一个查找表中查找对应的数字、字母或符号。

4.抗干扰:在DTMF信号的检测过程中,还需要考虑到信号的抗干扰性。

DTMF信号可能会受到来自外界的噪声或干扰信号的影响,因此需要
采取一些抗干扰的措施,如滤波、去噪等,以提高信号的可靠性和鲁棒性。

DTMF信号的产生与接收资料

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贝尔实验室研制,用于音频电话网络中的拨号信号。

DTMF信号的产生与检测-实验报告

DTMF信号的产生与检测-实验报告

DSP课程设计实验报告DTMF信号的产生与检测指导老师:时间:1 设计任务书双音多频DTMF(Dual Tone Multi Frequency)信号是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。

这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。

每组分别包括4个频率,据CCITT的建议,国际上采用的这些频率为697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz 和1633Hz等8种。

在每组频率中分别抽出一个频率进行组合就可以组成16种DTMF编码,从而代表16种不同的数字或功能键,分别记作0~9、*、#、A、B、C、D。

如下图所示。

图1-1 双音多频信号编码示意图要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

1.1 实验目的掌握DTMF信号的产生和检测的DSP设计可使学生更加透彻的理解和应用奈奎斯特采样定理,与实际应用相结合,提高学生系统地思考问题和解决实际问题的能力。

通过对DSP 信号处理器及D/A和A/D转换器的编程,可以培养学生C语言编程能力以及使用DSP硬件平台实现数字信号处理算法的能力。

1.2 技术指标及设计要求1.2.1 基本部分1)使用C语言编写DSP下DTMF信号的产生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

2)使用C语言编写DSP下DTMF信号的检测程序,检测到的DTMF编码在CCS调试窗口中显示,要求既不能漏检,也不能重复检出。

3) DTMF 信号的发送与接收分别使用不同的实验板完成。

1.2.2 发挥部分1) 使用一个DSP 工程同时实现DTMF 信号的发送和检测功能。

2) 改进DTMF 信号的规定指标,使每秒内可传送的DTMF 编码加倍。

DTMF信的产生及检测

DTMF信的产生及检测

N=205时,基波与二次谐波对应系数
整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;
接着作检测结果的有效性检查。
(1)Goertห้องสมุดไป่ตู้el 算法
计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,
采用Goertzel算法要比FFT更快。通过FFT可以计算得到信号所有谱线,了解信号
查表法、泰勒级数展开法、数字正弦振荡器法。 我们用的是 sin 函数产生离散的正弦值,因为这种方法我们比较熟悉而且通
过 查 阅 资 料 这 种 方 法 的 也 能 达 到 误 差 要 求 , 生 成 DTMF 的 公 式 为 :
buffer[t]=sin(t*2*pi*f1/fs)+sin(t*2*pi*f1/fs),其中 t 为采样序数,由 0 开始递增;f1,f2 为生成 DTMF 信号的两个正弦波的频率;fs 为采样频率;buffer[t]
1)DTMF信号的强度是否足够大,行列频率分量平方幅度和是否高于规定的门 限值。
2)如果DTMF信号存在,比较行列频率的最大频率分量差值,因为电话线具有 低通特性,列频比行频衰减得要厉害,因此要设置一门限值。
3)分别在行列频率组比较频谱分量,最强的谱线至少要比其他音频信号高一 个门限值。
4)二次谐波分量是否小于某个值。 5)判断DTMF信号是否包含稳定的数字信息,只有数字信息被连续检测到两 次,才认为数字信息是稳定的。 6)最后要检测数字信息之后是否有停顿状态,只有这样才将当前的数字作
率,即 1 秒采样 8000 个点,则 100ms 采样 800 个点,我们设置 800 个点的缓存,
其中用 400 个存产生的 DTMF 信

DTMF信号的产生与检测—开题报告

DTMF信号的产生与检测—开题报告

DTMF信号的产生及检测一、概述随着DSP 芯片及相关技术的发展,DSP 得到了人们的日益关注和越来越广泛的应用。

德州仪器(TI)公司推出的TMS320VC54x 系列具有高性能、低功耗等优良性能,受到用户的欢迎,已广泛地应用于有线和无线通讯、仪器仪表、雷达、图像处理、工业控制、语音处理等领域。

双音多频DTMF(Dual Tone Multi-Frequency)信令,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。

近年来DTMF 也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM 终端等。

将DTMF 信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中是一项较有价值的工程应用。

DTMF ( 双音多频) 技术是DSP 技术中的一种。

DTMF信号是音频电话的拨号信号。

有美国ATT 贝尔实验室开发。

这种拨号方法取代了脉冲拨号,每一个号码由两个音频信号组成,该双音频由按键所在的行和列对应的频率决定。

电话中的双音多频信号有两种作用:一是用于双音多频信号的拨号,去控制交换机接同被叫的用户电话机;二是利用双音多频信号控制电话机各种动作。

这些功能的实现离不来DTMF 信号的正确的产生和识别,专用数字处理信号芯片(DSP)的出现,使这个问题得到轻松的解决,这里给出的是基于TMS3205402产生和识别DTMF 信号的方法。

DTMF 信号的产生及识别都要以相关算法为基础。

在此我们提出采用Goertzel 算法来实现DTMF 信号的产生及检测,并详细推导了利用该算法实现滤波器组的方法及用仿真软件进行模拟设计的过程。

二、实验设计内容基本部分:1.使用C语言编写DTMF信号的发生程序,可以通过键盘的输入产生0~9对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

2.使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。

DTMF原理介绍

DTMF原理介绍

DTMF原理介绍DTMF原理介绍,DTMF信号编码解码表1.1DTMF信号介绍DTMF信号的产生原理:双音频信号是2个正弦波信号的叠加,选定2个频率f1和f2后可得到这种信号的数学表达式:f(t)=A.sin(2.pi.f1.t)+A.sin(2.pi.f2.t)如果用合适的采样频率对这个信号进行A/D转换,则很容易计算出每一个采样点的A /D值,而如果将这些采样值形成一张表,在单片机里用同样的采样频率将这张表中的数值用D/A转换器输出,就是双音频信号。

在实际应用中常用1b的DM编码来实现A/D和D/A过程,其中A/D过程可以在PC机上完成,用程序生成对应每一个DTMF信号的DM编码表,D/A过程在单片机上完成。

与单音编码不同,DTMF信号是采用八中取二的方式来构成一个音频信号,由虚假信号的干扰,所以应用范围特别广泛。

对照表1可以发现DTMF信号由2个不同的频率信号合成。

分为高频组和低频组,包各含有4个频率,可以构成16种不同的信号,依次对应着16个不同的BCD码。

1.2MT8880介绍MT8880C是一个带有呼叫处理滤波器的单片DTMF信号收发器。

他的制造采用MITEL 公司的低功耗、高稳定性的ISO-CMOS技术。

DTMF信号的接收部分采用DTMF信号接收单片机MT8870的工业制造标准;发送部分采用开关电容进行D/A转换发送高精度、低畸变的DTMF信号。

内部寄存器提供一个群模式。

在双音频群模式下DTMF信号可以通过精确的时序被发送出去。

可选择呼叫处理滤波器让一个微处理器处理呼叫音频信号。

MT8880C 还具有标准的微处理器总路线与6800系列的微处理器直接连接。

整合了收发功能的MT8880C单片机的结构包括一个带有可变增益的内部放大器的高性能接收器和一个带有脉冲计数器的发射器。

一个可以访问MT8880内部的寄存器的标准的微处理器接口。

MT8880的内部寄存器包括1个状态寄存器、2个数据寄存器和2个控制寄存器,。

DTMF信号的产生及检测

DTMF信号的产生及检测

DSP课程设计实验报告DTMF信号的产生及检测院(系):电子信息工程学院-通信工程设计人员:周钰哲学号:苗祚雨 08212075目录一、设计任务书 (2)二、设计内容 (2)三、设计方案、算法原理说明 (3)四、程序设计、调试与结果分析 (6)五、设计(安装)与调试的体会 (16)六、参考文献 (16)一设计任务要求双音多频DTMF(Dual Tone Multi Frequency)是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。

这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。

每组分别包括4个频率,分别抽出一个频率进行组合就可以组成16种DTMF编码,分别记作0~9、*、#、A、B、C、D。

如下图1所示。

图1 DTMF信令的编码要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

1、基本部分:(1)使用C语言编写DTMF信号的发生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

(2)使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。

2、发挥部分:利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,使每秒内传送的DTMF编码越多越好。

3、要求完成的任务(1)编写C语言程序,并在CCS集成开发环境下调试通过。

(2)实现设计所要求的各项功能。

(3)按要求撰写设计报告。

二、设计内容DTMF发生器基于两个二阶数字正弦振荡器,一个用于产生行频,一个用于产生列频。

在输入信号中检测DTMF信号,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。

整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。

Goertzel算法实质是一个两极点的IIR滤波器。

DTMF信的产生与检测实验报告

DTMF信的产生与检测实验报告

1 设计任务书 双音多频DTMF(DualToneMultiFrequency )信号是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF 信号由两个频率的音频信号叠加构成。

这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。

每组分别包括4个频率,据CCITT 的建议,国际上采用的这些频率为697Hz 、770Hz 、852Hz 、941Hz 、1209Hz 、1336Hz 、1477Hz 和1633Hz 等8种。

在每组频率中分别抽出一个频率进行组合就可以组成16种DTMF 编码,从而代表16种不同的数字或功能键,分别记作0~9、*、#、A 、B 、C 、D 。

如下图所示。

DSP 课程设计实验报告 DTMF 信号的产生与检测 指导老师: 申艳老师 时 间: 2014年7月18日图1-1 双音多频信号编码示意图要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

1.1 实验目的掌握DTMF信号的产生和检测的DSP设计可使学生更加透彻的理解和应用奈奎斯特采样定理,与实际应用相结合,提高学生系统地思考问题和解决实际问题的能力。

通过对DSP 信号处理器及D/A和A/D转换器的编程,可以培养学生C语言编程能力以及使用DSP硬件平台实现数字信号处理算法的能力。

1.2 技术指标及设计要求1.2.1 基本部分1)使用C语言编写DSP下DTMF信号的产生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

2)使用C语言编写DSP下DTMF信号的检测程序,检测到的DTMF编码在CCS调试窗口中显示,要求既不能漏检,也不能重复检出。

3)DTMF信号的发送与接收分别使用不同的实验板完成。

1.2.2 发挥部分1)使用一个DSP工程同时实现DTMF信号的发送和检测功能。

DTMF信号地产生及检测

DTMF信号地产生及检测

实用文档DSP课程设计实验报告DTMF信号的产生及检测院(系):电子信息工程学院-通信工程设计人员:周钰哲学号:08211052苗祚雨08212075目录一、设计任务书 (2)二、设计内容 (2)三、设计方案、算法原理说明 (3)四、程序设计、调试与结果分析 (6)五、设计(安装)与调试的体会 (16)六、参考文献 (16)一设计任务要求双音多频DTMF(Dual Tone Multi Frequency)是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。

这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。

每组分别包括4个频率,分别抽出一个频率进行组合就可以组成16种DTMF编码,分别记作0~9、*、#、A、B、C、D。

如下图1所示。

图1 DTMF信令的编码要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

1、基本部分:(1)使用C语言编写DTMF信号的发生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

(2)使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。

2、发挥部分:利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,使每秒内传送的DTMF编码越多越好。

3、要求完成的任务(1)编写C语言程序,并在CCS集成开发环境下调试通过。

(2)实现设计所要求的各项功能。

(3)按要求撰写设计报告。

二、设计内容DTMF发生器基于两个二阶数字正弦振荡器,一个用于产生行频,一个用于产生列频。

在输入信号中检测DTMF信号,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。

整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。

DTMF信号的产生与检测-实验报告

DTMF信号的产生与检测-实验报告

DSP 课程设计实验报告DTMF 信号的产生与检测指导老师:申艳老师 时 间: 2014年7月18日1 设计任务书双音多频DTMF(Dual Tone Multi Frequency)信号是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。

这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。

每组分别包括4个频率,据CCITT的建议,国际上采用的这些频率为697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz 和1633Hz等8种。

在每组频率中分别抽出一个频率进行组合就可以组成16种DTMF编码,从而代表16种不同的数字或功能键,分别记作0~9、*、#、A、B、C、D。

如下图所示。

图1-1 双音多频信号编码示意图要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

1.1 实验目的掌握DTMF信号的产生和检测的DSP设计可使学生更加透彻的理解和应用奈奎斯特采样定理,与实际应用相结合,提高学生系统地思考问题和解决实际问题的能力。

通过对DSP 信号处理器及D/A和A/D转换器的编程,可以培养学生C语言编程能力以及使用DSP硬件平台实现数字信号处理算法的能力。

1.2 技术指标及设计要求1.2.1 基本部分1)使用C语言编写DSP下DTMF信号的产生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

2)使用C语言编写DSP下DTMF信号的检测程序,检测到的DTMF编码在CCS调试窗口中显示,要求既不能漏检,也不能重复检出。

3) DTMF 信号的发送与接收分别使用不同的实验板完成。

1.2.2 发挥部分1) 使用一个DSP 工程同时实现DTMF 信号的发送和检测功能。

2) 改进DTMF 信号的规定指标,使每秒内可传送的DTMF 编码加倍。

DTMF信号的产生及检测

DTMF信号的产生及检测

DSP课程设计实验报告DTMF信号的产生及检测院(系):电子信息工程学院-通信工程设计人员:周钰哲学号:08211052苗祚雨08212075目录一、设计任务书 (2)二、设计内容 (2)三、设计方案、算法原理说明 (3)四、程序设计、调试与结果分析 (6)五、设计(安装)与调试的体会 (16)六、参考文献 (16)一设计任务要求双音多频DTMF(Dual Tone Multi Frequency)是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。

这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。

每组分别包括4个频率,分别抽出一个频率进行组合就可以组成16种DTMF编码,分别记作0~9、*、#、A、B、C、D。

如下图1所示。

图1 DTMF信令的编码要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

1、基本部分:(1)使用C语言编写DTMF信号的发生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。

(2)使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。

2、发挥部分:利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,使每秒内传送的DTMF编码越多越好。

3、要求完成的任务(1)编写C语言程序,并在CCS集成开发环境下调试通过。

(2)实现设计所要求的各项功能。

(3)按要求撰写设计报告。

二、设计内容DTMF发生器基于两个二阶数字正弦振荡器,一个用于产生行频,一个用于产生列频。

在输入信号中检测DTMF信号,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。

整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。

Goertzel算法实质是一个两极点的IIR滤波器。

DTMF实验报告

DTMF实验报告

DTMF信号的产生及检测实验报告--------在MATLAB环境下的仿真实现学号:20072121016 专业:07电子信息工程姓名:黎天送一、实验目的:DTMF(Double Tone Multi Frequency,双音多频)作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。

但绝大部分是用作电话的音频拨号。

另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音等信息的远程传输。

此次的目的是研究其在MATLAB下的仿真。

二、实验内容:1、DTMF的原理DTMF是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。

两个单音频的频率不同,代表的数字或实现的功能也不同。

这种电话机中通常有16个按键,其中有10个数字键0~9和6个功能键*、#、A、B、C、D。

由于按照组合原理,一般应有8种不同的单音频信号。

因此可采用的频率也有8种,故称之为多频,又因它采用从8种频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术。

根据CCITT的建议,国际上采用的多种频率为687Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz等8种。

用这8种频率可形成16种不同的组合,从而代表16种当按下一个数据键,例如“5”时,则产生频率为770HZ 和1336HZ 的两个正弦波,并叠加。

在用MATLAB 仿真时,用查表法先建立拨号数字的表矩阵,以求出数字键对应的频率。

在处理数字信号时,为了不使信号失真,取样频率要求大于或等于原信号频率的2 倍,对于电话音频信号的取样频率一般定为8kHz 。

DTMF 的解码用傅里叶变换( FFT),首先对接收到的数字信号作FFT分析, 计算出其幅频谱,取样频率fs =8kHz ,源程序:Fs=8000;t=(0:2000)/Fs;pit=2*pi*t;fc1=697;fc2=770;fc3=852;fc4=941;fr1=1209;fr2=1336;fr3=1477;fr4=1663;x=sin(fcn*pit);y=sin(frn*pit); --fcn,frn为上面所列的频率值z=x+y;subplot(1,2,2)f=fft(z,1024);f1=fftshift(f);w1=513:1024;w=4000*(w1-512)/512;F=abs(f1(513:1024));plot(w,F)axis([0,2000,-50,600]);gridsound(z)接收端所检测到的信号源程序:function lts(f1,f2)%f1=770;%f2=1209;fs=8000;t=(0:800-1)/8000;b=sin(t*2*pi*f1)+sin(t*2*pi*f2);tm=[49,50,51,65;52,53,54,66;55,56,57,67;42,48,35,68];N=205;k=[18,20,22,24,31,34,38,42];X=goertzel(b(1:N),k+1);val=abs(X);limit=70;for r=1:4if val(r)>limit;break,endendfor s=5:8if val(s)>limit;break,endenddisp('接收端检测到的号码为:');y=setstr(tm(r,s-4));disp(y);例如:当点击B时 f1=770khz,f2=1663khz检测到的号码为:。

DTMF信号的产生与检测实验报告.pdf

DTMF信号的产生与检测实验报告.pdf
2 设计内容
2.1 DTMF 信号的的定义
双音多频(DTMF)信号是由两个不同频率的信号叠加而成,设V(t)为DTMF信号、 VH (t)
和 VL (t) 分别为构成V(t)的两个信号,则它们应满足关系式(1)。
V(t)= VH (t)+ VL (t)
(1)
根据CCITT建议,国际上采用697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz、
(式 2-1)
f0 为行频频率,f1 为列频频率,fs 为 8000 采样频率,k 为对信号的采样。
2.2.2 利用两个二阶数字正弦波振荡器产生 DTMF 信号(本 课程设计实际采用方法)
DTMF 编码器基于两个二阶数字正弦波振荡器,一个用于产生行频,一个用于产生列
频。向 DSP 装入相应的系数和初始条件,就可以只用两个振荡器产生所需的八个音频信号。
量化基线,具体见表2-1。
fL
fH
1209
1336
1477
1633
697
1
2
3
A
770
4
5
6
B
852
7
8
9
C
2
2
一寸光阴不可轻
941
*
0
#
D
表2-1 DTMF频率及其对应的键值
2.2 DTMF 信号生成方法
2.2.1 利用 math.h (2*pi*k *f0/fs)+ sin(2*pi*k *f1/fs)
1633Hz8个频率,并将其分成两个群,即低频群和高频群。从低频群和高频群中任意抽出一个
频率进行叠加组合,具有16种组合形式,让其代表数字和功率,如表3-1所列,则有关系式(2)。

数字信号综合实验DTMF 信号的编码

数字信号综合实验DTMF 信号的编码

实验二: DTMF 信号的编码1、实验内容及要求1)把您的联系电话号码 通过DTMF 编码生成为一个 .wav 文件。

技术指标:根据 ITU Q.23 建议,DTMF 信号的技术指标是:传送/接收率为每秒 10 个号码,或每个号码 100ms 。

每个号码传送过程中,信号存在时间至少 45ms ,且不多于 55ms ,100ms 的其余时间是静音。

在每个频率点上允许有不超过 ±1.5% 的频率误差。

任何超过给定频率 ±3.5% 的信号,均被认为是无效的,拒绝接收。

(其中关键是不同频率的正弦波的产生。

可以使用查表方式模拟产生两个不同频率的正弦波。

正弦表的制定要保证合成信号的频率误差在±1.5%以内,同时使取样点数尽量少)2)对所生成的DTMF 文件进行解码。

DTMF 信号解码可以采用 FFT 计算 N 点频率处的频谱值,然后估计出所拨号码。

但 FFT 计算了许多不需要的值,计算量太大,而且为保证频率分辨率,FFT 的点数较大,不利于实时实现。

因此,FFT 不适合于 DTMF 信号解码的应用。

由于只需要知道 8 个特定点的频谱值,因此采用一种称为 Goertzel 算法的 IIR 滤波器可以有效地提高计算效率。

其传递函数为:2、实验目的(a)复习和巩固 IIR 数字滤波器的基本概念;(b)掌握 IIR 数字滤波器的设计方法;(c)掌握 IIR 数字滤波器的实现结构;(d)能够由滤波器的实现结构分析滤波器的性能(字长效应);(e)了解通信系统电话 DTMF 拨号的基本原理和 IIR 滤波器实现方法。

3.设计思路及实验步骤1)编码:DTMF 信号是将拨号盘上的 0~F 共16 个数字,用音频范围的 8 个频率来表示的一种编码方式。

8 个频率分为高频群和低频群两组,分别作为列频和行频。

每个字符的信号根据表格即可得到各个数字对应的DTFM 信号。

通过zeros 全零矩阵来设置占空比,以达到题目要求。

DTMF信号的产生与识别

DTMF信号的产生与识别

目录一、实验背景------------------------------------3二、实验目的------------------------------------3三、实验内容------------------------------------3四、实验原理----------------------------------3五、实验程序及注释------------------------------5六、CCS5000程序调试-----------------------------91、编译过程、工程架构、编译环境设置2、程序运行结果(图形显示、数据显示)七、实验总结及感想----------------------------DTMF信号的产生与识别一、实验背景:双音多频DTMF(Dual Tone Multi-Frequency)信令,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。

作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。

但绝大部分是用作电话的音频拨号。

另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音等信息的远程传输。

近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM 终端等。

将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。

二、实验目的:(1)熟悉DSP5402的体系结构、指令系统、汇编语言程序的编写;(2)了解DTMF的基础知识;(3)学习用c语言对DTMF的编程方法;(4)掌握DTMF的信号产生及信号检验;(5)在CCS环境下,最终完成程序的调试三、实验内容:(1)利用DTMF信号产生的原理合成数字1,其合成公式是分析其时域波形和频谱;(2)生成各个按键信号;(3)利用fft分析0~9十个数字拨号信息的频谱,观察频谱图中的峰值点的幅值以及它们出现的位置。

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

DTMF信号的产生
DTMF(Double Tone Multi Frequency,双音多频)作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,广泛应用于电话通信系统中。

DTMF是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。

两个单音频的频率不同,代表的数字或实现的功能也不同。

这种电话机通常有16个按键,其中有10个数字键和6个功能键。

按照组合原理,一般应具有8中不同的单音频信号,即可采用的频率有8种,因此成为“多频”;又因为它从8种频率中任意抽出2中进行组合来进行编码,所以又称之为“8中取2”的编码技术。

根据CCITT建议,16种不同的数字或功能键的具体组合如下所示:
根据AT&T技术规范:
(1)数字号码的最大传输速度为每秒10个,即每个号码占100ms时间片;
(2)在100ms时间片内双音多频信号持续不少于45ms,且不多于55ms。

根据信号频率范围,选取8000Hz作为采样频率,取t=50ms作为双音多频信号标准持续时间。

请大家根据上述信息,用MATLAB编程产生DTMF信号,并显示信号图形。

(例如,输入为保定本地7位号码:5079000)
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)。

相关文档
最新文档