基于MSP430的莫爾斯報訓練裝置設計
算法采取等距離判定法區分點(diǎn)碼與劃碼、碼間隔與字間隔,即取點(diǎn)、劃碼時(shí)長(cháng)的平均值作為它們之間的判定閾值,取碼、字間隔時(shí)長(cháng)的平均值作為其判定閾值。識別的完整流程如圖5所示。
采樣電平翻轉時(shí),記錄上一個(gè)狀態(tài)的持續時(shí)間t。對于碼信號,當t>Tdh時(shí),表示解出劃碼,在碼值中存入11,反之則存入10;對于間隔信號,當t>Tmz時(shí),代表解出字間隔,將碼值用00補足16 b后進(jìn)行順序法查表,查出的位置值經(jīng)過(guò)換算就能得到對應的莫爾斯碼符號。
3.4 判定閾值的修正方法
為了實(shí)時(shí)跟蹤報務(wù)人員的擊鍵狀態(tài),算法需要根據最新的輸入碼時(shí)長(cháng)不斷對判定閾值做出修正,采用加權平均的方法可以實(shí)現判定閾值的平滑變化。最近一次判定為點(diǎn)碼的修正流程如圖6所示。其他時(shí)長(cháng)的修正方法與此類(lèi)似。
(1)判斷最近一次點(diǎn)碼時(shí)長(cháng)是否符合篩選要求。因為碼文中總有一些出錯的或時(shí)長(cháng)相差較大的,如果將這些時(shí)長(cháng)也用來(lái)修正閾值會(huì )對其準確性產(chǎn)生較大的影響。t′d表示最近一次的點(diǎn)碼時(shí)長(cháng),t′d表示上一次的點(diǎn)碼時(shí)長(cháng),a為篩選因子。a取的越大則閾值起伏越大,此處取為O.5。滿(mǎn)足篩選要求的數據進(jìn)入步驟(2),否則放棄本次修正。
(2)對點(diǎn)碼時(shí)長(cháng)求加權平均。t′d表示修正后的點(diǎn)碼時(shí)長(cháng),β為修正因子。β越接近于1,對閾值的平滑作用越強,但跟蹤能力越差。開(kāi)始階段為了迅速適應報務(wù)人員的習慣,取β為0.5,隨著(zhù)拍發(fā)的進(jìn)行,為了保證閾值的平穩變化,將β盧逐步減小到0.2。
(3)根據最近一次點(diǎn)碼時(shí)長(cháng)更新點(diǎn)劃碼判定閾值。其中t′d表示上次的劃碼時(shí)長(cháng)。
(4)對點(diǎn)劃判定閾值做平滑修正。Tdb表示點(diǎn)劃碼判定閾值的最新值,t′dh表示上一次的點(diǎn)劃碼判定閾值。
4 結 語(yǔ)
采用上述設計的莫爾斯報裝置可在不接駁電腦的情況下使用,識別結果直接在LED上滾動(dòng)顯示,也可連接電腦,在上位機軟件中進(jìn)行成績(jì)評定,使用方便靈活。經(jīng)過(guò)改進(jìn)的算法識別速度快,錯碼率低,在算法跟蹤速度和識別準確度間取得了良好的平衡。該裝置經(jīng)報務(wù)人員大規模使用,60~140碼/分條件下誤識別率小于10-5,效果良好。
評論