《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > Talk-off魯棒的雙音多頻信號解碼器
Talk-off魯棒的雙音多頻信號解碼器
來源:微型機與應(yīng)用2013年第6期
吳澤偉,,袁紅星,吳少群,,余輝晴
(寧波工程學(xué)院 電子與信息工程學(xué)院,,浙江 寧波315016)
摘要: 雙音多頻信號被廣泛用于音頻電話及交互式控制系統(tǒng)中,正確解碼是這些應(yīng)用的關(guān)鍵,。然而雙音多頻信號解碼因噪音干擾面臨著Talk-off的難題。針對該問題,,在Goertzel算法基礎(chǔ)上提出利用頻率分辨率及其倍頻檢測干擾噪音的解決方案,。測試結(jié)果表明該方法優(yōu)于二次諧波檢測的解決方案,。
Abstract:
Key words :

摘  要: 雙音多頻信號被廣泛用于音頻電話及交互式控制系統(tǒng)中,正確解碼是這些應(yīng)用的關(guān)鍵,。然而雙音多頻信號解碼因噪音干擾面臨著Talk-off的難題,。針對該問題,在Goertzel算法基礎(chǔ)上提出利用頻率分辨率及其倍頻檢測干擾噪音的解決方案,。測試結(jié)果表明該方法優(yōu)于二次諧波檢測的解決方案,。
關(guān)鍵詞: 雙音多頻;Talk-off,;Goertzel算法,;二次諧波

    雙音多頻DTMF(Dual Tone Multi-Frequency)信號由兩個單頻正弦信號疊加生成,是音頻電話的撥號信號標準[1],。由于具有良好的抗噪特性,,已被廣泛用于諸如主叫識別信號傳送及顯示、電話語音服務(wù),、遠程控制和ATM終端等通信系統(tǒng)撥號傳輸中[2],。根據(jù)ITU的建議標準Q23[3],構(gòu)成DTMF信號的兩個頻率分別來自行頻組(697 Hz,,770 Hz,,852 Hz,941 Hz)和列頻組(1 290 Hz,,1 336 Hz,,1 477 Hz,1 633 Hz),,共16種組合,,分別表示16個按鍵值,即10個數(shù)字鍵0~9和6個功能鍵*,、#,、A、B,、C,、D[4]。
    DTMF解碼是指從受干擾的語音信號中檢測出DTMF信號并將其還原成按鍵值,。正確的解碼對于基于DTMF的應(yīng)用至關(guān)重要,。DTMF解碼的實質(zhì)是從有噪信號中檢測出兩個正弦波頻率。近年來,,已有多個解碼算法被提出,。最直接的方法是DFT,通過DFT得到輸入信號的頻域信息,進而分析頻譜確定是否存在DTMF頻率,。DFT通常以FFT的運算來實現(xiàn),,由于FFT生成從DC到半采樣率頻帶內(nèi)所有頻率信息,因此該方法計算量大,,且需要較多的存儲空間用于暫存計算結(jié)果[5],。針對該問題,參考文獻[6]提出基于Goertzel的DFT快速運算,。與FFT不同,,Goertzel算法只對DTMF的8個頻點計算DFT,因此計算量大大降低,。此外,,Deosthali等人提出了非均勻DFT算法[7],Popovic在犧牲相位信息的情況下提出了改進的Goertzel算法[8],,金鑫春等人研究了Goertzel算法的參數(shù)選擇問題,,但這些算法都沒有考慮DTMF的Talk-off錯誤問題。解決該問題的常用方法是檢測二次諧波,。由于DTMF信號只包含基因成分,,因此只要檢測到較強的二次諧波,就認為該信號不是DTMF信號,。但在強噪音環(huán)境下,,該方法仍會出現(xiàn)誤判,即發(fā)生Talk-off錯誤,。
    本文針對Talk-off錯誤問題,,在Goertzel算法的基礎(chǔ)上,提出基于頻率分辨率及其倍頻檢測的方案,,并利用后續(xù)的判斷邏輯進一步排除虛假DTMF信號,。大量真實應(yīng)用環(huán)境下的語音測試結(jié)果表明,本文方法在強噪音干擾情況下仍能避免Talk-off錯誤問題,。
1 DTMF解碼器
1.1 解碼器框架

    本文提出的DTMF解碼器如圖1所示,,主要包括信號預(yù)判、自動增益控制AGC(Auto Gain Control),、基于Goertzel的頻率檢測和判斷邏輯幾個模塊,。信號預(yù)判模塊根據(jù)輸入信號的能量決定其是否包含DTMF信號;AGC將輸入信號的動態(tài)范圍變換到Goertzel算法可以處理的范圍,;基于Goertzel的頻率檢測模塊計算輸入信號在8個DTMF頻點的能量,、頻率分辨率及其倍頻的能量,并以此作為下一個模塊的輸入,;判斷邏輯模塊根據(jù)前一個模塊的輸入,,決定某對DTMF頻率是否存在,并將其翻譯成對應(yīng)的鍵值。

1.2 信號預(yù)判
    根據(jù)ITU的建議標準Q23對DTMF信號的規(guī)定,,如果輸入信號在8個DTMF頻點的能量均≥-25 dBm且≤9 dBm,,則認為可能包括DTMF信號。如果輸入信號在8個DTMF頻點處的能量均≤55 dBm,,則認為該信號肯定不存在DTMF音調(diào)。信號預(yù)判模塊能夠有效地排除一些虛假DTMF信號,,減小后續(xù)模塊誤判的可能性,。
1.3 AGC
    AGC從一幀輸入數(shù)據(jù)的前若干個樣點中確定幅度模的峰值,將Goertzel 算法所要處理的樣點都乘以一個系數(shù),,使得該峰值等于Goertzel 算法所能處理的最大值,。

    其中fk和fs分別表示待檢測的目標頻率和采樣頻率,floor()表示向下取整運算,。本文用14個如圖2所示的IIR濾波器實現(xiàn)14個頻率的檢測,,即8個DTMF頻率和6個與頻率分辨率相關(guān)的頻率。這6個頻率檢測主要是為了解決Talk-off問題,,其計算如下:

    由于現(xiàn)有的語音增強模塊都是一個語音幀(8 kHz時為20 ms,,160個采樣點)處理一次。為了便于將DTMF解碼器集成到現(xiàn)有系統(tǒng)中,,本文的DTMF解碼器每個語音幀調(diào)用一次Goertzel算法進行頻率檢測,。根據(jù)ITU Q24[9],DTMF音調(diào)的持續(xù)時間介于45 ms~55 ms之間,,連續(xù)的DTMF信號之間的間隔至少為45 ms,。因此一個DTMF音調(diào)由多個語音幀組成。這意味著一個DTMF音調(diào)會被檢測多次,。對同一個DTMF音調(diào),,理論上每次檢測結(jié)果都應(yīng)該是一樣的。然而受噪聲影響,,前后幾次檢測結(jié)果有可能出現(xiàn)不一致的情況,。為解決該問題,本文采用表決方法輸出最可靠的檢測結(jié)果,,多次檢測的表決也增強了本文解碼器的抗噪性能,。
1.5 判斷邏輯
    圖3給出了判斷邏輯模塊的工作流程,根據(jù)前面14個IIR濾波器的檢測結(jié)果判斷檢測到的行頻和列頻是否有效,。對于有效的檢測結(jié)果,,根據(jù)圖4所示的行頻、列頻與按鍵的對應(yīng)關(guān)系,,輸出按鍵值,。

2 實驗結(jié)果與分析
    為了驗證本文方法的有效性,用真實使用環(huán)境下的語音數(shù)據(jù)作為測試數(shù)據(jù)。測試數(shù)據(jù)獲取方法是,,首先在兩個手機之間建立通信鏈接,,然后在其中一個手機上隨機連續(xù)地按下多個按鍵,另一個手機將接收到的語音信號保存成測試用的wav文件,。為了測試Talk-off性能,,在發(fā)送DTMF信號的手機端分別播放噪音、語音和音樂,。在算法實現(xiàn)時,,考慮到在定點DSP上的移植,用Q14格式將其定點化(DFT模值用32位表示,,其余的均用16位表示),。
    程序有3個可調(diào)參數(shù),其中Frames between Successive Dials指兩個連續(xù)按鍵間隔的時間,,該參數(shù)用于處理按鍵防抖動,,以幀為單位,對于8 kHz采樣率的語音而言,,一幀為20 ms,。對于真實環(huán)境下的測試數(shù)據(jù),程序中的3個參數(shù)都是固定的,,分別設(shè)為3,、2和5。測試中,,將本文方法與參考文獻[2]的方法進行了對比,。其中,參考文獻[2]通過二次諧波檢測來排除噪音對檢測結(jié)果的干擾,。參考文獻[2]的參數(shù)設(shè)置如下:N=201,,二次諧波的能量至少比基頻能量小20 dB。
2.1 真實環(huán)境下測試1
    在發(fā)送DTMF信號的手機側(cè)播放如圖5所示的噪聲信號,。接收側(cè)手機錄制的語音信號如圖6所示,。這個測試信號的DTMF按鍵值序列為:123456789*0##0*98765423147856280#963547*。參考文獻[2]的檢測結(jié)果為:1234567899*?##0*98765423147855280#963547*(單下劃線表示誤檢測,,雙下劃線表示重復(fù)檢測,,?表示漏檢),重復(fù)檢測一個9,,漏檢一個0,,誤將6檢測為5;本文方法檢測成功率為100%。

2.2 真實環(huán)境下測試2
    在發(fā)送DTMF信號的手機側(cè)播放如圖7所示的音樂信號,。接收側(cè)的語音信號如圖8所示,,對應(yīng)的DTMF按鍵值序列為:123456789*0##0*987654321147*2580369##9630852*741,。參考文獻[2]的檢測結(jié)果為:123456789*0##0*98765?321147*2580369###963085?*7417(單下劃線表示誤檢測,雙下劃線表示重復(fù)檢測,,?表示漏檢),,漏檢4和2,#被重復(fù)檢測一次,,結(jié)束時誤檢測出7,;本文方法檢測成功率為100%。

2.3 真實環(huán)境下測試3
    在發(fā)送DTMF信號的手機側(cè),,操作者一邊按鍵一邊發(fā)聲,。接收側(cè)的語音信號如圖9所示,對應(yīng)的DTMF按鍵值序列為:5152535455565758595*505#1525354565758595*505#5,。參考文獻[2]的檢測結(jié)果為:511?253545555657585595*505#1525354565758595*5005#5(單下劃線表示誤檢測,雙下劃線表示重復(fù)檢測,,?表示漏檢),,第2個按鍵1被重復(fù)檢測1次,第3個按鍵5被漏檢,,第10個按鍵,、第17個按鍵和第43個按鍵分別被重復(fù)檢測1次;本文方法檢測成功率為100%,。

    上述真實環(huán)境下的測試結(jié)果表明,,本文方法在處理Talk-off問題上比傳統(tǒng)的二次諧波檢測更為有效。其原因是,,離散域上用Goertzel算法檢測二次諧波的準確性依賴于頻率分辨率的選擇,。在強背景噪音環(huán)境下,其檢測結(jié)果更容易受到影響,。本文直接利用頻率分辨率及其倍頻進行干擾語音的檢測,,可以有效避免該問題。
2.4 ITU標準兼容性測試
    ITU對DTMF解碼器的性能規(guī)定主要體現(xiàn)在4個方面,,即Talk-off,、扭曲(twist)、頻偏和SNR,。Talk-off的測試如前文所述,。扭曲指的是檢測到的行頻與列頻DFT模值之比,對于有效的DTMF信號,,要求在-4 dB~8 dB范圍內(nèi),。扭曲測試是在檢測DTMF之后的邏輯判斷中進行的,目的是用于排除虛假DTMF信號,。圖4中判斷行頻,、列頻檢測值之間關(guān)系的步驟即為扭曲測試,。ITU規(guī)定頻偏的容許范圍為±1.5%,當超過±3.5%時則認為是無效的DTMF信號,。在SNR等于或高于15 dB時,,ITU要求成功檢測率為100%。按照參考文獻[10]所述的方法對頻偏和SNR進行測試,。實驗結(jié)果表明,,在SNR為10 dB的情況下,頻偏在±1.5%范圍內(nèi)時,,本文解碼器的檢測成功率為100%;當頻偏超過±2.0%,,譯碼開始出錯。當SNR在-3.7 dB以上時,,本文檢測成功率為100%,。其中,測試用的DTMF信號都由Cool Edit Pro軟件生成,;實驗中的3個參數(shù)均設(shè)為1,。
    Talk-off是DTMF解碼器的重要性能,然而現(xiàn)有算法對此問題的解決方案主要囿于二次諧波的檢測,。本文另辟蹊徑,,提出頻率分辨率及其倍頻檢測的解決思路。真實使用環(huán)境下的測試數(shù)據(jù)驗證了該方法的可行性,。ITU標準兼容性測試實驗表明本文方法能夠滿足ITU對DTMF解碼器的規(guī)定,。
參考文獻
[1] 王乙斐,游舟浩,,王穎,,等.DTMF信號的合成與識別[J].電子設(shè)計工程,2011,,19(7):71-73.
[2] 邵明東.改進Goertzel算法的DTMF信號檢測的仿真與應(yīng)用[J].聲電技術(shù),,2009,33(12):65-69.
[3] ITU.ITU-T recommendation Q.23 technical features of  pushbutton telephone sets[S].1988.
[4] 金鑫春,,汪一鳴.Goertzel算法下DTMF信號檢測及參數(shù)優(yōu)化[J].現(xiàn)代電子技術(shù),,2010(6):152-155.
[5] MILOS S T,DUSAN R.Performance analysis of the DTMF detector based on the Goertzel’s algorithm[C].Proc.of 14th Telecommunications Forum,,2006.
[6] POPOVIC M.Digital signal processing[M].Belgrade:Academic mind,,2003:100-120.
[7] DEOSTHALI S,MCCASLIN R,,EVANS B.A low-complexity ITU-compliant dual tone multiple frequency detector[J].IEEE Trans.on Signal Processing,,2000,48(5):1-20.
[8] POPOVIC M.Efficient decoding of digital DTMF and R2 tone signalization[J].Factual Univ.Ser.,,Elec.Energ,,2003,,16(3):389-399.
[9] ITU.ITU-T recommendation Q.24 multifrequency push buton signal reception[S].1989.
[10] 陳通,曹小強.基于NDFT Goertzel濾波器的DTMF信號檢測的改進方法[J].西南大學(xué)學(xué)報,,2008,,30(1):152-155.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。