基于Matlab分析的無線報務自動糾察裝置
無線報務自動糾察裝置主要對無線電報通信聯絡雙方實施糾察,通過對通信雙方信號的實時識別,對照無線電報通信規則進行糾察。收信機接收無線信號,通過控制器選擇進入語音信號采集卡,進行實時處理、分析、識別,達到糾察無線報務的目的。無線報務自動糾察控制器由單片機設計實現,完成信號檢測、收信機控制等功能;無線報務自動糾察軟件由Visual C++6.0調用Matlab生成的DLL編程實現,實現報務糾察、存儲、統計等功能,是該裝置的核心。
1 系統結構組成
該裝置由硬件、軟件兩部分組成。前端采用單片機實現控制器;后端采用:Matlab處理、分析并封裝成DLL文件,經Visual C++使用,構成報文分析識別軟件。總體系統結構如圖1所示。
2 Matlab分析過程
2.1 信號預處理
進入計算機的信號,不能滿足信號處理的要求,必須首先進行變換處理,變換處理包括:數據轉換、預加重、加窗處理、濾波處理。
數據轉換 使用8位采樣位采集到的數據,其范圍是0~255,通過數據轉換,使其范圍為:-128~+128,經過歸一化處理,成為-1.0~+1.0范圍。

預加重 為使信號具有一定的可處理性而采用的一種前期處理辦法,其公式為:

分幀 信號進行分幀、加窗使其具有短時處理的基礎。取幀長為256,幀移為128。對分幀進行預加窗處理。
濾波處理 使用帶通濾波器,保留信號中有效頻率成分,過濾無效頻率成分。
2.2 特征參數的提取與分析
特征參數的提取包括短時功率譜和短時頻譜等,短時功率譜和短時頻譜均基于FFT變換,可以選擇其中一種,如圖2所示。

圖2分別描述了:
(1)受噪聲影響的原始信號:x=sin(2*π*50*t)+sin(2*7π*120*t)
(2)FFT頻譜:y=FFT(y,512);
(3)功率譜分析:P=y*conj(y)/512;
(4)Matlab功率譜估計:m_PSD-PSD(y);
(5)Matlab頻譜:spec=Specgram(x)
使用Matlab頻譜(Specgram)進行分析可以獲取最優的特性。
2.3 頻率自適應確定算法
電報碼的頻率特征:從頻譜分析來看,電報碼的頻率集中在某幾個頻段上。在算法中,算法會自動去尋找頻率信號最好的頻段來做為確定頻率的參數。頻率自適應確定算法用來確定信號一次諧波的頻率。其算法流程如圖3所示。

算法描述:查看頻率數據序列的長度是否夠5個數據,如果夠5個數據,則對最后4個數據進行比較,看最后4個數據是不是相同,并且頻率都大于FHz(FHz是經驗值),不夠則繼續等待數據。如果上一步結果為假,則重復上一步;如果為真,則看當前是電子鍵還是手鍵,如果為手鍵,根據手鍵的頻率特點,則頻率已確定,如果是電子鍵,則還需要再進行一次頻率確定。
2.4 頻率序列二值化、規整
頻率序列規整、量化算法是在頻率確定算法的基礎之上,對頻率序列進行規整、二值化處理,使頻率數據序列更易于計算機處理。其算法的流程如圖4,圖5所示。

算法簡要描述:頻率序列規整算法主要對頻率數據序列中的一些數據進行過濾與規整;頻率序列二值化算法主要對頻率序列數據進行0,1化。
2.5 報文自適應識別算法
報文自適應識別算法中有4個經驗值,分別是:長0(點)、長1(劃)、短0(點)、短1(劃)。其算法流程如圖6所示。

算法簡要描述:從量化序列中取一個數據,先判斷是0還是1,如果是1,則判斷是"點"還是"劃";如果是0,則判斷是"短空"還是"長空",如果是短空,則添加到S1里,如果是"長空"則取出S1進行識別。同時以經驗值為基礎,結合當前的量化值,對平均值進行適當的調整、適應。
2.6 報文糾察算法
對報文、報底的糾察涉及到對報文、報底的長度補齊、對比。我們采用回溯算法,就是把報文和報底按4位一組分開,然后對組進行按位匹配、比較,不匹配的地方用空格補齊。
3 結 語
該裝置主要采用基于Matlab的分析、處理、識別技術,并將分析處理識別結果封裝成DLL文件,通過Visual C++6.0調用,構成前端控制、后端處理的自動糾察臺,實現對無線電報信號的自動糾察。該裝置在無線報務信號分析上,具有界面直觀、糾察效率高、裝置可靠性高等優點,可以適用于類似系統的設計開發,具有廣泛的應用價值。
評論