李希才
(國家廣播電視總局七三一臺,福建龍巖,364012)
我臺甲機房經整體更新改造后現有四部DF100A短波發射機,為便于值機和檢修工作,保證“三滿”播出,發射機系統配套各類監測和監控系統。其中,音頻信號的監聽是最直接、最有效的一種監控手段,方便值班人員快速準確判斷發射機系統是否按照要求發射攜帶音頻信號的已調波以及監測所播出節目源信號是否正確。為此,設計一套滿足機房實際需求且能穩定運行的音頻監聽系統就顯得尤為重要。
音頻監聽系統的設計與實現是完善發射機系統監控的一個重要手段,使機房監聽監看朝著信息化、自動化和智能化方向發展,該系統的設計總體需求如圖1所示。

圖1 系統設計需求
具體而言,系統設計需求包括如下幾點:
(1)實現開環監聽。已調波信號經過天線輻射后,在機房內使用短波波段收音機實現監聽。為便于集中統一監測,將收音機信號接入音頻監聽系統。
(2)實現閉環監聽。閉環監聽需要在發射機通路合適位置上對音頻信號進行取樣監聽,包括對送入發射機前的音頻節目信號和經過發射機調制、放大后的已調波解調后的音頻節目信號進行監聽。
(3)實現循環監聽。上述(1)、(2)所述開/閉環監聽合計9路音頻監聽信號,在音頻監聽系統中,可單獨選擇某一路進行監聽,也可根據需要選擇全部或者其中的幾路進行循環監聽。
(4)系統控制簡便且穩定。采用基于TCP協議的上、下位機通訊模式,在客戶端電腦即可實現監聽選擇操作。另外,系統取樣、解調、監聽與循環均需保證穩定運行,抗干擾能力強。
基于以上系統設計需求,系統由上位機與下位機組成,上位機程序直接安裝在控制室電腦,實現與下位機(矩陣)連接、監聽頻道選擇和監聽模式選擇(單路/循環),簡單便捷;下位機以大連捷成Flex系列模擬音頻切換矩陣為核心,將9路音頻信號統一送入矩陣,輸出1路音頻信號,同時接受上位機程序的控制。系統總體設計框圖如圖2所示。

圖2 系統總體設計框圖
音頻監聽系統硬件設計包括模擬音頻切換矩陣、取樣/解調系統、收音機及監聽音箱等。其中,模擬音頻切換矩陣是核心,是音頻信號輸入、輸出及其切換的關鍵設備。
2.1.1 模擬音頻切換矩陣
為保證系統穩定性,系統選用大連捷成Flex系列小型切換矩陣(12X4)作為音頻信號輸入/輸出的核心交換設備。矩陣支持12路輸入,4路輸出。如圖2所示,選擇矩陣第1~9路輸入相應的音頻信號,第1路輸出連接至監聽音箱。矩陣操作面板可直接選擇輸入、輸出及進行相關設置,但缺點是操作時需到矩陣前面板進行、不能進行循環切換等。為此,在.Net框架下使用C#語言編寫其上位機程序,基于TCP協議進行矩陣連接與控制。
2.1.2 音頻信號的取樣
以下(1)、(2)為閉環音頻信號,(3)為開環音頻信號:
(1)經9400音頻處理器和D/A轉換器后,相應的音頻信號送入發射機,對其進行監聽,可判斷發射機前的設備及線路是否正常、節目源是否正確。D/A設備輸出有L和R路輸出,L路送入發射機,R路則作為監聽輸入,A01~A04依次送入模擬音頻切換矩陣的第1~4路輸入。
(2)在DF100A發射機平衡/不平衡轉換器進行已調波取樣,取樣后送入TS接收機進行解調,A01~A04所取樣解調信號依次送入模擬音頻切換矩陣的第5~8路輸入。接收機工作原理如圖3所示,采用一次變頻和相干解調方案,使解調出來的音頻信號穩定。
(3)開環監聽采用德生S-2000收音機,值班人員在收音機輸入所需監聽的頻率后,即可收聽相應的廣播節目。使用收音機EAR口輸出至模擬音頻切換矩陣的第9路輸入。
2.1.3 音頻監聽信號輸出
音頻監聽信號輸出采用漫步者低音炮音箱實現,將Flex模擬音頻切換矩陣的第1路輸出端接至該音箱即可實現。
基于以上,實現開閉環音頻監聽的硬件系統就已經搭建完成,尚需軟件系統對其進行控制,實現所需功能。
上位機軟件(731臺甲機房音頻監聽系統)安裝在控制室電腦,負責與模擬音頻矩陣進行交互,包括矩陣連接、監聽頻道選擇和當前狀態顯示等功能,軟件界面如圖4所示。軟件基于.Net框架平臺,在Visual Studio 2019環境下使用C#語言編寫Windows窗體應用,使代碼既不依賴于操作系統,也不依賴于硬件環境。窗體應用的界面設計主要包括textbox、groupBox、button、label、timer等控件,界面簡潔大方,易于操作。

圖3 TS接收機工作原理

圖4 音頻監聽系統軟件界面
上位機軟件與下位機矩陣的交互基于TCP協議,具有以下幾個特點:
(1)上位機須使用IPv4協議與矩陣進行交互。
(2)矩陣監聽由上位機主動發起的連接請求,正常情況下由上位機主動發起關閉連接請求。
(3)矩陣監聽端口號為8000。
(4)矩陣支持和上位機跨網段交互。
為此,在大連捷成簡單協議框架下兩者進行通訊,協議框架分為控制層和數據層,如圖5所示。控制層用于協議起始和結束標示、數據內容轉義及提供基本通訊機制、定義通訊物理形態等,數據層則用于根據業務需求定義命令集。

圖5 通訊協議層次結構
協議規定,一條完整的請求或者應答信息以0x01(SOT)起始,0x04(EOT)結束,Command Key為2個字節,和Data均由數據層定義。Check Sum(校驗和)使用2個字節標示,將一條信息里的【Command Key】部分和【Data】部分的所有數據進行按位異或運算,將結果的高四位用1個字節表示,低四位用1個字節表示,高四位的字節在前,低四位的字節在后,具體實現代碼如下:

jy2=(byte)(ascllchange(jy % 16));
2.2.1 連接矩陣
根據矩陣通訊協議,軟件基于TCP協議與矩陣進行交互。如圖4所示,在上位機程序輸入相應的IP地址和端口號,點擊“連接”按鈕,即可完成矩陣連接功能,此后在不關閉程序的情況下,可進行監聽頻道選擇,無需再次連接。上位機連接矩陣功能實現主要代碼如下:
tcpClient=new TcpClient();
tcpClient.Connect(textBox1.Text, Convert.ToInt32(textBox2.Text));//連接矩陣,轉換文本框IP數據
networkStream=tcpClient.GetStream();//獲取網絡數據流
writer=new BinaryWriter(networkStream);//
t=new Thread(dxc);//判斷是否收到矩陣應答
t.Start();
textBox3.AppendText(“矩陣連接成功,請選擇需要監聽的頻道! ”);//指示連接成功
2.2.2 選擇輸入/輸出與循環監聽
在“監聽頻道選擇”模塊,列表顯示了需要監聽的對應頻道,輸出頻道則固定為1通道(無需選擇,故未在上位機軟件界面顯示)。
在監聽頻道前可選框勾選一路或幾路時:
(1)選擇輸入的第1~9路中的某一路監聽,矩陣收到指令后,將該輸入送入第1路輸出;
(2)選擇輸入的第1~9路中的某幾路進行監聽,矩陣收到指令后,矩陣按照順序每隔5秒依次輸出至第1路輸出(輸出順序按照輸入通道編號升序輸出),實現循環監聽。
2.2.3 當前狀態顯示
為更好的指示當前下位機的工作狀態,上位機軟件設置文本框顯示矩陣連接狀態和當前輸出情況。如連接矩陣成功,則當前狀態顯示“矩陣連接成功,請選擇需要監聽的頻道!”;如已選擇輸入端并切換成功,則當前狀態顯示“標識為紅色的頻道正在被監聽!”,同時監聽頻道選擇的對應輸入端文字變為紅色;循環監聽時,當前正在被監聽的頻道的對應輸入端文字變為紅色。具體實現代碼在此不再贅述。
本系統按照當前廣播電視安全播出的實際要求,結合我臺甲機房的設備情況,并基于TCP協議而設計開發,有效地對發射機系統的音頻信號實現開/閉環監聽。系統操作簡便,功能齊全,既能實現單路播出,又能實現多路循環播出;既能實現常規的開環監聽,又能實現閉環監聽,大大的減輕了值班人員的勞動強度,提高了監聽監看的效率,保證“三滿”播出,對日常檢修、故障排查等也大有裨益。