隨著數(shù)字信號(hào)處理芯片(DSP)的發(fā)展,,語(yǔ)音編解碼技術(shù)日益廣泛地應(yīng)用于軍事,、民用和監(jiān)控等領(lǐng)域。就語(yǔ)音監(jiān)錄器而言,,它可應(yīng)用于運(yùn)輸,、公安、消防,、電話服務(wù)質(zhì)量監(jiān)督等諸多領(lǐng)域,。1999年9月,鐵道部公布了《鐵路運(yùn)輸數(shù)字通訊記錄儀技術(shù)條件》,,對(duì)鐵路運(yùn)輸部門行車作業(yè),、調(diào)度指揮中使用的通話語(yǔ)音記錄儀器的功能、技術(shù)要求,、測(cè)量方法,、檢驗(yàn)規(guī)則等做出了詳細(xì)規(guī)定。本文所介紹的系統(tǒng)符合其各項(xiàng)規(guī)定,,通過(guò)了鐵道部的鑒定,,現(xiàn)正在推廣與完善之中。
1 系統(tǒng)功能
· 采用FLASH半導(dǎo)體存儲(chǔ)器,,制成可插拔的卡式結(jié)構(gòu),,存儲(chǔ)容量可變。系統(tǒng)為雙通道雙卡式結(jié)構(gòu),,目前設(shè)計(jì)的單卡可存儲(chǔ)多達(dá)14小時(shí)的語(yǔ)音,。系統(tǒng)也可在單卡狀態(tài)下工作。
· 用戶界面為鍵盤和液晶顯示屏,,包括時(shí)間顯示和各功能操作的狀態(tài)顯示,。
· 系統(tǒng)接在通訊線路上,即處于監(jiān)聽(tīng)錄音方式,。當(dāng)線上有語(yǔ)音傳輸時(shí),,系統(tǒng)即啟動(dòng)錄音操作,,并同時(shí)記錄該語(yǔ)音的出現(xiàn)時(shí)間。用戶可以對(duì)所錄語(yǔ)音進(jìn)行監(jiān)聽(tīng),,確保語(yǔ)音已錄制在存儲(chǔ)卡上,。錄音過(guò)程循環(huán)進(jìn)行,如果不將卡取出,,系統(tǒng)將用最新的語(yǔ)音數(shù)據(jù)覆蓋最老的數(shù)據(jù),從而保證最新數(shù)小時(shí)的語(yǔ)音記錄,。錄音屬于系統(tǒng)后臺(tái)操作,。
· 用戶可以進(jìn)行放音、循環(huán)放音,、快進(jìn),、快退、按錄音時(shí)間查找等操作,,還可以獲知每條語(yǔ)音的時(shí)間長(zhǎng)度,。這些功能受密碼保護(hù),為系統(tǒng)前臺(tái)操作,。
· 前臺(tái)操作可以在兩個(gè)存儲(chǔ)卡之間切換,,而后臺(tái)操作則獨(dú)立運(yùn)行,不受前臺(tái)操作影響,,僅取決于線上是否有語(yǔ)音出現(xiàn),。也就是說(shuō),放音,、監(jiān)聽(tīng),、檢索等操作均不影響錄音,可以錄放音雙工同時(shí)工作,。
2 系統(tǒng)整體模塊設(shè)計(jì)
如圖1所示,,整個(gè)系統(tǒng)可分為FLASH存儲(chǔ)卡、信號(hào)處理,、信號(hào)輸入輸出,、系統(tǒng)控制和電源管理等五個(gè)功能單元。
2.1 FLASH存儲(chǔ)卡
韓國(guó)三星(SAMSUNG)半導(dǎo)體公司的大容量存儲(chǔ)器具有很高的性能價(jià)格比,,本系統(tǒng)選用三星的64兆位FLASH存儲(chǔ)芯片KM29U64000來(lái)存儲(chǔ)語(yǔ)音數(shù)據(jù),。該芯片工作在2.7~3.6V電壓下,其命令,、地址,、數(shù)據(jù)線復(fù)用,8位寬度傳輸,??芍貜?fù)擦寫(xiě)一百萬(wàn)次,,掉電后數(shù)據(jù)存儲(chǔ)時(shí)間為10年。該芯片在5.3kb/s的碼率下可存儲(chǔ)3.5小時(shí)以上的語(yǔ)音,,因而在采用4枚該芯片的存儲(chǔ)卡上,,可以記錄多達(dá)14小時(shí)的語(yǔ)音信息。
2.2 信號(hào)處理單元
本單元包括數(shù)字信號(hào)處理器(DSP),、編解碼器(CODEC)和一些控制器件,。
DSP部分采用ANALOG DEVICES公司生產(chǎn)的16位定點(diǎn)數(shù)字信號(hào)處理器ADSP2181,這是本系統(tǒng)進(jìn)行信號(hào)處理的核心芯片,,它具有以下特點(diǎn):
· 運(yùn)算速度33MIPS,,適合高質(zhì)量中低速率語(yǔ)音編碼算法的運(yùn)算速度要求;
· 片內(nèi)含80K Byte RAM,,分為48K Byte的程序RAM及32K Byte的數(shù)據(jù)RAM,;
· 兩路獨(dú)立可編程全雙工串行通信接口,支持A律/μ律的硬件解壓擴(kuò),,支持自動(dòng)緩沖區(qū)操作,。這兩個(gè)串行口在本系統(tǒng)中分別用來(lái)收發(fā)語(yǔ)音數(shù)據(jù)和與單片機(jī)通信;
· 4M Byte的外部尋址空間,;
· 支持內(nèi)外存之間的DMA操作,,用于存儲(chǔ)DSP程序、算法和數(shù)據(jù),;
· 13個(gè)可編程的I/O口,,用于與單片機(jī)通信和可編程邏輯器件的控制。
DSP在系統(tǒng)中的主要作用是:(1)管理存儲(chǔ)卡中的數(shù)據(jù),。由于要求系統(tǒng)的錄音時(shí)間較長(zhǎng),、數(shù)據(jù)較多,所以每一存儲(chǔ)頁(yè)采用了相同的數(shù)據(jù)結(jié)構(gòu),,將語(yǔ)音數(shù)據(jù)和時(shí)鐘數(shù)據(jù)混合存儲(chǔ),。存儲(chǔ)方式是順序的,循環(huán)覆蓋的,。(2)錄音,。隨時(shí)監(jiān)聽(tīng)線路,進(jìn)行語(yǔ)音編碼,,并將壓縮后數(shù)據(jù)實(shí)時(shí)存入FLASH芯片,。本系統(tǒng)采用了根據(jù)ITU-T標(biāo)準(zhǔn)G.723改進(jìn)的語(yǔ)音編碼算法,壓縮碼率達(dá)到5.3Kb/s,,具有出色的語(yǔ)音質(zhì)量,。(3)放音。根據(jù)單片機(jī)命令進(jìn)行語(yǔ)音解碼,。(4)語(yǔ)音搜索,。包括按語(yǔ)音段跳轉(zhuǎn),、按3秒長(zhǎng)的時(shí)間段跳轉(zhuǎn)和按用戶輸入的時(shí)間查找三個(gè)功能。
DSP是本系統(tǒng)的核心處理芯片,,由于錄音是后臺(tái)操作,,要求在放音時(shí)不中斷錄音,所以編解碼過(guò)程是雙工的,;此外,,由于存儲(chǔ)的數(shù)據(jù)較多,如果采用普通的順序查找方式,,搜索過(guò)程所耗費(fèi)的時(shí)間可能會(huì)以秒計(jì),,所以程序采用了二分法,以提高搜索效率,。
與ADSP2181配套使用的CODEC(PCM編解碼器)是MOTOROLA公司的MC145480。該芯片可實(shí)現(xiàn)語(yǔ)音信號(hào)的A/D轉(zhuǎn)換,、D/A轉(zhuǎn)換和A律,、μ律壓擴(kuò),內(nèi)置R-C濾波器可有效濾除輸入和輸出信號(hào)的帶外噪聲,??梢酝珹DSP2181配合使用的CODEC很多,性能也沒(méi)有太大差異,,所以這里在芯片選擇上并沒(méi)有特殊的考慮,。
2.3 信號(hào)輸入輸出單元
本單元為全模擬電路,完成輸入信號(hào)的混合,、增益控制以及輸出信號(hào)的放大功能,。當(dāng)系統(tǒng)被配置成雙卡雙通道機(jī)型時(shí),每通道可接入增益不同的兩路信號(hào),;當(dāng)配置成單卡單通道機(jī)型時(shí),,可接入四路信號(hào)。除此以外,,還有一路話筒輸入,,主要用作系統(tǒng)測(cè)試。系統(tǒng)對(duì)兩個(gè)通道的接入信號(hào)都設(shè)有自動(dòng)增益控制,,控制范圍可達(dá)15dB,。在該范圍內(nèi),電路可將輸入信號(hào)調(diào)整到最適合CODEC工作的幅度,,從而使DSP的編碼達(dá)到最佳效果,。輸出電路相對(duì)比較簡(jiǎn)單,兩路CODEC的模擬輸出信號(hào)經(jīng)功率放大器后驅(qū)動(dòng)揚(yáng)聲器工作,。
為了適應(yīng)鐵路部門具有不同增益的信號(hào)通道,,同時(shí)盡量減小DSP的編解碼對(duì)語(yǔ)音質(zhì)量的損失,,需要性能優(yōu)良的模擬電路。本電路單元是在試驗(yàn)中根據(jù)用戶需要和整機(jī)調(diào)試結(jié)果,,經(jīng)過(guò)多次修改后才完成的,,它與其它單元配合,可使DSP的編解碼算法達(dá)到其最佳性能,。
2.4 系統(tǒng)控制單元
選用SAMSUNG公司的4位單片機(jī)KS57C2308,,用以提供友好的用戶界面和靈活的功能控制,同時(shí)對(duì)DSP的工作狀況進(jìn)行監(jiān)督,,保證系統(tǒng)工作的穩(wěn)健性,,這在監(jiān)錄系統(tǒng)中是非常必要的。KS57C2308工作電壓較寬,,可以直接驅(qū)動(dòng)段式液晶,。其I/O功能也較強(qiáng),能夠輕松地控制兩塊DSP芯片協(xié)同工作,。
為了與DSP協(xié)調(diào)工作,,本系統(tǒng)設(shè)計(jì)了23條單片機(jī)命令及相應(yīng)的DSP應(yīng)答,其中包括初始化,、放音,、音量調(diào)節(jié)、時(shí)鐘的獲取與修改,、各種跳轉(zhuǎn)與搜索等指令,。由于錄音過(guò)程由DSP自主控制,所以單片機(jī)命令集中不包含錄音命令,,DSP僅用一條信號(hào)線將錄音狀態(tài)告知單片機(jī),。時(shí)鐘由單片機(jī)程序運(yùn)行,每秒鐘都向DSP通報(bào)新的時(shí)間,。DSP在存儲(chǔ)語(yǔ)音數(shù)據(jù)時(shí)也將時(shí)間存入,,這稱為"時(shí)戳"。當(dāng)執(zhí)行"按時(shí)間查找"操作時(shí),,就是按照存儲(chǔ)卡中的時(shí)戳查找語(yǔ)音數(shù)據(jù)段,。
2.5 電源管理單元
本系統(tǒng)各單元需要彼此盡可能獨(dú)立而且可靠的電源,這部分工作由電源管理單元完成,。本單元可接入220V交流或者12V直流電,,向其它單元提供電源。
(1)存儲(chǔ)卡:3.3V電源,。這一路電源經(jīng)由信號(hào)處理單元提供,。
(2)信號(hào)處理單元:5V一路,給本單元各部件供電,。
(3)信號(hào)輸入輸出單元:9V(未經(jīng)穩(wěn)壓)一路,,給功放供電,;5V一路,給本單元其它部件供電,。
(4)系統(tǒng)控制單元:9V(未經(jīng)穩(wěn)壓)一路,,給液晶顯示的背光及蜂鳴器供電;5V一路,,給本單元其它部件供電,。
以上各電源之間充分隔離,以盡量消除數(shù)字信號(hào)對(duì)模擬信號(hào)的串?dāng)_,。此外,,本單元還為單片機(jī)提供上電復(fù)位信號(hào),保證在系統(tǒng)電壓穩(wěn)定之后再啟動(dòng)單片機(jī)工作,;本單元又為DSP提供了掉電警告信號(hào),,在外部電壓衰落時(shí)提前告知DSP,使其有足夠時(shí)間完成現(xiàn)有操作,,轉(zhuǎn)入安全狀態(tài),,以免在電壓不穩(wěn)定時(shí)向存儲(chǔ)卡寫(xiě)入數(shù)據(jù),致使卡上數(shù)據(jù)損壞,。
3 系統(tǒng)軟件的實(shí)現(xiàn)
本系統(tǒng)的軟件設(shè)計(jì)包括單片機(jī)部分和DSP部分,從功能上可以綜合敘述為圖2所示流程,。
程序共有五個(gè)工作狀態(tài),,通常處于"普通監(jiān)錄狀態(tài)",可以進(jìn)行監(jiān)聽(tīng),,以確保系統(tǒng)正常工作,。進(jìn)入其它四個(gè)狀態(tài)之前需要校驗(yàn)密碼,所以只有掌握密碼的管理人員才有權(quán)查找和播放所存儲(chǔ)的語(yǔ)音內(nèi)容,。軟件不設(shè)錄音命令,,但其它功能,如監(jiān)錄,、音量增減,、按條目或3秒鐘長(zhǎng)度向前跳轉(zhuǎn)、向后跳轉(zhuǎn),、按時(shí)間檢索,、密碼重置等等都單設(shè)一條命令,在DSP程序中對(duì)應(yīng)于不同的程序模塊,。此外,,DSP程序中還含有語(yǔ)音編碼和語(yǔ)音解碼兩大模塊,由DSP主程序調(diào)用,。
4 系統(tǒng)性能評(píng)測(cè)
本系統(tǒng)在鐵道部測(cè)試時(shí)表現(xiàn)優(yōu)異:信噪比大于50dB,;失真度小于5%,;以1000Hz為基準(zhǔn),語(yǔ)音帶內(nèi)的幅頻響應(yīng)在±3dB以內(nèi),;每月時(shí)鐘誤差小于一分鐘,。除此以外,在起錄靈敏度,、耐壓,、輸入阻抗、輸出阻抗,、功率輸出,、線路輸出、記錄時(shí)間長(zhǎng)度等各方面的測(cè)試結(jié)果也完全滿足《鐵路運(yùn)輸數(shù)字通訊記錄儀技術(shù)條件》的要求,。而且,,雙卡雙通道結(jié)構(gòu)、后臺(tái)錄音功能,、高語(yǔ)音質(zhì)量都使本系統(tǒng)具有很強(qiáng)的市場(chǎng)競(jìng)爭(zhēng)力,,現(xiàn)已投入小規(guī)模生產(chǎn)。