丁英濤, 陳欣, 劉箭言, 李怡然
(北京理工大學 信息與電子學院, 北京 100081)
?
基于泰勒級數(shù)估計的油井數(shù)據(jù)無損壓縮
丁英濤, 陳欣, 劉箭言, 李怡然
(北京理工大學 信息與電子學院, 北京 100081)
為了實現(xiàn)油井數(shù)據(jù)的高效傳輸,提出一種新的無損壓縮算法. 利用泰勒級數(shù)分解擬合出油井數(shù)據(jù)曲線,進行后向估計,通過傳輸擬合值與實際值的估計誤差,實現(xiàn)數(shù)據(jù)的無損壓縮. 實測油井數(shù)據(jù)仿真表明該算法壓縮率可達25%~40%,其整體性能優(yōu)于霍夫曼編碼、LZW編碼等無損壓縮算法至少20%,并具有時間空間復雜度低的特點. 通過大港油田數(shù)據(jù)遠程傳輸系統(tǒng)驗證,該算法可將傳輸網(wǎng)絡(luò)數(shù)據(jù)負荷降低至45%.
無損壓縮;冪函數(shù)擬合;泰勒級數(shù);后向估計;油井數(shù)據(jù)
隨著油田信息化程度的加深,油田井場遠程控制系統(tǒng)采集到的電參數(shù)、載荷、位移等信息的數(shù)據(jù)量不斷增加. 由于受到油田地理環(huán)境的限制,這些信息主要通過無線網(wǎng)絡(luò)傳輸. 一種是內(nèi)部專用的無線網(wǎng)絡(luò),如ZigBee網(wǎng)絡(luò);另一種是第三方運營網(wǎng)絡(luò),如GPRS或者3G網(wǎng)絡(luò). 前者帶寬較小,難以負荷越來越大的傳輸量;后者帶寬大,但屬于收費網(wǎng)絡(luò),占用民用資源[1]. 因此,直接傳輸?shù)姆绞剑呀?jīng)不適用于數(shù)字化油田大數(shù)據(jù)量的需求. 目前,已經(jīng)有一些文獻致力于研究油井數(shù)據(jù)壓縮方法,文獻[2-3]提出的Ramer-Douglas-Peucker (RDP)算法,通過只保留曲線上的足以表達該曲線形狀特征的關(guān)鍵點,來實現(xiàn)數(shù)據(jù)壓縮,但數(shù)據(jù)精度在刪除點處存在非常明顯的誤差,且屬于有損壓縮. 文獻[4]中提出一種對大量數(shù)據(jù)做奇異值分解,用得到的基向量來近似擬合數(shù)據(jù),達到數(shù)據(jù)壓縮的目的,但算法計算量大,無法滿足油井數(shù)據(jù)的實時傳輸. 此外,還有一些經(jīng)典通用的數(shù)據(jù)壓縮算法:霍夫曼壓縮編碼、算術(shù)編碼、游程編碼、LZW算法等[5],這些算法都沒有考慮油井數(shù)據(jù)的特點,不能有效實現(xiàn)油井數(shù)據(jù)的壓縮.
油井數(shù)據(jù)在時域上表現(xiàn)為平穩(wěn)緩變的信號,數(shù)據(jù)波形具有很強的相關(guān)性. 本文設(shè)計一種基于泰勒級數(shù)分解和冪函數(shù)擬合理論的數(shù)據(jù)壓縮方法,根據(jù)油井采集到數(shù)據(jù)的特征,快速確定達到最佳估計的泰勒級數(shù)階數(shù),再通過后向估計逐次得到后續(xù)數(shù)據(jù)的估計值,傳輸過程只需要傳輸估計誤差,從而實現(xiàn)數(shù)據(jù)壓縮. 接收端通過相同階數(shù)的泰勒級數(shù)分解和冪函數(shù)擬合,利用接收到的估計誤差序列,即可無損還原出原始數(shù)據(jù).
1.1 算法原理概述
在數(shù)學上,常用一組簡單的基函數(shù)來逼近復雜函數(shù),實現(xiàn)級數(shù)分解,泰勒級數(shù)就是以冪函數(shù)為基函數(shù),逼近一個復雜函數(shù).
泰勒級數(shù)[6]:設(shè)實變(復變)函數(shù)f(x)在x0的某一鄰域上存在n+1階連續(xù)導數(shù),則對該領(lǐng)域內(nèi)的f(x)可以分解為如下的冪級數(shù):
(1)
根據(jù)上述理論,實際采樣得到的一個N點序列{yn|n∈[1,N]},認為是抽象連續(xù)函數(shù)f(x)的N個采樣點,那么該函數(shù)必然可以實現(xiàn)一個M階的泰勒級數(shù)擬合,每個點yn存在的誤差為Δen,即N點序列滿足下列冪函數(shù)擬合關(guān)系:
(2)
式中ai=f(i)(x0)/i!表示冪函數(shù)的系數(shù).
擬合函數(shù)和實際函數(shù)之間存在一個估計誤差Δe,在擬合的階數(shù)最接近函數(shù)實際階數(shù)時Δe最小,否則擬合的階數(shù)增大或減小都會導致估計誤差Δe變大.
在傳輸過程中只傳輸估計誤差序列{en}及初始數(shù)據(jù)序列{yn|n∈[1:K]}.
接收端利用K個初始點,根據(jù)相同的函數(shù)系數(shù)進行相同階數(shù)的擬合,恢復估計值,再用接收到的誤差序列對估計值進行修正,即可無損還原數(shù)據(jù).
根據(jù)上述原理,所需要傳輸數(shù)據(jù)的幅值位寬將減少,當M?N時,壓縮率近似可以達到
(3)
1.2 算法過程詳述
下面對抽象函數(shù)y=f(x)進行M階泰勒級數(shù)分解,推導壓縮端和解壓縮端的詳細算法原理.
為了更好地體現(xiàn)yn是N點的時域采樣序列,將抽象函數(shù)描述為
式中Ts為采樣周期.
式(4)為M階冪函數(shù)的表達式:
(4)
其中所需要確定的變量如下:
① 函數(shù)的最佳階數(shù)M;
② 函數(shù)的系數(shù)aM~a0;為了方便后續(xù)的分析,記做系數(shù)向量:
(5)
根據(jù)求解線性方程的Cramer法則,要確定M+1個系數(shù)需要M+1個獨立的線性方程,所以引入假設(shè)條件:
可以將式(2)修正為
(6)
改寫成矩陣形式:
(7)
式中y=[y1y2…yM+1]T,
因為xn=nTs,n∈[1,N],所以X為范德蒙矩陣,只與擬合階數(shù)M有關(guān)系,后面將記做XM+1,滿足滿秩條件:r(XM+1)=M+1,存在唯一的逆矩陣,方程組存在唯一的解,即系數(shù)向量
(8)
根據(jù)上式求出的系數(shù),對前M+1個數(shù)據(jù)的估計誤差為0,對第M+2點的估計值為
(9)
將式(8)帶入式(9),得
(10)
(11)
估計誤差為
(12)
此后估計第M+i點時,直接由式(11)得到
(13)
因此對于一個有N個采樣點的數(shù)據(jù)序列,在確定了擬合冪函數(shù)階數(shù)M后,就可以根據(jù)已知的M+1個初始點對后一點數(shù)據(jù)進行估計,然后得到相應(yīng)點的估計誤差,得估計誤差序列:
(14)
在傳輸過程中只需傳輸初始的M+1個點的數(shù)據(jù)序列Yinit=[y1y2…yM+1]和估計誤差序列{E},即待傳輸?shù)臄?shù)據(jù)序列為
(15)
(16)
重復上述解壓過程,最終可實現(xiàn)數(shù)據(jù)還原.
對大量傳輸數(shù)據(jù)來說,最佳擬合階數(shù)M?N,如果擬合冪函數(shù)的階數(shù)選擇合理,則誤差幅度值很小,因此該方法可以有效降低傳輸數(shù)據(jù)的量化位數(shù).
1.3 最佳階數(shù)的選取
在實際工程中,由于外界環(huán)境影響和設(shè)備損耗等問題,采集到的數(shù)據(jù)存在一定的變化. 此時需要在井下處理端,自適應(yīng)的選擇能達到最佳估計的泰勒級數(shù)階數(shù)M.
從傳感器采集到數(shù)據(jù)開始,截取一個周期,利用本文方法進行壓縮計算,從M=1開始,得到一個暫時的最大估計誤差幅值:
(17)
計算后續(xù)M+1階的ΔE,依次循環(huán),當最大估計誤差幅值由減小的趨勢變?yōu)樵龃髸r,即可跳出循環(huán),確定最佳泰勒級數(shù)的擬合階數(shù). 并在后續(xù)工作的一段時間內(nèi)(如:24 h),都采用上述獲得的最佳階數(shù)M進行壓縮.
2.1 實測數(shù)據(jù)軟件仿真
為驗證本文方法的有效性,下面對油井傳輸數(shù)據(jù)中數(shù)據(jù)量較大的電參數(shù),利用本文方法做壓縮仿真分析. 油井數(shù)據(jù)多為低頻信號,采集系統(tǒng)通常是低通過采樣的,含有大量的高頻噪聲以及帶外雜波,因此在利用本文方法進行壓縮前應(yīng)該對數(shù)據(jù)進行預濾波處理,如圖1.
通過對比圖,可以看出電參數(shù)數(shù)據(jù)經(jīng)過低通濾波之后,不存在突變點,波形平滑且相關(guān)性強,滿足描述的壓縮算法的適用條件.
下面分別利用不同階數(shù)的冪函數(shù)對電參數(shù)數(shù)據(jù)進行壓縮,得到的壓縮結(jié)果如圖2. 可以看出,從M=1到M=4,傳輸估計誤差的幅值逐漸減小,最小減至-12~12之間,從M≥5開始,傳輸估計誤差的幅值開始增大,因此M=4為電參數(shù)數(shù)據(jù)的最佳擬合階數(shù),根據(jù)式(3)可得壓縮率R為37.5%. 油井主要傳輸數(shù)據(jù)的壓縮率R和壓縮最佳階數(shù)M總結(jié)為表1,考慮實際工程應(yīng)用,傳輸數(shù)據(jù)的量化位數(shù)盡量使用2的整數(shù)倍,表2、表3中的壓縮結(jié)果也有相同考慮.
參數(shù)原始傳輸數(shù)據(jù)/bit壓縮傳輸數(shù)據(jù)/bit壓縮率(R)/%最佳階數(shù)(M)載荷124(±3)33.32功率166(±12)37.54電流124(±4)33.32電壓124(±2)33.31位移124(±2)33.31
2.2 算法復雜度分析
算法效率的度量最常見的是時間復雜度和空間復雜度,時間復雜度是指算法執(zhí)行完畢所需要的時間,空間復雜度是指算法在運行過程中臨時占用的輔助空間[7].
本文算法的計算主要是乘法和加法,那么最壞時間復雜度可表示為T(N)=O(N). 時間復雜度隨O(N)輸入序列的個數(shù)N成線性關(guān)系,算法的時間效率比較好,滿足快速運算的要求.
計算過程中,算出的估計誤差,可直接存儲在相應(yīng)輸入點的位置,覆蓋原始數(shù)據(jù)后直接傳輸,所以本文算法屬于原地工作,不需要額外的臨時存儲空間,那么空間復雜度可以表示為S(N)=O(1). 空間復雜度為常數(shù),不隨輸入序列個數(shù)的變化而變化,執(zhí)行過程中不會占用過多的資源.
2.3 算法魯棒性分析及改進
冪函數(shù)擬合是后向估計,每一個估計出來的點,會作為已知點估計下一個點,如果傳輸過程中發(fā)生數(shù)據(jù)錯誤,誤差具有累積效應(yīng). 如果擾動出現(xiàn)在第一個計算點,那么整個輸出估計誤差序列都會受影響,并且越往后造成的影響越大,去除已知點數(shù)據(jù),影響范圍可表示為N-K.
為了改進算法的魯棒性,可將輸入序列等分成L份,并且從每一份的中間點開始向兩邊同時用本文算法進行前向和后向估計壓縮,前向估計壓縮原理同后向估計,只是數(shù)據(jù)序列的處理方向相反,在接收端倒置即可恢復原始數(shù)據(jù). 如果擾動仍出現(xiàn)在第一個計算點,對整體的影響范圍可降低到(N/L-K)/2,如圖3所示.
改進之后算法魯棒性有所增強,但同時會帶來壓縮率下降的問題. 在實際工程中,需要根據(jù)實際情況和要求,平衡兩者關(guān)系,選取適合的L,而本文算法均采用原始算法計算得出.
2.4 算法壓縮結(jié)果比較
傳統(tǒng)經(jīng)典的霍夫曼編碼、差分編碼、LZW編碼都可以實現(xiàn)數(shù)據(jù)的無損壓縮,與這些典型的算法相比,本文算法能實現(xiàn)更低的壓縮率,對多組數(shù)據(jù)進行壓縮,統(tǒng)計結(jié)果對比如表2.
表2 壓縮率對比
2.5 實際系統(tǒng)應(yīng)用結(jié)果
2012年在天津大港采油廠,安裝了40套基于Cortex-M3 ARM處理器的油井參數(shù)采集和遠程傳輸設(shè)備,采集和遠程傳輸壓力、溫度、載荷、位移和電參數(shù)數(shù)據(jù),在ARM處理器中實現(xiàn)并且現(xiàn)場應(yīng)用了上述算法,表3列舉了其中10口油井主要數(shù)據(jù)壓縮的結(jié)果.
表3 10口井實測數(shù)據(jù)壓縮效果
針對油井數(shù)據(jù)量越來越大的問題,提出了一種基于泰勒級數(shù)分解和線性估計的油井數(shù)據(jù)無損壓縮方法. 該算法對油井數(shù)據(jù)的每一點利用泰勒級數(shù)分解和冪函數(shù)進行擬合估計,在傳輸過程中只傳輸初始序列和估計誤差序列,達到數(shù)據(jù)壓縮的目的. 在接收端,利用初始序列和估計誤差序列對數(shù)據(jù)進行還原和修正,實現(xiàn)數(shù)據(jù)的無損還原. 對實測數(shù)據(jù)進行仿真,壓縮率可達25%~40%,相比經(jīng)典的霍夫曼編碼、差分編碼以及LZW算法,壓縮率最少20%. 本文算法成功應(yīng)用在天津大港采油廠的實際系統(tǒng)中,有效降低了采油廠RTU傳輸數(shù)據(jù)量,將總的傳輸網(wǎng)絡(luò)負荷降低至45%. 此外,該無損壓縮算法也可適用于滿足平滑緩變的其他數(shù)據(jù)類型.
[1] 馬曉.油井監(jiān)測數(shù)據(jù)傳輸系統(tǒng)的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學,2013.
Ma Xiao. Design and implementation of oil well data transmission system[D]. Xi’an: Xidian University, 2013. (in Chinese)
[2] Ramer U. An iterative procedure for the polygonal approximation of plane curves[J]. Computer Graphics and Image Processing, 1972(1):244-256.
[3] Douglas D H, Peucker T K. Algorithms for the reduction of the number of points required to represent a digitized line or its caricature[J]. The Canadian Cartographer, 1973,10(2):1122122.
[4] Hatami S, Feldmann P, Abbaspour S, et al. Efficient compression and handling of current source model library waveforms[C]∥Proceedings of Design Automantion and Test in Europe Conference and Exhibition. Dresden, Germany: IEEE Press, 2009:1178-1183.
[5] 傅祖蕓.信息論[M].3版.北京:電子工業(yè)出版社,2011:273-303.
Fu Zuyun. Information theory[M]. 3rd ed. Beijing: Publishing House of Electronics Industry, 2011:273-303. (in Chinese)
[6] 毛京中.高等數(shù)學教程[M].北京:高等教育出版社,2008:198-211.
Mao Jingzhong. Advanced mathematics[M]. Beijing: Higher Education Press, 2008:198-211. (in Chinese)
[7] 嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].C語言版.北京:清華大學出版社,2009:13-17.
Yan Weimin, Wu Weimin. Data structure[M]. C edition. Beijing: Tsinghua University Press, 2009:13-17. (in Chinese)
(責任編輯:劉芳)
Oil Well Data Lossless Compression Based on Taylor Series Estimating
DING Ying-tao, CHEN Xin, LIU Jian-yan, LI Yi-ran
(School of Information and Electronics, Beijing Institute of Technology, Beijing 100081, China)
A lossless compression algorithm applied on the oil well data transmission was proposed in this paper. Taylor series expansion was used to fit the curve of the oil well data, then the backward estimation was used for data processing. The lossless compression was realized by transmitting the fitting estimation error and initial sequence. From the simulation results, data compression ratio is up to 25%~40% with a low time-space complexity. Compared with other typical coding, like Huffman coding and LZW coding and Delta coding, this compression ratio has 20% advanced. Based on the verification of the actual oilfield RTU, this design can significantly decrease the burden of the data-transmitting net to 45%.
lossless compression; power function fitting; Taylor series; backward estimating; oil well data
2014-01-02
丁英濤(1972—),女,副教授,E-mail:dyt@bit.edu.cn.
TN911
A
1001-0645(2016)05-0530-05
10.15918/j.tbit1001-0645.2016.05.017