[發明專利]一種基于逆波蘭式算法的判據自動解析方法在審
| 申請號: | 201611050603.8 | 申請日: | 2016-11-23 |
| 公開(公告)號: | CN106648753A | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 王兵;王福到;齊竹云;韓峰 | 申請(專利權)人: | 北京航天自動控制研究所;中國運載火箭技術研究院 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 中國航天科技專利中心11009 | 代理人: | 徐輝 |
| 地址: | 100854 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 波蘭 算法 判據 自動 解析 方法 | ||
技術領域
本發明涉及一種基于“逆波蘭式”算法的判據自動解析方法,屬于自動判讀技術領域。
背景技術
現階段,在使用自動判讀技術的系統中,判據的管理多采用兩種方式:
第一種方式 直接固化在軟件或硬件中
采用這種方式快速,簡單,但也有其致命的缺點,即缺乏靈活性,維護成本高,如果需要更改其中某項判據,必須對軟件重新進行編譯,或者對芯片重新進行燒寫,無法滿足通用化的要求。
第二種方式 采用配置文件的方式
為達到通用化的目的,可以將判據保存在單獨的配置文件中,在需要時進行讀取。這種方式提高了靈活性,降低了維護的代價,但由于判據的復雜性,這種方式只能存儲不需要其他觀測量即可進行判讀的數據,如+M1母線電壓判據為28±3V,地球重力加速度G判據為9.8±0.5m/s2。部分數據無法直接進行判讀,需要依據某些先行觀測量的值進行計算,才能得出相應的判據范圍,如+M1母線漏電的判據即需要根據+M1的實際測量值確定,慣組陀螺的某些判據需要根據慣組諸元某些參數確定等,這種數據使用配置文件的方式保存較為困難。
在航天領域中,自動判讀技術被廣泛使用。自動判讀技術與使用者的接口只有判據,因此判據的表達是否簡單易用直接影響著自動判讀的效率,如何對判據進行解析也是自動判讀技術的關鍵。
如何有效的配置并自動解析含有參數的判據文件是本領域亟待解決的技術問題。
發明內容
本發明的目的在于克服現有技術的不足,提供一種基于“逆波蘭式”算法的判據自動解析方法,降低自動判讀技術中判據管理的復雜度,實現具有依賴值的測量數據的自動判讀。
本發明目的通過如下技術方案予以實現:
提供一種基于“逆波蘭式”算法的判據自動解析方法,采用“逆波蘭式”算法進行判據的自動解析和計算,包括如下步驟:
(1)配置判據文件,將所需判讀的參數標準值V、上偏差VH、下偏差VL寫入配置文件,標準值V依賴于d,上偏差VH依賴于觀測量d1,下偏差VL依賴于觀測量d2;
(2)自動判讀模塊讀取配置判據文件,讀取標準值V、上偏差VH、下偏差VL的中序表達式;
(3)采用“逆波蘭式”算法將標準值V、上偏差VH、下偏差VL中的中序表達式轉換為后序表達式;
(4)根據觀測量d、d1、d2的測量結果,計算標準值V、上偏差VH、下偏差VL數值;
(5)判斷所需判讀的參數是否合格。
優選的,步驟(1)中將所需判讀的參數標準值V、上偏差VH、下偏差VL寫入配置文件的具體方法為:
采用常用文本編輯器根據具體判據范圍,將參數標準值V、上偏差VH、下偏差VL按照中序表達式的方式寫入到判據配置文件中,判據文件采用UTF-8編碼的文本文件保存。
優選的,步驟(2)中自動判讀模塊讀取配置判據文件,讀取標準值V、上偏差VH、下偏差VL的中序表達式的具體方法為:
以字符串流的方式順序讀入判據文件,以空格字符分割標準值V,上偏差VH和下偏差VL,以回車換行符區分不同的參數名稱。
優選的,步驟(3)中采用“逆波蘭式”算法將標準值V、上偏差VH、下偏差VL中的中序表達式轉換為后序表達式的具體方法為:
(3.1)在內存中分配兩個堆棧S1和S2,分別用于臨時存儲運算符和轉換后的逆波蘭式;
(3.2)依次讀取中序表達式,若讀入的是操作數,則將操作數輸出到堆棧S2;
(3.3)若取出的字符是運算符Op,如果此時堆棧S1為空,則將該運算符保存入堆棧S1,如果此時堆棧S1非空,則將該運算符Op與堆棧S1棧頂的操作符優先級做比較,若低于堆棧S1棧頂操作符優先級,則將堆棧S1棧頂操作符彈出,壓入S2堆棧,再將該運算符Op與堆棧S1棧頂的操作符優先級做比較,重復該操作直至棧頂運算符優先級不高于運算符Op的優先級,將運算符Op入堆棧S1;若運算符Op優先級高于棧頂運算符優先級,則直接將運算符Op存入堆棧S1;
對于運算符‘(’,則直接存入堆棧S1,若為‘)’,則將距離S1棧頂最近的‘(’及S1棧頂之間的字符彈出并依次送入堆棧S2,并丟棄‘(’;
(3.4)重復以上步驟3.1~3.2,直到單個表達式解析完,最后將堆棧S1中的所有運算符彈出并壓入堆棧S2,此時依次彈出堆棧S2中的字符構成的字符串即為轉換后的后序表達式。
優選的,運算符的優先級如下:最高優先級包括乘號“*”和除號“÷”,最低優先級包括加號“+”和減號“-”。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航天自動控制研究所;中國運載火箭技術研究院,未經北京航天自動控制研究所;中國運載火箭技術研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611050603.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:蠟染布
- 下一篇:控制器運行方法及裝置





