韋善學 姜召文 張子敬
摘要:音頻數據采集與傳輸系統在設備故障診斷中有重要作用,音頻傳輸要求低延遲、高可靠性。本文提出一種基于5G通信的音頻數據采集與傳輸系統,對目標聲音進行高速采集與壓縮,并通過5G無線網絡進行傳輸,基于Linux系統編寫Qt應用程序,實現實時性高、可靠性強的音頻數據采集與傳輸。
關鍵詞:5G通信;音頻;樹莓派;Qt
引言
聲音是由物體振動產生的聲波。設備在故障狀態下發出的聲音與正常狀態時的有明顯差異,聲音的獲取方式簡單,成本低,因此,基于聲音的設備故障檢測方法逐步成為研究的熱點[1]。音頻數據采集系統的安裝位置通常需要根據目標位置確定,音頻數據的傳輸方式應為無線網絡,以便于音頻數據采集系統的安裝和部署。傳統的無線網絡延遲高、可靠性差,無法滿足音頻數據實時傳輸的要求。
5G通信是最新一代的無線通信網絡,通過提高通信頻率、設計大規模天線陣列、改善網絡結構等方法,實現低延遲和高可靠的無線通信,適合于對無線通信質量要求高的應用。5G通信頻段的Sub6G頻段中有一部分是兼容2G/3G/4G網絡的,其他頻段是5G獨有的頻段,目前我國三大運行商使用的5G頻段均在Sub6G頻段。
結合5G通信的特點,為實現低延遲、高可靠的音頻數據采集和傳輸,本文提出一種5G通信的音頻數據采集與傳輸系統。
1 基于5G通信的音頻數據采集與傳輸系統硬件設計
硬件設計框圖如圖 1所示,以樹莓派4B為主控電路,通過USB接口與5G模塊相連,5G模板選用SIM8200EA模塊,實現音頻數據的無線傳輸。聲音信號通過麥克風轉化為電信號,經過HS-100B聲卡采集,通過USB接口將數據實時傳輸至樹莓派4B。
SIM8200EA是支持5G NSA/SA的多波段無線收發器,最大數據傳輸速率為4Gbps,兼容UART、PCIe、USB3.1等通信接口,采用M.2小型封裝,適合于系統集成。支持 TCP/IP/IPV4 /IPV6/Multi-PDP/FTP/ FTPS/HTTP/HTTPS/MQTTS/DNS/SSL3.0 等通信協議與云平臺進行數據交互??刹捎肁T指令進行無線數據收發的控制,便于與各類嵌入式系統連接。
2 基于5G通信的音頻數據采集與傳輸系統軟件設計
2.1 軟件總體框圖
基于Linux系統的Qt開發平臺[2]進行軟件開發,軟件流程圖如圖 2所示。程序啟動后首先進行Qt組件初始化,包括窗口類、多媒體類、網絡套接字類、多線程類、按鍵類、定時器類等的初始化,同時,為了壓縮采集到的音頻數據,加載并初始化FFMPEG模塊。初始化完成后,啟動三個線程,分別執行音頻采集參數設置與音頻采集、FFMPEG音頻壓縮和音頻數據網絡傳輸任務。
2.2 Qt開發平臺
Qt是一款跨平臺C++圖形用戶界面應用程序開發框架,面向對象編程,可在Windows、Linux和Mac OS上進行開發和運行。Qt基于信號與槽的機制進行信號與函數之間的安全關聯,便于各個元件之間的協同工作。Qt提供了文件、輸入輸出、時間日期等多達250個以上的C++類,可以滿足大多數的應用程序需求。
2.3 音頻數據采集程序
首先實例化AudioRecorder類,指定好聲卡設備,設置編解碼器為“audio/PCM”,碼率為96000bps,聲音質量為高,采樣率為界面設置的采樣率。在開始采集按鈕的clicked槽函數中啟動聲音采集,并在每采集一幀聲音結束后拋出待壓縮信號。當達到聲音采集時長時,定時器發出信號,在相應的槽函數中停止聲音采集。
2.4 FFMPEG音頻壓縮程序
FFMPEG是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序[3]。新版本的FFMPEG無需注冊編解碼器,通過avcodec_find_encoder_by_name("libfdk_aac")函數查找到AAC編解碼器。當接收到待壓縮信號后,PCM文件使用QFile類讀入,使用標準庫的memcpy函數將PCM的編碼音頻拷貝至AVFrame的數據緩存中,調用avcodec_encode_audio2函數進行數據壓縮。完成壓縮后,拋出待網絡傳輸的信號。
2.5 網絡數據傳輸程序
為保證通信實時性,使用UDPSocket類進行音頻數據傳輸[4]。實例化QUdpSocket類后等待網絡傳輸信號。收到該信號后,使用writeDatagram函數將壓縮后的音頻數據發送至上位機。
2.6 界面設計
Qt的可視化UI設計器可以便捷的設計界面,做到“所見即所得”。分別添加音頻設備下拉框、音頻采樣頻率下拉框、音頻采樣時長編輯框、狀態反饋框、搜索設備按鈕、開始采集按鈕和停止采集按鈕等控件,采用網格型布局,設計出簡潔的界面。通過信號與槽功能添加各個控件對應的信號與槽函數,實現人機交互。
為了便于部署和維護,采用3.5英寸觸摸屏幕作為顯示器,安裝對應的LCD顯示器和觸摸驅動后,切換為LCD顯示即可。軟件的運行效果如圖 3所示。通過音頻設備下拉框可選擇對應的聲卡,同時該聲卡所支持的采樣頻率可實時顯示在采樣頻率下拉框中。音頻時長可任意設置,默認為5分鐘。音頻壓縮格式為AAC,該格式可保證最佳音質的前提下盡可能壓縮數據,是目前主流的音頻壓縮方式。
3 結束語
本文針對基于5G通信的音頻數據采集與傳輸系統進行研究,結合5G通信的低延遲和高可靠性的特點,在樹莓派硬件平臺上,利用Linux系統Qt開發平臺設計了音頻采集程序、FFMPEG的音頻壓縮程序、網絡數據壓縮程序,并設計了人機交互界面,軟件流暢的運行在樹莓派系統上,實現音頻的采集、壓縮和通過5G網絡傳輸至上位機的功能,為基于5G通信的音頻數據采集與傳輸應用提供了有價值的參考。
參考文獻
[1]蔡文偉,黃鍵,李偉光,趙學智,張景潤,孫振忠.基于聲音信號的微型電機故障診斷方法研究[J].機床與液壓,2020,48(23):190-195.
[2]曾明輝,談宏華,邢栢豪,郭良等.基于QT和智能網關的智能家居系統設計[J].自動化與儀表,2021,36(10):28-32.
[3]程偉倫,唐恒飛.基于FFmpeg的車載嵌入式流媒體終端的研究與實現[J].農業裝備與車輛工程,2021,59(08):120-122.
[4]彭漁露,馬莉,王百彥,強帆.一種實時數據丟包問題快速定位方法[J].現代計算機,2021,27(28):55-59.
作者簡介:韋善學(1984.10-)男,壯族,廣西東蘭縣人,本科,中國鐵塔股份有限公司河池市分公司,研究方向:通信領域