第一范文网 - 专业文章范例文档资料分享平台

DTMF信号系统的Matlab课程设计解读 - 图文 (2)

来源:用户分享 时间:2020-06-22 本文由忆尘夕之涩 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今

[13]

国际科学计算软件的先进水平。

MATLAB 产品族可以用来进行以下各种工作: ● 数值分析

● 数值和符号计算 ● 工程与科学绘图

● 控制系统的设计与仿真 ● 数字图像处理 技术 ● 数字信号处理 技术 ● 通讯系统设计与仿真

● 财务与金融工程

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专

用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。

它有如下的特点:

1.功能强的数值运算 ――在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函数可使用,函数的标示自然,使得问 题和解答像数学式子一般简单明了,让使用者可全力发挥在解题方面,而非浪费在电脑操作上。

2.先进的资料视觉化功能 ―― MATLAB的物件导向图形架构让使用者可执行视觉数据分,并制作高品质的图形,完成科学性或工程 性图文并茂的文章。

3.高阶但简单的程式环境 ――作为一种直译式的程式语言,MATLAB容许使用者在短时间内写完程式,所花的时间约为用 FORTRAN 或 C 的几分之一,而且不需要编译(compile)及联结 (link) 即能执行,同时包含了更多及更容易使用的内建功能。

4.开放及可延伸的架构 ―― MATLAB容许使用者接触它大多数的数学原始码,检

视运算法,更改现存函数,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。

5.丰富的程式工具箱 ―― MATLAB的程式工具箱融合了套装前软体的优点,与一个灵活的开放但容易操作之环境,这些工具箱提 供了使用者在特别应用领域所需之许多函数。现有工具箱有:符号运算(利用Maple V的计算核心执行 )、影像处理、统计分析、讯号处理、神经网路、模拟分析、控制系统、即时控制、系统确认、强建控 制、弧线分析、最佳化、模糊逻辑、mu分析及合成、化学计量分析。因为有了这些工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高了编程效率,其程序编译和执行速度远远超过了BASIC、FORTRAN和C等语言。

在欧美的大学和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算和绘制各种图形。它还是一种有力的教学工具,它在大学的线性代数、自动控制理论、数理统计、数字信号处理、动态系统

仿真等课程的教学中,已成为标准的教学工具。

- 5 -

3 双音多频(DTMF)信号的产生与检测原理

3.1双音多频信号

DTMF,由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。DTMF信令有16个编码。利用DTMF信令可选择呼叫相应的对讲机同时,双音多频信号是电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。在使用双音多频信号之前,电话系统中使用一连串的断续脉冲来传送被叫号码,称为脉冲拨号。脉冲拨号需要电信局中的操作员手工完成长途接续。

双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频。每按一个键就发送一个高频和低频的正弦信号组合,比如'1'相当于697和1209赫兹(Hz)。交换机可以解码这些频率组合并确定所对应的按键。

DTMF编解码器在编码时将击键或数字信息转换成双音信号并发送,解码时在收到的DTMF信号中检测击键或数字信息的存在性。

表2-1 数字或功能键组合表

行频

1209Hz 1336Hz 1477Hz 1633Hz 列频

697Hz 1 2 3 A

770Hz 4 5 6 B

852Hz 7 8 9 C

941Hz * 0 # D

DTMF 是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。两个单音频的频率不同,代表的数字或实现的功能也不同。这种电话机中通常有16 个按键, 其中有10 个数字键0~9 和6 个功能键*、#、A、B、C、D。由于按照组合原理,一般应有8 种不同的单音频信号。因此可采用的频率也有8 种,故称之为多频,又因它采用从8 种频率中任意抽出2 种进行组合来进行编码,所以又称之为“8 中取2”的编码技术。

根据 CCITT 的建议,国际上采用的8个频率为:687Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz 和1633Hz。用这8 个频率可形成16 种不同的组合,从而代表16 个不同的数字或功能键,具体组合见表2-1。

3. 2.1双音多频信号的产生原理

- 6 -

DTMF信号包含两组音频信号,解码器的任务是通过数学变换把它从时域转化到频域,然后得出对应的数字信息。

在接收端,将收到的模拟音频信号进行A/D变换,恢复为数字信号,然后检测其中的音频频谱来确定所发送的数字。检测算法可以是快速傅立叶变换(FFT)算法的DFT,或是用一组滤波器来提取所需频率。以下章节对两种方法进行分析并对GOERTZEL算法进行详细的推导。

由上面可以知道一个DTMF信号是由两个不通频率fL和fH的正弦波组成,它可以用下式表示

x(t)?ALsin(2?FLt??L)?AHsin(2?FH??H) (2-1)

我们可以考虑通过离散傅立叶变换进行信号的频谱分析来检测离散的双音多频码。这是因为只有时域及频域都是离散的情况下,才能适合于在计算机上运算;也就是周期的离散时间信号与离散频率间的变换对。

周期性离散时间信号x(n)的离散傅立叶变换-周期性离散频率函数X(k)两相邻谱线分量之间的角频率增量与周期tp之间的关系可表示为

??2?/tp?2?F,

F?1/tp 代表信号的基频。

取样频率

fs与取样周期T的关系是 fs?1 T取样角频率 ??2?/T

T为时域取样间隔为,在一个周期内取样点数为N。在自变量为t及f的情况下,在一个时域中对函数进行取样,两取样点间增量的倒数,必是另一个域中函数的周期。现序列的周期为NT,所以对频谱取样的间距是1/NT。以数字频率表示时,则频谱间距是

?0?2?k/Nk?0,1,??,N-1

令WN???j2?N并称之为WN因子。离散傅立叶变换(DFT)可写成如下形式:

X(k)?DFT[x(n)]??x(n)Wn?0N?1knN (2-2)

0 ?k?N?离散傅立叶变换(DFT)在有关频率检测数字信号处理系统的设计和实现方面起着非常重要的作用。DFT的表达式可以直接写成:

- 7 -

X(k)??x(n)??n?0N?1?j?2?knN (2-3)

k?0,1,??,N-1 一般来说,x(n)和WNnk都是复数,X(k)也是复数,每计算一个X(k)值,需要N次复数乘法x(n)与WN相乘以及N-1次复数加法。而X(k)一共有N个点(k从0取到N-1),所以完成整个DFT运算总共需要N2次复数乘法及N(N-1)次复数加法。复数运算实际上是由实数运算来完成的,因此上式可写成:

X(k)?????????????????????N?1n?0nk?x(n)WN?1n?0nkN?(Re[x(n)]?N?1n?0nknkj?m[x(n)])(Re[WN]?j?m[WN] (2-4)

?{(Re[x(n)]Re[WnkNnk]??m[x(n)]?m[WN])nknk??????????????j(Re[x(n)]?m[WN]??m[x(n)]Re[WN]}由此可见,一次复数乘法需用四次实数乘法和两次实数加法;一次复数加法则需两

次复数加法。因而每运算一个需要4N次复数乘法和2N+2(N-1)=2(2N-1)次实数加法。

所以,直接计算DFT,乘法次数和加法次数都是和N2成正比的,当N很大时,运算量是很可观的,例如,当N=8时,DFT需64次复数乘法,而当N=1024时,DFT所需复数乘法为1,048,576次,即一百多万次复数乘法运算,这对实时性很强的信号处理来说,对计算速度的要求太高了。因而需要改进对DFT的计算方法,以大大减少运算次数。

仔细观察DFT的运算量可以看出,利用系数的以下固有特性,可以减少DFT的运算量。

K(N?n)?knkn??WN?(WN) 1.WN的对称性: WNnk(n?N)kn(k?N)?WN?WN2.WN的周期性: WN

nknk由此得出WNn(N?k)(N?n)k?nk?WN?WN,WNN2??1,WN(k?N2)k。 ??WN这样,(1)利用这些特性,使DFT运算中有些项可以合并;(2)利用

nkWN的周期性和

对称性,可以将长序列的DFT分解为短序列的DFT。而前面已经说到,DFT的运算量使与N成正比的,所以N越小越有利,因而小点数的DFT比大点数的DFT的运算量要小。基于这样的思路,快速傅立叶变换(FFT)发展起来了。如果按时间抽取的FFT算法,系统

- 8 -

2的运算量是Nlog2N,运算量明显比DFT运算量减少。但它有一个缺点,需要全部抽样数据到达时,才能进行计算;不适合双音多频信号频谱的计算,满足不了双音拨号系统实时性的要求。

假设时间连续的DTMF信号用x(t)=sin(2*pi*n*f1)+sin(2*pi*n*f2)表示,式中的f1和f2是按照表2-1中的两个频率,f1代表低频带频率中的一个,f2代表高频带频率中的一个。显然采用数字的方法产生DTMF信号,方便而且体积小。下面介绍用数字方法产生DTMF信号。规定用8kHz对DTMF信号进行采样,采样后得到的时域离散信号为:

x(t)=sin(2*?*n*f1/8000)+sin(2*?*n*f2/8000) (3-1)

形成上面序列有两种方法,一种是计算法,另一种是查表法。用计算法求正弦波序列值容易,但实际中要占用一些计算时间,影响运行速度。查表法是预先将正弦波的各序列值计算出来,存放在存储器中,运行时只要按顺序和一定的速度取出即可。这种方法要占用一定的存储空间,但是速度快。

采样频率是8kHz,因此要求每125ms输出一个样本,得到的序列再送到D/A变换器,它的输出经过平滑滤波便是连续时间的DTMF信号。DTMF信号再送到交换机。

3.2.2双音多频信号的检测原理

检测中采用了频域的方法,N 点数据的DFT公式为:

X(k)?DFT[x(n)]??x(n)W(2-5)

n?0 它的好处是可以得到DFT的所有N 点的值也就是通过DFT可以计算出信号中所包其中,k?0,1,...,。N?1含的频率成分。具体实现时,由于它的计算量非常大,因而主要使用它的快速算法——快速傅立叶变换(FFT)。

N?1knN对上述产生的DTMF信号,经过200点FFT运算得到DTMF信号的频谱X(K)(如图2-1所示)。根据结果中两条谱线的位置K值可知其频率分别为820Hz和1290Hz,即对应了电话号码盘的数字“7”。从图中可以看出,FFT运算中出现了两个问题:1、由于数据的截断,带来了频谱泄漏误差;2、通过FFT运算,计算出了200点的频谱,而DTMF信号只需8个频率点,计算效率大大降低。

在接收端,要对收到的双音多频信号进行检测,检测两个正弦波的频率是多少,以判断所对应的十进制数字或者符号。显然这里仍然要用数字方法进行检测,因此要将收到的时间连续 DTMF信号经过A/D变换,变成数字信号进行检测。检测的方法有两种,一种是用一组滤波器提取所关心的频率,根据有输出信号的2个滤波器判断相应的数字或符号。另一种是用DFT(FFT)对双音多频信号进行频谱分析,由信号的幅度谱,判断信号的两个频率,最后确定相应的数字或符号。本设计采用的是后者。 DTMF信号的产生、检测

- 9 -

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育DTMF信号系统的Matlab课程设计解读 - 图文 (2)全文阅读和word下载服务。

DTMF信号系统的Matlab课程设计解读 - 图文 (2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1092958.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top