国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

32位定點(diǎn)運(yùn)算數(shù)學(xué)庫IQmath在航空發(fā)動(dòng)機(jī)FADEC系統(tǒng)中的應(yīng)用

2017-11-09 09:07席偉俤李偉剛李鵬杰
航空發(fā)動(dòng)機(jī) 2017年5期
關(guān)鍵詞:校正定點(diǎn)運(yùn)算

席偉俤,李偉剛,李鵬杰

(中國航發(fā)控制系統(tǒng)研究所,江蘇無錫 214063)

32位定點(diǎn)運(yùn)算數(shù)學(xué)庫IQmath在航空發(fā)動(dòng)機(jī)FADEC系統(tǒng)中的應(yīng)用

席偉俤,李偉剛,李鵬杰

(中國航發(fā)控制系統(tǒng)研究所,江蘇無錫 214063)

為提高航空發(fā)動(dòng)機(jī)FA D EC系統(tǒng)定點(diǎn)CPU的計(jì)算效率和計(jì)算精度,針對實(shí)際工程應(yīng)用中的數(shù)學(xué)運(yùn)算的方法展開討論,分析了定點(diǎn)數(shù)運(yùn)算和浮點(diǎn)數(shù)運(yùn)算在計(jì)算精度和運(yùn)行效率方面存在的差異。參考TI公司的設(shè)計(jì)理念,自行設(shè)計(jì)了支持統(tǒng)一定點(diǎn)算法和可變定點(diǎn)算法的32位定點(diǎn)運(yùn)算數(shù)學(xué)庫IQ math。在國內(nèi)發(fā)動(dòng)機(jī)控制領(lǐng)域不再依賴國外的庫函數(shù),掌握了32位定點(diǎn)數(shù)學(xué)庫的源代碼,并在實(shí)際項(xiàng)目中應(yīng)用了IQ math數(shù)學(xué)庫。試驗(yàn)結(jié)果表明:IQ math數(shù)學(xué)庫的應(yīng)用提高了定點(diǎn)CPU數(shù)學(xué)運(yùn)算的精度和效率,完滿實(shí)現(xiàn)了預(yù)定的控制算法。

定點(diǎn)運(yùn)算數(shù)學(xué)庫;全權(quán)限數(shù)字電子控制;定點(diǎn)數(shù);浮點(diǎn)數(shù);航空發(fā)動(dòng)機(jī)

0 引言

隨著航空發(fā)動(dòng)機(jī)技術(shù)和計(jì)算機(jī)技術(shù)的快速發(fā)展,發(fā)動(dòng)機(jī)控制系統(tǒng)由早期的機(jī)械液壓式控制系統(tǒng)發(fā)展到現(xiàn)在的全權(quán)限數(shù)字電子控制(FADEC)系統(tǒng),一方面使航空發(fā)動(dòng)機(jī)性能有了很大提高,另一方面也對發(fā)動(dòng)機(jī)控制系統(tǒng)的可靠性提出了更高要求。對控制系統(tǒng)的實(shí)時(shí)性和精確性有很高要求。對于定點(diǎn)CPU,國外已經(jīng)掌握了定點(diǎn)數(shù)學(xué)運(yùn)算庫的源代碼,而在國內(nèi)普遍使用的是運(yùn)算庫的動(dòng)態(tài)連接庫,對于源代碼不可見,運(yùn)算機(jī)理模糊。

在某型發(fā)動(dòng)機(jī)FADEC系統(tǒng)中,數(shù)字電子控制器使用的CPU芯片不支持浮點(diǎn)運(yùn)算,而實(shí)際應(yīng)用的數(shù)據(jù)為浮點(diǎn)數(shù),所以要將浮點(diǎn)數(shù)轉(zhuǎn)化為定點(diǎn)數(shù)之后才能運(yùn)算,這就涉及到數(shù)的定標(biāo)問題。本文針對FADEC系統(tǒng)嵌入式軟件定點(diǎn)CPU,自行設(shè)計(jì)了1種32位定點(diǎn)數(shù)學(xué)庫IQmath,掌握了定點(diǎn)運(yùn)算庫的源代碼及運(yùn)算機(jī)理。在實(shí)際項(xiàng)目應(yīng)用中不但提高了定點(diǎn)CPU的運(yùn)算效率,又保證了較高運(yùn)算精度[1-6]。

1 定點(diǎn)數(shù)概述

定點(diǎn)數(shù)是計(jì)算機(jī)采用的1種數(shù)的表示方法,參與運(yùn)算的數(shù)的小數(shù)點(diǎn)位置固定不變[7],計(jì)算機(jī)僅僅考慮位。在整數(shù)運(yùn)算中,位的位置表示2到2的高次冪(從右邊開始)。

因此 0000000000010000 表示數(shù)字 16(24),如圖1所示。從定點(diǎn)數(shù)的起點(diǎn)可以觀察到,有個(gè)隱含的十進(jìn)制點(diǎn)(稱為基點(diǎn))位于最右邊位值的右邊。

對于同樣的16位數(shù),程序員決定將基點(diǎn)放在第5位和第 6位之間,使最右邊位表示 2~5。0000000000010000現(xiàn)在就不再表示16,而是0.5,如圖2所示。

通過改變基點(diǎn)的位置,程序員可以按比例縮小整數(shù)到1個(gè)小數(shù)值?;c(diǎn)的位置規(guī)定了程序如何解釋1個(gè)16位串。當(dāng)基點(diǎn)向左移動(dòng)時(shí),小數(shù)變得更加精確,并且數(shù)字的全部范圍將縮小[8]。

為了利用定點(diǎn)運(yùn)算,需要知道變量的取值范圍。定點(diǎn)運(yùn)算操作通常執(zhí)行時(shí)是快速的,因?yàn)榇蟛糠治⑻幚砥髟趫?zhí)行整數(shù)操作時(shí)性能非常好。性能是以精度和復(fù)雜性為代價(jià)的。為了提高精度,不得不使用更多的位。當(dāng)使用小的數(shù)字時(shí)定點(diǎn)運(yùn)算產(chǎn)生的誤差大,而利用大數(shù)字時(shí)將產(chǎn)生相當(dāng)好的結(jié)果。對于大數(shù)字,提高精度是利用更多位的結(jié)果。當(dāng)數(shù)的變化范圍小時(shí),定點(diǎn)數(shù)工作得非常好[9]。

2 32位定點(diǎn)數(shù)學(xué)庫IQmath介紹

2.1 32位IQ定點(diǎn)數(shù)

32位IQ定點(diǎn)數(shù),是指選用32位有符號數(shù)作為基礎(chǔ),由程序員自行約定小數(shù)點(diǎn)位置的數(shù)據(jù)表示方法。小數(shù)點(diǎn)的位置不同,32位IQ定點(diǎn)數(shù)能表示的范圍不同,數(shù)據(jù)精度也不同。不同位置小數(shù)點(diǎn)的數(shù)據(jù)類型用IQn表示,其中n從0取到31[10]。IQ類型的表示范圍和數(shù)據(jù)精度見表1。

表1 IQ類型的范圍和精度

在實(shí)際應(yīng)用中,可采用2種32位IQ定點(diǎn)數(shù)的表示方法。第1種方法是在應(yīng)用中每個(gè)數(shù)據(jù)和公式都可以采用不同的定標(biāo)方法,即采用IQn中的n隨數(shù)據(jù)不同而變化[11]。第2種方法是在應(yīng)用中每個(gè)數(shù)據(jù)和公式選用統(tǒng)一的定標(biāo)方法,即采用IQn中的n是固定不變的。固定的n一般被稱為GLOBAL_Q。在1個(gè)應(yīng)用中需要考慮到數(shù)據(jù)的精度和范圍,高精度必然會(huì)使數(shù)據(jù)的范圍變小,因此系統(tǒng)設(shè)計(jì)者必須權(quán)衡精度和范圍,然后設(shè)置GLOBAL_Q的值[12]。

2.2 IQmath支持的庫函數(shù)

本文參考TI公司的理念,自行設(shè)計(jì)了32位定點(diǎn)運(yùn)算數(shù)學(xué)庫IQmath[13]。

32位定點(diǎn)數(shù)學(xué)庫IQmath是高度優(yōu)化和具有高精度的數(shù)學(xué)函數(shù)庫集合。IQmath庫里面包含的函數(shù)均采用IQ格式定點(diǎn)數(shù)作為輸入/輸出,允許程序設(shè)計(jì)人員在定點(diǎn)CPU上進(jìn)行浮點(diǎn)算法設(shè)計(jì),從而提高運(yùn)算速度[14-15]。

IQmath定點(diǎn)數(shù)學(xué)庫支持常見的算術(shù)運(yùn)算和數(shù)學(xué)運(yùn)算,主要運(yùn)算介紹如下。

2.2.1 格式轉(zhuǎn)換

IQ ftoIQ(float F)將單精度浮點(diǎn)數(shù)轉(zhuǎn)為IQ數(shù)據(jù);

Float IQtof(IQ A)將IQn數(shù)據(jù)轉(zhuǎn)為單精度浮點(diǎn)數(shù)。

2.2.2 算術(shù)運(yùn)算

IQ定點(diǎn)數(shù)的加減法等于整數(shù)直接加減;

IQ iqMpy(IQ A,IQ B),乘法函數(shù);

IQ iqDiv(IQ A,IQ B),除法函數(shù);

IQ iqMpy_Div(IQ A,IQ B),先乘后除函數(shù)。

2.2.3 數(shù)學(xué)運(yùn)算

IQ iqabs(IQ A),絕對值函數(shù)

IQ iqSqrt(IQ A),算術(shù)平方根函數(shù)。

2.2.4 三角函數(shù)運(yùn)算

IQ iqSin(IQ A),三角正弦函數(shù);

IQ iqCos(IQ A),三角余弦函數(shù);

IQ iqTan(IQ A),三角正切函數(shù);

IQ arcsin(IQ A),反正弦函數(shù);

IQ arccos(IQ A),反余弦函數(shù);

IQ arctan(IQ A),反正切函數(shù)。

3 應(yīng)用案例

3.1 統(tǒng)一定點(diǎn)算法應(yīng)用

某型發(fā)動(dòng)機(jī)FADEC系統(tǒng)中數(shù)字電子控制器使用的定點(diǎn)處理器不支持浮點(diǎn)運(yùn)算,在程序運(yùn)行時(shí)無法實(shí)現(xiàn)小數(shù)的操作,所以在計(jì)算時(shí)必須先把小數(shù)轉(zhuǎn)化為整數(shù)。采用IQmath定點(diǎn)數(shù)學(xué)庫可以將浮點(diǎn)數(shù)算法轉(zhuǎn)換為定點(diǎn)數(shù)算法,使運(yùn)算速度明顯提高,對強(qiáng)實(shí)時(shí)性要求的發(fā)動(dòng)機(jī)控制系統(tǒng)的設(shè)計(jì)十分有效。

在某型發(fā)動(dòng)機(jī)控軟件的開發(fā)中,需實(shí)現(xiàn)如下控制計(jì)算

式中:R為面積比;a為某系數(shù);D8為喉道直徑,m;δ為偏轉(zhuǎn)角,(°);θ為方位角,(°);δH為調(diào)節(jié)環(huán)與作動(dòng)筒平面偏轉(zhuǎn)角,(°);LH為水平位移,mm;Z1、Z2、Z3為作動(dòng)筒長度,mm;U為某修正系數(shù);C為常數(shù),mm。

該算法要求計(jì)算精度高,采用常見的16位定點(diǎn)算法很難滿足要求,而且整個(gè)定點(diǎn)化過程非常復(fù)雜,會(huì)降低軟件的可維護(hù)性。經(jīng)過項(xiàng)目實(shí)際應(yīng)用場景分析及結(jié)合圖3中IQ類型數(shù)據(jù)的范圍和精度考量,選用IQ-math定點(diǎn)數(shù)學(xué)庫統(tǒng)一定點(diǎn)方式進(jìn)行算法設(shè)計(jì)。將GLOBAL_Q統(tǒng)一定義為19,其軟件計(jì)算流程如圖3所示。

IQ定點(diǎn)算法控制軟件配套某型數(shù)控系統(tǒng)進(jìn)行了外場試車,試車數(shù)據(jù)如圖4所示。浮點(diǎn)理論計(jì)算數(shù)據(jù)與IQ定點(diǎn)計(jì)算試驗(yàn)數(shù)據(jù)對比結(jié)果見表2。

表2 IQ定點(diǎn)計(jì)算數(shù)據(jù)與浮點(diǎn)理論計(jì)算數(shù)據(jù)對比

表 2 中 Z1IQtof、Z2IQtof、Z3IQtof 是 θ、δ、D8(D8=0.584 m)等輸入變量按照GLOBAL_Q=19統(tǒng)一定點(diǎn)算法計(jì)算后的結(jié)果再經(jīng)過反定點(diǎn)化為浮點(diǎn)數(shù)的結(jié)果,所有定點(diǎn)計(jì)算結(jié)果未超過IQ19類型數(shù)據(jù)表示的范圍[-4096,4095.999998093]);Z1、Z2、Z3理論是同樣的輸入數(shù)據(jù)按照浮點(diǎn)數(shù)計(jì)算得出的結(jié)果。浮點(diǎn)數(shù)理論和統(tǒng)一定點(diǎn)算法的計(jì)算結(jié)果最大偏差為0.03%,完全滿足客戶的計(jì)算精度偏差在0.05%以內(nèi)的要求。

3.2 可變定點(diǎn)算法應(yīng)用

某型FADEC系統(tǒng)中對某信號有超前滯后校正要求

式中:b為超前校正系數(shù),其取值根據(jù)傳感器時(shí)間常數(shù)確定,用于修正傳感器采集的延遲;a為滯后校正系數(shù),由發(fā)動(dòng)機(jī)特性決定。

對于上述信號超前滯后校正算法采用IQmath定點(diǎn)數(shù)學(xué)庫GLOBAL_Q=19統(tǒng)一定點(diǎn)算法,當(dāng)輸入數(shù)據(jù)經(jīng)過校正處理后超過4095.999998093,計(jì)算結(jié)果出現(xiàn)溢出翻轉(zhuǎn)問題,數(shù)據(jù)見表3。表3中統(tǒng)一定點(diǎn)算法超前滯后校正結(jié)果由于出現(xiàn)計(jì)算溢出問題,導(dǎo)致與浮點(diǎn)理論超前滯后校正結(jié)果偏差較大,不滿足設(shè)計(jì)初衷,嚴(yán)重影響發(fā)動(dòng)機(jī)控制效果和安全。

同樣的輸入數(shù)據(jù)及超前滯后校正系數(shù),采用可變定點(diǎn)算法就解決了計(jì)算溢出問題。數(shù)據(jù)定標(biāo)為IQn(n可變,暫取n=12;數(shù)據(jù)范圍為[-524288,524287.999755859]),輸入數(shù)據(jù)經(jīng)過超前滯后校正處理后未出現(xiàn)超過IQ12類型數(shù)據(jù)范圍的問題,數(shù)據(jù)見表4。表4中浮點(diǎn)理論超前滯后校正結(jié)果與可變定點(diǎn)算法超前滯后校正結(jié)果最大偏差為0.03797%,滿足工程應(yīng)用中偏差在0.05%以內(nèi)的要求。

表4 可變定點(diǎn)IQ數(shù)據(jù)(n=12)

4 結(jié)束語

本文自行設(shè)計(jì)的32位定點(diǎn)運(yùn)算數(shù)學(xué)庫IQmath,不僅在國內(nèi)發(fā)動(dòng)機(jī)控制領(lǐng)域掌握了32位定點(diǎn)數(shù)學(xué)庫的源代碼,不再依賴國外的庫函數(shù),而且成功地應(yīng)用于航空發(fā)動(dòng)機(jī)FADEC系統(tǒng)嵌入式控制軟件中。此外IQmath數(shù)學(xué)庫的統(tǒng)一定點(diǎn)算法和可變定點(diǎn)算法選擇靈活,具有極高的工程應(yīng)用價(jià)值,可推廣應(yīng)用到其他行業(yè)控制領(lǐng)域中。

[1]段彬,孫同景,李振華,等.快速浮、定點(diǎn)PID控制器FPGA的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(36):202-206.DUAN Bin,SUN Tongjing,LI Zhenhua,et al.Research and application on fast floating and fixed point PID controllers on FPGA[J].Computer Engineering and Applications,2009,45(36):202-206.(in Chinese)

[2]范嘯濤,季光明,何永斌.計(jì)算機(jī)浮點(diǎn)數(shù)算術(shù)運(yùn)算的舍入誤差研究[J].成都理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,32(2):213-216.FAN Xiaotao,JI Guangming,HE Yongbin.Rounding error study of calculator floating-point numbers arithmetic operation[J].Journal of Chengdu University of Technology (Science&Technology Edition),2005,32(2):213-216.(in Chinese)

[3]張宗杰,張明亮.C語言中浮點(diǎn)數(shù)的存儲(chǔ)格式及其有效數(shù)字位數(shù)[J].計(jì)算機(jī)與數(shù)字工程,2006,34(1):84-86,90.ZHANG Zongjie,ZHANG Mingliang.Storage format of a binary floating-point number and its bits of decimal significant digits[J].Computer&Digital Engineering,2006,34(1):84-86,90.(in Chinese)

[4]何克晶.科學(xué)計(jì)算浮點(diǎn)數(shù)據(jù)的高性能無損壓縮 [J].計(jì)算機(jī)學(xué)報(bào),2010,33(6):966-976.HE KeJing.High performance lossless compression of scientific floating data[J].Chinese Journal of Computers,2010,33 (6):966-976.(in Chinese)

[5]Institute of Electrical and Electronics Engineers (IEEE).IEEE 754-1985:IEEE Standard for floating-point arithmetic[S].Microprocessor Standards Committee,1985.

[6]Institute of Electrical and Electronics Engineers (IEEE).IEEE 754-2008:IEEE Standard for floating-point arithmetic[S].Microprocessor Standards Committee,2008.

[7]邵正芬.最佳精度定點(diǎn)運(yùn)算的FPGA實(shí)現(xiàn) [J].通信技術(shù),2009,42(7):279-281.SHAO Zhengfen.FPGA implementation of best-precision fixed-point algorithm[J].Communications Technology,2009,42(7):279-281.(in Chinese)

[8]Texas Instruments Incorporated.TMS320C28x Assembly language tools user’s guide[OL].[2006-03].http://www.docin.com/p-30611705.html

[9]徐彥凱,雙凱.提高定點(diǎn)精度的FPGA信號處理算法[J].計(jì)算機(jī)工程與科學(xué),2012,34(9):197-200.XU Yankai,SHUANG Kai.An algorithm of increasing fixed-point accuracy for signal processing systems with FPGA[J].Computer Engineer ing&Science,2012,34(9):197-200.(in Chinese)

[10]Texas Instruments Incorporated.Module user’s guide C28x foundation software [OL]. [2008-01-07].http://www.doc88.com/p-241831 099821.html

[11]谷海濤,顏湘武,于世濤.新型電機(jī)控制芯片TMS320F2812[J].微電機(jī),2005,38(2):53-56.GU Haitao,YAN Xiangwu,YU Shitao.A new chip for motor control-TMS320F2812[J].Servo Technique,2005,38(2):53-56.(in Chinese)

[12]張銳.TMS320F2812混合編程的研究與應(yīng)用[J].煤炭技術(shù),2008,27(1):126-128.ZHANG Rui.Research and usage of TMS320F2812 mixed programming[J].Coal Technology,2008,27(1):126-128.(in Chinese)

[13]彭志明,李琳.基于IQmath庫的定點(diǎn)DSP算法設(shè)計(jì)[J].新器件技術(shù),2010(9):39-41.PENG Zhiming,LI Lin.Fixed point DSP algorithm based on IQmath library[J].New Product&Technology,2010(9):39-41.(in Chinese)

[14]魏光,裴郡,林宗宏,等.IQmath在雙體船航行控制器設(shè)計(jì)中的應(yīng)用[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2015,37(2):47-51.WEI Guang,PEI Jun,LIN Zonghong,et al.Application of IQmath in design on navigation controller of catamaran[J].Journal of Wuhan(Information&Management Engineering),2015,37(2):47-51.(in Chinese)

[15]李翰麟,潘厚宏,王濤,等.IQmath在基于PWM實(shí)現(xiàn)的D/A轉(zhuǎn)換調(diào)試中的應(yīng)用 [J].重慶工學(xué)院學(xué)報(bào) (自然科學(xué)版),2009,23(8):139-143.LI Hanlin,PAN Houhong,WANG Tao,et al.Applications of IQmath in PWM-based D/A conversion debugging[J].Journal of Chongqing Institute of Technology(Natural Science),2009,23 (8):139-143.(in Chinese)

Application of 32 bit Fixed-point Arithmetic Library IQmath in FADEC System of Aeroengine

XI Wei-di LI Wei-gang LI Peng-jie
(AECC Aero Engine Control System Institute,Wuxi Jiangsu 214063, China)

In order to improve the computational efficiency and accuracy of the fixed-point CPU of Aeroengine FADEC system,the mathematical operation method in practical engineering application was discussed and the differences between the fixed-point operation and the floating-point operation in the calculation accuracy and the running efficiency were analyzed.Reference to TI's design concept,arithmetic library IQmath was designed,which support the unified fixed-point algorithm and variable fixed-point algorithm 32-bit fixedpoint.In the field of domestic engine control is no longer dependent on foreign library functions,the 32-bit fixed-point mathematical library of the source code was mastered,and the IQmath library was applicated in actual project.The results show that the application of IQmath library improves the accuracy and efficiency of fixed-point CPU mathematical operation,and realizes the predetermined control algorithm.

IQmath;FADEC;fixed-point numbers;floating-point numbers;aeroengine

V 233.7

A

10.13477/j.cnki.aeroengine.2017.05.004

2017-03-11

席偉俤(1982),男,碩士,工程師,主要從事航空發(fā)動(dòng)機(jī)數(shù)控系統(tǒng)控制軟件的研究與應(yīng)用工作;E-mail:275392963@qq.com。

席偉俤,李偉剛,李鵬杰.32位定點(diǎn)運(yùn)算數(shù)學(xué)庫IQmath在航空發(fā)動(dòng)機(jī)FADEC系統(tǒng)中的應(yīng)用[J].航空發(fā)動(dòng)機(jī),2017,43(5):21-25.XI Weidi LI Weigang,LI Pengjie.Application of 32 bit fixed-point arithmetic library IQmath in FADEC system of Aeroengine[J].Aeroengine,2017,43(5):21-25.

(編輯:李華文)

猜你喜歡
校正定點(diǎn)運(yùn)算
例談圓錐曲線中的定點(diǎn)定值問題
重視運(yùn)算與推理,解決數(shù)列求和題
定點(diǎn)幫扶讓村民過上美好生活
直線過定點(diǎn)的5種特優(yōu)解法
劉光第《南旋記》校正
長算式的簡便運(yùn)算
基于特征分解的方位向多通道SAR相位失配校正方法
一種具有自動(dòng)校正裝置的陶瓷切邊機(jī)
基于在線約束限制的飛行器預(yù)測校正制導(dǎo)
“整式的乘法與因式分解”知識(shí)歸納
芮城县| 桓仁| 扎鲁特旗| 永丰县| 电白县| 建湖县| 静乐县| 中西区| 皋兰县| 佛冈县| 秦皇岛市| 苍山县| 九龙县| 盱眙县| 连平县| 奈曼旗| 太仓市| 丰镇市| 大庆市| 沐川县| 鲁甸县| 怀来县| 临潭县| 阿坝| 达拉特旗| 石林| 自治县| 大姚县| 洱源县| 七台河市| 波密县| 浏阳市| 工布江达县| 广东省| 太保市| 开鲁县| 随州市| 晋宁县| 博野县| 阿拉善右旗| 新密市|