logo资料库

一种新的基于Goertzel算法的DTMF信号检测方法.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
#$$# 年第 % 期 总 第 ! # % 期 !传输! 通 信 技 术 *’++,-./01.’-2 34/5-’6’78 &’( %) #$$# &’( !#%) 3’10668 一种新的基于 =’4>1?46 算法的 @3AB 信号检测方法 弋今朝! 张禄林" 钱玉美# ( !、# 中国科技大学研究生院,北京 !$$$C% )( " 北京邮电大学,北京 !$$D<" ) 【摘 要】 首先根据高频组和低频组的不同频率特性,对计算窗口 ! 的值进行了优选,提出了 一种基于 =’4>1?46 算法的双滑动窗信号解码方案,比较好地满足了 E3F 规范,降低了计算复杂度。实 验表明,该算法比其他的方案更加有效。 【关键词】 @3AB =’4>1?46 算法 @3AB 解码器 ! "#$ %&#’()#* !*+&’,(-. /01#2 3456 7,+80* 3#(#9(&’ G !) # F-.H4>2.18 ’I J/.4-/4 0-K 34/5-’6’78 ’I *5.-0,L4.M.-7 !$$$C% N G " L4.M.-7 F-.H4>2.18 ’I O’21P3464/’++,-./01.’-) L4.M.-7 !$$D<" N "# $#%&’() ! *’(%+ ,-.#% " /#(% "-01# # 【 !:1(’09( 】 E- 15.2 Q0Q4> 154 ’Q1.+06 /’+Q,1.-7 R.-K’R .2 I.>21 21,K.4K 0//’>K.-7 1’ 154 K.II4>4-1 /50>S 0/14>.21./2 T41R44- 154 5.75 I>4U,4-/8 7>’,Q 0-K 154 6’R I>4U,4-/8 7>’,Q) 154- 0 1R’ 26.K.-7 R.-K’R2 =’S 4>1?46 067’>.15+ T024K @3AB 2.7-06 K414/1’> .2 Q>424-14K( 35.2 2/54+4 +4412 154 E3F 2Q4/.I./01.’-2 0-K >4S K,/4 154 /’+Q64V.1.42( 354 1421.-7 >42,612 .-K./014 154 2/54+4 .2 +’>4 4II./.4-/8( 【 ;#<$&’21 】 @3AB) =’4>1?46 067’>.15+) @3AB 2.7-06 K414/1’> ! 概述 双音多频( @3AB:@,06 3’-4 A,61. 9 I>4U,4-/8 )信 令 W !,# X 是电信系统中一个广泛应用的标准。快速、准 确地检测 @3AB 信号是实现现代高密集、低成本语 音业务的关键。 @3AB 信号分为高频群和低频群,具体的频率键 值及信号标准如表 !、表 # 所示。 表 ! @3AB 频率及其对应的键值 高频群( Y? ) 低频群 G Y? N !#$% !CC" !;<< !"CC "%< <<$ D:# %;! ! ; < " # : D $ C " % [ Z L * @ 表 # E3F 9 3 \( #; 中规定的 @3AB 信号规范 J ] & 3R.21 (高频群与低频群之间的功率差) 允许的频率失真 动态范围 G KL+) 6- G Q’R4> ] !$ 9 CR N N 信号持续时间 处理时间间隔 ^ #;KL _;KL ‘ !( :a #:KL+ ;$+2 _ 23 _::+2 _!$$+2 一般的专用芯片采用过零率检测) 但此法不适用 多路信号。这是因为在混有语音和噪声时,容易出现 误判。基于 @JO 的软件检测方法是目前主流的解决 方法 W ;," X。当计算的频率点较少时,=’4>1?46 W C X 算法是 计算 @B3 的有效算法,很多文献采用了该算法 W :) " X。 它的主要问题是算法的计算字长 ( ! 值)取值比较随 意,没有在频率分辨率和时间分辨率两者之间进行 平衡。笔者对 ! 的取值进行了深入的探讨,根据高 收稿日期:#$$# 9 $: 9 !;。 弋今朝:男。!%<$ 年出生。现为中国科技大学研究生院研究生。主要研究方向为通信信号处理。 张禄林:男。!%": 年出生。现为北京邮电大学博士后。主要研究方向为无线通信网络和无线局域网。 钱玉美:女。!%;# 年生。中国科技大学研究生院电子学部教授。 ·!"·
频组和低频组的不同特性选用了不同的 ! 值,对 #$%&’(%) 算法进行了改进,降低了它的复杂度。 * #$%&’(%) 算法及其 ! 的选择 #$%&’(%) 算法是计算离散傅立叶变换的方法,当 需要计算的频率点数不超过 *)$+* ! 时,#$%&’(%) 算法 将比 ,,- . ,/0’ ,$1&2%& -&/304$&5 6 更为有效 7 8 9。图 ! 是 算法框图。它相当于一个二阶滤波器,其转移函数 为: ( # )$ "# ! % %&*!’ ( !# % ! ) ( # % ! ) # % * *!’ ( ! ! ; *<$0 图 ! #$%&’(%) 算法的模拟框图 对输出的计算采用递归方式进行: *!’ ! 6 > *’. + ; !6 ; *’. + ; *6 ? ,. +6@ *’. +6 = * > <$0. *’ . ; ! 6 = *’ . % * 6 = A,+ $ A@ !@ …,! - . ’ 6 = .’ . ! 6 = *’ . ! 6 ; /0 其中,/0 由于只需要幅值信息,不需要相位信息,因此,对前 ! > *’ . ! ; ! 6 ! $ % % *!’ ( ! ( * ! 。 ) ) 向部分进行改进,输出幅度平方值 ( ’ ) * $ ;’ ( ! ) ;" ’ ( ! - )$ ** ’ ( ! )) ** ’ ( ! % ! )% *<$0 *!’ 算法中,B-C, 频率 ( 12 ( ’ ),它们之间存在如下的关系: ! )变换成了离散傅立叶系数 ’ $ ! 3 12 14 . D 6 ! 是滤波器的计算长度,14 是采样频率 ! 的选择应考虑如下的因素: ( ! )时间分辨率。在 E-F 建议中,信号的持续时 间最小值为 DA50,在采样频率为 GAAAH( 情况下,对 应 8*A 个样本。大多数文献都把 ! 取值为 !AI 点 7J@ I9, 对应的时间为 !8K 850,对每个信号至少可以完成 * 次完整的检测。虽然增大 ! 取值可以保证更好的频 率分辨率,但 ! 的取值应小于每个信号样本长度 8*A,以保证对每个信号可以完成一次完整的计算。 另外,! 取值较大时,意味着 #$%&’(%) 算法中计算次 数的增加,对实时处理也有影响。 ( * )频 率 分 辨 率 。 计 算 的 信 号 主 瓣 宽 度 ( )与 ! 的关系可以表示为 562+789: = 14 L 562+789: !@ 其中 14 为采样频率。 ! 的取值过小,信号检测计 算时,相邻信号落入同一检测窗口会产生一定混 叠。 ( 8 )频率偏移度。根 据 E-F 对 B-C, 频 率 偏 移 度 要 求 ,允 许 M !K J N 频 率 偏 移 时 识 别 ,当 信 号 频 率 偏 移 超 过 M 8K JN 时要拒绝。由表 8 可看到 在 E-F 规定的相对误差相等的情况下,频率 !I88 允 许的绝对频率误差大于频率 IO" 要拒绝的绝对频率 误差。由于低频群和高频群绝对误差是不同的,应该 区别处理,对于低频群选用较大的 ! 值,对于高频 群选用较小的 ! 值。 表 8 B-C, 频率偏移 B-C, 频率 允许误差 !K JN 时 频率偏移 拒绝误差 8K JN 时 频率偏移 IO" OD! !*AO !I88 !AK DI !DK !* !GK !D *DK JA *DK DA 8*K OD D*K 8* J"K !I . D 6 舍入误差。根据 . D 6 式,在 #$%&’(%) 算法进行 递归计算时 ’ 要取整数,因而存在舍入误差。舍入误 差是随机的和离散的,不同的 ! 值和不同的 12 舍入 误差是不同的,因此造成的频率的偏移也是不同 的。由于 ’ 的舍入误差反映的是频率的偏移,因此必 须兼顾每个频率,选择 ’ 舍入误差小的 ! 值。 *’ ( ! ) ) *’ ( ! % ! ) ( 8 对 ! = !AA 到 8AA 之间的 ’ 的舍入误差进行了统计,对 各个频率不同的 ! 值的 ’ 误 差进行比对,选择出比较理想的 ! 值,即对于低频 群取 ! = **G,对于高频群取 ! = !!D。当 ! = !!D 时,在 DA50 内能保证有两次完整的运算,满足时间 分辨率的约束。 8 算法实现 图 * 描述了 B-C, 检测器。由于需要检测 G 种 可能的频率信号,需使用 G 个 . ! 6 式给出的 #$%&’(%) 滤波器。通过取相应的 ’ 值,将每个滤波器分别调谐 到对应的每个频率上。对于每个检测器来说,当每个 新样本到来时,使用 . * 6 式进行一次前向计算,并存 储中间结果;当到达给定的 ! 值时,使用 . 8 6 式进行 一次反向计算,并输出结果。对于低频群来说,使用 D ·!"·
个处理样本长度为 ##" 的 $%&’()&* 滤波器。其中的低 频群滤波器在处理完 !!+ 个样本的前向计算时,完 成一次反馈计算。因此,相当于使用一个 !!+ 样本长 的滑动窗完成计算。对于高频群来说,每个频率使用 一个 !!+ 长的 $%&’()&* 滤波器。 值为 06748 以 !674 步长降低直到 9 3:674。在 9 #:674 时,正确率 !00; ; ( # )高、低频群的功率差测试。对双音信号高、低 频群的功率差测试范围由 9 !067 到 !1678 步长为 0< !678 每次进行 !0 次测试。在功率差为 9 +< 367 到 "< :67 区间,正确率 !00; 。对 于小于 9 +< =67 大于 "< =67 的 情况全部拒识; ( 3 )频率偏差测试。对于所 有 ,-./ 信号,频率偏差小于 !< 1; 时全部识别,频率偏差大 于 3< 1; 时全部拒识; )音频信号测试。 使用 ( + 语音文件、音乐文件、其他声音 文件进行测试,在 100 次测试 中,正确率 ==< 1; ; 图 # 算法实现示意图 首先,分别检测出高、低频群中最强的信号频 率,并计算这两个最强频率的二次谐波。然后将信号 能量与整个频带内的能量进行对比,完成门限值检 测。在这里,没有对整个频带能量谱进行计算,而是 计算 " 个 ,-./ 频点和两个二次谐波上的能量谱, 利用计算值进行修正,完成对门限值的设定。计算两 个频率二次谐波的目的是为了防止与语音混淆。以 往的 ,-./ 语音检测固定使用 " 个 $%&’()&* 滤波器 计算二次谐波完成语音检测。这里简化为只对上一 步检测出的两个最强的频率进行 !!+ 样本长的二次 谐波计算,对它进行比较,完成本组样本的语音检 测。 + 实验测试 在信号测试中,通过软件产生 ,-./ 信号并存 储为声音文件,考虑到信号中断、语音插入等情况, )模拟测试。使用录制标 准电话信号进行测试,对 !0000 次信号测试,错误小 于 !0 9 3。 ( 1 1 结论 高性能的 ,-./ 解码器能满足 >-? 标准,它使 用了双滑动窗,完成信号检测更加灵活、简单,使用 实系数、变长度运算节省了运算时间。对于低频群, 这里采用 ##" 的计算字长 (为高频群 !!+ 的两倍), 在满足 >-? 要求的同时解决了信号输入缓存的问 题。最后对算法的有效性给出了测试结果8 证明它适 合于多通道 ,-./ 信号解码。 参考文献 ! >@(&’@A(B%@A* -&*&C%44D@BCA(B%@ ?@B%@< >-? 9 - E&C%44&@6A(B%@ F#3< -&CG@BCA* /&A(D’&5 %H ID5G 9 7D((%@ -&*&JG%@& K&(5< KLB()&’*A@6M >-? 9 -8 N%O&4P&’ !="" # >@(&’@A(B%@A* -&*&C%44D@BCA(B%@ ?@B%@< >-? 9 - E&C%44&@6A(B%@ F#+< .D*(B 9 H’&QD&@CR ID5G 9 7D((%@ KBS@A* E&C&J(B%@< KLB()&’*A@6M >-? 9 同时改变信号的频率偏移、持续时间、间歇时间、信 -8 N%O&4P&’ !="" 号高频群和低频群的功率差。由于无法取得实时的 多路 ,-./ 信号,采用录制的文件进行输入。使用的 测试集有:软件生成标准 ,-./ 测试文件 !00 个,软 件生成非标准测试文件 !10 个,电话录制 ,-./ 信 号 20 个,语音文件 30 个,音乐文件 !1 个,其他文件 #0 个。对于信号的检测时间门限设定为 +045,检测 与比较结果如下: )信噪比测试。 测试输入信号的信噪比起始 ( ! 3 $%&’()&* $< T@ T*S%’B(G4 H%’ (G& UOA*DA(B%@ %H /B@B(& -’BS%@%4&(’BC K&’B&5< T4&’BCA@ .A(G .%@(G*R8 !=1"V :1 W ! X M 3+ 9 31 + ,&%5(GA*B T8 .CCA5*B@ E< T Y%L 9 Z%4J*&[B(R >-? 9 Z%4J*BA@( ,DA* -%@& .D*(BJ*& /’&QD&@CR ,&(&C(%’< >UUU -’A@58 #000V +" W 3 X M =!! 9 =!2 1 7&C\ E8 ,&4J5(&’ $< /B@B(& 9 I’&CB5B%@ $%&’()&* /B*(&’5 ?5&6 H%’ KBS@A* -%@& ,&(&C(B%@< >UUU -’A@58 #00!V +" W : X M :=! 9 200 : /&*6&’ , 8 .A5%@ Z< UHHBCB&@( ,DA* 9 -%@& .D*(BH’&QD&@CR ,&(&C(B%@ ?5B@S (G& N%@D@BH%’4 ,B5C’&(& /%D’B&’ -’A@5H%’4< >UUU KBS@A* I’% 9 C&55B@S Y&((&’58 !=="V 1 W 2 X M !:0 9 !:3 ·!"·
分享到:
收藏