專利名稱:一種移動(dòng)終端電池信息的數(shù)據(jù)處理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種移動(dòng)終端電池信息的數(shù)據(jù)處理方法及系統(tǒng)。
背景技術(shù):
穩(wěn)定可靠的電池信息采樣值為移動(dòng)終端基本功能的實(shí)現(xiàn)提供了可靠的保障,也有利于提升用戶體驗(yàn)。電池信息采樣一般包括電池電壓的采集或者電池溫度的采集,然而這兩種電池信息的采集都會(huì)受到一些影響。例如在電池電壓的采集過(guò)程中,電池電壓容易受到電流的影響,電池電壓隨著電流的波動(dòng)而波動(dòng),使得電池電壓采樣結(jié)果不穩(wěn)定,導(dǎo)致依賴于電池信息計(jì)算得到的電量信息來(lái)回波動(dòng)而出現(xiàn)異常關(guān)機(jī)和停止充電的情況發(fā)生;同時(shí)電池電壓的不穩(wěn)定也影響了低電報(bào)警與關(guān)機(jī)功能的實(shí)現(xiàn)。在電池溫度的采集過(guò)程中,用于采集電池溫度的電池溫度傳感器(NTC)的參考電壓容易受到干擾,使得溫度采集出現(xiàn)錯(cuò)誤值,·導(dǎo)致異常關(guān)機(jī)和停止充電等等情況的發(fā)生。因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種移動(dòng)終端電池信息的數(shù)據(jù)處理方法及系統(tǒng),旨在解決現(xiàn)有移動(dòng)終端電池信息采樣值不穩(wěn)定、不可靠的問(wèn)題。本發(fā)明的技術(shù)方案如下
一種移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,包括步驟
A、移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端的電池信息獲得電池信息的采樣值,并以所述采樣值作為開(kāi)機(jī)的返回結(jié)果;
B、開(kāi)機(jī)完成后,設(shè)置一包含若干數(shù)量的電池信息的濾波窗口,并以先進(jìn)先出方式更新濾波窗口中的電池信息,以濾波窗口內(nèi)的電池信息的平均值或中間值作為開(kāi)機(jī)完成后的返回結(jié)果。所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,所述電池信息為電池電壓。所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,所述步驟A具體包括
Al、移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器獲取移動(dòng)終端電池電壓的采樣值;
A2、判斷所述采樣值的數(shù)量是否達(dá)到預(yù)設(shè)的數(shù)量;
A3、當(dāng)所述采樣值的數(shù)量達(dá)到預(yù)設(shè)的數(shù)量時(shí),以該預(yù)設(shè)數(shù)量的采樣值中的最大值作為開(kāi)機(jī)的返回結(jié)果;當(dāng)所述采樣值未達(dá)到預(yù)設(shè)的數(shù)量時(shí),以所采集的采樣值中的最大值作為開(kāi)機(jī)的返回結(jié)果。所述所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,所述步驟Al具體包括
AU、判斷所述移動(dòng)終端是否處于開(kāi)機(jī)階段,當(dāng)是時(shí),獲取移動(dòng)終端電池電壓的采樣值,
否則執(zhí)行步驟A12 ;
A12、判斷所述移動(dòng)終端是否從飛行睡眠模式中退出,當(dāng)是時(shí),執(zhí)行步驟A13,否則轉(zhuǎn)入步驟B ;
A13、通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端當(dāng)前的電池電壓,并以當(dāng)前的采樣值初始化電池電壓作為飛行睡眠模式的返回結(jié)果。所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,所述步驟B具體包括 BI、設(shè)置一索引變量,所述索引變量與最先進(jìn)入濾波窗口的電池電壓的采樣值相對(duì)
應(yīng);
B2、當(dāng)新的采樣值進(jìn)入到濾波窗口時(shí),判斷所述索引變量是否達(dá)到預(yù)定閥值,當(dāng)是時(shí),將所述索引變量重置為0,并轉(zhuǎn)入步驟B3,否則直接執(zhí)行步驟B3 ;
B3、將索引變量自動(dòng)加1,并以新的采樣值替換掉濾波窗口中索引變量對(duì)應(yīng)的采樣值;B4、對(duì)所述濾波窗口中的采樣值進(jìn)行平均值處理,將獲得的平均值作為開(kāi)機(jī)完成后的返回結(jié)果。所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,所述方法還包括
當(dāng)所述移動(dòng)終端的電池被拔出后,以O(shè)作為電池拔出的返回結(jié)果。所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,所述電池信息為電池溫度。所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,所述步驟A具體包括
A01、判斷移動(dòng)終端是否處于開(kāi)機(jī)階段;
A02、當(dāng)所述移動(dòng)終端處于開(kāi)機(jī)階段時(shí),通過(guò)模數(shù)轉(zhuǎn)換器獲取移動(dòng)終端電池溫度當(dāng)前的采樣值,并以當(dāng)前采樣值作為開(kāi)機(jī)的返回結(jié)果;否則轉(zhuǎn)入步驟B。所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其中,所述步驟B具體包括
B01、設(shè)置一索引變量,所述索引變量與最先進(jìn)入濾波窗口的電池電壓的采樣值相對(duì)
應(yīng);
B02、當(dāng)新的采樣值進(jìn)入到濾波窗口時(shí),判斷所述索引變量是否達(dá)到預(yù)定閥值,當(dāng)是時(shí),將所述索引變量重置為0,并轉(zhuǎn)入步驟B03,否則直接執(zhí)行步驟B03 ;
B03、將索引變量自動(dòng)加I,并以新的采樣值替換掉濾波窗口中索引變量對(duì)應(yīng)的采樣
值;
B04、對(duì)所述濾波窗口中的采樣值進(jìn)行排序,并以排序后的中間值作為開(kāi)機(jī)完成后的返回結(jié)果。一種移動(dòng)終端電池信息的數(shù)據(jù)處理系統(tǒng),其中,包括
初始化模塊,用于移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端的電池信息獲得電池信息的采樣值,并以所述采樣值作為開(kāi)機(jī)的返回結(jié)果;
平均及中值處理模塊,用于開(kāi)機(jī)完成后,設(shè)置一包含若干數(shù)量的電池信息的濾波窗口,并以先進(jìn)先出方式更新濾波窗口中的電池信息,以濾波窗口內(nèi)的電池信息的平均值或中間值作為開(kāi)機(jī)完成后的返回結(jié)果。有益效果本發(fā)明通過(guò)對(duì)采集的電池信息進(jìn)行濾波處理,并以先進(jìn)先出原則更新濾波窗口中的電池信息,最后將濾波窗口內(nèi)的電池信息的平均值或中間值作為返回結(jié)果,從而獲得了穩(wěn)定可靠的電池信息,本發(fā)明算法效率高,可移植性好,不影響其他模塊的工作,提升了用戶的體驗(yàn)。
圖I為本發(fā)明移動(dòng)終端電池信息的數(shù)據(jù)處理方法較佳實(shí)施例的流程圖。圖2為圖I所示方法中電池信息為電池電壓時(shí)開(kāi)機(jī)階段的處理流程圖。圖3為圖2所示方法中飛行睡眠模式的處理流程圖。圖4為圖I所示方法中電池信息為電池電壓時(shí)滑動(dòng)平均濾波處理流程圖。圖5為圖I所示方法中電池信息為電池溫度時(shí)開(kāi)機(jī)階段的處理流程圖。圖6為圖I所示方法中電池信息為電池溫度時(shí)中值濾波處理流程圖。圖7為本發(fā)明移動(dòng)終端電池信息的數(shù)據(jù)處理系統(tǒng)較佳實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施方式
本發(fā)明提供一種移動(dòng)終端電池信息的數(shù)據(jù)處理方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。請(qǐng)參閱圖1,圖I為本發(fā)明移動(dòng)終端電池信息的數(shù)據(jù)處理方法較佳實(shí)施例的流程圖,如圖所示,其包括步驟
5101、移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端的電池信息獲得電池信息的采樣值,并以所述采樣值作為開(kāi)機(jī)的返回結(jié)果;
5102、開(kāi)機(jī)完成后,設(shè)置一包含若干數(shù)量的電池信息的濾波窗口,并以先進(jìn)先出方式更新濾波窗口中的電池信息,以濾波窗口內(nèi)的電池信息的平均值或中間值作為開(kāi)機(jī)完成后的返回結(jié)果。開(kāi)機(jī)完成后,也需要通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端的電池信息獲得電池信息的采樣值,然后通過(guò)采樣值以先進(jìn)先出方式更新濾波窗口中的電池信息,即更新濾波窗口的buffer (數(shù)據(jù)緩沖器,將送來(lái)的數(shù)據(jù)暫時(shí)存放,供其他模塊取走使用),最后以平均值或中間值作為開(kāi)機(jī)完成后的返回結(jié)果。進(jìn)一步地,所述電池信息為電池電壓或電池溫度,通過(guò)獲取上述任一種電池信息作為返回結(jié)果,本發(fā)明中的返回結(jié)果由移動(dòng)終端的其他模塊實(shí)時(shí)提取使用,進(jìn)行后續(xù)的計(jì)算及轉(zhuǎn)換,最后得出電池電量信息,實(shí)現(xiàn)移動(dòng)終端的各種功能。本發(fā)明中的電池電壓或電池溫度通過(guò)模數(shù)轉(zhuǎn)換器采樣獲取,模數(shù)轉(zhuǎn)換器是指將模擬信號(hào)轉(zhuǎn)變成數(shù)字信號(hào)的電子元件,為了提高采樣值的可靠性和穩(wěn)定性,本發(fā)明針對(duì)電池電壓和電池溫度兩種電池信息都進(jìn)行了濾波處理,以濾波窗口內(nèi)的電池信息的平均值或中間值作為返回結(jié)果,而不是直接將采樣值作為返回結(jié)果,提高了數(shù)據(jù)的準(zhǔn)確性。同時(shí),本發(fā)明還針對(duì)電池電壓和電池溫度的不同特點(diǎn),進(jìn)行了不同的處理,以提高采樣值的可靠性。針對(duì)電池電壓采樣過(guò)程,本發(fā)明對(duì)開(kāi)機(jī)階段的采樣值進(jìn)行了最大值處理,如圖2所示,其包括步驟
S201、移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器獲取移動(dòng)終端電池電壓的采樣值;在移動(dòng)終端開(kāi)機(jī)階段,如果直接將某個(gè)相對(duì)不太準(zhǔn)確的采樣值作為返回結(jié)果,那么其需要經(jīng)過(guò)一個(gè)濾波窗口的時(shí)間,才能完全返回相對(duì)準(zhǔn)確的采樣值,所以,在開(kāi)機(jī)階段需要一個(gè)準(zhǔn)確的采樣值來(lái)初始化返回結(jié)果,否則誤差將會(huì)影響一整個(gè)濾波窗口的時(shí)間。在移動(dòng)終端開(kāi)機(jī)階段,由于啟動(dòng)過(guò)程中,電池電壓會(huì)因?yàn)殡娏鬟^(guò)大而被拉低,所以需要將相對(duì)較大的采樣值作為返回結(jié)果,具體實(shí)施方法是以某個(gè)預(yù)設(shè)的數(shù)量的采樣值中最大的采樣值作為返回結(jié)果,例如20個(gè),這樣獲得的返回結(jié)果也較準(zhǔn)確。S202、判斷所述采樣值的數(shù)量是否達(dá)到預(yù)設(shè)的數(shù)量;此步驟判斷采樣值的數(shù)量是否達(dá)到預(yù)設(shè)的數(shù)量,針對(duì)不同的情況,進(jìn)行不同的處理。S203、當(dāng)所述采樣值的數(shù)量達(dá)到預(yù)設(shè)的數(shù)量時(shí),以該預(yù)設(shè)數(shù)量的采樣值中的最大值作為開(kāi)機(jī)的返回結(jié)果,即以該預(yù)設(shè)數(shù)量的采樣值中的最大值初始化buffer,并將該最大值作為開(kāi)機(jī)的返回結(jié)果;
S204、當(dāng)所述采樣值未達(dá)到預(yù)設(shè)的數(shù)量時(shí),以所采集的采樣值中的最大值作為開(kāi)機(jī)的返回結(jié)果,即所有已經(jīng)采集的采樣值中的最大值初始化buffer,并將該最大值作為開(kāi)機(jī)的返回結(jié)果。例如,在獲取20個(gè)采樣值后,就以這20個(gè)采樣值中的最大值作為返回結(jié)果,而如果未達(dá)到20個(gè),例如采樣值為8個(gè),那么就以這8個(gè)采樣值中的最大值作為返回結(jié)果。在模數(shù)轉(zhuǎn)換器進(jìn)行采樣時(shí),還需要判斷移動(dòng)終端是否處于開(kāi)機(jī)階段,當(dāng)是時(shí)就進(jìn)行上述的步驟,否則就需要判斷移動(dòng)終端是否從飛行睡眠模式中退出,如圖3所示,包括步 驟
5301、判斷所述移動(dòng)終端是否處于開(kāi)機(jī)階段;
5302、當(dāng)所述移動(dòng)終端不是處于開(kāi)機(jī)階段時(shí),判斷所述移動(dòng)終端是否從飛行睡眠模式中退出;
5303、當(dāng)所述移動(dòng)終端是處于開(kāi)機(jī)階段時(shí),就按照正常的開(kāi)機(jī)過(guò)程進(jìn)行處理,即獲取移動(dòng)終端電池電壓的采樣值;
5304、當(dāng)所述移動(dòng)終端是從飛行睡眠模式中退出時(shí),通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端當(dāng)前的電池電壓,并以當(dāng)前的采樣值初始化電池電壓作為飛行睡眠模式的返回結(jié)果;
5305、當(dāng)所述移動(dòng)終端未從飛行睡眠模式中退出時(shí),轉(zhuǎn)入步驟S102。當(dāng)移動(dòng)終端處于飛行睡眠模式中,為了省電,模數(shù)轉(zhuǎn)換器的采樣會(huì)中止,在采樣中止期間,返回給其他模塊使用的是歷史值,如果不更新返回結(jié)果,則誤差會(huì)影響一整個(gè)濾波窗口的時(shí)間長(zhǎng)度,所以在飛行睡眠模式后或在任何導(dǎo)致模數(shù)轉(zhuǎn)換器采樣中止的情況發(fā)生時(shí),都需要重新更新返回結(jié)果,本發(fā)明以模數(shù)轉(zhuǎn)換器當(dāng)前的采樣值初始化buffer,并將當(dāng)前的采樣值作為返回結(jié)果,以便快速更新電池信息。為了對(duì)電池電壓的采樣值進(jìn)行平均值處理,需要以FIFO (先進(jìn)先出)方式來(lái)更新濾波窗口中的采樣值,然后濾波窗口中的平均值作為返回結(jié)果,此過(guò)程稱為滑動(dòng)平均濾波,如圖4所示,所述步驟S102具體包括
5401、設(shè)置一索引變量,所述索引變量與最先進(jìn)入濾波窗口的電池電壓的采樣值相對(duì)
應(yīng);
5402、當(dāng)新的采樣值進(jìn)入到濾波窗口時(shí),判斷所述索引變量是否達(dá)到預(yù)定閥值,當(dāng)是時(shí),將所述索引變量重置為0,并轉(zhuǎn)入步驟S403,否則直接執(zhí)行步驟S403 ;
5403、將索引變量自動(dòng)加1,并以新的采樣值替換掉濾波窗口中索引變量對(duì)應(yīng)的采樣
值;
5404、對(duì)所述濾波窗口中的采樣值進(jìn)行平均值處理,將獲得的平均值作為開(kāi)機(jī)完成后的返回結(jié)果。通過(guò)上述的滑動(dòng)平均濾波處理,可以減輕模數(shù)轉(zhuǎn)換器采樣的波動(dòng),并輸出穩(wěn)定的結(jié)構(gòu),這種算法對(duì)于高頻波動(dòng)干擾具有良好的抑制作用,非常適用于電池電壓這類緩變信號(hào)的處理,獲取平穩(wěn)的濾波效果,提升用戶的體驗(yàn)。在移動(dòng)終端的使用過(guò)程中,模數(shù)轉(zhuǎn)換器采樣過(guò)程中,還檢測(cè)電池是否被拔出,當(dāng)電池被拔出后,以O(shè)作為電池拔出的返回結(jié)果。當(dāng)所述移動(dòng)終端的電池被拔出后,以O(shè)作為返回結(jié)果。電池電壓的采樣值濾波處理過(guò)程的算法實(shí)現(xiàn),如下所示
A、數(shù)據(jù)定義
#define BUFFER_SIEZE_VOLT (50)//平滑窗口長(zhǎng)度 static uint32 voltage_smooth [BUFFER_SIEZE_VOLT] ; //buffer 定義static uintl6 voltage_smooth_index;//buffer 隊(duì)尾標(biāo)記,用于數(shù)
據(jù)更新
B、開(kāi)機(jī)階段20個(gè)采樣值的最大值初始化buffer for (i = O; i < BUFFER_SIEZE_VOLT; i++)
Voltage_smooth [i] = vbatt_max;// 以最大值 vbatt_
max初始化buffer
C、飛行睡眠模式重新初始化buffer
If ( sleepandairplane_flag == I )//飛行睡眠模式下
for (i = O; i < BUFFER_SIEZE_VOLT; i++)
voItage_smooth[i] = volt_mv;//以當(dāng)前采樣值初
始化buffer
D、拔出電池后直接返回O
if ( TRUE == battery_remove ) {// 拔除電池直接返回 O
voltage_rt = O;
}
E、正常情況下FIFO原則更新buffer并計(jì)算平均值
Voltage_sum -= voltage_smooth [voltage_smooth_index] ; //FIFO 原貝更新 buffer
voltage_sum += voIt_mv;
voltage_smooth[voltage_smooth_index] = voIt_mv;
voltage_rt = voltage_sum/BUFFER_SIEZE_VOLT;//計(jì)算
平均值
voltage_smooth_index++;
voltage_smooth_index=voltage_smooth_index%BUFFER_SIEZE_VOLT;
針對(duì)電池溫度采樣過(guò)程,本發(fā)明同樣在開(kāi)機(jī)階段進(jìn)行了處理,具體如圖5所示,具體包
括
5501、判斷移動(dòng)終端是否處于開(kāi)機(jī)階段;
5502、當(dāng)所述移動(dòng)終端處于開(kāi)機(jī)階段時(shí),通過(guò)模數(shù)轉(zhuǎn)換器獲取移動(dòng)終端電池溫度當(dāng)前的采樣值,并以當(dāng)前采樣值作為開(kāi)機(jī)的返回結(jié)果;否則轉(zhuǎn)入步驟S102,即步驟S503。如果是處于開(kāi)機(jī)階段,由于電池溫度采樣值不存在與電池電壓采樣值相同的問(wèn)題,將當(dāng)前采樣值即第一次采樣值初始化buffer,并將該當(dāng)前采樣值作為返回結(jié)果較為準(zhǔn)確,如果不是開(kāi)機(jī)階段,可進(jìn)行正常的步驟S102過(guò)程。在移動(dòng)終端正常使用情況下,也是以FIFO原則來(lái)更新濾波窗口中的采樣值,但是最后輸出的返回結(jié)果并不是平均值,而是中間值,此過(guò)程稱為中值濾波,如圖6所示,其具體包括步驟
5601、設(shè)置一索引變量,所述索引變量與最先進(jìn)入濾波窗口的電池電壓的采樣值相對(duì)
應(yīng);
5602、當(dāng)新的采樣值進(jìn)入到濾波窗口時(shí),判斷所述索引變量是否達(dá)到預(yù)定閥值,當(dāng)是時(shí),將所述索引變量重置為0,并轉(zhuǎn)入步驟S603,否則直接執(zhí)行步驟S603 ;
5603、將索引變量自動(dòng)加I,并以新的采樣值替換掉濾波窗口中索引變量對(duì)應(yīng)的采樣
值;
5604、對(duì)所述濾波窗口中的采樣值進(jìn)行排序,并以排序后的中間值作為開(kāi)機(jī)完成后的返回結(jié)果。本發(fā)明中,中值濾波考慮到了電池溫度采用受到參考電壓的影響的因素,有效去除異常值,輸出中間值,解決了溫度誤報(bào)問(wèn)題。在采樣過(guò)程中,如果電池被拔出,將直接返回-34的結(jié)果,以極限低溫重新初始化返回結(jié)果。 電池溫度的采樣值濾波處理過(guò)程的算法實(shí)現(xiàn),如下所示
A、數(shù)據(jù)定義
#define BUFFER_SIEZE_TEMP 5//定義中值濾波窗口長(zhǎng)度
static int buff [BUFFER_SIEZE_TEMP] ; //定義 buffer static int buff_tmp [BUFFER_SIEZE_TEMP] ; //buffer 備份,用于排序 static int buff_index=0;//對(duì)尾位置,用于 buffer 更新
B、初始化buffer
If(Iflag) {//buffer 開(kāi)機(jī)
初始化
for(i=0; i<BUFFER_SIEZE_TEMP; i++) buff[i] = data_tmp; flag = I;
}
C、排序并獲取中間值
for (k=0; k<((BUFFER_SIEZE_TEMP+l)/2) ; k++) {//排序
for(q=k; q<BUFFER_SIEZE_TEMP; q++){
if (buff_tmp[q] < buff_tmp[k]){tmp = buff_tmp[q];buff_tmp[q] = buff_tmp[k];buff_tmp[k] = tmp;
}
}
}temp_rt = buff_tmp [ ((BUFFER_SIEZE_TEMP-1) /2) ] ;// 挑選中間值
D、拔出電池后直接返回-34
if ( TRUE == battery_remove ) {// 電池拔除
temp_rt = (-34);
}
基于上述方法,本發(fā)明還提供一種移動(dòng)終端電池信息的數(shù)據(jù)處理系統(tǒng),如圖7所示,包
括
初始化模塊100,用于移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端的電池信息獲得電池信息的采樣值,并以所述采樣值作為開(kāi)機(jī)的返回結(jié)果;·
平均及中值處理模塊200,用于開(kāi)機(jī)完成后,設(shè)置一包含若干數(shù)量的電池信息的濾波窗口,并以先進(jìn)先出方式更新濾波窗口中的電池信息,以濾波窗口內(nèi)的電池信息的平均值或中間值作為返回結(jié)果。關(guān)于各模塊的功能作用在前面已有詳述,不再贅述。本發(fā)明針對(duì)電池電壓采樣和電池溫度采樣中出現(xiàn)的問(wèn)題的不同,采樣不同的方法來(lái)對(duì)采樣值進(jìn)行處理,例如對(duì)于電池電壓采樣過(guò)程中,電池電壓容易受到電流影響而波動(dòng),所以電池電壓的采樣值容易在某個(gè)值附近上下波動(dòng),所以本發(fā)明將濾波窗口中的采樣值進(jìn)行平均濾波處理,獲得一個(gè)穩(wěn)定的平均值,消除高頻的干擾;對(duì)于電池溫度采樣過(guò)程中,由于參考電壓不穩(wěn),容易出現(xiàn)異常的錯(cuò)誤值,比如采集到了溫度數(shù)列[25,25,24,24,80],其中的80明顯是錯(cuò)誤值,進(jìn)行中值濾波后,得到中間值25,那么25即可作為返回結(jié)果,從而去除了 80這樣的錯(cuò)誤值,保證了返回結(jié)果的準(zhǔn)確性。此外,本發(fā)明還對(duì)具體應(yīng)用時(shí)可能遇到的各種場(chǎng)景進(jìn)行了改進(jìn),例如在移動(dòng)終端處于開(kāi)機(jī)時(shí)、在移動(dòng)終端處于飛行睡眠模式時(shí)、在移動(dòng)終端電池被拔出時(shí)等這樣的特殊場(chǎng)景,對(duì)采樣值進(jìn)行了針對(duì)性的處理,使最終返回的結(jié)果更加準(zhǔn)確。本發(fā)明中的數(shù)據(jù)處理方法,是針對(duì)采樣數(shù)據(jù)進(jìn)行處理,所以對(duì)于移動(dòng)終端中的其他處理模塊不產(chǎn)生影響,即使后期出現(xiàn)模數(shù)轉(zhuǎn)換器采樣的問(wèn)題,也只需對(duì)采樣數(shù)據(jù)進(jìn)行處理,而不用對(duì)整個(gè)系統(tǒng)都進(jìn)行改變,所以增強(qiáng)了容錯(cuò)性,方便了數(shù)據(jù)的修正處理。綜上所述,本發(fā)明通過(guò)對(duì)采集的電池信息進(jìn)行濾波處理,并以先進(jìn)先出原則更新濾波窗口中的電池信息,最后將濾波窗口內(nèi)的電池信息的平均值或中間值作為返回結(jié)果,從而獲得了穩(wěn)定可靠的電池信息,本發(fā)明算法效率高,可移植性好,不影響其他模塊的工作,提升了用戶的體驗(yàn)。應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)上述說(shuō)明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,包括步驟 A、移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端的電池信息獲得電池信息的采樣值,并以所述采樣值作為開(kāi)機(jī)的返回結(jié)果; B、開(kāi)機(jī)完成后,設(shè)置一包含若干數(shù)量的電池信息的濾波窗口,并以先進(jìn)先出方式更新濾波窗口中的電池信息,以濾波窗口內(nèi)的電池信息的平均值或中間值作為開(kāi)機(jī)完成后的返回結(jié)果。
2.根據(jù)權(quán)利要求I所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,所述電池信息為電池電壓。
3.根據(jù)權(quán)利要求2所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,所述步驟A具體包括 Al、移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器獲取移動(dòng)終端電池電壓的采樣值; A2、判斷所述采樣值的數(shù)量是否達(dá)到預(yù)設(shè)的數(shù)量; A3、當(dāng)所述采樣值的數(shù)量達(dá)到預(yù)設(shè)的數(shù)量時(shí),以該預(yù)設(shè)數(shù)量的采樣值中的最大值作為開(kāi)機(jī)的返回結(jié)果;當(dāng)所述采樣值未達(dá)到預(yù)設(shè)的數(shù)量時(shí),以所采集的采樣值中的最大值作為開(kāi)機(jī)的返回結(jié)果。
4.根據(jù)權(quán)利要求3所述所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,所述步驟Al具體包括 All、判斷所述移動(dòng)終端是否處于開(kāi)機(jī)階段,當(dāng)是時(shí),獲取移動(dòng)終端電池電壓的采樣值,否則執(zhí)行步驟A12; A12、判斷所述移動(dòng)終端是否從飛行睡眠模式中退出,當(dāng)是時(shí),執(zhí)行步驟A13,否則轉(zhuǎn)入步驟B ; A13、通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端當(dāng)前的電池電壓,并以當(dāng)前的采樣值初始化電池電壓作為飛行睡眠模式的返回結(jié)果。
5.根據(jù)權(quán)利要求2所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,所述步驟B具體包括 BI、設(shè)置一索引變量,所述索引變量與最先進(jìn)入濾波窗口的電池電壓的采樣值相對(duì)應(yīng); B2、當(dāng)新的采樣值進(jìn)入到濾波窗口時(shí),判斷所述索引變量是否達(dá)到預(yù)定閥值,當(dāng)是時(shí),將所述索引變量重置為O,并轉(zhuǎn)入步驟B3,否則直接執(zhí)行步驟B3 ; B3、將索引變量自動(dòng)加1,并以新的采樣值替換掉濾波窗口中索引變量對(duì)應(yīng)的采樣值; B4、對(duì)所述濾波窗口中的采樣值進(jìn)行平均值處理,將獲得的平均值作為開(kāi)機(jī)完成后的返回結(jié)果。
6.根據(jù)權(quán)利要求2所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,所述方法還包括 當(dāng)所述移動(dòng)終端的電池被拔出后,以O(shè)作為電池拔出的返回結(jié)果。
7.根據(jù)權(quán)利要求I所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,所述電池信息為電池溫度。
8.根據(jù)權(quán)利要求7所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,所述步驟A具體包括A01、判斷移動(dòng)終端是否處于開(kāi)機(jī)階段; A02、當(dāng)所述移動(dòng)終端處于開(kāi)機(jī)階段時(shí),通過(guò)模數(shù)轉(zhuǎn)換器獲取移動(dòng)終端電池溫度當(dāng)前的采樣值,并以當(dāng)前采樣值作為開(kāi)機(jī)的返回結(jié)果;否則轉(zhuǎn)入步驟B。
9.根據(jù)權(quán)利要求7所述移動(dòng)終端電池信息的數(shù)據(jù)處理方法,其特征在于,所述步驟B具體包括 B01、設(shè)置一索引變量,所述索引變量與最先進(jìn)入濾波窗口的電池電壓的采樣值相對(duì)應(yīng); B02、當(dāng)新的采樣值進(jìn)入到濾波窗口時(shí),判斷所述索引變量是否達(dá)到預(yù)定閥值,當(dāng)是時(shí),將所述索引變量重置為0,并轉(zhuǎn)入步驟B03,否則直接執(zhí)行步驟B03 ; B03、將索引變量自動(dòng)加I,并以新的采樣值替換掉濾波窗口中索引變量對(duì)應(yīng)的采樣值; B04、對(duì)所述濾波窗口中的采樣值進(jìn)行排序,并以排序后的中間值作為開(kāi)機(jī)完成后的返回結(jié)果。
10.一種移動(dòng)終端電池信息的數(shù)據(jù)處理系統(tǒng),其特征在于,包括 初始化模塊,用于移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端的電池信息獲得電池信息的采樣值,并以所述采樣值作為開(kāi)機(jī)的返回結(jié)果; 平均及中值處理模塊,用于開(kāi)機(jī)完成后,設(shè)置一包含若干數(shù)量的電池信息的濾波窗口,并以先進(jìn)先出方式更新濾波窗口中的電池信息,以濾波窗口內(nèi)的電池信息的平均值或中間值作為開(kāi)機(jī)完成后的返回結(jié)果。
全文摘要
本發(fā)明公開(kāi)一種移動(dòng)終端電池信息的數(shù)據(jù)處理方法及系統(tǒng),其中,所述方法包括步驟移動(dòng)終端開(kāi)機(jī),通過(guò)模數(shù)轉(zhuǎn)換器采集移動(dòng)終端的電池信息獲得電池信息的采樣值,并以所述采樣值作為開(kāi)機(jī)的返回結(jié)果;開(kāi)機(jī)完成后,設(shè)置一包含若干數(shù)量的電池信息的濾波窗口,并以先進(jìn)先出方式更新濾波窗口中的電池信息,以濾波窗口內(nèi)的電池信息的平均值或中間值作為開(kāi)機(jī)完成后的返回結(jié)果。本發(fā)明通過(guò)對(duì)采集的電池信息進(jìn)行濾波處理,并以先進(jìn)先出原則更新濾波窗口中的電池信息,最后將濾波窗口內(nèi)的電池信息的平均值或中間值作為返回結(jié)果,從而獲得了穩(wěn)定可靠的電池信息,本發(fā)明算法效率高,可移植性好,不影響其他模塊的工作,提升了用戶的體驗(yàn)。
文檔編號(hào)G01R31/36GK102944843SQ20121043025
公開(kāi)日2013年2月27日 申請(qǐng)日期2012年11月1日 優(yōu)先權(quán)日2012年11月1日
發(fā)明者李元 申請(qǐng)人:惠州Tcl移動(dòng)通信有限公司