DTMF信号的产生与解码算法研究(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对每帧信号(200点)做一次肿,画幅频谱图。
FFr中要求序列长度N=垆(E为整数),所以N=?=
256,由于频谱分辨率F=f,/N一31.25Hz<73Hz(表 1中任意两频率的最小间隔),因此可在频谱图中分 辨出各频率分量。DTMF信号的幅频谱只含两根谱 线,谱线横坐标即该信号的两个频率分量点置 和妊。
^,×8=1600次复数乘法 (Ⅳ=200k取8点)(算l x(k)I)
8点(存I X(丘)I)
较易
卷积法 同DFr法
同DFT法 与DFr法相当
迭代法 (Ⅳ+4)x 8=1632次实 数乘法(算Ix(^)l 2)
同DVI"法 (存I x(%)
2)
难,但更贴近 硬件实现
由于一次复数乘法相当于4次实数乘法和三次 复数加法,因此从表4可见,无论是计算量还是占用 的内存量方面,迭代法均是最少的,且该方法采用的 是解差分方程的形式,故而最贴近于硬件实现。
(b)数‘,键输入窗【J
图1 DTMF信号的产生
裹4四种解码算法的性能比较
计算量
占用内存量 运算复杂度
(a)FFT算:法 (b)DFT法与卷积法
n叮j去
N12109z IV=1024次复数 乘法(N=256,^取256
点)(算lx(^)I)
256点(存l 工(蠡)I)
MATLAB中易 实现
DFlr法
鲫11,1(N一1)I 2=[v(N)一CO¥03∥
(N一1)]2+sill2峨y2(Ⅳ一1)=
v2(Ⅳ)一2eoso£,Il,(N)1.J(N—1)+
v2(N一1)
(12)
显然,公式(12)中未出现复数运算。03。仍取DTMF
信号用到的8个数字频率。余下解码过程同DFT
算法。
3实验结果与分析
基于Maflab6.5软件,设计DTMF信号产生与解 码的软件界面,并对上述四种解码算法的结果进行
中淘分类号:TP391.4 文献标识码:A交耄编号:1009-2552(2008)11—0088—04
2008牟第q朝
DTMF信号的产生与解鸸算法研究
戴虹
(上海第=工监大学电予与电气工程学院,上海201209)
攘要:提出用下列霹雒冀法对由软箨产生的DTMF信号进程解码:肿算法,DYr算法,卷积
海。速代法。对上述解码算法的实验结果逆行了分析和比较,并揭示了它们之闽的内在联系。 关键词:DTMF;F喜-I.;DFT;卷积;频谱分析
得证。
一89—
余下的解码过程同DFr算法。 2.4迭代法
迭代法即“Goertzel算法”【4】,是在卷积法的基础
之上,找到h。(n)对应的差分方程,以DTMF信号 茗(凡)为输入,用迭代手段解此差分方程,则r/=N 时刻的输出儿(/7,)就是x(||}),画fx(k)I 2即可对各 信号进行谱分析,并避免复数运算。迭代法解码过程 如下:
l黟眦F信号的产生
根据CcITr的建议,DTMF通信系统中的频率 共有8种,分为4个嵩频营和4个低频啬,用一对高 频和低频的正弦波组合表示一个信号,则共有16种 组合,分别代表16种数字或功能键婚j,如表1所示:
五\(矗呦(№\) 裹1瑚湖F信号羰睾分配表
1209
1336
1477
t633
697 770 8勉 94I
x(k)=Drr[x(rt)]=扎(N)
(6)
其中,Yk(n)=髫(,I)*h。(n);to。取DTMF信号用到 的8个数字频率。 证:
.1v—1
),‘(扎)=茹(n)*k(n)=∑戈(m)形抄一’

Ⅳ一l
Ⅳ一1
儿(Ⅳ)=∑菇(m)形矿‘Ⅳ一…=∑茗(m)贿埘·
m=0
m=0
.1v—l
赡=∑茹(m)啼=Drr[x(n)]=x(蠡)
分析和比较。 ①DTMF信号的产生
首先利用Matlab界面设计命令中的“Figure”和 “unimenu”语句,生成“DTMF信号产生与解码算法的
一90一 万方数据
Matlab仿真”图形界面和菜单,见图1(a)。当用户 将鼠标按在子菜单“IYrMF的产生”上时,弹出一个 输入窗El(命令:“inputdlg”),提示用户输入数字键, 例如,键入“2”,见图1(b)。则会根据公式(3)产生 “2”对应的DTMF信号(400点)和静音(用0表示, 400点),如图I(C)所示,连续输入任意个按键可产 生多个IYrMF信号。
compared with each other.and the internal relations among them a艄revealed. Key words:DTMF;H;’II:Dvr;convolution;spectrum analysis
0引言
DTMF(Double Tone Multi Frequency,双音多频) 信令使用在按键式电话机上,因其提供更高的拨号 速率,并具有穰强的抗千扰能力,从弱迅速取代了传 统转盘式电话枫使用的拨号脉冲信令。近年来, DTMF广泛应用予交互式控翩中,如语言菜单、语言 邮件、来电显示、电话银行和ATM终端等,用户可发 送DTMF信号来选择菜单进行操作n】。DTMF编码器 将数字按键信息转换成双音信号发送出去。解码时对 接收到的DTMF信号进行检测,将其还原为数字键。
(8)1
对式(8)两边进行z反变换,得:
儿(n)=1.J(n)一w知(,l一1)
(9)
其中,
v(凡)=菇(n)+2cos眦v(n一1)一p(,l一2)(10)
贝Ⅱx(后)=儿(Ⅳ)=v(J7\,)一形加(Ⅳ一1)(11) ②求解lx(后)I 2
X(k)I 2=I y(N)一w知(N一1)I 2:
I v(N)一C0803Iy(N一1)+jsin
①对每帧哪信号在8个特定的频率上做 中许多无意义的计算。DFI"算法解码过程如下:
DIPI',画幅频谱图,从中找出代表各信号的特征字。 设一帧IYFMF信号为并(n),长度N=200,其
DFT:
Ⅳ一l
茹(k)=∑髫(n)啼=
。n。。=O
N一1

Ⅳ一1
∑茗(,t)e一静:∑髫(n)e一即
(5)
‘n。。。—=—0‘n。。。—=—O
②DTMF信号的解码 FFT算法首先对上面接收到的DTMF信号做 FFr,并计算幅频谱。其中一帧信号的幅频谱如图 2(a)上方所示,其最大的两个幅值出现在频率点 鼠=23和%=44处,但周围出现了许多小谱线,设 定一阈值T=40,将小于r的谱线置O以消除频谱 泄漏,见图2(a)的下方。最后设计了顺序查找法程 序,查表2将检测到的谱线还原为所按的数字键,并 通过信息窗(命令:MSgbox)显示,见图2(a)的右下 方,一个DTMF信号加上静音(静音用字母“N”表示) 共800点,以200点为一帧则有4帧,故解码结果用 “22NN”表示。DFr算法和卷积法解码分别根据公 式(5)和公式(6)画出DTMF信号在8个特定频率上 的幅频谱,结果图形是一致的,“2”对应的幅频谱如 图2(b)所示,它在频率“1”和频率“6”上的幅度最 大,仍用阈值T=40消除频谱泄漏。查表3将检测 到的谱线还原为所按数字键,解码结果同FFr算法。 迭代法解码则根据公式(10)和(12)计算I x(后)I 2, “2”对应的IX(k)l 2图形见图2(c),用来消除频谱 泄漏的阈值为T=2000。其余解码过程和结果同 DFT算法。
paper:瞅 Abstract:Fmr幽嘲t}lf晦∽proposed to decode the DTMF si秘al generated by software in this
Atgofithm,DFT algorithm,Convolution algorithm and iterative algorithm。The results are 8蕊弦硪and
Research on the generation and decoding algorithms of DTMF signal
矜AI Hong
(Sda00l oflRlectronie and Electrical tr.g妇ring,确棚霸融Second PolyglOt University,Slmg醢201209,China)
4 结束语 本文基于MATLAB语言设计软件界面,对DT-















Leabharlann Baidu
一88一 万方数据
这些频率的选择是经过对人体声学的研究詹得 到的,是入声带使用最少的频率缝合。因此DMTF 可避免入的话音于扰睢】。CCITt规定,DTMF信令每 秒最多lO个数字,酃周期为lOOms,其中DTMF傣 号的持续对闻不少于45ms,不大予55ms,其余时间 为静啻,用以送分两个DTMF信号。设每个DTMF 信号持续时间为50he,采样频率为Z=8kHz,则有 400个采榉点。
每个DTMF信号矗(n)是两个频率的正弦序列裾迭 加,设为h。(,1)和b(n),分别求得ht(n)和hⅣ(,1) 蒡f}对应的差分方程:
I|堑携爨期:∞∞一06—10 俸誊简介:戴虹(1977一)。女。讲师..t海大学橇电工程每巍动辱匕学
院博±辑究患,露}究方翔为信等与信息处理。
^L(n)=a/.hr(n—1)一hL(n一2)+6庐(,l—1);
键“2”的频率对应的特征字为TL=1(频率1),%=
6(频率②6查)。表3,将各哪信号还原为相应数字键。
表3数字键对应特征字组合表
◆弋 5






















2.3卷积法 可将DFT解码算法看作是一个卷积过程。序
列菇(,1)的DFT:X(k)是菇(n)与滤波器h。(,1)=
贿hH(rt)=毋“Ⅱ(n)的卷积在rt=N上的输出值,即
其中,这8个数字频率to。=2峨缏,频率:五=
[697,770,852,941,1209,1336,1477,1633](Hz),设
为频率l。频率8;Z=8000Hz,对菇(,1)在这8个特
定频率上作DFT,并画幅频谱图,从中找出幅值最大 的两条谱线,在消除频谱泄漏之后,这两条谱线的横 坐标就是代表各信号的特征字孔和%,例如:数字
采用差分方程迭代产生DTMF僖号。设正弦序 列为^(rt)=sin(wkn)n(玮),其中OJl为数字频率, 则矗(聆)的=变换为:
盹)=F瓦Zsm面r.ok i=F誊≥(1)
其中,6=sin(a,i),口=2cos(toI)。 对式(i)两边进行:反变换,得 h(穗);ah(撑一1)一h(拈一2)+酚(珏~|)(2)
①用差分方程求解X(||})
皿o)=蚤%吁“=南 由卷积法得h。(n)=贿h//.(/7,),其:变换: (7)
由于睇‘是复数,故对(7)式进行分母有理化,得:
酏,=器=器·器:·
1一晾。
(1一形面乞一1)(1一w%一1)一
I一唬一
1一(w彳‘+w盘)=一1+Z一2一
—上』草1
…7
一c2osco应’1+z一。
消除频谱泄漏。由于DTMF信号是有限长的, 相当于对无限长的信号加矩形窗,因此在频谱图中 必然会出现频谱泄漏现象,使信号能量散布到其他 谱线位置。为此应选择一适当阈值,将出现在这两
条谱线周围的幅度较小的谱线消除。 ②将各DTMF信号还原为相应的数字键。 幅频谱图中频率轴的定标方式为频率点K,其
与实际频率五之间的转换关系为:
2聊眦F信号的解码
2.1 FFI’算法
肿是有限长序列离散傅里叶变换(DFT)的快
速算法,其基本运算是蝶形算法,可使DFr计算时
间缩短1—2个数量级,大大推动了数字信号处理技 术的发展【3 J。采用基2时间抽取FFr算法对DTMF 信号进行频谱分析从而解码。解码过程如下:
①对接收到的DTMF信号做FFT,画频谱图,从 中找出代表各信号的频率分量。
b(n)=auhⅣ(n—1)一h(,l一2)+6≯(乃一1)。
其中,b£=sin(toL),口£=2cos((t,L),to£=2砸/f,,
b日=sin(∞Ⅳ),口‘=2cos(to圩),∞H=2J以/f.
.,:=8kHz为取样频率。则
^(n)=hL(n)+hH(凡)(n=0,1 9·f·9399) (3)
K=以/F
(4)
其中,F为频谱分辨率。各数字键对应的频率点如
表2所示,查表2即可将各DTMF信号还原为相应 的数字键。
表2数字键对应频率点组合裹
>≮ 40
44
48
53
23




26




28




31



万方数据
2.2 DI,I"算法 用FFr算法解码,每帧信号要做N=256点
FFr,而组成所有DTMF信号的频率只有8个(见表 1),于是可以只对每帧信号算8点DFT,以避开FFr
相关文档
最新文档