?

基于CBAM-CNN-BiGRU的Morse信號智能識別譯碼算法研究

2022-09-09 01:45高振斌宿紹瑩
無線電工程 2022年9期
關鍵詞:譯碼時頻字符

高振斌,張 毅,宿紹瑩

(1.河北工業大學 電子信息工程學院,天津 300401;2.國防科技大學 電子科學學院,湖南 長沙 410073)

0 引言

Morse電報設備簡單、頻帶窄、建聯迅速、機動性強[1],是戰爭、災害等突發狀況下不可替代的應急通信方式之一。長期以來,Morse電報由人工聽抄譯碼,在信道質量惡劣、碼速率較高時正確率難以保證,且長時間工作會對報務員的身心健康產生諸多負面影響。此外,培養合格的報務員時間久、花銷大,士兵服役期較短,人員短缺嚴重。因此,實現Morse電報的自動接收譯碼具有迫切的應用需求。

識別譯碼是根據Morse信號的點、劃和3種間隔的時長比例(1∶3∶1∶3∶5)對它們進行種類判別,并按照其排列組合實現報文信息輸出。與人工聽抄譯碼相類似,時頻分析[2]能夠同時提取時域和頻域信息,具有較強的抗干擾能力?;跁r頻分析的Morse信號接收譯碼方法可以分為傳統機器學習聚類法和深度學習神經網絡方法。聚類法包括支持向量機[3]、K均值聚類[4]、改進K均值聚類[5]和模糊C均值聚類[6]等,在高信噪比情況下,可達到90%以上的識別準確率。但聚類法需經過點劃識別、間隔識別、查表譯碼和糾錯等多個步驟,信噪比在0 dB以下時,識別準確率明顯下降,遠達不到實用要求。神經網絡方法有應用隱馬爾可夫模型的深度神經網絡(Deep Neural Networks,DNN)[7]、卷積循環神經網絡(Convolutional Recurrent Neural Network,CRNN)[8]等,與聚類法相比,此類方法可以實現端到端譯碼,且對低信噪比環境適應性更好。本文以CRNN為基礎,提出融入卷積注意力機制模塊(Convolutional Block Attention Module,CBAM)的卷積神經網絡(Convolutional Neural Network,CNN)的雙向門控循環單元(Bi-directional Gated Recurrent Unit,BiGRU)網絡結構,實現小訓練樣本條件下,不同信噪比、字長、頻率、碼速和幅度的Morse信號智能識別譯碼。

1 智能識別譯碼算法設計

Morse信號智能識別譯碼算法結構如圖1所示。首先,對原始音頻信號進行時頻變換和圖像偽彩色處理,獲取標準的待處理圖像;然后,采用CBAM-CNN網絡提取信號頻率位置、信號能量等有效特征,輸出特征序列;最后,依據BiGRU網絡捕捉特征序列之間的長期依賴性來預測電報信息,并由連接時序分類(Connectionist Temporal Classification,CTC)層自行對齊輸出。

圖1 譯碼算法結構Fig.1 Structure of decoding algorithm

1.1 時頻圖像預處理

假設發報頻點未知,參照文獻[9],對音頻信號依次進行短時傅里葉變換、能量分選及特征分類,預檢測出目標信號頻率,進行窄帶濾波去噪;去噪后的時域信號進行有利于譯碼的高時間分辨率短時傅里葉變換[10],再次利用能量分選方法將有效信號區域時頻圖提取并統一尺寸輸出。如圖 1中灰度圖所示,短、長矩形亮條分別代表Morse信號的點、劃,點、劃之間的暗區按長度從小到大的順序分別代表碼間隔、字間隔和詞間隔。

偽彩色圖像將灰度圖變換成不同的顏色,使經過處理的圖像更適合人類視覺系統或計算機識別系統,是視覺效果顯著且不太復雜的圖像增強技術[11]。本文選用灰度分層法的viridis映射將灰度圖偽彩色化,通過改變色彩的飽和度形成漸變色,彼此接近的像素值顏色相似,遠離的值具有更多不同的顏色。viridis映射充分利用色彩空間,保證持續均勻性,突出了不同區域的細節差異[12],適用于Morse時頻圖像素值線性分布的情況。圖1中可觀察到,偽彩色化后,時頻圖的點、劃更加突出,更有利于卷積層提取到點、劃及間隔的持續時間。

1.2 深度特征提取

計算機視覺中的注意機制本質在于模擬人眼的視覺感知[13],通過訓練過后的自動調整配置參數,可以像人類視覺一樣重視有用信息,減少無效信息的干擾,提高效率與準確率,是自然語言處理研究中不可或缺的重要組件[14]。CBAM模塊將通道(Channel)和空間(Spatial)注意力機制按照先后順序相互結合[15],有效地提升卷積層對關鍵特征的提取能力,抑制不必要的特征。CBAM結構如圖2所示,為輕量級即插即拔掛件式模塊,可以無縫集成到任何CNN架構中(在每層卷積層后接入)并忽略開銷進行端到端訓練,滿足Morse電報的快速譯碼要求。

MC(F)=σ(MLP(MaxPool(F))+MLP(AvgPool(F)))=

(1)

式中,σ,W0,W1分別為激活函數及MLP的權重。

MS(F′)=σ(f7×7([AvgPool(F′);MaxPool(F′)]))=

(2)

式中,σ,f7×7分別為激活函數及擁有7×7卷積核的卷積層。

MS(F′)與F′對應元素逐個相乘,最終生成特征圖F″,整個CBAM過程可表示為:

(3)

式中,?表示對應元素逐個相乘。

CBAM-CNN模塊的具體設置如表1所示,組合層依次為卷積層、正則化層、線性整流函數(Rectified Linear Unit,ReLU)、注意力機制模塊和最大池化層。設計連續2個組合層,輸入圖片尺寸高度統一為32 pixel,寬度不定,只設置最大寬度。經過此網絡,Morse信號時頻圖的頻率方向維度(高度)變為1,時間方向維度(寬度)變為原圖片的1/4,通道方向維度為64,即圖1中CBAM-CNN模塊虛線處所示,時間維度每個點提取有64個通道特征值,形成特征序列。

表1 CBAM-CNN模塊結構

1.3 報文預測

圖3 GRU單元結構Fig.3 GRU unit structure

Morse電報任意時刻碼字預測與其前后、碼之間均有重要關聯,但GRU網絡只在一個方向上對信息流進行建模[17],只能單向感知按時間正序傳遞的前碼信息,無法顧及到未來的碼字。BiGRU網絡同時訓練2個方向相反、參數獨立的GRU網絡,每一時刻得到的特征信息都考慮了上下文,能更精準地預測當前報文。

BiGRU每個序列輸出都對應一個字符元素,實際情況中Morse信號字長不確定且每字符對應時間長度不等,很難做到字符對齊。CTC提出一種不需要對齊的損失函數計算方法,將其添加到BiGRU的輸出層,減輕了網絡預測不確定的壓力,實現了端到端自動對齊輸出。BiGRU與CTC的拼接模塊結構如圖4所示。

圖4 BiGRU(CTC)單元結構Fig.4 BiGRU(CTC) unit structure

2 試驗與分析

2.1 數據集

數據分為2種:仿真生成的Morse信號和實錄電臺音頻信號。其中,仿真Morse信號的具體生成步驟如下:

① 確定信噪比在-20~10 dB,以每2 dB為間隔,設置信號具體的信噪比為:-20,-18,…,10 dB,準備將數據按不同信噪比來分批產生。

② 在每種信噪比情況下,生成660條長度不大于5個字符的不重復的隨機字符串,長度大于2個字符的字符串中加入了代表詞間隔的空格字符。

③ 根據Morse信號的譯碼表編寫字典,將字符串轉化為點、劃和3種間隔的序列。根據發報常用碼速(35~150字符/分鐘)、單字符包含的最小單位個數、常用字符組合等信息,估算出每個最小單位對應的時間約為0.015~0.25 s,等概率隨機取其中一值,將序列中的點、劃分別生成為持續1,3個最小單位對應時長的高電平,碼間隔、字間隔和詞間隔分別生成為持續1,3,5個最小單位對應時長的零電平。選取合適的采樣頻率,采樣得到對應碼速的基帶信號。

④ 將基帶信號依次與直流信號、正弦載波相乘,直流信號的幅值為1~100 V的隨機整數,載波的頻率等概地500~4 000 Hz整百數隨機選取。

⑤ 在信號中加入對應信噪比的白噪聲,生成待識別的仿真Morse信號。

10 560個仿真信號的時頻圖按比例分為訓練集、驗證集和測試集1,在實時錄制的數百個時長為10 s的電臺音頻數據中檢測到的447路Morse信號的時頻圖作為測試集2。具體參數設置如表2所示,2種數據的時頻圖寬度分別根據報長、時長來確定,保證每個最小單位(點的時長)至少可以有2個像素點。需要說明的是,在實錄數據中,除目標Morse信號所傳遞的信息及其幾個參數的所在范圍外,目標信號具體的頻率、幅值、碼速,以及信道環境、噪聲干擾等情況均是未知的,故信噪比無法確定。

表2 數據集設置

2.2 實驗環境與評估方法

實驗運行環境:CPU Intel? CoreTMi9-10900K@3.70 GHz,GPU NVIDIA GeForce RTX3080;代碼在 Windows系統Tensorflow2.4框架下編寫運行。根據訓練結果,選擇使驗證集結果最優的超參數,分別為:優化方式選用RMSProp,學習率設為0.001遞減到0.000 1,batch_size設為100,epoch設為100個,并設定使驗證集準確率最高的模型為最終模型。網絡中CBAM-CNN設置如表1所示,BiGRU設置為2層,神經節點數為256,后與CTC拼接。

算法性能由3個指標來衡量,分別為:字(符)準確率、樣本準確率和譯碼耗時。字準確率為所有譯碼正確字符(詞間隔表現為空格字符)占總字符的百分比,樣本準確率是指完全正確樣本占總樣本數的百分比,譯碼耗時指系統識別單個樣本所需時間。

2.3 算法譯碼性能對比

本文與文獻[8]CRNN算法進行對比,網絡及輸入圖片分別為:① CRNN,灰度時頻圖(gray映射);② CBAM-CNN-BiGRU網絡,偽彩色時頻圖(viridis映射)。仿真數據字準確率及樣本準確率隨信噪比的變化曲線如圖 5和圖 6所示。本文算法準確率始終優于CRNN算法,尤其在信噪比低于-14 dB環境下,信號與周圍噪聲區分度降低,點、劃的矩形輪廓逐漸變形,CRNN網絡準確率下降明顯,本文算法中偽彩色處理增強了時頻圖層次,結合CBAM模塊,可以準確鎖定重要特征區域,使得字準確率保持在80%以上。

圖5 仿真數據的字符準確率比較Fig.5 Comparison of character accuracy of simulation data

圖6 仿真數據的樣本準確率比較Fig.6 Comparison of sample accuracy of simulation data

兩測試集譯碼總準確率及耗時如表3所示。測試集1中兩算法的準確率差距在幾個百分點;測試集2中,實錄音頻信號環境復雜,可能存在頻率偏移、碼長偏差、鄰頻干擾和信號能量不均等情況,本文算法準確率優勢更加突出,高出CRNN算法10%左右。與CRNN相比,本文的算法結構更復雜,但識別時間基本持平,符合工程應用的實時性要求。上述結果表明,本文算法在低信噪比、真實環境下均有更強的適用性。

2.4 時頻圖尺寸選擇

輸入圖片尺寸同時影響算法準確率及譯碼時間,尺寸越大準確率越高,但譯碼時間也會越長。將仿真數據時頻圖設置為不同寬度,測試其對算法結果的影響。在-20 dB環境下,即使不斷犧牲時間加寬圖片,字符準確率始終低于90%,達不到實用要求,故選擇以-18 dB及以上信噪比為實驗環境來選取合適尺寸。輸入各尺寸圖片的算法準確率及耗時如表4所示,圖片寬度為200 pixel時,譯碼準確率達到峰值,之后基本維持但耗時增加。結果表明,仿真數據時頻圖選取200 pixel寬度為衡量準確率與算法耗時后的最優尺寸。

表4 輸入各尺寸圖片的算法準確率及耗時

3 結束語

根據現有的Morse信號譯碼算法,本文提出以偽彩色時頻圖為輸入的CBAM-CNN-BiGRU網絡結構,參考手鍵及電子鍵發報情況,信號設置了多個碼速、信噪比、幅值、頻率,用小樣本和五字符以內的仿真數據進行訓練,獲得的模型可實現任意長度信號的精準實時譯碼。以準確率及時間為指標,與已有算法相比較,本文算法在仿真和實測數據中均表現出優異的性能,驗證了其魯棒性及實用性。

本文算法實現了Morse信號句級別的識別,但若不知報文起止位置,譯碼電臺信號只能按時間截取音頻,其首尾會存在斷碼,損失報文信息。未來將研究連續同頻Morse時頻圖的拼接與再分割問題,實現電臺Morse信號的實時無損譯碼。

猜你喜歡
譯碼時頻字符
極化碼自適應信道譯碼算法
高階時頻變換理論與應用
基于擴大候選碼元范圍的非二元LDPC加權迭代硬可靠度譯碼算法
分數階傅里葉變換改進算法在時頻分析中的應用
分段CRC 輔助極化碼SCL 比特翻轉譯碼算法
基于校正搜索寬度的極化碼譯碼算法研究
論高級用字階段漢字系統選擇字符的幾個原則
高聚焦時頻分析算法研究
字符代表幾
一種USB接口字符液晶控制器設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合