利用DFT分析双音频电话的拨号频谱.docx
- 文档编号:7117508
- 上传时间:2023-01-19
- 格式:DOCX
- 页数:23
- 大小:184.82KB
利用DFT分析双音频电话的拨号频谱.docx
《利用DFT分析双音频电话的拨号频谱.docx》由会员分享,可在线阅读,更多相关《利用DFT分析双音频电话的拨号频谱.docx(23页珍藏版)》请在冰豆网上搜索。
利用利用DFT分析双音频电话的拨号频谱分析双音频电话的拨号频谱付志洲:
利用DFT分析双音频电话的拨号频谱(在Matlab中进行仿真)
(1)双音频电话拨号系统相关知识;
(2)面向对象的Matlab仿真(GUI)(3)如何完善各种功能(声音等)1双音频拨号电话背景当前,话机从提高集成度到与其他技术结合发展,以提高电话机的功能,并行成各种功能的电话机,如录音电话机,无绳电话机,电视电话机,语音拨号电话机,数字电话机。
特别是随着通信与计算机技术的结合,使通讯技术日新月异,名目繁多的新通信业务应运生,随着机电式交换机被数字程控交换机的取代,拨好慢,易错号的老式电话拨号系统早已不再使用,市场上也早已有双音频拨号的电话机。
电话机按种类分别有按键式电话机和拨盘式电话机。
其中又有脉冲式电话机(PULSE)和双音频电话机(TONE)。
拨盘式电话机属于脉冲式电话机,这类逐步淘汰的产品不宜选用。
双音频电话机具有接通速度快、声音清晰等很多优点,而且对于电话新功能的使用来说,双音频电话机是不可缺的。
在打这种电话时,按键后听到的不再是1至10个脉冲的“嗒嗒”声音,而是一种短促悦耳的电子音乐,这种声音从号码到都是都是由两个音频信号组成的,因而称为双音频电话。
双音频电话拨号系统的应用优点:
(1)发号快。
使用双音频电话机,打一电话的拨号时间约为S,而脉冲拨号系统(拨号式电话机),一般数字较小的位号码要占用s左右,如电话号码中数字较大,则拨号时间约为10s.所以,双音频电话机缩短了每个电话在电话网中占用拨号时间,提高了电话网的利用率
(2)双音频拨号抗干扰强,不易错号。
脉冲话机的发号准确性要求脉冲断续比和速率符合标准,否则要错号。
有一种老式话机是依靠机械触点式开关的通段产生一系列脉冲电流,就往往易产生错号。
(3)可开展各项电信新业务。
新业务如:
缩位拨号,呼叫等待、转移呼叫、叫醒服务、会议电话等。
中国电话卡的“200”业务以及“127”自动寻呼的部分自动功能、“388”“460”语音信箱、“800”对方付费业务等,也只限于双音频话机使用电话网是世界最大的通讯网,特别是当人类进入科技信息时代的今天,一定要充分发挥电话网资源。
通讯网的运行效率每提高1%,每年可以竟增30亿员收益,双音频话机的应用,缩短了电话拨号所占用的时间,随着数字电话机的出现,两根电话线上除了能通电话外,还可以同时传送传真,进行网络通信这也是本文分析双音频电话拨号的意义所在。
为了分析双音频电话拨号时的时域与频域对应关系,我们利用Matlab中的图形用户界面GUI对其进行仿真,具体要完成的内容有:
(1)理解双音频拨号电话系统的原理;
(2)熟悉GUI的基本知识;(3)基于Matlab的双音频电话拨号系统的频谱分析(在编程模拟双音频电话拨号时的时域信号基础上利用Matlab中的库函数计算其对应频谱。
实现每拨一个号码时能够在界面显示对应的时域信息、频域信息;并显示相应的拨号码、高低频率成份;且可实现语音报号的功能。
)(4)总结本课题主要解决了双音频拨号电话拨号时哪些问题,以及可以延伸改进之处。
2双音频拨号电话原理在双音频(DTMF)电话机中,包括DTMF发送器和DTMF接受器,是广泛用于快速按键话机和无线通信设备中的专用集成电路。
DTMF发送器能根据不同的按键号码发出相应的一组双音频信号,如图1所示(其中f1、f2、f3、f4为低频群,f5、f6、f7为高频群):
f6图1拨号盘对应高低频群其基本原理是由3.58Mhz的晶体振荡器分频后,得到四个高频和四个低频,在高、低频中各取一个频率合成后,就得到双音频信号。
在本课题中考虑到双音频信号由两个正弦信号组合而成,可假设双音频信号时域表达形式如下:
其中假设每个正弦信号电压为0.25V,为低频信号的频率,为高频信号的频率。
信号每个数码发号时间大于0.04s,两个数码之间间隔时间大于0.05s,DTMF接收器对输入信号进行分离、译码、缓冲恢复为对应于16种DTMF信号。
在电话机面板上4*4组合的按键组与相应的信号的表达式一一对应,当按下一个数据键时,例如“5”时,则产生频率为770HZ和1336HZ的两个正弦波,并叠加成对应的双音频信号。
国际电报电话咨询委员会和我国标准都规定拨号数字与高、低频的组合关系如下表所示:
fH(Hz)1209133614771633fL(Hz)697123A770456B852789C941*0#D表1双音多频信号频率组合利用MATLAB中的图形用户界面GUI进行仿真双音频拨号电话在实际拨号时对应的时域波形,并利用MATLAB库函数中提供的相应频域变换函数fft、abs做出每一按键时域信号的功率谱。
电话拨号盘上的A、B、C、D键为保留拨号键,在本课题仿真中不对其进行仿真设计。
3GUI的基本知识3.1GUI的M文件和FIG文件f1在MATLAB中,图形用户界面GUI包含多种对象的图形窗口。
用户必须对每一个对象进行界面布局和编程,从而使用户激活GUI每个对象时都能够执行相应的行为。
另外,用户必须保存和发布所创建的GUI,使得GUI能够真正得到应用。
MATLAB为用户开发图形界面提供了一个方便高效的集成环境:
MATLAB图形用户界面开发环境GUIDE(MATLABsGraphicalUserInterfaceDevelopmentEnvironment).GUIDE主要是一个界面设计工具集,MATLAB将所有GUI支持的用户控件都集成在这个环境中提供界面外观、属性和行为响应方式的设置方法。
GUIDE将用户保存设计好的GUI界面保存在一个FIG资源文件中。
同时还能够生成包含GUI初始化和组件界面布局控制代码的M文件。
这个M文件为实现回调函数(当用户激活GUI某一组件时执行的函数)提供了一个参考框架。
虽然使用用户自己编写的、包含GUI所有发布命令的M文件也能够实现一个GUI,但是使用GUIDE执行效率更高:
使用GUIDE不但能够交互式地进行组件界面布局,而且能够生成两个用来保存和发布GUI的文件:
FIG文件:
该文件包括GUI图形窗口及其所有后裔的完全描述,包括所有对象的属性值。
FIG文件是一个二进制文件,调用hgsave命令或界面设计编辑器的File菜单Save选项保存图形窗口是将产生该文件。
FIG文件包含序列化的图形窗口对象;在用户打开GUI时,MATLAB能够通过读取FIG文件重新构造图形窗口及其所有后裔。
所有对象的属性都被设置为图形窗口创建是保存的的属性:
缺省情况下,即使用户使用hgsave和hgload命令保存系统缺省图形工具条和菜单,FIG文件也不保存这些缺省信息。
FIG文件最有用的地方之一就是对象句柄的保存和引用。
可以使用open、opening和hgload命令打开一个后缀为.fig的文件M文件:
该文件包括GUI设计、控制函数以及定义为子函数的用户控件回调函数,主要用于控制GUI展开时的各种特征。
这个M文件可分为GUI初始化和回调函数两个部分,用户控件的回调函数根据用户与GUI的具体交互行为分别调用。
这里将GUI的M文件称为应用程序M文件。
应用程序M文件使用openfig命令来显示GUI。
注意使用程序M文件并不包括用户界面设计的任何代码,这些代码将完全由FIG文件保存。
3.2GUI设计的优点及实现步骤GUIDE可以根据用户GUI的版面设计过程直接自动生成M文件框架,这样就简化了GUI应用程序的创建工作,用户可以直接使用这个框架来编写自己的函数代码。
这样的编写方法有以下优点:
(1)应用程序M文件已经包含实现一些有用的函数编写代码,无需用户自行编写;
(2)可以使用该M文件生成的的有效方法来管理图形对象句柄并执行回调函数子程序;(3)提供管理全局数据的途径;(4)文件支持自动插入回调函数原型,确保当前GUI与未来发布版本的兼容性。
用户也可以选择由GUIDE生成FIG文件、自己编写应用程序M文件的GUI创建方式。
编写M文件是要注意,应用程序M文件中不能包含用户控件创建命令,所有的界面设计信息都保存在由界面设计编辑器生成的FIG文件中。
实现一个GUI主要包括以下两项工作:
GUI界面设计和GUI组件编程。
整个GUI的实现过程可以分为以下几步:
(1)通过设置GUIDE应用程序的选项来进行GUIDE组态;
(2)使用界面设计编辑器进行GUI界面设计;(3)理解应用程序M文件中所使用的编程技术;(4)编写用户GUI组件行为响应控制(即回调函数)代码。
3.3控件的概念和特点界面设计编辑器组件平台中包含所有能够在GUI中使用的用户界面控件。
这些控件都属于MATLAB的用户控件对象(uicontrol),可以通过Callback属性来进行回调函数编程。
下面将主要介绍在本课题中所使用到的各种控件的概念和特点:
按扭(Pushbutton):
通过鼠标点击按扭可以实现某种行为(按扭陷下和弹起等)并调用相应的回调子函数;复选框(Checkbox):
复选框能够产生一个二进制状态的行动(on或off)。
当复选框被选中时,其属性中的Value值变为1,同时调用相应的回调函数;未被选中时,其值为0。
Checkbox的回调函数首先要对按钮的Value的值进行判断,然后才能决定相应的行为。
静态文本(StaticText):
静态文本通常作为其他控件的标签使用,用户不能采用交互方式修改静态文本或调用相应的回调函数;坐标轴(Axes):
在GUI界面上的任意位置绘制坐标轴,可设置相应的横、纵坐标范围,并且可将坐标设置成封闭的形式。
组合框:
组合框是图形窗口中的一个封闭区域,它把相关联的控件(例如一组单选按钮)组合在一起,使得用户界面更容易理解;4GUI界面设计图形用户界面(GraphicalUserInterface,简称GUI)就是通过窗口、选单、按钮、文字说明等构成一个美观的界面,提供用户利用鼠标或键盘方便地实现操作。
Matlab设计图形用户界面的方法有两种:
使用可视化的界面环境和通过编写程序,本课题采用可视化的界面环境仿真双音频波号电话。
通过打开Matlab的菜单File/New/GUI即可打开如下的窗口,选择CreateNewGUI选单中的“BlankGUI(Default)”后设置相应的存储位置,单击OK即可得到如下未命名的图形用户界面“untitled.fig”编辑器外观:
在弹出的“untitled.fig”的图形对象面板中选择可用来仿真双音频电话面板的各个控件,并设置各个控件的属性值以便在编写回调函数(Callback)时有效利用各个控件的属性值,使编写的函数易于读懂。
单击运行后的得到如下的图形用户界面:
实现GUI的基本机制是对控件的Callback属性编程以期实现界面上各个控件的功能。
在本课题中对各个控件的Callback进行编程后再次运行时,用鼠标单击按键“”后出现的界面如下。
若Sound的复选框选中后再进行拨号,则可实现语音报号的功能。
Sound的复选框选中后若用鼠标单击Info(ON)的按钮,此时再单击拨号盘上的按键则不仅能在界面上显示信号的时域,频域信息以及实现报号的功能外,还能在界面上显示相应的拨号码和对应的高、低频率。
如下图是在单击“”号键时的界面显示情况:
在界面中用鼠标单击“Close”选项,则整个界面将被关闭5总结在本课题的研究过程中,主要学习掌握了如何使用MATLAB中的图形用户界面GUIDE的编程工具集来实现自身的GUI界面设计和编程。
本课题完成了双音频电话拨号时的时域以及频域的仿真,实现了语音报号的功能;并可在界面上显示对应的拨号信息以及相应的高低频率信息。
本课题未研究国际电报电话咨询委员会规定的4*4键盘中的保留拨号键的信号仿真。
在此课题基础之上还可以对其继续进行仿真,实现连续拨号时可在界面上连续显示信号的时域和频域成分,或者是考虑在存在加性高斯白噪声时双音频拨号电话拨号时的时域及频域的影响;也可以利用Simulink对双音频电话的拨号时发送信号的过程及其接收的过程进行仿真并通,并通过示波器显示信号的频域成分。
致谢值此毕业答辩之时,首先要感谢我的父母,四年之中一直都是他们在背后支持、鼓励我,感谢父母的养育之恩。
还要感谢我的老师,是他们在四年中给了我走向社会的所需的知识与能力,“饮其流者怀其源,学其成时年其师”,我不会忘记栽培我的老师。
尤其是带我毕业设计的伍老师,在完成本课题时,伍老师给了很多的指导。
最后还要感谢我的同学与朋友,他们不仅陪我走过了这短暂的四年,在本课题完成过程中,他们也给了我很大的帮助。
参考文献1.陈怀琛.Matlab及其原理在工科课程中的应用指南M.西安:
西安电子科技大学出版社,20002.苏金明等.Matlab6.1实用指南M.北京:
电子工业出版社.20023.闻新等.Matlab科学图形构建基础与应用(6.X)M.北京:
科学出版社.20024.陈怀琛.数字信号处理教程Matlab释义与实现M.北京:
电子工业出版社,20045.陈桂明等.应用Matlab建模与仿真M.北京:
科学出版社,20016.郑阿奇.MATLAB实用教程M.北京:
电子工业出版社,20047.苏晓生.掌握MATLAB6.0及其工程应用M.北京:
科学出版社,20028.飞思科技产品研发中心.MATLAB7辅助信号处理技术与应用M,北京:
电子工业出版社,20059.施晓红,周佳.精通GUI图形界面编程M,北京:
北京大学出版社200310.吴志雄.利用MATLAB仿真DTMF音频的产生及其解码J,福建商业高等专科学校学报,2002(6)11.王艳芬,刘剑科等.基于MATLABLinkforCCS的DTMF信号检测系统的实现J,电气电子学报,2007,27(4):
55-5812.赵霞.双音多频信号产生及解码的研究J,微电子学2001,31(6):
418-42113.申平,曾运,华王晖.无绳集团电话双音多频DTMF信号的实现J,暨南大学学报(自然科学版),1996,17
(1):
47-5214.姜立中,电话的双音频拨号J,物理教师,2000,21
(1):
4015.王志高.基于软件的DTMF产生器及其性能研究.长春理工大学学报,2007,3
(1):
146-14916.张力.MATLAB在语音信号处理辅助教学中的应用J.电气电子教学学报,2005,27
(2):
96-9917.孙兆林.MATLAB6.X图像处理M.北京:
清华大学出版社,200218.张森,陈正亮MATLAB仿真技术与实例应用教程M.北京:
机械工业出版社,2004附件:
原程序代码:
functionvarargout=phone_pad(varargin)%LastModifiedbyGUIDEv2.516-Apr-200811:
27:
17%Begininitializationcode-DONOTEDITgui_Singleton=1;gui_State=struct(gui_Name,mfilename,.gui_Singleton,gui_Singleton,.gui_OpeningFcn,phone_pad_OpeningFcn,.gui_OutputFcn,phone_pad_OutputFcn,.gui_LayoutFcn,.gui_Callback,);ifnargin&ischar(varargin1)gui_State.gui_Callback=str2func(varargin1);endifnargoutvarargout1:
nargout=gui_mainfcn(gui_State,varargin:
);elsegui_mainfcn(gui_State,varargin:
);end%Endinitializationcode-DONOTEDIT%-Executesjustbeforephone_padismadevisible.functionphone_pad_OpeningFcn(hObject,eventdata,handles,varargin)handles.output=hObject;guidata(hObject,handles);functionvarargout=phone_pad_OutputFcn(hObject,eventdata,handles)varargout1=handles.output;%-Executesonbuttonpressinbohao1.functionbohao1_Callback(hObject,eventdata,handles,varargin)fL=697;fH=1209;t=0:
0.0001:
0.05;x=0.25*sin(2*pi*fL*t)+0.25*sin(2*pi*fH*t);y=fft(x,1280);pyy=y.*conj(y)/256;f=2000*(0:
255)/256;%creattime_axesplotaxes(handles.time_axes)plot(t,x)gridonset(handles.time_axes,XMinorTick,on)axis(00.05-11)ylabel(Signal);%CreatFrequencyplotaxes(handles.Frequency)plot(f,pyy(1:
256);ylabel(SignalPower);set(handles.Frequency,XMinorTick,on)gridonset(handles.bohao,string,1)set(handles.dipin,string,697)set(handles.gaopin,string,1209)ifget(handles.sound,Value)=1;y,fs=wavread(d:
毕设fzz1);sound(y,fs)end%N=2000;%y=0.25*sin(2*pi*f1*(0:
N-1)+0.25*sin(2*pi*f2*(0:
N-1);%Y=fft(y,N);%f=(0:
length(Y)-1)*2000/length(Y);%subplot(2,1,2);%plot(f,abs(Y);%functionbohao2_Callback(hObject,eventdata,handles)%datafL=697;fH=1336;t=0:
0.0001:
0.05;x=0.25*sin(2*pi*fL*t)+0.25*sin(2*pi*fH*t);%creattime_axesplotaxes(handles.time_axes)plot(t,x)axis(00.05-11)set(handles.time_axes,XMinorTick,on)ylabel(Signal);gridon%CreatFrequencyplotaxes(handles.Frequency)y=fft(x,1280);pyy=y.*conj(y)/256;f=2000*(0:
255)/256;plot(f,pyy(1:
256);ylabel(SignalPower);set(handles.Frequency,XMinorTick,on)gridonset(handles.bohao,string,2)set(handles.dipin,string,697)set(handles.gaopin,string,1336)ifget(handles.sound,Value)=1;y,fs=wavread(d:
毕设fzz2);sound(y,fs)endfunctionbohao3_Callback(hObject,eventdata,handles)%datafL=697;fH=1477;t=0:
0.0001:
0.05;x=0.25*sin(2*pi*fL*t)+0.25*sin(2*pi*fH*t);%creattime_axesplotaxes(handles.time_axes)plot(t,x)axis(00.05-11)set(handles.time_axes,XMinorTick,on)ylabel(Signal);gridon%CreatFrequencyplotaxes(handles.Frequency)y=fft(x,1280);pyy=y.*conj(y)/256;f=2000*(0:
255)/256;plot(f,pyy(1:
256);ylabel(SignalPower);set(handles.Frequency,XMinorTick,on)gridonset(handles.bohao,string,3)set(handles.dipin,string,697)set(handles.gaopin,string,1477)ifget(handles.sound,Value)=1;y,fs=wavread(d:
毕设fzz3);sound(y,fs)endfunctionbohao4_Callback(hObject,eventdata,handles)%datafL=770;fH=1209;t=0:
0.0001:
0.05;x=0.25*sin(2*pi*fL*t)+0.25*sin(2*pi*fH*t);%creattime_axesplotaxes(handles.time_axes)plot(t,x)axis(00.05-11)set(handles.time_axes,XMinorTick,on)ylabel(Signal);gridon%CreatFrequencyplotaxes(handles.Frequency)y=fft(x,1280);pyy=y.*conj(y)/256;f=2000*(0:
255)/256;plot(f,pyy(1:
256);ylabel(SignalPower);set(handles.Frequency,XMinorTick,on)gridonset(handles.bohao,string,4)set(handles.dipin,string,770)set(handles.gaopin,string,1209)ifget(handles.sound,Value)=1;y,fs=wavread(d:
毕设fzz4);sound(y,fs)endfunctionbohao5_Callback(hObject,eventdata,handles)%datafL=770;fH=1336;t=0:
0.0001:
0.05;x=0.25*sin(2*pi*fL*t)+0.25*sin(2*pi*fH*t);%creattime_axesplotaxes(handles.time_axes)plot(t,x)axis(00.05-11)set(handles.time_axes,XMinorTick,on)ylabel(Signal);gridon%CreatFrequencyplotaxes(handles.Frequency)y=fft(x,1280);pyy=y.*conj(y)/256;f=2000*(0:
255)/256;plot(f,pyy(1:
256);ylabel(SignalPower);set(handles.Frequency,XMinorTick,on)gridonset(handles.bohao,s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 DFT 分析 双音 电话 拨号 频谱