當(dāng)前位置:首頁(yè) > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]傳統(tǒng)壓縮方法對(duì)DCS 模擬量進(jìn)行壓縮效果不佳。要得到較好的壓縮效果就要從模擬量在計(jì)算機(jī)中表示的方法入手。本文分析了DCS 模擬量在計(jì)算機(jī)中存儲(chǔ)和表示方法及其特點(diǎn),對(duì)原始

傳統(tǒng)壓縮方法對(duì)DCS 模擬量進(jìn)行壓縮效果不佳。要得到較好的壓縮效果就要從模擬量在計(jì)算機(jī)中表示的方法入手。本文分析了DCS 模擬量在計(jì)算機(jī)中存儲(chǔ)和表示方法及其特點(diǎn),對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,使數(shù)據(jù)表現(xiàn)出較明顯的冗余信息,然后對(duì)數(shù)據(jù)的不同部分,采用不同的壓縮方法,每種壓縮算法壓縮模擬量數(shù)據(jù)的一部分。

與DCS 接口中,串行通訊是常見的接口方式。為了提高通訊效率,需要對(duì)通訊的數(shù)據(jù)進(jìn)行壓縮處理。DCS 模擬量的壓縮方法中,常用整數(shù)表示工程量,即將模擬量的按其量程線性化處理為兩字節(jié)正整數(shù)(0~65535),應(yīng)用時(shí)再轉(zhuǎn)換為工程量。這種方法由于要維護(hù)模擬量的量程表,不便于通信;另一類常用的壓縮方法是采用LZW 等基于字典模型的壓縮算法。模擬量數(shù)據(jù)是以單精度浮點(diǎn)數(shù)存放的,數(shù)據(jù)的冗余度很小,傳統(tǒng)的壓縮處理方法的壓縮效果都不理想。

本文從模擬量在計(jì)算機(jī)中的表示方法入手,首先將模擬量預(yù)處理,再針對(duì)數(shù)據(jù)的不同部分采用不同的方法進(jìn)行壓縮,最后將壓縮后數(shù)據(jù)組合起來(lái)。這樣既充分考慮到了數(shù)據(jù)的特點(diǎn),又充分利用了壓縮方法的適應(yīng)性。

1 模擬量的表示方法及特點(diǎn)

1.1 模擬量的表示方法

DCS 模擬量用單精度浮點(diǎn)數(shù)表示,占用4 個(gè)字節(jié),可以精確到7 位有效數(shù)字。按文獻(xiàn)[3] 標(biāo)準(zhǔn)(以下簡(jiǎn)稱標(biāo)準(zhǔn))表示。設(shè)一個(gè)浮點(diǎn)數(shù)R,可使用三元組{S,E,M}來(lái)表示:S 為符號(hào)位,用1 位表示。

S = 0 表示R 為正數(shù),S = 1 表示R 為負(fù)數(shù);E 為指數(shù),用8bits表示。實(shí)際指數(shù)要經(jīng)E - 127 計(jì)算后得到;M 為尾數(shù),用23bits 表示。浮點(diǎn)數(shù)R 為S×1.M E(1 為隱含的一位尾數(shù),不在M 中表示)。

1.2 模擬量的特點(diǎn)

數(shù)據(jù)壓縮需要信息有足夠的冗余度。以標(biāo)準(zhǔn)表示的模擬量不利于壓縮。即便差值很小的數(shù)據(jù),在計(jì)算機(jī)中表示結(jié)果差別很大,如1234.5 在計(jì)算機(jī)中用四字節(jié)表示為:68 154 80 0 ,而1234.6表示為:68 154 83 51,僅有符號(hào)位和指數(shù)位表示相同,尾數(shù)完全不同,這樣就造成了壓縮的難度。

現(xiàn)以200 個(gè)模擬量數(shù)據(jù)為樣本分析其特點(diǎn)。樣本數(shù)據(jù)隨機(jī)產(chǎn)生,其范圍為[0.0,1000.0].按照標(biāo)準(zhǔn)存儲(chǔ)的數(shù)據(jù)從字符概率分布較平均,若用通用數(shù)據(jù)壓縮方法壓縮這些數(shù)據(jù),得不到很好的效果。

雖然浮點(diǎn)數(shù)的信息冗余度很小,但若用其表示DCS 模擬量,仍有以下特點(diǎn):

(1)各工程量數(shù)值多數(shù)大于零,因此標(biāo)準(zhǔn)表示中,符號(hào)位S 大多為零;

(2)各工程量的量程相差約為0.0001~10000 倍,因此標(biāo)準(zhǔn)表示中,指數(shù)差值約為-4 ~ 4 ;

(3)從數(shù)據(jù)精度考慮,工程量一般保留5 位有效數(shù)字即可。因此標(biāo)準(zhǔn)表示中,尾數(shù)部分有可壓縮的信息。

2 模擬量的預(yù)處理

模擬量預(yù)處理的目的是為了產(chǎn)生更多的冗余信息,獲得更好的壓縮效果。通信時(shí)一般將模擬量按測(cè)點(diǎn)表以自然順序排列。根據(jù)1.2 節(jié)的分析可知,若將模擬量按其三元組順序排列,即:N 個(gè)模擬量數(shù)據(jù),其自然排列順序?yàn)閧S1,E1,M1}、{S2,E2,M2}、…、{SN,EN,MN},共占用4N 字節(jié)。壓縮前將模擬量序列按字節(jié)重新排列為:

S1S2…SNE1E2…ENM1M2…MN.因符號(hào)位S 為1 位,重新排列后將8個(gè)模擬量的符號(hào)位合并為1 字節(jié)。故重新排列后N 個(gè)模擬量共占用字節(jié)數(shù)為4N+N/8(+1) 字節(jié)。(括號(hào)中+1 字節(jié)表示N 不是8 的整數(shù)倍時(shí)總字節(jié)數(shù)+1)。

圖1(a) 為樣本數(shù)據(jù)經(jīng)重新排列后字節(jié)分布情況??梢钥闯鰯?shù)據(jù)已呈現(xiàn)明顯的規(guī)律性:第一部分?jǐn)?shù)據(jù)[1,25] 為數(shù)據(jù)的符號(hào),是樣本數(shù)據(jù)的符號(hào)。樣本數(shù)據(jù)均為正,因此由符號(hào)位構(gòu)成的這部分?jǐn)?shù)據(jù)全為零;第二部分?jǐn)?shù)據(jù)[26,225] 為N 個(gè)樣本數(shù)據(jù)的指數(shù),根據(jù)1.2 節(jié)分析可知,各數(shù)據(jù)的指數(shù)差值大約在-4~4 之間,故有較大的壓縮空間;最后一部分?jǐn)?shù)據(jù)[226,825] 為N 個(gè)樣本的尾數(shù),呈隨機(jī)分布。

第一次預(yù)處理是數(shù)據(jù)無(wú)損的。考慮到DCS 模擬量精度要求有5 位有效數(shù)字即可。根據(jù)信息理論,1 位十進(jìn)制數(shù)可以精確表示log210 ≈ 3.32 位二進(jìn)制數(shù)。單精度浮點(diǎn)數(shù)表示模擬量時(shí),4 位二進(jìn)制約可表示1 位十進(jìn)制。因此,在精度滿足DCS 系統(tǒng)要求的情況下,可以減少一個(gè)字節(jié)尾數(shù)。第二次預(yù)處理將尾數(shù)的最低字節(jié)置零,進(jìn)一步提高數(shù)據(jù)的冗余信息。圖1(b) 為第二次預(yù)處理后的字節(jié)分布情況??梢钥闯?,相比第一次預(yù)處理,數(shù)據(jù)最后一部分[626,825] 全為零,可以更好地被壓縮。

 

 

3 壓縮算法的選擇

3.1 壓縮算法選擇原則

壓縮算法要根據(jù)原始數(shù)據(jù)的特點(diǎn)以及對(duì)速度、性能的綜合要求來(lái)選擇。模擬量的壓縮應(yīng)用在數(shù)據(jù)通信中,對(duì)速度的要求較高。

因此壓縮算法不能過(guò)于復(fù)雜,運(yùn)算量要小。

從預(yù)處理后的樣本數(shù)據(jù)可以看出,每一部分?jǐn)?shù)據(jù)的特點(diǎn)不同,因此選擇壓縮算法時(shí)應(yīng)針對(duì)不同特點(diǎn)的數(shù)據(jù)采用不同的壓縮算法來(lái)處理。第一部分?jǐn)?shù)據(jù)(由符號(hào)位組成)為零(或絕大部分為零),可以采用游程編碼(Run Length Encoding);第二部分?jǐn)?shù)據(jù)(由指數(shù)組成)數(shù)值間相差不大,可用差分編碼(Differential Encoding);第三部分?jǐn)?shù)據(jù)(由部分尾數(shù)組成)隨機(jī)性較大,壓縮效果不明顯,因此不進(jìn)行壓縮;第四部分?jǐn)?shù)據(jù)(由最低字節(jié)尾數(shù)組成)均為零,可采用游程編碼。

3.2 差分編碼

差分編碼又稱相關(guān)編碼。當(dāng)源數(shù)據(jù)之間差值不大時(shí),用數(shù)據(jù)間的差值代替源數(shù)據(jù)序列。較小的差值可以用較少的位數(shù)表示。本文用4 位二進(jìn)制表示一個(gè)差值。

源數(shù)據(jù)中序列E1E2…EN 為數(shù)據(jù)的指數(shù),其差值約在-4 ~ 4之間,用4 位二進(jìn)制表示此差值:最高位用來(lái)表示差值的符號(hào),其余三位表示差值,-7 保留??杀硎镜牟钪捣秶鸀?6~+7 ;若差值大于此范圍,則不壓縮,用原碼輸出。為了區(qū)分是差值輸出還是原碼輸出,用保留的-7 表示下一字節(jié)為原碼輸出。N 字節(jié)源序列,若每一字節(jié)都可以用相鄰差值來(lái)表示,其理想壓縮比為1:(N/2+1)/N=1:0.5+1/N.

為樣本數(shù)據(jù)差分編碼壓縮后字節(jié)分布??梢钥吹?,源數(shù)據(jù)中表示指數(shù)的部分已經(jīng)被有效壓縮。樣本數(shù)據(jù)由825 字節(jié)壓縮到726 字節(jié),實(shí)際壓縮率為88.0%.

3.3 游程編碼

游程編碼的思路是:若數(shù)據(jù)項(xiàng)d 在源數(shù)據(jù)中連續(xù)出現(xiàn)n 次(n稱為重復(fù)因子),則在輸出流中以nd 代替n 個(gè)重復(fù)項(xiàng)d.游程編碼也可能出現(xiàn)壓縮比大于1 的情況。為了區(qū)分輸出項(xiàng)是重復(fù)因子還是被壓縮數(shù)據(jù),規(guī)定當(dāng)重復(fù)因子n ≥ 3 時(shí),輸出ddd(n-3) ;n < 3時(shí),輸出n 個(gè)d,即不壓縮輸出。另外重復(fù)因子3 ≤ n ≤ 255,若數(shù)據(jù)項(xiàng)d 重復(fù)次數(shù)大于255,則要重新進(jìn)行游程編碼。設(shè)源數(shù)據(jù)長(zhǎng)度為N,包含M 次重復(fù),每次重復(fù)平均長(zhǎng)度L,則游程編碼壓縮比為1:(N-M×(L-4))/N.

樣本數(shù)據(jù)經(jīng)預(yù)處理后第一部分(由符號(hào)位組成)和第四部分(由最低位尾數(shù)組成)可以用游程編碼。這部分?jǐn)?shù)據(jù)可以獲得很高的壓縮比。第一部分理想壓縮比為1:4/25=1:0.16 ;第四部分理想壓縮比為1:4/200=1:0.015.

 

 

圖3 為經(jīng)游程編碼壓縮后的數(shù)據(jù)分布圖。由上一級(jí)差分編碼壓縮后的726 字節(jié)壓縮至510 字節(jié),實(shí)際壓縮比為1:0.70.

4 結(jié)論

200 個(gè)樣本數(shù)據(jù)經(jīng)預(yù)處理,對(duì)一部分?jǐn)?shù)據(jù)進(jìn)行差分編碼、對(duì)另一部分?jǐn)?shù)據(jù)進(jìn)行游程編碼,最終有510 個(gè)字節(jié)。因此綜合壓縮比為1:510/800 ≈ 1:0.64,節(jié)省約36% 的空間。由于樣本數(shù)據(jù)的隨機(jī)性,因此可以推廣到一般情況。得到以下結(jié)論:

(1)分部壓縮方法可以獲得約1:0.64 的壓縮比;

(2)分部壓縮方法為二級(jí)壓縮算法構(gòu)成。分別針對(duì)模擬量中不同信息類型的數(shù)據(jù)進(jìn)行分部壓縮;

(3)差分編碼和游程編碼的算法的復(fù)雜度低,其時(shí)間復(fù)雜度和空間復(fù)雜度均為O(n),故算法效率很高。

(4)壓縮過(guò)程未涉及到數(shù)據(jù)的工程特性,因此算法可推廣至工業(yè)過(guò)程控制領(lǐng)域,具有一定的實(shí)用價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉