【導讀】本文提出了一種基于DSP的軟件實現(xiàn)忙音檢測的設(shè)計方案,其工作原理是利用單音和靜音通過陷阱濾波器后的能量幅值不同,實現(xiàn)對單音的檢測。再根據(jù)單音和靜音所占的比例檢測忙音。下面請看詳細步驟解析及工作原理。
忙音是某一頻率單音和靜音交互出現(xiàn)的一種提示音,通常用于表示電話占線。在某些實際應(yīng)用過程中,需要對這種忙音進行檢測?,F(xiàn)階段這類的信號音檢測大多是用專用芯片實現(xiàn)的,多數(shù)是在出廠前需要預先設(shè)定需要檢測的頻率值等參數(shù)。
軟件實現(xiàn)不需要額外的芯片,可以集成于已有的DSP 軟件中,而且可以靈活配置檢測參數(shù),同時檢測多種頻率忙音。
1 單音檢測的DSP 實現(xiàn)
1.1 單音檢測原理
單音信號檢測的方法是將輸入信號通過一個陷阱濾波器,然后通過比較輸出信號和原始信號的平均幅值來判斷是否單音信號,信號的幅值通過一個IIR低通濾波器計算,檢測原理框圖如圖1所示。
圖1 單音檢測原理
檢測過程是先將信號通過陷阱濾波器,陷阱濾波器的谷點頻率即為待檢測的頻率,然后通過一階IIR計算其長時平均幅度,輸出與原始信號通過IIR計算出的長時平均幅度相比較,如果經(jīng)陷阱濾波器后的信號幅度遠遠小于原始信號的幅度,則認為存在該頻率的單音信號。
檢測不同頻率單音信號的濾波器系數(shù)不同,通過比較經(jīng)過陷阱濾波器的輸出信號和原始信號的平均幅值來判斷是否存在單音信號。
1.2 單音檢測的DSP 實現(xiàn)方法
檢測芯片采用TI 的5510 系列芯片,處理能力達到200 MMIPS,單音信號經(jīng)過DSP 的串口進入,處理框圖如圖2 所示,檢測過程是先將信號通過陷阱濾波器,然后計算其長時平均幅度,輸出與不經(jīng)過陷阱濾波器的長時平均幅度相比較,如果經(jīng)陷阱濾波器后的信號幅度遠遠小于原始信號的幅度,則認為存在該頻率的單音信號。
圖2 單音檢測的算法框圖
[page] 2 忙音檢測的DSP 實現(xiàn)
忙音是由某一頻率單音和靜音交互出現(xiàn)的一種聲音。電信標準中常用的忙音包含的單音信號為450 Hz 或500 Hz,單音和靜音持續(xù)時間相同,周期為500 ms 或700 ms 2 種。
周期為500 ms 的單音頻率為450 Hz 的忙音檢測是先通過一個450 Hz 的陷阱濾波器,然后比較輸出信號與原始信號的包絡(luò). 程序?qū)崿F(xiàn)時,10 ms 為一個檢測樣本。如圖3 所示,計算500 ms 內(nèi)檢測到450 Hz 的個數(shù),如果個數(shù)是50 的一半左右,則檢測到1 次周期為500 ms 頻率為450 Hz 的忙音,因為交換機送出的忙音都至少有5 個周期以上,為了提高檢測準確度,需要持續(xù)檢測5 次。如果5 次都檢測到,則認為檢測到持續(xù)時間至少為2. 5 s 的忙音。
檢測周期為500 ms 的單音頻率為500 Hz、周期為700 ms 的單音頻率為450 Hz、周期為700 ms 的單音頻率為500 Hz 的忙音的方法相同,在程序設(shè)計時可以將這4 種不同頻率和周期的忙音同步進行。
圖3 忙音檢測框圖
3 忙音檢測實驗和性能分析
3. 1 忙音檢測實驗
如圖4 所示,電信交換機用戶口接二臺普通話機,計算機通過交換機維護口監(jiān)控檢測寄存器。
圖4 忙音檢測實驗圖
( 1) 電話占線的忙音檢測實驗
話機B 摘機,然后用話機A 拔打話機B,通過計算機觀察檢測話機A 所在用戶口忙音檢測寄存器,發(fā)現(xiàn)寄存器有置位。話機A 摘機,用話機B拔打話機A,通過計算機觀察檢測話機B 所在用戶口忙音檢測寄存器,發(fā)現(xiàn)寄存器有置位。重復實驗,未發(fā)現(xiàn)漏檢情況發(fā)生。
( 2) 通話中的忙音檢測實驗
用話機A 拔打話機B,接通后然后話機A 掛機,通過計算機觀察檢測話機B 所在用戶口忙音檢測寄存器,發(fā)現(xiàn)寄存器有置位。用話機B 拔打話機A,接通后然后話機B 掛機,通過計算機觀察檢測話機A 所在用戶口忙音檢測寄存器,發(fā)現(xiàn)寄存器有置位。重復實驗,未發(fā)現(xiàn)漏檢情況發(fā)生。
3. 2 忙音檢測性能分析
( 1) 如何區(qū)分2 種忙音
一種忙音是一方拔打另一方電話,對方占線,交換機送給撥打方的提示音。另一種是在通話建立以后一方把掛斷交換機送給另一方的提示音。前一種忙音檢測是在通話未建立進行的,后一種忙音檢測是在通話建立后進行的,所以這2 種檢測不會出現(xiàn)相互影響的情況。
( 2) 忙音檢測的設(shè)定
忙音檢測對聲音采樣時并不知靜音何時開始,單音何時開始,所以可能從靜音或單音的中間開始采樣,在檢測開始時、單音和靜音轉(zhuǎn)換時、檢測結(jié)束時的都可能會出現(xiàn)一次檢測結(jié)果不準確。所以在一個周期內(nèi)存在單音個數(shù)占50% 的判斷時需要留有一定的余量,可以根據(jù)要求設(shè)定一個范圍( 如45%~ 55%) 。
( 3) 忙音檢測的風險
這種方法對忙音檢測是根據(jù)忙音中單音和靜音的持續(xù)時間相同的特性來檢測的,在一個周期內(nèi)單音出現(xiàn)的次數(shù)來確定是否為忙音。當出現(xiàn)一個周期內(nèi)單音出現(xiàn)的次數(shù)與忙音相同、頻率相同、周期為忙音周期的一半或者四分之一等的聲音時,也會被誤檢為忙音。現(xiàn)階段關(guān)于提示音的標準中,不存在這樣的聲音,不會出現(xiàn)誤檢的情況,所以程序可以被實際應(yīng)用。
相關(guān)閱讀:
充分發(fā)揮DSP強大功能的大功率開關(guān)電源設(shè)計
菜鳥入門必看:吐血整理的DSP入門問題【上篇】
菜鳥入門必看:吐血整理的DSP入門問題【下篇】