3 系統(tǒng)軟件結(jié)構(gòu)
系統(tǒng)的軟件結(jié)構(gòu)如圖4所示。軟件結(jié)構(gòu)中的初始化模塊包括系統(tǒng)的初始化、鍵盤監(jiān)控的初始化、液晶顯示的初始化、通信模塊的初始化。在初始化過程中,設(shè)置鍵盤掃描時間、采樣頻率、顯示狀態(tài)等。
監(jiān)控模塊隨時判斷各種中斷是否到達(dá)。其中包括摘機(jī)中斷、掛機(jī)中斷、振鈴中斷、鍵盤中斷、液晶顯示定時中斷等。監(jiān)控模塊程序完成查詢以上工作并調(diào)用各個相應(yīng)的處理子程序。
系統(tǒng)的程序流程如圖5所示。在整個程序中,掛機(jī)中斷具有最高優(yōu)先權(quán),只要發(fā)生掛機(jī)中斷,程序都將返回到監(jiān)控狀態(tài)。尤其是在通話過程中,隨時監(jiān)測掛機(jī)中斷和對方狀態(tài),一旦自身掛機(jī)或者對方掛機(jī),將馬上中止通信過程。
點擊看原圖
系統(tǒng)上電后,總是檢測有無中斷產(chǎn)生。中斷包括摘機(jī)中斷、振鈴中斷、鍵盤中斷和顯示定時中斷。中斷產(chǎn)生,系統(tǒng)將進(jìn)入相應(yīng)的中斷處理程序。
4 信號處理算法
信號處理算法主要包括回音相消、自動增益控制、數(shù)字濾波等。
(1)回音相消
回音相消處理過程如圖6所示。回音主要是通過對不同端的信號采集,得到遠(yuǎn)端回音信號,作為回音的參考信號;而帶有回音的混合信號和參考信號進(jìn)行自適應(yīng)減法運(yùn)算,從而將回音從混合信號中去除。圖中虛線框內(nèi)為回音處理算法。
點擊看原圖
(2)自動增益控制
語音在采集和傳輸過程中,由于語音源的差異、信道的衰減以及噪聲的干擾,使得信號的幅度相差較大,從而需要自動增益控制。模擬信號中一般很難實現(xiàn)自動增益,而數(shù)字電話通過對數(shù)字信號幅度的估計,調(diào)整信號增益參數(shù),均可以保證在任何情況輸出最大幅度,達(dá)到最佳的語音質(zhì)量。
(3)數(shù)字濾波
輸入和輸出的模擬信號都經(jīng)過一個具有線性相位的FIR帶通濾波器。根據(jù)語音信號的特點,濾波器的通帶在300Hz~3kHz,阻帶衰減為-60dB。根據(jù)實際情況,濾波器的各種參數(shù)可以通過軟件調(diào)整。信號中的直流分量也可以通過預(yù)估均值去除,從而進(jìn)一步提高語音質(zhì)量。
結(jié)語
經(jīng)實際驗證,基于客戶端DSP的數(shù)字電話系統(tǒng)運(yùn)行可靠,是一種比較好的數(shù)字電話的解決方案。該系統(tǒng)可以應(yīng)用于各種保密場合、強(qiáng)噪聲現(xiàn)場通信以及各種數(shù)據(jù)業(yè)務(wù)。