<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 多通道同步數(shù)據(jù)采集及壓縮系統(tǒng)的設(shè)計(jì)方案

          多通道同步數(shù)據(jù)采集及壓縮系統(tǒng)的設(shè)計(jì)方案

          作者: 時(shí)間:2009-09-17 來源:網(wǎng)絡(luò) 收藏

            3.2 數(shù)據(jù)幀格式設(shè)置

            1將A/D轉(zhuǎn)換后的數(shù)據(jù)不斷寫入FIFO1,當(dāng)2 048字節(jié)數(shù)據(jù)寫入FIFO1后,添加16位的幀標(biāo)志及16位的幀計(jì)數(shù),即數(shù)據(jù)格式為:被采集數(shù)據(jù)+幀標(biāo)志+幀計(jì)數(shù)。

            3.3 2控制接口

            接口轉(zhuǎn)換模塊的核心是CPLD,負(fù)責(zé)從輸出FIFO2中讀取數(shù)據(jù),按照的要求時(shí)序編碼后。通過RS-422總線將壓縮后的數(shù)據(jù)上傳至。

            4 DSP部分設(shè)計(jì)

            4.1 DSP程序設(shè)計(jì)流程

            設(shè)備上電DSP復(fù)位后,由其內(nèi)部固化的自引導(dǎo)程序(BOOT)將存于Flash存儲器的程序和數(shù)據(jù)搬移至內(nèi)部RAM中,然后DSP開始讀取壓縮算法的應(yīng)用程序,繼續(xù)運(yùn)行。DSP的工作流程為:首先初始化DSP的CSL函數(shù)庫,然后初始化PLL、GPIO及相關(guān)中斷寄存器,等待中斷。

            采集模塊16位數(shù)據(jù)通過總線不斷寫入。FIFO1中。程序通過控制其半滿(HF)信號,即當(dāng)數(shù)據(jù)超過半滿時(shí),HF信號低電平有效,將觸發(fā)一次中斷通知 DSP,DSP則進(jìn)入中斷后把2048字節(jié)的數(shù)據(jù)從輸入FIFO1中讀入到DSP所指向的SDRAM的空間中,DSP在處理完中斷的空閑時(shí)間內(nèi)進(jìn)行高速壓縮。將壓縮數(shù)據(jù)與原數(shù)據(jù)相比較,若壓縮數(shù)據(jù)小于原數(shù)據(jù),就把壓縮數(shù)據(jù)寫入DSP的軟FIFO中,否則,就將原數(shù)據(jù)寫入DSP的軟FIFO中。

            最終,DSP把軟FIFO中得壓縮數(shù)據(jù)寫入輸出FIFO2中,等待發(fā)送模塊將數(shù)據(jù)上傳至。

            4.2 數(shù)據(jù)壓縮算法選擇

            壓縮編碼信源信息在解壓縮時(shí)能夠完全恢復(fù),也即在壓縮和解壓縮過程中信源信息無損失,該編碼方法稱為無損壓縮,經(jīng)常使用的無損壓縮方法有Shannon-Fano編碼,Huffman編碼,游程(Run-length)編碼,IZW (Lempel-Ziv-Welch)編碼和算術(shù)編碼(ARC)等。這里重點(diǎn)討論ARC算法和LZW算法。ARC算法的思想就像查字典。眾所周知.英文詞典的編排方式是按首字母排序,首字母相同的詞繼續(xù)按第二字母排序,以此類推。實(shí)際應(yīng)用算術(shù)編碼更巧妙。利用字符出現(xiàn)的概率對0~1區(qū)間分割,然后用0~1 之間的一個(gè)小數(shù)對數(shù)據(jù)編碼,原始數(shù)據(jù)越多,這個(gè)小數(shù)點(diǎn)后的位數(shù)就越多。

            LZW編碼是圍繞稱為詞典的轉(zhuǎn)換表完成的。該轉(zhuǎn)換表用來存放稱為前綴(Prefix)的字符序列,并且為每個(gè)表項(xiàng)分配一個(gè)碼字(Code word),或稱為序號,這張轉(zhuǎn)換表實(shí)際上是把8位ASCII字符集進(jìn)行擴(kuò)充。增加的符號用來表示在文本或圖像中出現(xiàn)的可變長度ASCII字符串。擴(kuò)充后的代碼可用9~12位甚至更多的位表示。12位有4 096個(gè)不同的12位代碼,這就是說。轉(zhuǎn)換表有4 096個(gè)表項(xiàng),其中256個(gè)表項(xiàng)用于存放已定義的字符,剩下的3 840個(gè)表項(xiàng)用于存放前綴(Prefix)。LZW編碼器(軟件編碼器或硬件編碼器)通過管理該詞典完成輸入與輸出之間的轉(zhuǎn)換。LZW編碼器的輸入是字符流(Charstream),字符流是用8位ASCII字符組成的字符串,輸出是用n位(例如12位)表示的碼字流(Codestream),碼字代表單個(gè)字符或多個(gè)字符組成的字符串。LZW編碼器采用一種實(shí)用的分析(parsing)算法,稱為貪婪分析算法(greedy parsingalgorithm)。

            在貪婪分析算法中,每一次分析都要串行檢查來自字符流(Charstream)的字符串,從中分解出已識別的最長字符串,也就是已在詞典中出現(xiàn)的最長的前綴(Prefix)。用已知的前綴(Prefix)加上下一個(gè)輸入字符C也就是當(dāng)前字符(Currentcharacter)作為該前綴的擴(kuò)展字符,形成新的擴(kuò)展字符串——綴一符串(Sning):Prefix.C。這個(gè)新的綴一符串(String)是否要加到詞典中,還要看詞典中是否存有和它相同的綴一符串(String)。

            如果有,那么這個(gè)綴一符串(String)就變成前綴(Prefix),繼續(xù)輸入新的字符,否則就把這個(gè)綴一符串字符(String)寫到詞典中生成一個(gè)新的前綴(Prefix),并給一個(gè)代碼。

            一般來說,不同的壓縮算法有不同的優(yōu)缺點(diǎn)。不同算法的復(fù)雜性對空間的要求以及壓縮率也不同。這不僅依賴于壓縮方法,也與被壓縮數(shù)據(jù)的特點(diǎn)有關(guān)。

            該系統(tǒng)設(shè)計(jì)是壓縮實(shí)時(shí)數(shù)據(jù),要求壓縮過程的時(shí)間性能較高,故采用事先統(tǒng)計(jì)模型的ARC算法。實(shí)驗(yàn)證明,采用該算法其運(yùn)算速度與LZW算法速度相近。而ARC算法在壓縮去除率上優(yōu)于LZW算法。

            5 實(shí)驗(yàn)結(jié)果

            算法選擇主要從壓縮速度和壓縮去除率進(jìn)行比較。該設(shè)計(jì)中前端以27 kHz的速度實(shí)時(shí)采集某系統(tǒng)多路噪聲壓縮,從表1中可知ARC算法針對不同分組段的數(shù)據(jù)壓縮去除率約為79%,而LZW算法,在該分組段壓縮去除率僅約 31%,可見ARC壓縮算法的壓縮去除率比較高。實(shí)驗(yàn)中通過上位機(jī)發(fā)送一定規(guī)律數(shù)據(jù),經(jīng)過該系統(tǒng)壓縮數(shù)據(jù)處理,壓縮后數(shù)據(jù)再通過上位機(jī)解包、解壓,還原的數(shù)據(jù)與原始數(shù)據(jù)相比對。其結(jié)果一致,證明系統(tǒng)安全可靠。圖3為上位機(jī)解壓報(bào)表。


            6 結(jié)束語

            詳細(xì)介紹了系統(tǒng)組成,采用復(fù)雜可編程邏輯器件(CPLD)和數(shù)字信號處理器(DSP)的體系結(jié)構(gòu),對無損壓縮的相關(guān)算法進(jìn)行比較,最終采用算術(shù)編碼 (ARC)作為系統(tǒng)壓縮算法。本系統(tǒng)創(chuàng)新點(diǎn)在于采集模塊的多通道同步性以及對噪聲數(shù)據(jù)壓縮的針對性。最后通過大量實(shí)驗(yàn),證實(shí)本方案切實(shí)可行,各項(xiàng)指標(biāo)滿足系統(tǒng)要求。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();