本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別涉及一種數(shù)據(jù)處理方法和裝置。
背景技術(shù):
磁羅盤是一組三軸正交的磁場感應(yīng)傳感器。通過感應(yīng)地球磁場,磁羅盤提供了一組矢量,即一個(gè)三維數(shù)據(jù)。例如在無人機(jī)導(dǎo)航系統(tǒng)中,這組矢量可以用來輔助確定飛機(jī)的偏航角。
由于磁羅盤的使用場景中往往有強(qiáng)磁場源,使磁羅盤容易收到干擾,從而使導(dǎo)航系統(tǒng)失去偏航角估計(jì)的準(zhǔn)確性。為了適應(yīng)不同的電磁環(huán)境或地理位置,往往需要進(jìn)行較為復(fù)雜的磁羅盤校正操作。
為了檢測或消除磁羅盤受到的干擾,現(xiàn)有技術(shù)中主要采用以下方法。
1.將陀螺儀和羅盤的測量值進(jìn)行融合。其主要思想是利用陀螺儀測量角速度,以補(bǔ)償受干擾情況下的羅盤讀數(shù)。然而,這種方法僅能夠在短時(shí)間內(nèi)補(bǔ)償羅盤的誤差。如果長時(shí)間采用這種方法,羅盤的誤差會(huì)累積,導(dǎo)致融合時(shí)出現(xiàn)偏差。
2.采用兩個(gè)或多個(gè)羅盤同時(shí)工作,將兩個(gè)或多個(gè)羅盤的加權(quán)平均值作為有效的地磁場測量值。然而,如果兩個(gè)或多個(gè)羅盤同時(shí)收到干擾,這種方法也會(huì)失效。
3.通過計(jì)算羅盤的度數(shù)的模值來判斷羅盤度數(shù)是否異常。即,如果羅盤的度數(shù)的模值不在預(yù)設(shè)范圍內(nèi),則認(rèn)為羅盤收到了其他磁場的干擾。然而,這種方式僅能夠提供報(bào)警,但無法對(duì)羅盤進(jìn)行校準(zhǔn)。校準(zhǔn)的過程需要進(jìn)行人工操作,因此這種方法無法對(duì)羅盤進(jìn)行實(shí)時(shí)的校準(zhǔn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例所要解決的一個(gè)技術(shù)問題是:如何實(shí)時(shí)地對(duì)羅盤進(jìn)行準(zhǔn)確的校準(zhǔn)。
根據(jù)本發(fā)明實(shí)施例的第一個(gè)方面,提供一種數(shù)據(jù)處理方法,包括:獲取羅盤的第一測量數(shù)據(jù)和第二測量數(shù)據(jù),其中,第一測量數(shù)據(jù)和第二測量數(shù)據(jù)表示羅盤在不同測量位置的三個(gè)正交軸向上的磁場強(qiáng)度;確定經(jīng)過第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、并且垂直于第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的連線的平面;將預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng),獲得本次估計(jì)的羅盤中心位置;采用本次估計(jì)的羅盤中心位置對(duì)羅盤采集的測量數(shù)據(jù)進(jìn)行校準(zhǔn)。
在一個(gè)實(shí)施例中,預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng)的幅度根據(jù)預(yù)先估計(jì)的羅盤中心位置到平面的距離以及收斂參數(shù)確定。
在一個(gè)實(shí)施例中,將預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng),獲得本次估計(jì)的羅盤中心位置包括:確定第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、以及平面的單位法向量,其中,單位法向量指向從第一測量數(shù)據(jù)到第二測量數(shù)據(jù)的方向;計(jì)算預(yù)先估計(jì)的羅盤中心位置和中點(diǎn)的差與單位法向量的內(nèi)積;將預(yù)先估計(jì)的羅盤中心位置與移動(dòng)幅度的差作為本次估計(jì)的羅盤中心位置,其中,移動(dòng)幅度為收斂參數(shù)、內(nèi)積和單位法向量的乘積。
在一個(gè)實(shí)施例中,第一測量數(shù)據(jù)和第二測量數(shù)據(jù)之間的分散程度大于預(yù)設(shè)值。
在一個(gè)實(shí)施例中,獲取羅盤的第一測量數(shù)據(jù)和第二測量數(shù)據(jù)包括:依次獲取羅盤的第一測量數(shù)據(jù)和備選測量數(shù)據(jù);將第一測量數(shù)據(jù)和備選測量數(shù)據(jù)分別與預(yù)先估計(jì)的羅盤中心位置連線;如果兩條連線之間的夾角小于預(yù)設(shè)值,繼續(xù)采集羅盤的測量數(shù)據(jù)以更新備選測量數(shù)據(jù);如果兩條連線之間的夾角大于或等于預(yù)設(shè)值,將備選測量數(shù)據(jù)作為第二測量數(shù)據(jù)。
在一個(gè)實(shí)施例中,對(duì)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)進(jìn)行尺度變換,其中,進(jìn)行尺度變換時(shí)采用的尺度系數(shù)用于將橢球體上的點(diǎn)變換為正球體上的點(diǎn)。
在一個(gè)實(shí)施例中,將羅盤采集的測量數(shù)據(jù)減去本次估計(jì)的羅盤中心位置,以便完成對(duì)羅盤采集的測量數(shù)據(jù)的校準(zhǔn)。
根據(jù)本發(fā)明實(shí)施例的第二個(gè)方面,提供一種數(shù)據(jù)處理裝置,包括:數(shù)據(jù)獲取模塊,被配置為獲取羅盤的第一測量數(shù)據(jù)和第二測量數(shù)據(jù),其中,第一測量數(shù)據(jù)和第二測量數(shù)據(jù)表示羅盤在不同測量位置的三個(gè)正交軸向上的磁場強(qiáng)度;平面確定模塊,被配置為確定經(jīng)過第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、并且垂直于第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的連線的平面;中心位置調(diào)整模塊,被配置為將預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng),獲得本次估計(jì)的羅盤中心位置;校準(zhǔn)模塊,被配置為采用本次估計(jì)的羅盤中心位置對(duì)羅盤采集的測量數(shù)據(jù)進(jìn)行校準(zhǔn)。
在一個(gè)實(shí)施例中,中心位置調(diào)整模塊被配置為根據(jù)預(yù)先估計(jì)的羅盤中心位置到平面的距離以及收斂參數(shù)確定預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng)的幅度。
在一個(gè)實(shí)施例中,中心位置調(diào)整模塊被配置為:確定第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、以及平面的單位法向量,其中,單位法向量指向從第一測量數(shù)據(jù)到第二測量數(shù)據(jù)的方向;計(jì)算預(yù)先估計(jì)的羅盤中心位置和中點(diǎn)的差與單位法向量的內(nèi)積;將預(yù)先估計(jì)的羅盤中心位置與移動(dòng)幅度的差作為本次估計(jì)的羅盤中心位置,其中,移動(dòng)幅度為收斂參數(shù)、內(nèi)積和單位法向量的乘積。
在一個(gè)實(shí)施例中,第一測量數(shù)據(jù)和第二測量數(shù)據(jù)之間的分散程度大于預(yù)設(shè)值。
在一個(gè)實(shí)施例中,數(shù)據(jù)獲取模塊進(jìn)一步被配置為:依次獲取羅盤的第一測量數(shù)據(jù)和備選測量數(shù)據(jù);將第一測量數(shù)據(jù)和備選測量數(shù)據(jù)分別與預(yù)先估計(jì)的羅盤中心位置連線;如果兩條連線之間的夾角小于預(yù)設(shè)值,繼續(xù)采集羅盤的測量數(shù)據(jù)以更新備選測量數(shù)據(jù);如果兩條連線之間的夾角大于或等于預(yù)設(shè)值,將備選測量數(shù)據(jù)作為第二測量數(shù)據(jù)。
在一個(gè)實(shí)施例中,數(shù)據(jù)獲取模塊還被配置為對(duì)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)進(jìn)行尺度變換,其中,進(jìn)行尺度變換時(shí)采用的尺度系數(shù)用于將橢球體上的點(diǎn)變換為正球體上的點(diǎn)。
在一個(gè)實(shí)施例中,校準(zhǔn)模塊進(jìn)一步被配置為將羅盤采集的測量數(shù)據(jù)減去本次估計(jì)的羅盤中心位置,以便完成對(duì)羅盤采集的測量數(shù)據(jù)的校準(zhǔn)。
根據(jù)本發(fā)明實(shí)施例的第三個(gè)方面,提供一種數(shù)據(jù)處理裝置,包括:存儲(chǔ)器;以及耦接至所述存儲(chǔ)器的處理器,處理器被配置為基于存儲(chǔ)在所述存儲(chǔ)器中的指令,執(zhí)行前述任意一種數(shù)據(jù)處理方法。
根據(jù)本發(fā)明實(shí)施例的第四個(gè)方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述任意一種數(shù)據(jù)處理方法。
上述發(fā)明中的一個(gè)實(shí)施例具有如下優(yōu)點(diǎn)或有益效果:通過假設(shè)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)位于正球體的表面,令估計(jì)的羅盤中心位置向該正球體的球心所在的平面移動(dòng),可以使估計(jì)的羅盤中心位置接近真實(shí)的羅盤中心位置,并且可以針對(duì)任意時(shí)刻采集的測量數(shù)據(jù)進(jìn)行處理,從而能夠?qū)崟r(shí)地對(duì)羅盤采集的測量數(shù)據(jù)進(jìn)行估計(jì),并且提高了測量的準(zhǔn)確性。
通過以下參照附圖對(duì)本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明數(shù)據(jù)處理方法的一個(gè)實(shí)施例的流程圖。
圖2a為本發(fā)明數(shù)據(jù)處理方法的另一個(gè)實(shí)施例的流程圖。
圖2b為本發(fā)明數(shù)據(jù)處理方法的一個(gè)實(shí)施例中各個(gè)變量的位置關(guān)系示意圖。
圖3為本發(fā)明數(shù)據(jù)處理裝置的一個(gè)實(shí)施例的結(jié)構(gòu)圖。
圖4為本發(fā)明數(shù)據(jù)處理裝置的一個(gè)實(shí)施例的結(jié)構(gòu)圖。
圖5為本發(fā)明數(shù)據(jù)處理裝置的又一個(gè)實(shí)施例的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際的比例關(guān)系繪制的。
對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為授權(quán)說明書的一部分。
在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它示例可以具有不同的值。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
在正常的情況下,羅盤所采集的讀數(shù)分布在一個(gè)橢球體的表面,該橢球體的橢球心即為羅盤中心位置。
設(shè)羅盤采集的測量數(shù)據(jù)為m=[mx,my,mz]t,其中,mx、my和mz分別表示羅盤中的磁力計(jì)測量到的三個(gè)正交軸上的地磁場強(qiáng)度。
通常地,羅盤的讀數(shù)滿足公式(1)。
(m-c)tq(m-c)=r(1)
在公式(1)中,r表示地磁場強(qiáng)度值;c表示羅盤中心位置,并且c=[cx,cy,cz]t;q表示羅盤中的磁力計(jì)在三個(gè)正交軸上的讀數(shù)尺度,該讀數(shù)尺度用于將橢球體上的點(diǎn)變換為正球體上的點(diǎn),其具體表示可以參見公式(2)。
在公式(2)中,qx、qy和qz的值約等于1。這些值可以在羅盤標(biāo)定的階段得到,本發(fā)明中假定這三個(gè)值已知或不變。
在現(xiàn)有技術(shù)中,往往設(shè)定c為常數(shù)。然而,隨著位置、周圍環(huán)境等因素的變化,羅盤中心位置可能也會(huì)產(chǎn)生變化。因此如果將c設(shè)定為常數(shù),羅盤的測量結(jié)果會(huì)產(chǎn)生誤差。本發(fā)明通過對(duì)c進(jìn)行實(shí)時(shí)的估計(jì),從而可以及時(shí)地調(diào)整羅盤的讀數(shù),以提高羅盤的測量精確度。
圖1為本發(fā)明數(shù)據(jù)處理方法的一個(gè)實(shí)施例的流程圖。如圖1所示,該實(shí)施例的方法包括步驟s102~步驟s108。
在步驟s102中,獲取羅盤的第一測量數(shù)據(jù)和第二測量數(shù)據(jù),其中,第一測量數(shù)據(jù)和第二測量數(shù)據(jù)表示羅盤在不同測量位置的三個(gè)正交軸向上的磁場強(qiáng)度。
第一測量數(shù)據(jù)可以是上次進(jìn)行羅盤中心位置估計(jì)時(shí)采用的數(shù)據(jù),第二測量數(shù)據(jù)可以是當(dāng)前采集的數(shù)據(jù);第一測量數(shù)據(jù)和第二測量數(shù)據(jù)也可以均是準(zhǔn)備進(jìn)行本次估計(jì)時(shí)先后采集的兩個(gè)數(shù)據(jù)。
在獲取第一測量數(shù)據(jù)和第二測量數(shù)據(jù)后,還可以對(duì)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)進(jìn)行尺度變換,其中,進(jìn)行尺度變換時(shí)采用的尺度系數(shù)用于將橢球體上的點(diǎn)變換為正球體上的點(diǎn)。尺度系數(shù)可以為
在步驟s104中,確定經(jīng)過第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、并且垂直于第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的連線的平面。
本發(fā)明首先假設(shè)采集的數(shù)據(jù)位于正球體的表面,此時(shí),該正球體的球心位于經(jīng)過第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、并且垂直于第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的連線的平面上。
在步驟s106中,將預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng),獲得本次估計(jì)的羅盤中心位置。
預(yù)先估計(jì)的羅盤中心位置例如可以是在上一次調(diào)整后所估計(jì)的羅盤中心位置,也可以是一個(gè)預(yù)設(shè)值。
由于實(shí)際的測量過程誤差或者環(huán)境干擾,采集的數(shù)據(jù)可能實(shí)際上并未嚴(yán)格地位于正球體的表面。因此,可以僅將預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng)一定的距離,以使本次估計(jì)的羅盤中心位置比之前預(yù)先估計(jì)的羅盤中心位置更靠近真實(shí)的羅盤中心位置。
在步驟s108中,采用本次估計(jì)的羅盤中心位置對(duì)羅盤采集的測量數(shù)據(jù)進(jìn)行校準(zhǔn)。
在一個(gè)實(shí)施例中,可以將羅盤采集的測量數(shù)據(jù)減去本次估計(jì)的羅盤中心位置并輸出羅盤的讀數(shù),以便完成對(duì)羅盤采集的測量數(shù)據(jù)的校準(zhǔn)。
上述實(shí)施例的方法通過假設(shè)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)位于正球體的表面,令估計(jì)的羅盤中心位置向該正球體的球心所在的平面移動(dòng),可以使估計(jì)的羅盤中心位置接近真實(shí)的羅盤中心位置。并且,本發(fā)明實(shí)施例的方法可以針對(duì)任意時(shí)刻采集的測量數(shù)據(jù)進(jìn)行處理,從而能夠?qū)崟r(shí)地對(duì)羅盤采集的測量數(shù)據(jù)進(jìn)行估計(jì),并且提高了測量的準(zhǔn)確性。
此外,還可以多次執(zhí)行本發(fā)明實(shí)施例的方法,以不斷地對(duì)估計(jì)的羅盤中心位置進(jìn)行調(diào)整,可以使估計(jì)的值逐步接近真實(shí)值。
為了降低噪聲對(duì)校準(zhǔn)誤差所帶來的影響,在對(duì)羅盤的中心位置進(jìn)行估計(jì)之前,本發(fā)明實(shí)施例提供的方法還可以對(duì)采集的測量數(shù)據(jù)進(jìn)行篩選,以確定第一測量數(shù)據(jù)和第二測量數(shù)據(jù)。
在一個(gè)實(shí)施例中,羅盤的第一測量數(shù)據(jù)和第二測量數(shù)據(jù)之間的分散程度應(yīng)當(dāng)大于預(yù)設(shè)值。分散程度可以用第一測量數(shù)據(jù)和第二測量數(shù)據(jù)之間的距離表示,也可以用第一測量數(shù)據(jù)和備選測量數(shù)據(jù)分別與第一羅盤中心位置連線后、兩條連線之間的夾角表示。
如果兩個(gè)測量數(shù)據(jù)之間的分散程度過小、距離過近,那么根據(jù)這兩個(gè)測量數(shù)據(jù)確定的平面很可能距離真實(shí)的球心位置較遠(yuǎn)。因此,本發(fā)明的一個(gè)實(shí)施例可以僅根據(jù)分散程度大于預(yù)設(shè)值的數(shù)據(jù)進(jìn)行估計(jì),從而使估計(jì)的結(jié)果更準(zhǔn)確。
一種篩選方式為,依次采集羅盤的第一測量數(shù)據(jù)和備選測量數(shù)據(jù),第一測量數(shù)據(jù)例如可以是在上一次校準(zhǔn)過程中所使用的第二測量數(shù)據(jù);然后,判斷第一測量數(shù)據(jù)和備選測量數(shù)據(jù)分別與第一羅盤中心位置連線后、兩條連線之間的夾角。
如果該夾角小于預(yù)設(shè)值,繼續(xù)采集羅盤的測量數(shù)據(jù)以更新備選測量數(shù)據(jù),即,丟棄原來采集的備選測量數(shù)據(jù),并且再次采集數(shù)據(jù)進(jìn)行上述判斷過程;如果該夾角大于預(yù)設(shè)值,將更新后的備選測量數(shù)據(jù)作為第二測量數(shù)據(jù)。
通過采用這種方法,可以衡量數(shù)據(jù)之間的分散程度,提高了信噪比,使后續(xù)的估計(jì)結(jié)果更準(zhǔn)確。
設(shè)第一測量數(shù)據(jù)采用mk-1表示,備選測量數(shù)據(jù)采用mk表示。判斷二者之間的關(guān)系是否滿足公式(3)。
如果mk-1和mk之間的關(guān)系滿足公式(3),則采納mk作為第二測量數(shù)據(jù),以便進(jìn)行后續(xù)的羅盤的中心位置的估計(jì)過程;如果mk-1和mk之間的關(guān)系不滿足公式(3),則丟棄mk并重新采集數(shù)據(jù),再進(jìn)行公式(3)的判斷過程。
圖2a為本發(fā)明數(shù)據(jù)處理方法的另一個(gè)實(shí)施例的流程圖,圖2b為該實(shí)施例中各個(gè)變量的位置關(guān)系示意圖。為了便于表示,圖2b中僅給出該球體的剖面圖,并且圖2b中展示的剖面是第一測量數(shù)據(jù)、第二測量數(shù)據(jù)和預(yù)先估計(jì)的羅盤中心位置所在的剖面。
如圖2a所示,該實(shí)施例的方法包括步驟s202~步驟s108。
在步驟s202中,獲取羅盤的第一測量數(shù)據(jù)和第二測量數(shù)據(jù),其中,第一測量數(shù)據(jù)和第二測量數(shù)據(jù)包括羅盤在測量位置的三個(gè)正交軸向上的磁場強(qiáng)度。
在步驟s204中,確定經(jīng)過第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、并且垂直于第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的連線的平面。
設(shè)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)為lk,則lk可以采用公式(4)表示。
過lk做垂直于向量(nk-1-nk)的平面ω,在理想情況下,球心c應(yīng)當(dāng)位于平面ω上。
在步驟s206中,對(duì)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)進(jìn)行尺度變換。
如果羅盤所采集的讀數(shù)位于一個(gè)正球體的表面,則可以直接采用第一測量數(shù)據(jù)和第二測量數(shù)據(jù)進(jìn)行估計(jì);如果羅盤所采集的讀數(shù)位于一個(gè)橢球體的表面,為了便于校準(zhǔn),可以將數(shù)據(jù)變換到與該橢球體具有相同球心、并且半徑近似的正球體上。
例如,設(shè)第一測量數(shù)據(jù)為nk-1、第二測量數(shù)據(jù)為nk。令
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚,也可以選擇不對(duì)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)進(jìn)行尺度變換。為了便于敘述,下文的處理過程統(tǒng)一采用nk-1、nk表示變換后的或者選擇不進(jìn)行變換的nk-1、nk。
在步驟s208中,確定第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、以及平面的單位法向量,其中,單位法向量指向從第一測量數(shù)據(jù)到第二測量數(shù)據(jù)的方向。
第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)為步驟s204中的lk。平面ω的單位法向量pk可以采用公式(5)表示。
接下來,可以采用投影算子對(duì)羅盤的中心位置進(jìn)行估計(jì)。設(shè)預(yù)先估計(jì)的羅盤的中心位置為
在步驟s210中,計(jì)算預(yù)先估計(jì)的羅盤中心位置和中點(diǎn)的差與單位法向量的內(nèi)積。
設(shè)上述內(nèi)積為λk,則λk可以采用公式(6)表示。
上述內(nèi)積的結(jié)果表示向量
在步驟s212中,將預(yù)先估計(jì)的羅盤中心位置與移動(dòng)幅度的差作為本次估計(jì)的羅盤中心位置,移動(dòng)幅度為收斂參數(shù)、所述內(nèi)積和所述單位法向量的乘積。
設(shè)η為收斂參數(shù),則本次估計(jì)的羅盤中心位置
通常地,η的取值范圍為[0,1]。當(dāng)η值為1時(shí),說明
在步驟s214中,采用本次估計(jì)的羅盤中心位置對(duì)羅盤采集的測量數(shù)據(jù)進(jìn)行校準(zhǔn)。
通過采用上述方法,可以令估計(jì)的羅盤中心位置垂直地向第一測量數(shù)據(jù)和第二測量數(shù)據(jù)所在球體的球心位于的平面移動(dòng),從而可以令估計(jì)的羅盤中心位置盡快向真實(shí)的羅盤中心位置逼近。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚,根據(jù)實(shí)際的數(shù)據(jù)情況,估計(jì)的羅盤中心位置可以以不同方式延垂直方向向平面移動(dòng)。
下面參考圖3描述本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理裝置。
圖3為本發(fā)明數(shù)據(jù)處理裝置的一個(gè)實(shí)施例的結(jié)構(gòu)程圖。如圖3所示,該實(shí)施例的數(shù)據(jù)處理裝置包括:數(shù)據(jù)獲取模塊31,被配置為獲取羅盤的第一測量數(shù)據(jù)和第二測量數(shù)據(jù),其中,第一測量數(shù)據(jù)和第二測量數(shù)據(jù)表示羅盤在不同測量位置的三個(gè)正交軸向上的磁場強(qiáng)度;平面確定模塊32,被配置為確定經(jīng)過第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、并且垂直于第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的連線的平面;中心位置調(diào)整模塊33,被配置為將預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng),獲得本次估計(jì)的羅盤中心位置;校準(zhǔn)模塊34,被配置為采用本次估計(jì)的羅盤中心位置對(duì)羅盤采集的測量數(shù)據(jù)進(jìn)行校準(zhǔn)。
在一個(gè)實(shí)施例中,第一測量數(shù)據(jù)和第二測量數(shù)據(jù)之間的分散程度大于預(yù)設(shè)值。
在一個(gè)實(shí)施例中,數(shù)據(jù)獲取模塊31進(jìn)一步被配置為:依次獲取羅盤的第一測量數(shù)據(jù)和備選測量數(shù)據(jù);將第一測量數(shù)據(jù)和備選測量數(shù)據(jù)分別與預(yù)先估計(jì)的羅盤中心位置連線;如果兩條連線之間的夾角小于預(yù)設(shè)值,繼續(xù)采集羅盤的測量數(shù)據(jù)以更新備選測量數(shù)據(jù);如果兩條連線之間的夾角大于或等于預(yù)設(shè)值,將備選測量數(shù)據(jù)作為第二測量數(shù)據(jù)。
在一個(gè)實(shí)施例中,數(shù)據(jù)獲取模塊31還被配置為對(duì)第一測量數(shù)據(jù)和第二測量數(shù)據(jù)進(jìn)行尺度變換,其中,進(jìn)行尺度變換時(shí)采用的尺度系數(shù)用于將橢球體上的點(diǎn)變換為正球體上的點(diǎn)。
在一個(gè)實(shí)施例中,中心位置調(diào)整模塊33被配置為根據(jù)預(yù)先估計(jì)的羅盤中心位置到平面的距離以及收斂參數(shù)確定預(yù)先估計(jì)的羅盤中心位置向平面方向移動(dòng)的幅度。
在一個(gè)實(shí)施例中,中心位置調(diào)整模塊33被配置為:確定第一測量數(shù)據(jù)和第二測量數(shù)據(jù)的中點(diǎn)、以及平面的單位法向量,其中,單位法向量指向從第一測量數(shù)據(jù)到第二測量數(shù)據(jù)的方向;計(jì)算預(yù)先估計(jì)的羅盤中心位置和中點(diǎn)的差與單位法向量的內(nèi)積;將預(yù)先估計(jì)的羅盤中心位置與移動(dòng)幅度的差作為本次估計(jì)的羅盤中心位置,其中,移動(dòng)幅度為收斂參數(shù)、內(nèi)積和單位法向量的乘積。
在一個(gè)實(shí)施例中,校準(zhǔn)模塊34進(jìn)一步被配置為將羅盤采集的測量數(shù)據(jù)減去本次估計(jì)的羅盤中心位置,以便完成對(duì)羅盤采集的測量數(shù)據(jù)的校準(zhǔn)。
圖4為本發(fā)明數(shù)據(jù)處理裝置的另一個(gè)實(shí)施例的結(jié)構(gòu)圖。如圖4所示,該實(shí)施例的裝置400包括:存儲(chǔ)器410以及耦接至該存儲(chǔ)器410的處理器420,處理器420被配置為基于存儲(chǔ)在存儲(chǔ)器410中的指令,執(zhí)行前述任意一個(gè)實(shí)施例中的數(shù)據(jù)處理方法。
其中,存儲(chǔ)器410例如可以包括系統(tǒng)存儲(chǔ)器、固定非易失性存儲(chǔ)介質(zhì)等。系統(tǒng)存儲(chǔ)器例如存儲(chǔ)有操作系統(tǒng)、應(yīng)用程序、引導(dǎo)裝載程序(bootloader)以及其他程序等。
圖5為本發(fā)明數(shù)據(jù)處理裝置的又一個(gè)實(shí)施例的結(jié)構(gòu)圖。如圖5所示,該實(shí)施例的裝置400包括:存儲(chǔ)器410以及處理器420,還可以包括輸入輸出接口530、網(wǎng)絡(luò)接口540、存儲(chǔ)接口550等。這些接口530,540,550以及存儲(chǔ)器410和處理器420之間例如可以通過總線560連接。其中,輸入輸出接口530為顯示器、鼠標(biāo)、鍵盤、觸摸屏等輸入輸出設(shè)備提供連接接口。網(wǎng)絡(luò)接口540為各種聯(lián)網(wǎng)設(shè)備提供連接接口。存儲(chǔ)接口550為sd卡、u盤等外置存儲(chǔ)設(shè)備提供連接接口。
本發(fā)明的實(shí)施例還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述任意一種數(shù)據(jù)處理方法。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)當(dāng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用非瞬時(shí)性存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解為可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。