双音多频信号检测在DSP中的实现
- 格式:pdf
- 大小:243.38 KB
- 文档页数:5
数字电话中利用Goertzel算法实现双音多频(DTMF)检测的探究和软件实现北京理工大学毕业设计目录第一章概述 ..................................................................... ............................... 1 1.1 引言 ..................................................................... ....................................................... 1 1.2 本文作者所做的工作 ..................................................................... ........................... 1 第二章产生双音多频检测信号 ....................................................................3 2.1 DTMF信号概述 ..................................................................... .................................... 3 2.2 DTMF信号编码 ..................................................................... .................................... 3 2.3 MATLAB实现流程图 ..................................................................... .......................... 5 2.4 示例演示 ..................................................................... ............................................... 6 第三章使用GOERTZEL算法对DTMF信号进行检测 ............................ 7 3.1 GOERTZEL算法概述 ..................................................................... .............................. 7 3.2 公式推导 ..................................................................... ............................................... 7 3.3 GOERTZEL修正算法 ..................................................................... .............................. 9 3.4 MATLAB实现流程图(法1) .................................................................... .......... 10 3.5 示例演示(频率相应) ................................................................... ....................... 11 3.6 MATLAB实现流程图(法2) .................................................................... .......... 12 3.7 示例演示(中间信号生成) .................................................................... ................... 13 第四章 GOERTZEL算法中对N值的选择 ............................................... 19 4.1 时间分辨率 ..................................................................... ......................................... 19 4.2 频率分辨率 ..................................................................... ......................................... 19 4.3 频率偏移度 ..................................................................... ......................................... 19 4.4 舍入误差 ..................................................................... ............................................. 20 4.5 满足整周期 .............................................................................................................. 20 4.6 小结 ..................................................................... ..................................................... 22 第五章判决门限的选取 ..................................................................... ......... 23 5.1 数值分析 ..................................................................... ............................................. 23 5.2 MATLAB实现流程图 ..................................................................... ........................ 24 5.3示例演示(容噪性) ................................................................... ............................ 25 第六章传统的FFT算法 ..................................................................... ........ 26 6.1 示例演示 ..................................................................... ............................................. 26 6.2 判决门限的选取 ..................................................................... (28)1北京理工大学毕业设计第七章 GOERTZEL算法与FFT比较 ....................................................... 30 7.1 直接计算DFT运算量的考虑 ................................................................................ 30 7.2 DIT-FFT的运算量 ..................................................................... ........................... 32 7.3 GOERTZEL算法的运算量 ..................................................................... .................... 33 7.4 示例演示(时间比较) ................................................................... ....................... 33 第八章 DTMF算法的前景(DSP硬件实现) ......................................... 35 8.1 IP电话系统中语音芯片的DSP实现 .....................................................................35 8.2 采用ADSP22100系列的双音多频信号接收器 .................................................... 35 8.3 基于MSP430的嵌入式DTMF拨号解码器 ......................................................... 36 8.4 小结 ..................................................................... ..................................................... 36 结束语 ..................................................................... ....................................... 37 致谢 ..................................................................... ..................................... 38 参考文献 ..................................................................... ................................... 39 附录 ..................................................................... ..................................... 41 MATLAB源程序: ................................................................... (41)2北京理工大学毕业设计第一章概述1.1 引言IIR滤波器一个好的应用是全数字双音调多频率(DTMF)按钮式接收器(Jacksonetal,1968;Mock,1985)。
实验3双音多频信号的合成与检测实验三双音多频信号的合成与检测一实验目的1.理解电话拨号音的合成与检测的基本原理;2.深入理解信号频谱分析理论中相关参数的作用和意义;3.了解频谱分析在实际工程中的应用实例。
二实验基础双音多频(dual-tone multifrequency, DTMF)信号的产生及检测在现代通信系统中有着广泛的应用,家用电话、移动电话以及公共程控交换机(PBX)都采用DTMF 信号发送和接收电话拨号号码。
本实验要求利用信号的时域分析和频域分析的基本理论实现DTMF 的合成和检测。
1. DTMF 信号合成DTMF 信号由低频组和高频组两组频率信号构成。
按键电话上每个按键都由对应的两个频率组成,如表4.1。
当按下某个键时,所得到的按键信号是由相应两个频率的正弦信号叠加而成。
设x(n)为DTMF 信号,产生方式为:x (n )=sin (ωH n )+sin (ωH n)式中:ωH =2πf H f s,ωL =2πf L f s分别表示高频和低频频率,电话信号的典型抽样频率为f s =8KHz 。
DTMF 信号的标准是:在传送过程中每个按键字占用100ms ,其中信号必须持续至少40ms ,且不得多于55ms ,100ms 里的其余时间为静音(无信号)。
表4.1按键频率对应表2. DTMF 信号检测DTMF 信号的检测是将信号的两个频率提取出来,从而确定接收到的DTMF 对应的按键。
利用DFT 对DTMF 信号进行N 点的频谱分析,N 的选取决定了频率分辨率以及捕捉N 个样值所需要的时间。
根据谱峰出现的频率点位置m 就可以确定DTMF 信号的频率f k :/k s f kf N =这样计算出的DTMF 信号频率可能与实际的DTMF 信号频率有一定的差别,但可以通过加大N 的选取来减小这种频率差异。
然而从另外一方面来考虑,虽然加大N 值会减小检测频率误差,但这势必会带来捕捉N 个样值所需要的时间增加,从而会对检测的效果造成一定影响。
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 编码加倍。
第27卷 第3期 吉首大学学报(自然科学版)V ol.27 N o.3 2006年5月Journal of Jishou University (Natural Science Edition )M ay.2006 文章编号:1007-2985(2006)03-0043-05双音多频信号检测在DSP 中的实现Ξ李义府,彭卫韶(中南大学信息科学与工程学院,湖南长沙 410083)摘 要:双音多频DT MF 信号是音频电话中的拨号信号,将DT MF 信号的检测集成到含有数字信号处理器(DSP )的系统中,是一项较有价值的研究课题.笔者设计出TI 公司浮点DSP 芯片C6711中的实现方案,通过20个并行的哥兹柔信号滤波器能成功地使双音多频信号的检测变得迅速和简单,采用谐音检测可以显著地提高检测系统的准确性.关键词:哥兹柔滤波器;双音多频;浮点DSP ;Bellcore 标准中图分类号:T N914.3;T N911.7 文献标识码:A按键式电话拨号广泛采用双音多频信号,近年来双音多频信号(DT MF )逐渐应用于工程信号发生与检测系统中,并与DSP 、FPG A 相互促进,具有广泛的应用前景[1-2].一个有效的音频信号由一个行频信号和一个列频信号叠加而成.例如,要表示“4”这个音频信号,可由一个770H z 的行频信号和一个1209H z 的列频信号叠加而成.电话音频拨号使用的正弦音频叠加信号如表1所示:表1 电话机键盘的频率矩阵行频组ΠH z列频组ΠH z1209136614771633697123A 770456B 852789C 9413#D1 算法与滤波器1.1算法图1 离散通频带的分布由于在实现DT MF 解码时,采用哥兹柔算法(G o 2ertzel Alg orithm Theory )要比FFT 更快,因为通过FFT 可以计算得到信号所有频谱线,但处理DT MF 信号只考虑其中的8个频率及其二次谐波信息,运用G A T 能更加快速的从输入信号中提取频谱信息,所以使用C6177浮点DSP 进行信号检测不失为一种可行的技术解决方案[3-4].通过对信号作离散傅立叶变换得到其离散通频带.离散通频带的数目用字母N 表示,这些通频带段在频域中均匀分布如图1所示.Ξ收稿日期:2006-02-26基金项目:国家自然科学基金资助项目(69974043);湖南省自然科学基金资助项目(99JJ Y 20062)作者简介:李义府(1946-),男,湖南省长沙市人,中南大学信息科学与工程学院教授,主要从事电子线路和故障诊断应用研究.该带宽BW 由取样频率和采样总数N 共同确定:BW =f sN ,(1)通频带的中心频率为f k =kf sN.(2)G AT 能返回音频信号组成成分的幅值信息和相位信息,由于仅需要各频率成分的相对幅值信息,所以可以用使用修正G AT 函数,其G AT 函数为Q n =x [n ]+2cos (2πk N)Q n -1-Q n -2,(3)X [n ]=Q 2n +Q 2n -1+2cos (2πk N)Q n Q n -1.(4)在离散傅里叶变换开始计算音频频谱的数据前,要输入一个数据样本.G oertzel 滤波器是一个IIR 滤波器,该滤波器包含反馈和前馈两部分.反馈部分必须对每个采样x [n ]计算1次,而前馈部份只需在n =N 时计算1次.DSK 的取样频率fs 为8kH z ,高于待测信号最高频率(1633H z )的2倍,由采样定理可知该方案不会产生波形失真.1.2滤波器系数计算滤波器带宽BW 由(1)式决定.N 值增大能增加滤波器的分辨率,但同时会造成时域分辨率的浪费,且取值太大时,音频信号长度的延长将导致检测该信号所需时间的延长,如图2所示.这将使检测元件没有足够的时间来同步检测信号的谬误.如所检测的音频信号波长为125μs ,则取样频率为8kHZ.图2 N 取不同值时信号的波长使用复合采样频率能降低一个音频周期内发生采样同步误差的可能性.N 取320时采样周期为40ms ,足以发现2个音频流间的间隔,并留出至少1个完整的采样周期来传输信号.当N =800时频率为10H z ,而N 减少到320时频率为25H z ,计算得N =800时相对误差为±0.31%,N =320时相对误差为±0.78%,该误差能够被1633H z 波检测到.N 值的选择是综合考虑频域和时域的结果.通过Bellcore 标准来确定一个普遍的标准以检测音频频率.Bellcore 标准指定音频信号频率如下:行频组 697,770,852,941;列频组 1209,1336,1477,1633.由图3可知在有效信号频率f t ±1.5%范围内的频率信号应被系统接受,而在f t ±3.5%以外的信号则应该被系统拒绝.Bellcore 标准可用来为G oertzel 滤波器决定一个合理的N 值.由相对误差值确定各频率的绝对误差范围如表2所示.44吉首大学学报(自然科学版)第27卷图3 频率误差带范围表2 频率信号对应的误差范围频率ΠH z相对误差Π%绝对误差ΠH z最值697±1.520.9最小值±3.548.8最大值1633±1.549.0最小值±3.5114.3最大值图4 通频带叠加后的误差带宽 由于不可能选择一个符合所有频率的标准带宽,根据Bellcore 标准取49H z 的带宽为标准带宽.然后为行频组选择一个符合标准的N 值.列频组的频率范围可以通过2个处在要求频率的两侧相互叠加的通频带来拓展(如图4).该方法需要4个的滤波器实现,但其结果符合Bellcore 标准的要求.N =136时行频组频率误差为2.1%左右.G oertzel 滤波器选用的通频带及其系数的关系如表3所示.表3中的Q15格式的系数是以十进制形式表示的.利用表3中N =136时的取值和系数,可以通过编程来实现G AT.在DSP 中系数的计算以Q15的格式运行.表3 通频带频率及其系数的关系音频信号频率ΠH z通频带中心频率f k ΠH z系数2cos (2πf k Πf x )Q15格式的系数697697 1.7127980770770 1.6526956852852 1.5725701941941 1.482421912091200 1.181******** 1.151888413361327 1.011652513450.9816123147714680.811329714860.7912872163316240.58953716420.5590931.3M AT LAB 仿真用M AT LAB 仿真模型以检验该算法的可行性.模型用正弦波模拟的音频信号“4”作为输入.G oertzel 滤波器的输出随时间变化的图像如图5.当接收到1个音频信号,2个相应的滤波器的输出比其余滤波器的输出值大几个数量级.由图6可知:当加上1个用来抵消滤波器1.7%输出的频率信号后,N <136时2个滤波器输出值仍然相似,但N >163后2个滤波器的输出出现了明显的差异,由于可以忽略信号中1.7%的误差,所以这是由改变N 值而使带宽变化所产生的影响.因为N >163时2个滤波器的输出相差较大,取N =163可能使后续工作复杂化,所以取N =136来检测这些频率信号.仿真时,麦克风接到计算机的声卡上,音频声音信号在麦克风前播放.M AT LAB 程序以8kH z 的频率麦克风的输入进行采样.数据G AT 处理后将相关的音频特性线性送回,每次运行M AT LAB 程序可以正确地识别40ms 音频流的所有特性量,然后在DSK 上对该运算法则进行C 语言编译.54第3期 李义府,等:双音多频信号检测在DSP 中的实现图5 发出音频信号‘4’时滤波器输出Π采样个数图 图6 加1.7%衰减信号后滤波器输出Π采样个数图1.4DSK 的使用音频检测器以一个样品编码段为基础,实际运行时,编码对DSK 上的输入的声音进行取样,只有输入信号包含了特征频率信号,才被允许通过.为了使12个G oertzel 滤波器能平行计算,需用一个简单序列来储存输出的哥兹柔值.[5-6]音频信号通过数据线输入DSK,滤波器的输出通过C ode C om poser Studio 的观察窗口进行观测,滤波器输出的大小作为识别其有效性的标准.从实测值可知所需信号频率(例如“4”)的G oertzel 值的大小是非特征信号频率的G oertzel 值的2倍以上,所以可通过检测在行频和列频中的最大G oertzel 值来确认出现的音频信号.在检测中使用的音频复合信号是在G oertzel 滤波器的输出中取得的任意值,一般能够检测100ms 的音频信号流就足够了.一份音频检测器的输入Π输出样本如表4所示:表4 音频检测器的输入Π输出样本发出的音频信号3#3A069接收到的信号流???333?3??####??3?333???AAAA ??000?0??6666??9999????显然,通过数据线发出的各个有效信号通常以连续3个以上的有效特征的形式被接收到,它们被至少两个未知特征(‘?’)或间隔特征分开.在写到接收流之前,系统应检测连续3个相同有效特征出现的情况,并在允许其他有效特征被写入接收流之前等待二个连续的间隔特征.为了方便观测和调试,音频检测器的输出以字符串形式存储在DSK 中.2 测试方法2.1噪音问题由于一般的说话能干扰检测器,使检测器时常将噪音中的音频误判为有用信号,由于难以保证系统工作在完全无噪音条件下,所以需要过滤接收到的语音信号.人的嗓音多在300~3400H z 的范围里,由于此频率范围包含有特征音频信号成分,所以该频率段的信号不能直接过滤.通常区分语音信号和音频信号的方法是:检测信号在基音的整数倍频率处是否出现谐音(泛音).可以用这个方法来识别并且排除语音成份的干扰.表5 检测语音成分的滤波器系数音频信号频率ΠH z2cos (2πf k Πf x )Q15格式系数13940.921501415400.711158317040.46754918820.1930322418-0.64-105652672-1.01-165032954-1.36-223183266-1.68-27472 为了识别谐音成分,增添8个G oertzel 滤波器到算法中.计算相关频率的系数,并列在表5中.当任何信号在音频的两倍基音频率出现时,表示输入信号不是单一正弦振荡信号(即不是音频信号).2.2算法测试在测试运算法则时,将计算机声卡的输出通过声音数据线连接到DSK 的线上.当被送入的音频信号64吉首大学学报(自然科学版)第27卷清楚时运算法则能以100%的准确性结束运行.由于该运算法则能准确检测出10个连续的信号流,所以认为该运算法则是可靠的.2.3数据线输入测试将计算机中运行的音频信号流通过数据线从声卡传送到DSK,然后通过把背景声音信号加入数据线来模拟噪音环境.背景噪音可选用各种声音(音量大小相同)进行实验.通过调节检测器的阈值,使检测器能可靠地分辨出音频信号.2.4麦克风输入测试在实地测试时,麦克风被用作DSK 的输入.距离固定后,灵敏度调到刚刚能检测到信号.如果确定了灵敏度Π距离组合,就不需要进一步的调节检测器的系数.检测器在没有噪音的环境下即使距离音源很远也对音量大小的变化非常敏感,在相当程度的背景噪音下也能可靠地工作.对麦克风播放背景噪音信号流如图7所示,对麦克风播放背景噪音纯音频信号流如图8所示,其中横坐标代表时间,纵坐标代表滤波器,颜色深浅代表信号强弱.用M AT LAB 程序从DSK 中提取的滤波器实际输出图像,通过图像对比可以发现纯音频信号都能顺利通过检测器,而背景噪音信号则几乎完全被过滤掉了.图7 背景噪音数据 图8 纯音频数据3 结论该方案可以很好地解决音频译码器芯片缺少除噪功能且未留扩展端口的不足,利用TI 公布的C odeC om poser Studio 插件可以通过配置DSK 使检测器电路更加简单,同时采用修正G AT 比FFT 更加简便迅速,实验证明采用谐音检测可以显著提高检测系统得准确性.参考文献:[1] 安博文,黄海平,陈 彬.基于DSP 的DT MF 信号的产生和检测[J ].洛阳师范学院学报,2003,(5):70-74.[2] 刘 丹,王芙蓉,黄本雄.IP 电话系统中语音芯片的DSP 实现[J ].计算机工程,2002,28(8):8-10.[3] RU LPH CH ASS AI NG.DSP Applications Using C and the T MS320C6x DSK [M].New Y ork :Wiley Press ,2002.[4] 邵小桃,吴 奇.基于CP LD 的双音多频信号PC M 编码的设计[J ].微计算机信息,2004,20(5):80-81.[5] 王鹏浩,朱 璇,张京涛.高性能语音拨号器的设计与实现[J ].电子技术应用,2000,(12):53-55.[6] 杨高波,叶富乐,严迪群.DSP 芯片技术实验的探索与开发[J ].电气电子教学学报,2003,25(5):66-69.The Detection of The signal DTMF B ased on DSPLI Y i 2fu ,PE NG Wei 2shao(C ollege of In formation Science &Engineering ,Central S outh University ,Changsha 410083,China )Abstract :The Dual T one Multi -Frequency DT MF is the dialing signal in the new generation of telephone.It is a w or 2thy engineering application to gather DT MF detection to the Digital Signal Process or system.This article puts forward a scheme to im plement G oertzel alg orithms and DT MF detection in the use of a T exas Instruments C6711floating point DSP.DT MF detection is performed using 20parallel G oertzel filters ,which makes the detecting accurate ,quick and sim ple.It is proved that precision of detected system has been im proved greatly by res onance s ound detection.K ey w ords :g oertzel filter ;DT MF (the dual tone multi 2frequency );digital signal process or (DSP );bellcore specification(责任编辑 陈炳权)74第3期 李义府,等:双音多频信号检测在DSP 中的实现。
双音多频信号检测教学案例设计摘要:频域分析作为“信号与系统”课程的重要组成部分,因其物理概念复杂、理论计算枯燥学生理解困难等问题造成教学难度大,为了提高教学质量,本文设计了以DTMF 信号为例的频域分析教学案例,具体研究了利用离散傅里叶变换分析DTMF 信号,并实现按键号码的自动检测。
关键词:信号与系统;频域分析;教学案例;DTMF中图分类号:G642.3文献标志码:A 文章编号:1674-9324(2017)00-0221-03收稿日期:2016-07-18基金项目:辽宁省普通高等教育本科教学改革研究一般项目(UPRP20140645);沈阳农业大学教学研究立项(2016-174)作者简介:曹英丽(1977-),女,辽宁沈阳人,沈阳农业大学信息与电气工程学院,副教授,博士;研究方向:农业信息化。
“信号与系统”是电气电子信息类本科学生连接数字信号处理、通信原理等后续课程学习的一门重要专业基础课程,美国麻省理工学院著名教授奥本海默也在他所著教科书Signals and Systems 的前言中指出:“信号与系统课程不仅是工程教学中一门非常基本的课程,而且也成为工科学生在大学教育阶段所修课程中最得益而又引人入胜和最有用的一门课程。
”然而由于课程本身的特点,物理概念抽象,并且与数学联系紧密,尤其是频域分析部分,复杂的数学公式推导以及数学结果常常使学生难以理解,仅依靠做题来巩固和理解所学知识,无法达到让学生真正理解频域分析的物理概念和工程含义等教学目的,这时根据课程特点及需要,提出适当的教学案例便能让学生更深刻理解所学知识的基本原理,更直观地体会频谱的物理概念以及应用。
本文结合学生日常生活所能接触到的电话按键,设计了按键中DTMF 信号频域分析的教学案例,并实现按键号码的自动检测。
一、DTMF 的概念DTMF (Dual Tone Multi Frequency ,双音多频)被广泛应用于世界范围内的按键式电话上。
XXXXXXX大学毕业论文(设计)题目:双音频(DTMF)信号的产生与检测学生姓名学号专业电子信息工程班级2008级1班指导教师学部计算机科学与电气工程答辩日期2012年5月19日黑龙江东方学院本科生毕业论文(设计)任务书双音频(DTMF)信号的产生与检测摘要双音多频DTMF(Dual Tone Multi-Frequency)信令在全世界范围内得到广泛应用,DTMF信令的产生与检测集成到含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。
DTMF作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。
但绝大部分是用作电话的音频拨号,另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音等信息的远程传输,研究其在MATLAB下的仿真实现有助于其具体系统的优化设计。
本文给出一种实现方案,主要阐述了DTMF的原理及如何在Matlab上产生DTMF信号,并对用Goertzel算法提取的频谱进行分析,然后,得到用Goertzel算法在白噪声的环境下对输入的DTMF信号提取频谱信息,最后,根据提取的频谱信息对输入信号进行检测解码。
关键词:双音多频DTMF;Goertzel算法;MatlabDual Tone Multi-frequency (DTMF) Signal Generationand DetectionAbstractDTMF (Dual Tone Multi-Frequency) signaling in the widely used worldwide, signaling the DTMF generation and detection integrated with digital signal processor (DSP) system, is a more value engineering. DTMF telephone number as to achieve a fast and reliable transmission technology, it has a strong anti-interference ability and high transmission speed, it can be widely used for telephone communication system. But the vast majority of telephone tone dialing is used. In addition, it can also be in the data communication system widely used to achieve a variety of data streams and remote transmission of voice and other information. Under study in the MATLAB Simulation helps optimize the design of their specific systems.This paper presents a realization of the program, mainly on the principle of DTMF and how to generate DTMF signals in Matlab, and extracted with Goertzel algorithm to analyze the spectrum, and then, get with the Goertzel algorithm in the context of white noise on the input of the DTMF spectrum information signal extraction, and finally, according to information extracted from the input signal spectrum to detect decoding.Keywords:Dual tone multi-frequency;Goertzel algorithm;Matlab目录摘要 (I)Abstract ........................................................................................................................................ I I 第1章绪论.. (1)1.1引言 (1)1.2课题意义 (1)第2章基本原理 (3)2.1自动电话的制式 (3)2.2 DTMF技术 (5)2.3 Goertzel算法 (5)2.4 Matlab简介 (7)2.5本章小结 (8)第3章DTMF信号产生与检测 (9)3.1 DTMF信号的产生 (9)3.2 DTMF信号的检测 (10)3.2.1 DTMF信号检测方法 (10)3.2.2 DTMF信号有效性的检测 (12)3.3本章小结 (13)第4章Matlab仿真 (14)4.1设计程序(见附录) (14)4.2 Matlab仿真 (14)4.3本章小结 (17)结论 (18)参考文献 (19)附录 (20)致谢 (29)双音频(DTMF)信号的产生与检测第1章绪论1.1 引言电话中的双音多频信号(DTMF)有两种用途:一是用于双音多频信号的拨号,去控制交换机接通被叫的用户话机;二是利用双音多频信号遥控电话机各种动作,如播放留言、语音信箱等,并可以通过附加一些电路来是实现遥控家电设备的开启关闭等智能功能。
基于DSP的DTMF的信号检测与识别基于DSP的DTMF的信号检测与识别摘要双音多频DTMF(Dual Tone Multi-Frequency)信令在全世界范围内得到广泛应用,将DTMF信令的产生与检测集成到含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。
本文给出一种实现方案,阐述DTMF信令的产生与检测的基本原理:用两个二阶数字正弦振荡器产生DTMF信号,并通过Goertzel算法实现DTMF信号检测。
本论文是在TI公司定点DSP芯片TMS320C54x 系列中的实现DTMF信号的检测,采用DSP技术既增加了系统的功能、灵活性,又降低费用,克服了硬件电路实现检测的缺点。
因为本课题着重于DTMF信号的检测,所以DTMF信号的产生是通过音频处理软件Cool Edit Pro产生,然后将DTMF信号通过PC音频接口传输到AIC23B 的接口,经过A/D采样编码后送到DSP进行信号检测,最后单片机将结果通过DSP的HPI接口读取再通过单片机的串口传输到PC的串口调试助手上显示出来。
最后结果,结合Goertzel算法,DSK5402板能够实现对DTMF信号的解码,通过串口显示到串口调试助手上,达到了本论文的研究目的。
关键词:数字信号处理器DSP,双音多频DTMF,正弦波振荡器,Goertzel算法DTMF Signal Detection and Recognition Based on DSPABSTRACTWith the development of society, the signal generator has been widely used in radar application, communication system of simulation and test, the national defense, scientific research and industry. But with the development of society and the deepening of the research, the signal generator waveform programmable sex, the precision and stability of wave performance put forward higher request. The signal generator based on DSP is the height of the programming with its flexibility, for great application value and broad application prospect.This subject introduces based on DSP chip TMS320C5402 sine wave signal generator design principle and method. Use TMS320C5402 as data processor, STC89C51 as a controller to lead and control DSP chip. The direct sequence synthesis (DDS) technology, in DSP established on a signal generator, the development of serial upper machine software control DSP produce designated frequency(audio range)of sine wave,The system consists of DDS module and single-chip microcomputer control module, serial ports, sound card, etc of peripherals. Here introduces a DSP realize sinusoidal signal generator, its an am, FM function all have software to realize, and has the very good scalability, stability.KEY WORDS: DTMF signal, Goertzel algorithm, DSK5402 board, cool edit pro, DSP目录前言 (6)第1章绪论 (8)1.1 DTMF介绍 (8)1.2 方案对比 (8)1.3 传统的DTMF信号编解码介绍 (9)第2章DTMF信号的基本原理 (11)2.1 双音多频(DTMF)信号 (11)2.2 DTMF信号的硬件产生与检测 (13)2.3 双音多频信号软件产生与检测 (14)2.4 数字正弦波振荡器原理 (15)2.5 数字匹配滤波器原理(Geortzel算法) (17)第3章DTMF信号接收电路及声卡 (20)3.1 声卡概述 (20)3.1.1 声卡的功能 (20)3.1.2 声卡的基本组成 (20)3.2 音频编解码器TLV320AIC23 (21)3.3 DTMF信号输入电路 (25)3.3.1 电话状态指示电路 (25)3.3.2 电话电路 (26)3.4 DTMF发送电路 (26)3.4.1 DTMF信号接收电路 (27)3.5 DTMF发送电路与接收电路在通信方面的应用 (29)第4章DTMF信号软件介绍 (30)4.1 DTMF信号检测的DSP软件设计 (30)4.2 DTMF信号处理流程 (31)4.3 DTMF信号检测的单片机软件设计 (32)第5章DTMF中的硬件设备及仿真 (34)5.1单片机自举电路 (34)5.2电源转换电路 (35)5.3.单片机串口电路 (36)5.4仿真程序运行结果 (37)结论 (40)谢辞 (41)参考文献 (42)附录 (44)外文资料翻译 (46)前言双音多频(Dual Tone Multi Frequency,DTMF)信号产生起初是为了代替电话机的脉冲拨号而使用的,DTMF信号有一个高频信号和一个低频信号编码而成。
双音多频检测实验一、实验目的1、加强对用户接口信令的认识与理解2、掌握双音多频检测的基本原理3、熟悉CM8870双音多频检测器件的性能及使用方法二、实验仪器1、J H5001通信原理综合实验系统一台2、20MHz双踪示波器一台3、数字存贮示波器一台4、电话机二部三、实验原理用户接口上的信令又可分为线路信令与地址信令(也称之为记发器信令)。
线路信令主要反映了二线用户话机的状态:摘机或挂机,此类信令一般由SLIC电路检测(该方面已包括在前面的实验中);地址信令主要是用户发送的号码信令,该类信令一般由双音多频检测器进行检测。
用户线上的地址信令存在两种技术标准:1、脉冲拨号方式:脉冲拨号方式是按一定的断续比和速率来断、续电话线的环路来发出号码信号。
脉冲拨号主要在早期的步进制交换机中采用,其缺点是拨号速度慢、脉冲产生变异易引起交换机误动作等,随着技术的发展已逐渐被双音多频拨号方式所取代。
2、双音多频DTMF(Dual Tone Multifrequency)是指用两个特定的单音频信号的组合来代表数字或功能,两个单音频的频率不同,所代表的数字和功能也不同,在双音多频电话机中有16个按键,其中有10个数字键(0~9),6个功能键(*、#、A、B、C、D),按照双音组合的原理,它必须有8种不同的单音频信号,由于采用的频率有8种,故又称之为多频,又因以8种频率中任意抽出2种进行组合,又称其为8中取2的编码方法。
根据CCITT的建议,国际上采用697HZ、770 HZ、852 HZ、表6.2.1 DTMF号码组合941HZ、1209HZ、1336HZ、1477HZ和1633HZ,把这8种频率分成两个群,即低频群和高频群,从低频群和高频群中任意各抽出一种频率进行组合,共有16种不同组合,各代表16种不同数字号码或功能,DTMF号码组合见表6.2.1。
在双音多频检测模块中,采用CM8870进行双音频信号的检测。
双音多频信号输入后,经过信号放大和滤波,分两路分别进入高、低频组滤波器以分离检测出高、低频组信号,并对检测的结果按表6.2.2进行译码、锁存。
基于DSP的多频带混合信号测试系统的设计随着数字化浪潮的深化,具有混合信号功能的芯片越来越多地浮现在人们的生活中。
通讯领域的MODEM(如ADSL),CODEC和飞快进展的手机芯片,视频处理器领域的MPEG,DVD 芯片,都是具有混合信号功能的芯片,其特点是处理速度高、笼罩的频率范围宽,芯片的升级换代周期日益缩短。
这就要求测试系统具有更高的性能和更宽的频带范围,而且需要灵便的架构来应对不断升级的芯片测试需求,以便有效降低新器件的测试成本。
此外,混合信号芯片种类繁多,各种具有混合信号的芯片已经广泛运用到生产和生活的各个领域,而不同的应用领域,其工作的频率和所要求的精度也各不相同,这就要求在对混合信号举行测试时,抓住其个性来提出测试计划。
全部混合信号芯片的一个最基本的个性就是其内部均具有AD/DA,一些混合信号芯片还包括PLL模块。
本文所论述的混合信号测试仅涉及到和通路。
普通,对于ADC通路,测试系统需要通过波形发生器产生适当的激励信号,同时,通过自身的数字通道采集ADC的输出信号并举行运算以获得测试结果;对于DAC通路,测试系统需要通过数字通道产生适当的激励信号,同时,通过自身的波形采样器采集DAC的输出信号并举行运算获得测试结果。
但无论对于 ADC还是DAC测试,都要求系统的模拟模块,即波形发生器和波形采样器,与系统的数字通道同步,才干确保测试的精确性。
此外,系统还需提供丰盛的内置函数,快速完成对采集信号的运算,才干实现对ADC/DAC的静态和动态特性的测试。
因此,在对混合信号芯片的测试过程中,普通需要数字通道、波形发生器、波形分析器、直流电源、时隙分析器、系统时钟等模块,其中波形发生器和波形分析器是打算系统速度和精度的关键环节,本文分离在这两个方面做较详尽的论述。
2 传统测试办法濒临的挑战传统的基于纯软件的测试办法已经难于应对新型混合信号器件的测试需求,对于混合信号器件,通常要通过测试其互调失真(IMD)、多音频功率比率 (MTPR)等参数,以获得器件的非线性特性,测试这些参数,需要采集大量的数据,并举行大量的运算,传统的测试仪器通常采纳基于软件的办法在主机中实现,其缺点在于,一方面限制了运算速度的提高;另一方面,主机和测试台之间存在大量的数据交互,简单造成矛盾,因而测试效率不高。
实验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,则电路不接收新的单音对。
第27卷 第3期 吉首大学学报(自然科学版)V ol.27 N o.3 2006年5月Journal of Jishou University (Natural Science Edition )M ay.2006 文章编号:1007-2985(2006)03-0043-05双音多频信号检测在DSP 中的实现Ξ李义府,彭卫韶(中南大学信息科学与工程学院,湖南长沙 410083)摘 要:双音多频DT MF 信号是音频电话中的拨号信号,将DT MF 信号的检测集成到含有数字信号处理器(DSP )的系统中,是一项较有价值的研究课题.笔者设计出TI 公司浮点DSP 芯片C6711中的实现方案,通过20个并行的哥兹柔信号滤波器能成功地使双音多频信号的检测变得迅速和简单,采用谐音检测可以显著地提高检测系统的准确性.关键词:哥兹柔滤波器;双音多频;浮点DSP ;Bellcore 标准中图分类号:T N914.3;T N911.7 文献标识码:A按键式电话拨号广泛采用双音多频信号,近年来双音多频信号(DT MF )逐渐应用于工程信号发生与检测系统中,并与DSP 、FPG A 相互促进,具有广泛的应用前景[1-2].一个有效的音频信号由一个行频信号和一个列频信号叠加而成.例如,要表示“4”这个音频信号,可由一个770H z 的行频信号和一个1209H z 的列频信号叠加而成.电话音频拨号使用的正弦音频叠加信号如表1所示:表1 电话机键盘的频率矩阵行频组ΠH z列频组ΠH z1209136614771633697123A 770456B 852789C 9413#D1 算法与滤波器1.1算法图1 离散通频带的分布由于在实现DT MF 解码时,采用哥兹柔算法(G o 2ertzel Alg orithm Theory )要比FFT 更快,因为通过FFT 可以计算得到信号所有频谱线,但处理DT MF 信号只考虑其中的8个频率及其二次谐波信息,运用G A T 能更加快速的从输入信号中提取频谱信息,所以使用C6177浮点DSP 进行信号检测不失为一种可行的技术解决方案[3-4].通过对信号作离散傅立叶变换得到其离散通频带.离散通频带的数目用字母N 表示,这些通频带段在频域中均匀分布如图1所示.Ξ收稿日期:2006-02-26基金项目:国家自然科学基金资助项目(69974043);湖南省自然科学基金资助项目(99JJ Y 20062)作者简介:李义府(1946-),男,湖南省长沙市人,中南大学信息科学与工程学院教授,主要从事电子线路和故障诊断应用研究.该带宽BW 由取样频率和采样总数N 共同确定:BW =f sN ,(1)通频带的中心频率为f k =kf sN.(2)G AT 能返回音频信号组成成分的幅值信息和相位信息,由于仅需要各频率成分的相对幅值信息,所以可以用使用修正G AT 函数,其G AT 函数为Q n =x [n ]+2cos (2πk N)Q n -1-Q n -2,(3)X [n ]=Q 2n +Q 2n -1+2cos (2πk N)Q n Q n -1.(4)在离散傅里叶变换开始计算音频频谱的数据前,要输入一个数据样本.G oertzel 滤波器是一个IIR 滤波器,该滤波器包含反馈和前馈两部分.反馈部分必须对每个采样x [n ]计算1次,而前馈部份只需在n =N 时计算1次.DSK 的取样频率fs 为8kH z ,高于待测信号最高频率(1633H z )的2倍,由采样定理可知该方案不会产生波形失真.1.2滤波器系数计算滤波器带宽BW 由(1)式决定.N 值增大能增加滤波器的分辨率,但同时会造成时域分辨率的浪费,且取值太大时,音频信号长度的延长将导致检测该信号所需时间的延长,如图2所示.这将使检测元件没有足够的时间来同步检测信号的谬误.如所检测的音频信号波长为125μs ,则取样频率为8kHZ.图2 N 取不同值时信号的波长使用复合采样频率能降低一个音频周期内发生采样同步误差的可能性.N 取320时采样周期为40ms ,足以发现2个音频流间的间隔,并留出至少1个完整的采样周期来传输信号.当N =800时频率为10H z ,而N 减少到320时频率为25H z ,计算得N =800时相对误差为±0.31%,N =320时相对误差为±0.78%,该误差能够被1633H z 波检测到.N 值的选择是综合考虑频域和时域的结果.通过Bellcore 标准来确定一个普遍的标准以检测音频频率.Bellcore 标准指定音频信号频率如下:行频组 697,770,852,941;列频组 1209,1336,1477,1633.由图3可知在有效信号频率f t ±1.5%范围内的频率信号应被系统接受,而在f t ±3.5%以外的信号则应该被系统拒绝.Bellcore 标准可用来为G oertzel 滤波器决定一个合理的N 值.由相对误差值确定各频率的绝对误差范围如表2所示.44吉首大学学报(自然科学版)第27卷图3 频率误差带范围表2 频率信号对应的误差范围频率ΠH z相对误差Π%绝对误差ΠH z最值697±1.520.9最小值±3.548.8最大值1633±1.549.0最小值±3.5114.3最大值图4 通频带叠加后的误差带宽 由于不可能选择一个符合所有频率的标准带宽,根据Bellcore 标准取49H z 的带宽为标准带宽.然后为行频组选择一个符合标准的N 值.列频组的频率范围可以通过2个处在要求频率的两侧相互叠加的通频带来拓展(如图4).该方法需要4个的滤波器实现,但其结果符合Bellcore 标准的要求.N =136时行频组频率误差为2.1%左右.G oertzel 滤波器选用的通频带及其系数的关系如表3所示.表3中的Q15格式的系数是以十进制形式表示的.利用表3中N =136时的取值和系数,可以通过编程来实现G AT.在DSP 中系数的计算以Q15的格式运行.表3 通频带频率及其系数的关系音频信号频率ΠH z通频带中心频率f k ΠH z系数2cos (2πf k Πf x )Q15格式的系数697697 1.7127980770770 1.6526956852852 1.5725701941941 1.482421912091200 1.181******** 1.151888413361327 1.011652513450.9816123147714680.811329714860.7912872163316240.58953716420.5590931.3M AT LAB 仿真用M AT LAB 仿真模型以检验该算法的可行性.模型用正弦波模拟的音频信号“4”作为输入.G oertzel 滤波器的输出随时间变化的图像如图5.当接收到1个音频信号,2个相应的滤波器的输出比其余滤波器的输出值大几个数量级.由图6可知:当加上1个用来抵消滤波器1.7%输出的频率信号后,N <136时2个滤波器输出值仍然相似,但N >163后2个滤波器的输出出现了明显的差异,由于可以忽略信号中1.7%的误差,所以这是由改变N 值而使带宽变化所产生的影响.因为N >163时2个滤波器的输出相差较大,取N =163可能使后续工作复杂化,所以取N =136来检测这些频率信号.仿真时,麦克风接到计算机的声卡上,音频声音信号在麦克风前播放.M AT LAB 程序以8kH z 的频率麦克风的输入进行采样.数据G AT 处理后将相关的音频特性线性送回,每次运行M AT LAB 程序可以正确地识别40ms 音频流的所有特性量,然后在DSK 上对该运算法则进行C 语言编译.54第3期 李义府,等:双音多频信号检测在DSP 中的实现图5 发出音频信号‘4’时滤波器输出Π采样个数图 图6 加1.7%衰减信号后滤波器输出Π采样个数图1.4DSK 的使用音频检测器以一个样品编码段为基础,实际运行时,编码对DSK 上的输入的声音进行取样,只有输入信号包含了特征频率信号,才被允许通过.为了使12个G oertzel 滤波器能平行计算,需用一个简单序列来储存输出的哥兹柔值.[5-6]音频信号通过数据线输入DSK,滤波器的输出通过C ode C om poser Studio 的观察窗口进行观测,滤波器输出的大小作为识别其有效性的标准.从实测值可知所需信号频率(例如“4”)的G oertzel 值的大小是非特征信号频率的G oertzel 值的2倍以上,所以可通过检测在行频和列频中的最大G oertzel 值来确认出现的音频信号.在检测中使用的音频复合信号是在G oertzel 滤波器的输出中取得的任意值,一般能够检测100ms 的音频信号流就足够了.一份音频检测器的输入Π输出样本如表4所示:表4 音频检测器的输入Π输出样本发出的音频信号3#3A069接收到的信号流???333?3??####??3?333???AAAA ??000?0??6666??9999????显然,通过数据线发出的各个有效信号通常以连续3个以上的有效特征的形式被接收到,它们被至少两个未知特征(‘?’)或间隔特征分开.在写到接收流之前,系统应检测连续3个相同有效特征出现的情况,并在允许其他有效特征被写入接收流之前等待二个连续的间隔特征.为了方便观测和调试,音频检测器的输出以字符串形式存储在DSK 中.2 测试方法2.1噪音问题由于一般的说话能干扰检测器,使检测器时常将噪音中的音频误判为有用信号,由于难以保证系统工作在完全无噪音条件下,所以需要过滤接收到的语音信号.人的嗓音多在300~3400H z 的范围里,由于此频率范围包含有特征音频信号成分,所以该频率段的信号不能直接过滤.通常区分语音信号和音频信号的方法是:检测信号在基音的整数倍频率处是否出现谐音(泛音).可以用这个方法来识别并且排除语音成份的干扰.表5 检测语音成分的滤波器系数音频信号频率ΠH z2cos (2πf k Πf x )Q15格式系数13940.921501415400.711158317040.46754918820.1930322418-0.64-105652672-1.01-165032954-1.36-223183266-1.68-27472 为了识别谐音成分,增添8个G oertzel 滤波器到算法中.计算相关频率的系数,并列在表5中.当任何信号在音频的两倍基音频率出现时,表示输入信号不是单一正弦振荡信号(即不是音频信号).2.2算法测试在测试运算法则时,将计算机声卡的输出通过声音数据线连接到DSK 的线上.当被送入的音频信号64吉首大学学报(自然科学版)第27卷清楚时运算法则能以100%的准确性结束运行.由于该运算法则能准确检测出10个连续的信号流,所以认为该运算法则是可靠的.2.3数据线输入测试将计算机中运行的音频信号流通过数据线从声卡传送到DSK,然后通过把背景声音信号加入数据线来模拟噪音环境.背景噪音可选用各种声音(音量大小相同)进行实验.通过调节检测器的阈值,使检测器能可靠地分辨出音频信号.2.4麦克风输入测试在实地测试时,麦克风被用作DSK 的输入.距离固定后,灵敏度调到刚刚能检测到信号.如果确定了灵敏度Π距离组合,就不需要进一步的调节检测器的系数.检测器在没有噪音的环境下即使距离音源很远也对音量大小的变化非常敏感,在相当程度的背景噪音下也能可靠地工作.对麦克风播放背景噪音信号流如图7所示,对麦克风播放背景噪音纯音频信号流如图8所示,其中横坐标代表时间,纵坐标代表滤波器,颜色深浅代表信号强弱.用M AT LAB 程序从DSK 中提取的滤波器实际输出图像,通过图像对比可以发现纯音频信号都能顺利通过检测器,而背景噪音信号则几乎完全被过滤掉了.图7 背景噪音数据 图8 纯音频数据3 结论该方案可以很好地解决音频译码器芯片缺少除噪功能且未留扩展端口的不足,利用TI 公布的C odeC om poser Studio 插件可以通过配置DSK 使检测器电路更加简单,同时采用修正G AT 比FFT 更加简便迅速,实验证明采用谐音检测可以显著提高检测系统得准确性.参考文献:[1] 安博文,黄海平,陈 彬.基于DSP 的DT MF 信号的产生和检测[J ].洛阳师范学院学报,2003,(5):70-74.[2] 刘 丹,王芙蓉,黄本雄.IP 电话系统中语音芯片的DSP 实现[J ].计算机工程,2002,28(8):8-10.[3] RU LPH CH ASS AI NG.DSP Applications Using C and the T MS320C6x DSK [M].New Y ork :Wiley Press ,2002.[4] 邵小桃,吴 奇.基于CP LD 的双音多频信号PC M 编码的设计[J ].微计算机信息,2004,20(5):80-81.[5] 王鹏浩,朱 璇,张京涛.高性能语音拨号器的设计与实现[J ].电子技术应用,2000,(12):53-55.[6] 杨高波,叶富乐,严迪群.DSP 芯片技术实验的探索与开发[J ].电气电子教学学报,2003,25(5):66-69.The Detection of The signal DTMF B ased on DSPLI Y i 2fu ,PE NG Wei 2shao(C ollege of In formation Science &Engineering ,Central S outh University ,Changsha 410083,China )Abstract :The Dual T one Multi -Frequency DT MF is the dialing signal in the new generation of telephone.It is a w or 2thy engineering application to gather DT MF detection to the Digital Signal Process or system.This article puts forward a scheme to im plement G oertzel alg orithms and DT MF detection in the use of a T exas Instruments C6711floating point DSP.DT MF detection is performed using 20parallel G oertzel filters ,which makes the detecting accurate ,quick and sim ple.It is proved that precision of detected system has been im proved greatly by res onance s ound detection.K ey w ords :g oertzel filter ;DT MF (the dual tone multi 2frequency );digital signal process or (DSP );bellcore specification(责任编辑 陈炳权)74第3期 李义府,等:双音多频信号检测在DSP 中的实现。