1 整體設計方案
莫爾斯碼的原理是以長短信號及間隔的不同組合代表數字、字母等字符。訓練器以MSP430單片機為核心處理攜帶此信息的電鍵信號,如圖1所示。
訓練器設計了兩種訓練方式:發報訓練和收報訓練。
l.1 發報訓練
發報訓練是指報務人員根據指示的一組報文拍發,手電鍵敲擊的信號由訓練器采集、處理并識別出莫爾斯碼,在數碼管上顯示或通過TUSB3410芯片提供的USB接口傳至電腦上位機軟件。
在電感器生產發報訓練時,分別使用高、低電平表示間隔和點劃。這樣拍發出的電鍵信號實際上就是一組時長不等的高、低電平組合,如圖2所示。
圖2中td,th,tm,tz分別表示點碼、劃碼、碼間隔、字間隔信號的時長。
用單片機的I/O口對整形后的電鍵信號進行不間斷采樣,根據高、低電平持續時間,通過識別算法解析出碼符號。同時,在電鍵信號的控制下給出頻率為500 Hz的方波作為發報監聽音送往耳機。
1.2 收報訓練
收報訓練是指訓練器在電腦的控制下發出莫爾斯碼對應的電鍵音,報務人員通過耳機或喇叭監聽并同時記錄報文。
在收報訓練時,將TUSB3410傳來的報碼實時翻譯為點、劃和間隔碼,并在此信號的控制下發出500 Hz單音。
2 電鍵信號預處理電路
電鍵信扁平型電感號的預處理電路如圖3所示。
設計中,用一個上拉電阻將電鍵開關跳線J4的一腳拉至高電平,另共模電感器一腳接地。這樣,在發報訓練中,當電鍵抬起時,輸出高電平,表示間隔信號;當電鍵被按下時,輸出低電平,表示點劃信號。為了消除高低電平交替過程中可能出現的毛刺,消除抖動,用CD4011芯片中的兩級與非門(U6A和U6B)對此信號進行整形處理,此時來自MSP430 P3.1腳的KEY_CTL控制信號為應高電平。在4腳輸出的信號連接到MSP430的P3.0腳,利用定時器A進行周期為1 ms的查詢,以獲取各信號的時長,再通過譯碼算法譯出字符。電鍵信號的拍發過程中還需要提供電鍵音反饋給操作者。同樣利用定時器在每次查詢的同時對P3.2腳取反,能夠得到500 Hz的方波,提供給CD4011的8腳。利用經過U6A一次取反后的電鍵信號(3腳)作為輸出使能,控制與非門U6C的開啟和關閉,保證只有在按下電鍵開關時才輸出電鍵音。電鍵音通過LM386芯片放大后,由耳機或喇叭輸出。
收報訓練時,電鍵是一直抬起的,而KEY_CTL信號受MSP430的控制。當MSP430解析出點劃或間隔信號時,使KEY_CTL相應的拉低或拉高,從而使KEY_SND電鍵音同步輸出或斷開。
3 碼識別算法的設計
3.1 算法難點分析
莫爾斯碼中,點碼時長td、劃碼時長th之比一般為1:3,碼間隔tm、字間隔tz、詞間隔tc之比通常為1:3:5。人工拍發的摩爾斯碼信號,由于報務人員熟練程度和使用習慣的不同,碼速和各信號實際時長都相差很大,比例也不可能非常標準,在拍發過程中還會不斷變化,因此,算法對信號時長閾工字電感器值的選取要因人而異,在運行中自動調整適應。以往的算法要么采取固定時長閾值的方法,犧牲了適應性,如絕對比較法;要么采取固定修正因子的方法犧牲了初期的識別率,如岡瑟算法,難以取得識別速度、識別準確度和適應性之間的平衡。
3.2 判定閾值基準值的選取
電鍵剛開始拍發時程序不知曉報務人員的情況,因此必須選取合適的判定閾值基準值,以保證此時識別的準確性。按照一般的拍發速度和規定,選擇點碼時長基準值td=50 ms,劃碼時長基準值th=3td=150 ms,點劃碼的判定閾值Tdh=(td+th)/2=2td=100 ms,碼間隔時長基準值tm=50 m磁心電感器s,字間隔時長基準值tz=3tm=150 ms,碼、字間隔的判定閾值Tmz=(tm+tz)/2=2tm=100 ms。
大功率電感廠家 |大電流電感工廠