首页 > 行业资讯 > 【信号处理】基于双音多频(DTMF)信号检测含Matlab源码

【信号处理】基于双音多频(DTMF)信号检测含Matlab源码

时间:2022-06-08 来源: 浏览:

【信号处理】基于双音多频(DTMF)信号检测含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #信号处理应用matlab源码 239个

1 简介

DTMF信号系统是一个典型的小型信号处理系统 它要用数字方法产生模拟信 号并进行传输 ,应用 D/A变换器 ,采用快速的频率检测算法 ——戈泽尔( GEORTZEL 算法的原理 以及该算法在双音多频拨号检测系统中的应用。 读入的电话号码,根据键入的号码数产生时域离散双音多频( DTMF)信号,并连续发出号码对应的双音频声音。同时进行时域离散DTMF信号进行检测,画出幅度谱,并 M ATLAB在计算机上对双音多频的信 号产生及检测接收系统进行了仿真测试。  

DTMF Double Tone MulitiFrequency, 双音多频)作为实现电话号码快速可靠传输的一种技术,具有很强的抗干扰能力和较高的传输速度,广泛用于电话通信系统中。另外,它也可以在通信系统中广泛用来实现各种数据和语音等信息的远程传输,技术非常成熟、专业芯片种类繁多,在民用、金融、工业等领域的应用非常普及,甚至有通过软件来产生和检测 DTMF 信令方面的应用。但随着现代工业的持续发展,利用 DTMF 信令作为通信系统中的控制信号的通信设备正遭受着前所未有的各种日益复杂的干扰,尤其是与 DTMF 信令的同频干扰,使通信设备频频出现误动作等严重事故,所以消除与 DTMF 同频干扰已是利用该控制方式控制的通信系统不得不解决的一个问题。

2 部分代码

function Xk=mygoertzel(y) %y为DTMF信号,Xk为205点DFT的前45个值 %函数实现戈泽尔算法 N = 205; Xk = []; for k=1:45 %计算前45个k值 y1 = y(1:N); %取y的前205个点 %戈泽尔算法 d1 = 2*cos(2*pi*k/N); v = filter(1,[1,-d1,1],y1); Y = v(N)^2-d1*v(N)*v(N-1)+v(N-1)^2; Xk = [Xk Y]; end axes(findobj(gcf,’Tag’,’axes3’)); stem(abs(Xk)); title(’用戈泽尔算法还原的频谱’); axis([0,46,0,15000]); end

3 仿真结果

4 参考文献

1.《数字信号处理课程设计指导书》

2 .《数字信号处理教程》,程佩青,清华大学出版社, 2007

3 .《 MATLAB数字信号处理与应用》, 李正周, 北京清华大学出版社 2008

4.《 双音多频信号产生及解码研究 》赵霞,微电子学, 2001年,第6期

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐