亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

進行衛(wèi)星定位信號解析的方法

文檔序號:9273975閱讀:978來源:國知局
進行衛(wèi)星定位信號解析的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及對通訊信號的解析方法,具體的講是進行衛(wèi)星定位信號解析的方法,特別適合但不僅限于針對北斗衛(wèi)星定位系統(tǒng)的定位信號。
【背景技術(shù)】
[0002]目前衛(wèi)星定位技術(shù)已廣泛應(yīng)用于工業(yè)、交通、水電等行業(yè)。在水利水電行業(yè)中通常通過衛(wèi)星定位系統(tǒng)中的坐標(biāo)信號,反應(yīng)接收點的物理位置。如何快速、有效、準(zhǔn)確的解析定位坐標(biāo)信號成為應(yīng)用衛(wèi)星定位系統(tǒng)必須要解決的問題。在衛(wèi)星定位信號,特別是北斗衛(wèi)星定位信號中包括了經(jīng)度、瑋度、海拔高度、速度、衛(wèi)星狀態(tài)和衛(wèi)星數(shù)量等大量的信息。一般對衛(wèi)星定位信號的解析過程是使用一種軟件平臺,將接收到的衛(wèi)星信號進行分析,根據(jù)自身設(shè)備的需要對有用信息進行提取的過程。公知的衛(wèi)星定位信號解析技術(shù)平臺通常為c、c++、c#、JAVA等計算機高級語言,常規(guī)方式為先對衛(wèi)星定位報文整體進行累加校驗或者異或校驗,再通過查找信號中的數(shù)據(jù)分隔符,獲得有用信息。實際解析過程中,可能由于衛(wèi)星信號接收欠佳,或者接收設(shè)備輸出的報文格式存在欠缺(例如:參數(shù)前導(dǎo)位數(shù)不足未補零),使報文中某些信息的長度發(fā)生變化,當(dāng)同一緩沖區(qū)存在多組報文,且報文長度發(fā)生變化時,難以保證校驗碼的正確性,需要對校驗方式進行特殊處理,以規(guī)避這種情況。另外,施工現(xiàn)場的很多設(shè)備都是采用PLC進行控制的,但PLC不支持C、C++、C#、JAVA等語言格式,導(dǎo)致采用PLC軟件解析衛(wèi)星定位坐標(biāo)信號方法的空缺。

【發(fā)明內(nèi)容】

[0003]本發(fā)明提供了一種進行衛(wèi)星定位信號解析的方法,將衛(wèi)星定位系統(tǒng)與PLC設(shè)備有效結(jié)合,并且衛(wèi)星定位報文每項信息長度可自定義,避免校驗報文出錯。
[0004]本發(fā)明進行衛(wèi)星定位信號解析的方法,包括:
[0005]a.PLC設(shè)備通過通訊模塊的串口接收字符格式的衛(wèi)星定位報文,并將接收到的衛(wèi)星定位報文轉(zhuǎn)換成字符串格式,由PLC設(shè)備獲取和存儲有效的報文信息字符串;
[0006]b.PLC設(shè)備按照有效的報文信息字符串中的分隔符分別截取各段字符串,從所述的各段字符串中提取對應(yīng)衛(wèi)星定位信息。
[0007]例如有效報文字符串為(abc,def,ghi),對其進行解析后假設(shè)需要提取其中的“def ”字符串,則根據(jù)有效報文字符串中的分隔符“,”對字符串進行分割,然后再獲取第一個分隔符“,”和第二個分隔符“,”之間的字符串,即def。這樣通過PLC設(shè)備和PLC本身的軟件即可對衛(wèi)星定位信號進行校驗和解析,同時由于讀取信息時是以字符串中的分隔符為節(jié)點,因此不會機械的讀取固定位數(shù)的字符,例如理論報文為:(abc,def, ghi),共占用11個緩沖區(qū)地址,但實際收到的報文為(abcj,def, ghi),占用了 12個緩沖區(qū)地址。如果采用常規(guī)的對整條報文進行讀取的方式,就只會從緩沖區(qū)中讀取11個地址,這樣就會計算錯誤。而通過本發(fā)明的方法對報文進行分割后讀取,就能夠適應(yīng)各種長度的報文,從而避免了在衛(wèi)星定位報文長度隨意變化時的校驗報文出錯情況,保證了衛(wèi)星定位信號的可靠接收。
[0008]進一步的,步驟a之后進行校驗值的計算和校驗:通過PLC設(shè)備按照有效的報文信息字符串中的分隔符分別截取首、尾部分的字符串,和各分隔符之間的字符串,將截取的各段字符串經(jīng)校驗算法得到整條報文的校驗值,再獲取報文信息字符串中的原始校驗碼,如果原始校驗碼與得到的校驗值比較后相同,則認為報文接收正確,在報文信息字符串中設(shè)置校驗通過標(biāo)識;步驟b在截取字符串前,先判斷報文信息字符串中是否存在校驗通過標(biāo)識,如果有則執(zhí)行后續(xù)程序,反之則舍棄。
[0009]其中一種校驗算法的步驟為:將截取的各段字符串分別放在不同的字符數(shù)組中,將各字符數(shù)組中的字符進行異或運算,運算次數(shù)為字符串長度減I,再將異或運算后的各字符數(shù)組相互進行異或運算,得到整條報文信息的校驗值。例如對報文字符串(abc,def, ghi)進行校驗計算:先獲取字符串中第一個分隔符“,”左側(cè)的字符串,即“abc”,將“abc”放入字符數(shù)組中并計算異或值;再獲取字符串中第一個“,”右側(cè)的字符串,即“def,ghi”,然后獲取“def,ghi”中的第一個,也就是原報文中的第二個分隔符“,”左側(cè)的字符串,即“def”,將“def”放入字符數(shù)組中并計算異或值;最后獲取原報文中第二個分隔符“,”右側(cè)的字符串,即“ghi”,將“ghi”放入字符數(shù)組中并計算異或值;最后把得到的3個異或值再進行異或計算得到正條報文的校驗值。常規(guī)的校驗算法是將整條報文進行校驗計算,得出校驗值,本發(fā)明的方法是先分別計算出報文中分隔符之間的異或值,再將結(jié)果進行異或計算,這樣可以避免因報文中某些信息的長度發(fā)生變化時,產(chǎn)生的校驗值計算錯誤。
[0010]具體的,所述報文信息字符串中的原始校驗碼為報文信息中的號右側(cè)的字符串,通常為“ ”號右側(cè)的兩個字符。
[0011]為提高整個程序運行的效率,優(yōu)選的,步驟a中在PLC設(shè)備獲取和存儲有效的報文信息字符串前,先在轉(zhuǎn)換后的字符串報文信息中檢索坐標(biāo)信息報文頭字節(jié),以此判斷報文中是否包含坐標(biāo)信息報文,如果不包含,重新檢索。
[0012]具體的,所述報文字符串中的分隔符為逗號格式(“,”格式)。
[0013]可選的,步驟b中提取的衛(wèi)星定位信息包括瑋度坐標(biāo)值、經(jīng)度坐標(biāo)值和高程位置,還可以包括其它需要的各種衛(wèi)星定位信息。
[0014]本發(fā)明進行衛(wèi)星定位信號解析的方法,填補了通過PLC軟件解析衛(wèi)星定位信號的空白,能夠?qū)⑿l(wèi)星定位系統(tǒng)與PLC設(shè)備有效結(jié)合,并且衛(wèi)星定位報文每項信息長度可自定義,有效避免了校驗報文出錯,提高了衛(wèi)星定位信號解析的可靠性。
[0015]以下結(jié)合實施例的【具體實施方式】,對本發(fā)明的上述內(nèi)容再作進一步的詳細說明。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實施例。在不脫離本發(fā)明上述技術(shù)思想情況下,根據(jù)本領(lǐng)域普通技術(shù)知識和慣用手段做出的各種替換或變更,均應(yīng)包括在本發(fā)明的范圍內(nèi)。
【附圖說明】
[0016]圖1為本發(fā)明進行衛(wèi)星定位信號解析的方法的流程圖。
[0017]圖2為圖1中校驗值計算的流程圖。
[0018]圖3為圖1中解析衛(wèi)星定位信號的流程圖。
【具體實施方式】
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1