梁建彬
廣東省廣播電視技術(shù)中心,廣東廣州 510240
自主研發(fā)基于VC++的音頻信號(hào)監(jiān)測(cè)系統(tǒng)
梁建彬
廣東省廣播電視技術(shù)中心,廣東廣州 510240
本文根據(jù)需求,基于VC++軟件平臺(tái)、MYSQL數(shù)據(jù)庫(kù)、??低旸S4008HS視音頻采集卡設(shè)計(jì)研發(fā)了一套中波發(fā)射臺(tái)音頻信號(hào)監(jiān)測(cè)系統(tǒng)。該系統(tǒng)可以實(shí)時(shí)監(jiān)測(cè)中波發(fā)射臺(tái)站信號(hào)鏈路中每個(gè)節(jié)點(diǎn)的音頻信號(hào),并上傳至中控平臺(tái)統(tǒng)一監(jiān)測(cè)管理。該平臺(tái)的實(shí)施可以讓中波發(fā)射臺(tái)更好地監(jiān)測(cè)音頻信號(hào)鏈路中每個(gè)節(jié)點(diǎn)的實(shí)時(shí)情況,可以顯著地提高中波發(fā)射臺(tái)的安全播出水平。
音頻信號(hào)監(jiān)測(cè);VC++;中波發(fā)射臺(tái);自主研發(fā)
中波發(fā)射臺(tái)的主要業(yè)務(wù)是使用專用設(shè)備,面向公眾無(wú)線傳送中波音頻節(jié)目。保證音頻信號(hào)的完整性,不間斷地傳送音頻信號(hào)是中波發(fā)射臺(tái)工作的重中之重,是安全播出中不可或缺的一環(huán)。中波發(fā)射臺(tái)保證音頻信號(hào)安全的傳統(tǒng)做法是進(jìn)行人工監(jiān)聽(tīng),其中包括開(kāi)路監(jiān)聽(tīng)和閉環(huán)監(jiān)聽(tīng),這種通過(guò)人工監(jiān)聽(tīng)來(lái)保障音頻信號(hào)安全的方式其實(shí)并不安全,因?yàn)槿斯けO(jiān)聽(tīng)多使用循環(huán)監(jiān)聽(tīng)的方式,一旦出現(xiàn)音頻信號(hào)的中斷可能無(wú)法第一時(shí)間發(fā)現(xiàn)。由于音頻信號(hào)在臺(tái)站的傳輸要經(jīng)過(guò)多個(gè)設(shè)備,音頻信號(hào)的故障一旦被發(fā)現(xiàn),僅通過(guò)人工監(jiān)聽(tīng)的方式很難快速定位故障點(diǎn),達(dá)到快速解決故障,恢復(fù)正常播出的目的。
基于以上考慮,本人獨(dú)立研發(fā)設(shè)計(jì)了一套針對(duì)中波發(fā)射臺(tái)站的音頻信號(hào)監(jiān)測(cè)系統(tǒng),可以實(shí)現(xiàn)對(duì)臺(tái)站內(nèi)每一套節(jié)目音頻鏈路中的所有關(guān)鍵節(jié)點(diǎn)進(jìn)行取樣監(jiān)測(cè),取樣的音頻信號(hào)統(tǒng)一送到中央監(jiān)控計(jì)算機(jī)(服務(wù)器),并設(shè)計(jì)了用于處理和顯示音頻信號(hào)狀態(tài)的軟件,可以對(duì)每一套節(jié)目音頻鏈路中的所有關(guān)鍵節(jié)點(diǎn)進(jìn)行實(shí)時(shí)監(jiān)測(cè),音頻信號(hào)一旦出現(xiàn)異常就會(huì)立刻聲音報(bào)警,并推圖顯示出現(xiàn)異常的故障位置。
本音頻監(jiān)測(cè)系統(tǒng)主要由3個(gè)部分組成:信號(hào)采集處理系統(tǒng)、數(shù)據(jù)存儲(chǔ)服務(wù)器、音頻信號(hào)狀態(tài)顯示系統(tǒng)。系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖1。
信號(hào)采集處理系統(tǒng)安裝在音頻立柜內(nèi),負(fù)責(zé)對(duì)從各個(gè)音頻鏈路關(guān)鍵節(jié)點(diǎn)分配器送來(lái)的音頻信號(hào)進(jìn)行采樣處理,并將處理結(jié)果送至數(shù)據(jù)存儲(chǔ)服務(wù)器。
數(shù)據(jù)存儲(chǔ)服務(wù)器安裝在服務(wù)器機(jī)柜內(nèi),主要用于存儲(chǔ)信號(hào)采集處理系統(tǒng)送來(lái)的臨時(shí)數(shù)據(jù)、歷史數(shù)據(jù)、報(bào)警信息等,同時(shí)也作為信號(hào)采集處理系統(tǒng)和音頻信號(hào)狀態(tài)顯示系統(tǒng)的數(shù)據(jù)交換中心。
音頻信號(hào)狀態(tài)顯示系統(tǒng)安裝在值班室的監(jiān)控平臺(tái)計(jì)算機(jī)上,主要負(fù)責(zé)顯示各路音頻信號(hào)鏈路關(guān)鍵節(jié)點(diǎn)的實(shí)時(shí)狀態(tài),如若音頻信號(hào)節(jié)點(diǎn)出現(xiàn)異常(如靜音),便以聲音報(bào)警的方式通知值機(jī)員,并推圖顯示異常節(jié)點(diǎn)位置。
信號(hào)采集處理系統(tǒng)是一臺(tái)裝有3塊??低旸S4008HS視音頻采集卡的電腦主機(jī),主機(jī)的安裝位置盡量靠近各個(gè)信號(hào)采集點(diǎn),以本臺(tái)為例安裝在音頻立柜內(nèi),這樣可以盡量縮短音頻信號(hào)采集線的長(zhǎng)度,減少電磁干擾。
??低旸S4008HS是一塊8路視音頻信號(hào)采集卡,可以同時(shí)對(duì)8路視頻和8路音頻信號(hào)進(jìn)行采樣處理,實(shí)現(xiàn)視頻/音頻的模數(shù)轉(zhuǎn)換,方便后期計(jì)算機(jī)的處理。本系統(tǒng)只使用了該板卡中的音頻處理部分。該采集卡的8個(gè)音頻采集通道是相互獨(dú)立的,每個(gè)通道的參數(shù)均可以單獨(dú)設(shè)置,每個(gè)通道都具有16位DSP,量化精度對(duì)于中波音頻來(lái)說(shuō)已經(jīng)足夠了。??低暪緸橘?gòu)買該板卡的客戶都提供了一套針對(duì)該板卡的完整基于VC++的SDK開(kāi)發(fā)包,使用該開(kāi)發(fā)包可以很方便地進(jìn)行后期軟件開(kāi)發(fā),極大程度上提高了后期開(kāi)發(fā)軟件的可靠性。
信號(hào)采集處理系統(tǒng)的軟件部分是基于??低暪咎峁┑腟DK開(kāi)發(fā)包,使用VC++語(yǔ)言編寫(xiě)的服務(wù)器端程序。該程序先從數(shù)據(jù)存儲(chǔ)服務(wù)器的MYSQL數(shù)據(jù)庫(kù)中讀取采集卡中每個(gè)接口通道的初始化信息,然后通過(guò)調(diào)用DS4008HS視音頻采集卡SDK開(kāi)發(fā)包相應(yīng)的API接口函數(shù),讀取相應(yīng)接口經(jīng)過(guò)采樣量化后的音頻幅度數(shù)據(jù),并將該數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)服務(wù)器中MYSQL數(shù)據(jù)庫(kù)的臨時(shí)數(shù)據(jù)列表中,以供音頻信號(hào)狀態(tài)顯示系統(tǒng)的讀取和顯示,相關(guān)代碼如圖2。該軟件還會(huì)定時(shí)將每個(gè)通道的采樣數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)服務(wù)器中MYSQL數(shù)據(jù)庫(kù)的歷史數(shù)據(jù)列表中,以供有需要時(shí)翻查,定時(shí)時(shí)間可以根據(jù)需要在系統(tǒng)設(shè)置中設(shè)置。其模塊結(jié)構(gòu)如圖3,軟件界面如圖4。
圖1 音頻監(jiān)測(cè)系統(tǒng)拓?fù)鋱D
圖2 采集卡初始化、API接口函數(shù)調(diào)用及數(shù)據(jù)處理函數(shù)
圖3 信號(hào)采集處理系統(tǒng)軟件結(jié)構(gòu)圖
圖4 信號(hào)采集處理系統(tǒng)軟件界面圖
數(shù)據(jù)存儲(chǔ)服務(wù)器是一臺(tái)裝有MYSQL數(shù)據(jù)庫(kù)的專用服務(wù)器主機(jī),這是整一套音頻監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)存儲(chǔ)及交換中心。MYSQL數(shù)據(jù)庫(kù)中存有如下數(shù)據(jù):音頻鏈路節(jié)點(diǎn)配置信息、音頻鏈路節(jié)點(diǎn)量化的音頻幅度即時(shí)數(shù)據(jù)、音頻鏈路節(jié)點(diǎn)量化的音頻幅度歷史數(shù)據(jù)、系統(tǒng)信息、歷史報(bào)警信息。每一類信息和數(shù)據(jù)在MYSQL數(shù)據(jù)庫(kù)中都以一個(gè)單獨(dú)的數(shù)據(jù)表存儲(chǔ),這樣可以提高數(shù)據(jù)庫(kù)的運(yùn)行效率和軟件調(diào)用讀取調(diào)用數(shù)據(jù)的靈活性。
在控制臺(tái)計(jì)算機(jī)上運(yùn)行的音頻信號(hào)狀態(tài)顯示系統(tǒng)客戶端程序,用于顯示各路音頻信號(hào)鏈路關(guān)鍵節(jié)點(diǎn)的音頻信號(hào)實(shí)時(shí)狀態(tài)(實(shí)時(shí)動(dòng)態(tài)音頻柱狀圖),如若音頻信號(hào)節(jié)點(diǎn)出現(xiàn)異常(如靜音),便以聲音報(bào)警的方式通知值班機(jī)員,并推圖顯示異常節(jié)點(diǎn)位置。
該客戶端軟件程序使用VC++語(yǔ)言編寫(xiě),其算法流程如圖5,軟件界面及異常報(bào)警推圖如圖6,相關(guān)音柱實(shí)時(shí)顯示代碼如圖7。
圖5 音頻信號(hào)狀態(tài)顯示系統(tǒng)客戶端算法流程圖
圖6 音頻信號(hào)狀態(tài)顯示系統(tǒng)客戶端軟件界面及異常報(bào)警推圖
圖7 音頻信號(hào)狀態(tài)顯示系統(tǒng)客戶端軟件音柱實(shí)時(shí)顯示相關(guān)代碼
本系統(tǒng)投入運(yùn)行后經(jīng)過(guò)近一個(gè)月的調(diào)試修改和將近一年的試運(yùn)行,各設(shè)備運(yùn)行正常,網(wǎng)絡(luò)通信穩(wěn)定,能夠直觀地顯示每一套節(jié)目音頻鏈路中的所有關(guān)鍵節(jié)點(diǎn)的實(shí)時(shí)狀態(tài),監(jiān)測(cè)的節(jié)點(diǎn)音頻信號(hào)出現(xiàn)異常時(shí),能夠及時(shí)地以聲音和推圖的方式通知值班員。除此之外,在有需要的時(shí)候,還可以很方便地在音頻信號(hào)狀態(tài)顯示系統(tǒng)客戶端程序中查看各個(gè)監(jiān)測(cè)節(jié)點(diǎn)的音頻量化數(shù)據(jù)和報(bào)警信息。測(cè)試結(jié)果證明本音頻信號(hào)監(jiān)測(cè)系統(tǒng)具有穩(wěn)定、高效、實(shí)時(shí)的特點(diǎn),安裝簡(jiǎn)單,系統(tǒng)組織結(jié)構(gòu)靈活,改變了傳統(tǒng)產(chǎn)品需要人工觀察、異常情況處理費(fèi)時(shí)費(fèi)力的狀況,極大地減輕了人的勞動(dòng)強(qiáng)度,提高了音頻信號(hào)監(jiān)測(cè)技術(shù)水平,保證了音頻信號(hào)鏈路工作的可靠性,提高了發(fā)射臺(tái)管理的智能水平。
鑒于本音頻監(jiān)測(cè)系統(tǒng)的可移植性高,既可獨(dú)立運(yùn)行,在應(yīng)用推廣到其他臺(tái)站時(shí),只需更改相應(yīng)設(shè)置即可,如節(jié)目名稱、靜音門(mén)限等;也可集成到其他系統(tǒng)當(dāng)中去,成為子系統(tǒng)運(yùn)行,現(xiàn)在該套系統(tǒng)已經(jīng)集成到了本臺(tái)站自主研發(fā)的八〇八臺(tái)播出監(jiān)控系統(tǒng)集成平臺(tái)里面,成為八〇八臺(tái)播出監(jiān)控系統(tǒng)集成平臺(tái)不可或缺的一個(gè)子系統(tǒng)??紤]到??低旸S4008HS視音頻采集卡具有音頻壓縮解碼功能,在音頻信號(hào)監(jiān)測(cè)系統(tǒng)的后期開(kāi)發(fā)工作中可以加入音頻錄音模塊,這樣可以不斷豐富和完善本系統(tǒng)的功能。
G2
A
1674-6708(2016)177-0044-03
梁建彬,廣播電視工程技術(shù)助理工程師,研究方向?yàn)橹胁◤V播傳輸。