資源描述:
《數(shù)據(jù)壓縮課程論文》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、初玄隹加Z兌/哆數(shù)據(jù)壓縮課程論文題目基于單片機的ADPCM的實現(xiàn)學牛姓名曲振林學號20111227365院系電子與信息工程學院專業(yè)信號與信息處理任課教師何軍二o—二年五月三■*—日ADPCM壓縮算法的單片機實現(xiàn)摘要:提出一種基于單片機的數(shù)據(jù)圧縮算法。該算法采用自適應差分預測編碼,需要運算址小,便于單片機實時壓縮。并提供過零檢測功能來抑制誤差傳播效應。關鍵詞:單片機;自適應差分預測編碼;過零檢測1概述在聲波石汕測井屮,地層屮的測井儀需要向地面?zhèn)魉腿肆康穆暡y井數(shù)據(jù),傳輸數(shù)據(jù)所占的時間成為影響測速的主要因
2、素,由于井下電纜采集的數(shù)據(jù)竝和數(shù)據(jù)傳輸速率和對固定,因此要想提高測速從而降低測井成木,盂要采用合適的數(shù)據(jù)壓縮算法,將聲波數(shù)據(jù)壓縮后再傳往地面C本文提出i種能夠在單片機上實現(xiàn)的壓縮算法,即具有過零檢測功能的口適應差分脈沖編碼調(diào)制(ADPCM)壓縮算法。該算法在滿足性能要求的前提下,僅需要較小的運算量,能夠在單片機上實現(xiàn)實時壓縮,并能抑制ADPCM壓縮算法所帶來的謀差傳播現(xiàn)象。2帶過零檢測的ADPCM壓縮算法2.1聲波數(shù)據(jù)的特點到達測井儀接收端的聲波信號頻率大約為20kHz,持續(xù)吋間達幾毫秒。一般波形如圖
3、1所示。根據(jù)用戶要求,測井儀以高采樣率(通常為200RH刁以上,最高1MH力采集聲波信號,采集得到的波形數(shù)據(jù)字長為12位。2.2壓縮算法的選擇從頻率上看,聲波頻率約為20kllz,而采樣頻率通常為l.Mllz(用戶要求),遠遠高于聲波的頻率。札I對于采樣脈沖來說,聲波的幅度變化較平緩,所以相鄰采樣脈沖采得的值差別不人,存在著較強的相關性。我們采用ADPCM編碼進行壓縮。2.3誤差傳播的抑制ADPCM編碼存在誤差傳播現(xiàn)象。因為解碼時毎一點都依照英前血的點來恢復自己的幅度,如果在數(shù)據(jù)傳輸屮一個數(shù)據(jù)發(fā)牛錯謀
4、,則具后的各點都會受到影響,錯誤就會一直傳播F去。而井下與地面Z間信道的干擾比較大,誤碼是實際存在的。對于編解碼時產(chǎn)生的過載噪聲,同樣也冇這種現(xiàn)象。如果不解決這個問題,ADPCM編碼就不具冇實用性。圖2ADPCM編碼程序流程圖通過分析可以發(fā)現(xiàn):聲波信號是不斷通過零點的。因此,我們設想,可以利用過零信息對誤差進行校正。具休方法如卜1在原有壓縮編碼的基礎上,增加一位符號位,表明信號此時的絕對電平極性:如果是疋電平,就為(),如果是負電平,就為1。當該位發(fā)生變化時,表明在兩個采樣點Z間信號經(jīng)過一次零點,或由
5、正變負,或由負變正。發(fā)現(xiàn)該位變化后,檢查解碼得出的當前點和解碼得出的上一點Z間是否也存在著同樣的過零情況。如果兩者情況相同,且都是由正變負或由負變正,說明解碼正常;否則,說明有誤碼產(chǎn)生,令當前點為零電位,予以糾正。這樣誤差傳播一般只能在相鄰兩次過零點Z間存在,從而冇效地抑制誤差傳播。3帶過零檢測的ADPCM編譯碼程序流程圖圖2為6bit帶過零檢測功能的ADPCM編碼程序流程圖。^H'Sample(i)為笫i個數(shù)據(jù)采樣值,D(i)為相鄰采樣值之間的差值,bit5~bitO為編碼輸出比特。圖3為6bit帶
6、過零檢測功能的ADPCM譯碼程序流程圖。其中D(i)為地面接收的第i個編碼數(shù)據(jù),zero.bit為過零標志,Sample(i)為地面恢復的賀個采些值。<開始〉圖3為6bit帶過零檢測功能的ADPCM譯碼程序流程圖。其屮D.(i)為地而接收的第i個編碼數(shù)據(jù),zero_bit為過零標志,Sample(i)為地面恢復的第i個采樣值。開始4.1壓縮比該算法將12bit的波形采樣數(shù)據(jù)壓縮為6bi,t壓縮比為2。4.2壓縮時間測井儀采用AT89C52單片機,工作頻率為16MHz,單字節(jié)指令運行時間為(1/16)@
7、12=0.75Ls。工作時,單片機在發(fā)送一個字的時間內(nèi),大約可以執(zhí)行230條指令。除去發(fā)送和讀數(shù)的開銷,還有160條指令的空余度。使用上述編碼壓縮一個字約需要130條單字節(jié)指令(僅考慮壓縮和數(shù)據(jù)整理的開銷),滿足單片機的運算能力要求,能夠完成實時壓縮的要求。4.3失真度的要求通過對采集的多個數(shù)據(jù)樣木進行統(tǒng)計,使用木壓縮算法而造成的失真數(shù)據(jù)個數(shù)小于7.62%。由圖4的誤差曲線觀察(上面兩個波形分別為原始波形和解壓縮后的波形,下面的波形為誤差曲線),失真度很小。從圖5對以看到普通的ADPCM編碼無法阻止誤
8、差的傳播(上面兩個波形為原始波形和解壓縮示的波形,下血'的波形為課差曲線。為了能在圖屮突出體現(xiàn)傳播效應,加入課碼時采取極端措施,在某一點處連續(xù)加入大雖的大數(shù)值誤碼),圖6采用過零檢測后可以使誤差的傳播限制在一個很小的區(qū)間里,但這是以犧牲壓縮率(增加一位極性位)為代價的。綜上,釆用過零檢測技術的6bitADPCM(包括一位極性位)碼能夠實時有效壓縮測井數(shù)據(jù),并能夠抑制ADPCM編碼的課差傳播現(xiàn)象。5總結:通過本文對ADPCM編碼技術的研究,及其在單片機上的