補碼格式數(shù)據(jù)在民機試飛數(shù)據(jù)處理中的應用
摘要:為了實現(xiàn)在不重新設(shè)計標準試飛數(shù)據(jù)處理軟件的前提條件下,正確處理補碼格式的試飛數(shù)據(jù)。通過分析試飛數(shù)據(jù)處理算法和校線的關(guān)系以及試飛數(shù)據(jù)和校線的關(guān)系,利用解析幾何中線性方程橫坐標平移不改變縱坐標數(shù)值的特性和補碼格式數(shù)值的單調(diào)性,提出了僅對標準校線進行恰當?shù)匦薷木湍苷_處理補碼格式的試飛數(shù)據(jù)的一種方法。有效地保障了民機試飛任務的順利進行,并為以后其他類型的試飛數(shù)據(jù)處理提供了解決思路。
關(guān)鍵詞:補碼;校線;傳感器;數(shù)據(jù)處理
隨著我國航空技術(shù)的不斷發(fā)展,已經(jīng)有實力自主研制民用飛機,以ARJ21為代表的支線客機以閃亮登上國際客機序列的歷史舞臺,即將在國際支線客機領(lǐng)域里占上一席之地。支線客機包含復雜的電子系統(tǒng),被測試的參數(shù)多達上萬,所以會產(chǎn)生多種格式的試飛數(shù)據(jù)。
飛行試驗數(shù)據(jù)是支線飛機研制過程飛行試驗中所獲得的最寶貴的科研信息資料,凝聚了設(shè)計、制造、試飛等多方面技術(shù)人員的心血,甚至冒著生命危險而取得。飛行試驗數(shù)據(jù)數(shù)據(jù)處理是飛行試驗工程中非常重要的環(huán)節(jié),直接提供了試飛數(shù)據(jù)結(jié)果。該結(jié)果不僅為支線飛機的試驗定型、鑒定、合格審定等提供最直接的定量依據(jù),同時也是被試對象全面、客觀真實的模型的數(shù)字體現(xiàn)。
試飛數(shù)據(jù)處理結(jié)果是數(shù)據(jù)處理工程師對飛行試驗原始數(shù)據(jù)進行校準、解算的結(jié)果。試飛工程師通過分析數(shù)據(jù)處理結(jié)果,得出被試飛機的性能指標是否滿足設(shè)計要求、存在哪些不足、以及如何改進等結(jié)論,為飛機定型和改良提供重要的科學依據(jù)。試飛數(shù)據(jù)處理結(jié)果的準確性直接影響試飛定型的結(jié)果。
1 補碼的概念和性質(zhì)
1.1 補碼的概念
數(shù)值在計算機中表示的形式為機器數(shù),計算機只能識別0和1,使用的是二進制,為了能方便與二進制的轉(zhuǎn)換,還使用了十六進制和八進制。下面將介紹為何要引入補碼這個概念。
數(shù)值有正負之分,計算機就是用一個數(shù)的最高位存放符號(0為正,1為負)來區(qū)分正負數(shù)的,這就是機器數(shù)的原碼。假設(shè)機器能處理的位數(shù)為8,即字長為1 b,原碼能表示數(shù)值的范圍為-127~0,+0~127共256個。
有了數(shù)值的表示方法就可以對數(shù)進行算術(shù)運算,但是很快就發(fā)現(xiàn)用帶符號位的原碼進行乘除運算時結(jié)果正確,而在加減運算的時候就出現(xiàn)了問題,如([x]表示十進制x,假設(shè)字長為8 b):[1]-[1]=[1]+([-1])=[0],但(00000001)原+(10000001)原=(10000010)原=[-2],顯然不正確。因為在兩個整數(shù)的加法運算中是沒有問題的,于是就發(fā)現(xiàn)問題出現(xiàn)在帶符號位的負數(shù)身上。為了解決這個問題,又引入了反碼。對除符號位外的其余各位逐位取反就產(chǎn)生了反碼。反碼的取值空間和原碼相同且一一對應。下面是反碼的減法運算:[1]-[2]=[1]+[-2]=[-1],(00000001)反+(11111101)反=(11111110)反=[1],正確。[1]-[1]=[1]+[-1]=[0],但(00000001)反+(11111110)反=(11111111)反=[-0]有問題。事實上,上面的計算出現(xiàn)了+0和-0,在人們的計算概念中零是沒有正負之分的,于是就引入了補碼這個概念。負數(shù)的補碼就是對反碼加一,而正數(shù)的原碼、反碼、補碼是一樣的。在補碼中用-128代替了-0,所以補碼的表示范圍為:-128~0~127共256個。注意:-128沒有相對應的原碼和反碼,[-128]=(10000000)。補碼設(shè)計的目的是:第一,使符號位能與有效值部分一起參加運算,從而簡化運算規(guī)則。第二,使減法運算轉(zhuǎn)換為加法運算,進一步簡化計算機中運算器的線路設(shè)計。經(jīng)過上面的討論,可以得出任意進制數(shù)的補碼的表示形式:設(shè)R為基數(shù),位數(shù)為n的原碼N,補碼為:(N)補=Rn-N。以十進制為例,2的補碼為:(2)補=10-2=8,46的補碼為:(46)補=100-46=54。
1.2 補碼的性質(zhì)
1.2.1 取值范圍
設(shè)基數(shù)為2,位數(shù)為n:
(1)原碼的表示范圍:-(2n-1-1)~+(2n-1-1)
(2)反碼的表示范圍:-(2n-1-1)~+(2n-1-1)
(3)補碼的表示范圍:-2n-1~+(2n-1-1)
1.2.2 加減運算的性質(zhì)
(1)一個正數(shù)的補碼執(zhí)行求補運算,其結(jié)果恰是與其絕對值相同的負數(shù)的補碼;同樣地,對一個負數(shù)的補碼執(zhí)行求補運算,其結(jié)果恰是與其絕對值相同的正數(shù)的補碼??捎霉奖硎荆?+x)補求補←→(-x)補求補。
(2)兩個數(shù)補碼的和,等于這兩個數(shù)和的補碼??捎霉奖硎荆?x)補+(y)補=(x+y)補。
(3)兩個數(shù)補碼的差,等于這兩個數(shù)差的補碼??捎霉奖硎荆?x)補-(y)補=(x-y)補。
1.2.3 單調(diào)性
把二進制補碼的符號位轉(zhuǎn)化成數(shù)值位,如果二進制數(shù)值對應的十進制數(shù)值越大,則實際表示的負數(shù)值越大,反之,亦然。例如:[-1]補=(1111 1111 1111 1111)=[655 35],[-2]補=(1111 1111 1111 1110)=[655 34]。
2 試飛數(shù)據(jù)處理算法分析
2.1 校線的概念以及校線和傳感器的關(guān)系
校線是校準曲線的簡稱,指在規(guī)定條件下,表示被測量值與儀器儀表實際測得值之間關(guān)系的曲線。它主要包括直線校準、拋物線校準,多項式校準和雙曲線校準等。
在支線飛機試飛中,有一部分測試參數(shù)屬于加裝參數(shù),通過各種類型的傳感器配合測試技術(shù)才能完成對這些參數(shù)的測量工作。下面簡要介紹傳感器的概念和工作原理。
傳感器是一種能把物理量或化學量轉(zhuǎn)變成便于利用的電信號的器件。傳感器把某種形式的能量轉(zhuǎn)換成另一種形式的能量。它有有源的和無源的兩類:有源傳感器能將一種能量形式直接轉(zhuǎn)變成另一種,不需要外接的能源或激勵源。無源傳感器不能直接轉(zhuǎn)換能量形式,但它能控制從另一輸入端輸入的能量或激勵能,傳感器承擔將某個對象或過程的特定特性轉(zhuǎn)換成數(shù)量的工作。其“對象”可以是固體、液體或氣體,而它們的狀態(tài)可以是靜態(tài)的,也可以是動態(tài)(即過程)的。對象特性被轉(zhuǎn)換量化后可以通過多種方式檢測。對象的特性可以是物理性質(zhì)的,也可以是化學性質(zhì)的。按照其工作原理,它將對象特性或狀態(tài)參數(shù)轉(zhuǎn)換成可測定的電學量,然后將此電信號分離出來,送入傳感器系統(tǒng)加以評測或標示。
從傳感器的工作原理可知,傳感器把物理量轉(zhuǎn)化成電信號輸出,電信號通常用電壓表示,而電壓值在采集時被轉(zhuǎn)換成碼值(16位的整型值),所以,電信號和物理量的對應關(guān)系將轉(zhuǎn)換成碼值和物理量的對應關(guān)系。在試飛數(shù)據(jù)處理中,碼值和物理量對應關(guān)系的點的對數(shù)又被叫做點對校準曲線。
2.2 校線在試飛數(shù)據(jù)處理算法中的作用
從第2.1節(jié)的介紹中看出,校線實際上就是測試記錄的試飛數(shù)據(jù)原碼到實際工程中物理量的對應關(guān)系。理論上,點對校準曲線的點對個數(shù)越多,數(shù)據(jù)處理的結(jié)果越準確。然而,在實際工程應用中,不能枚舉所有點對關(guān)系,僅選擇有代表性的幾個點對關(guān)系。那么如何解算未在校線中出現(xiàn)的原碼的物理量。在試飛數(shù)據(jù)處理技術(shù)中已經(jīng)形成了非常成熟的算法——線性插值方法。根據(jù)實際需要,采用線性內(nèi)插和線性外插相結(jié)合的方式完成所有試飛數(shù)據(jù)原碼到物理量的解算任務。通常情況下,原碼值被當做16位無符號整型數(shù)值進行處理。
為了方便說明點對校準曲線和試飛數(shù)據(jù)算法是如何有機結(jié)合,完成試飛數(shù)據(jù)處理的,引入了二維直角坐標系和直線方程進行詳細分析討論。對于直線,可以用數(shù)學方程的形式表示為:y=kx+b。當k≠0時,直線可以表示為:y=k(x+b/k),當k=0時,直線可以表示為:y=b。在試飛數(shù)據(jù)處理中,k=0是沒有意義的,所以討論的所有問題的表現(xiàn)形式均是y=kx。對于點對校準的應用可以用圖1,圖2來說明(其中圖1和圖2中實心點的x坐標,從左到右的依次為x1,x2,x3,x4,x5,對應y坐標為y1,y2,y3,y4,y5)。
圖中的實心點就是點對校準曲線的特征點。標準化的試飛數(shù)據(jù)處理軟件對于特征點內(nèi)的原碼值采用線性內(nèi)插值解算對應的物理量,對于特征點外的原碼值采用線性外插值解算對應的物理量。從實際工程應用中可知,校線的特征點連線并不是一條直線,而是一條折線段,所以,選取校線的特征點越多,數(shù)據(jù)結(jié)果的精度越高。
3 補碼格式數(shù)據(jù)處理方法的研究
當特殊類型的測試參數(shù)的原碼被記錄成補碼格式,并按照圖3給出相應的校線。
圖3中的虛心點表示要求解的參數(shù)對應的碼值,通過線性內(nèi)插值,很容易求出參數(shù)在這一點的對應的物理量。但是,如果不考慮補碼情況下,原碼值將被認為是超過32 767的正整數(shù)值,如圖4所示。
按照線性外插值求解,結(jié)果顯然是錯誤(其中,除了原點,圖3和圖4實心點的x坐標,從左到右的依次為x1,x2,x3,x4,對應)y坐標為y1,y2,y3,y4。虛心點坐標(x,y)。以后圖例中坐標點均按此規(guī)定描述)。
通過線性方程進行分析,修改點對校準曲線,可以解決這個問題。修改點對校準曲線的方法是,將碼值為非負整數(shù)的特征點保持不便,把碼值為負整數(shù)的特征點換算成補碼,然后將補碼按照無符號值和原碼值對應,構(gòu)成新的點對校準曲線,按照補碼的單調(diào)性和直線的平移性可知,這種方式的變換不改變計算的結(jié)果。
轉(zhuǎn)換后的點對校準曲線如圖5所示,按照這種方式就能求解出正確的物理量。但是,還有一種特殊情況沒有考慮到,如果僅僅按照轉(zhuǎn)化點對校準曲線的方法來處理補碼數(shù)據(jù),對于大于x2又小于32 767的值,將會出現(xiàn)錯誤,如圖6所示。
從圖6中可以看出,對于大于x2小于x3的碼值,經(jīng)過上述方法進行處理,將得到錯誤的物理量。通過增加點對校準曲線的特征點可以解決這種特殊情況。在特征點x2和x3之間加入兩個新的特征點x2’=32 767和x3’=32 768,并按照線性外插分別求出x2’對應的物理量y2’和x3’對應的物理量y3’,如圖7所示。
由圖7可知,能正確解算圖6出現(xiàn)的特殊情況。
4 結(jié)語
本文通過討論校準曲線和試飛數(shù)據(jù)處理方法的關(guān)系,以及補碼在數(shù)值上單調(diào)性,采用解析幾何中線性方程平移的特性。提出了僅對校準曲線做一定的修改,就能正確處理補碼格式的試飛數(shù)據(jù)。這種解決方法不用修改標準化的試飛數(shù)據(jù)處理軟件,就能得到正確的試飛數(shù)據(jù)處理結(jié)果,有效地保障了支線飛機定型試飛任務的順利進行。同時,也給生成校準曲線的試飛工程師提供了一種解決類似問題的思路。