一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于ARC算法的數據壓縮技術和實現(xiàn)

電子工程師 ? 來源:《電子技術應用》 ? 作者:凌 偉 張會新 ? 2021-04-27 17:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

航天技術的發(fā)展,對遙測系統(tǒng)的性能要求越來越高。飛行器復雜程度的加大、測量參數種類的增多、數據量的增大、測量實時性的增強使傳統(tǒng)有限傳輸信道容量的遙測系統(tǒng)面臨巨大挑戰(zhàn)。為此,可以通過采用數據壓縮技術,有效地提高信道利用率,減少遙測數據的傳輸時間和存儲空間,增強遙測數據的實時性和吞吐率。

設計的數據壓縮器以FPGA為控制單元,用DSP實現(xiàn)數據壓縮,可將6路模擬信號采集并壓縮,再經長線發(fā)送至數據接收器。實現(xiàn)硬件模塊化、功能軟件化設計,依靠FPGA的并行執(zhí)行特性,結合高速DSP通信,可靠地完成被測信號的采集、壓縮功能。在保證系統(tǒng)可靠性的同時節(jié)省系統(tǒng)的開發(fā)成本,提高了系統(tǒng)的可重構性[1-2]。

1 數據壓縮器的總體設計

數據壓縮器基于FPGA和DSP的硬件平臺,將待壓縮的6路模擬信號經過調理后輸入給A/D轉換器進行量化,F(xiàn)PGA將量化結果寫入其內部FIFO(First In First Out)緩存中。DSP通過判斷FIFO的半滿信號讀取數據,并根據通道號把數據流分配到6個分組緩存區(qū),當其中任一分組緩存區(qū)滿2 KB時,就進行一次壓縮,壓縮后的數據被存入緩存器中。

當緩存器半滿時,DSP將壓縮后的數據串行發(fā)送至FPGA,F(xiàn)PGA根據接口的通信協(xié)議再把壓縮數據發(fā)送給數據接收器,以保證壓縮數據傳輸的實時性。壓縮器的總體設計方案如圖1所示[3-5]。

基于ARC算法的數據壓縮技術和實現(xiàn)

2 硬件及實現(xiàn)原理

2.1 控制單元的選型

FPGA采用XILINX公司的低成本產品XC3S200AN。其包含豐富的Block RAM資源,可利用IP核建立內部FIFO,以便于數據緩存。XC3S200AN內部含有4 MB大小的Flash,可以存儲FPGA程序。DSP是執(zhí)行數據壓縮的核心單元器件,選型時在考慮處理速度的同時,還要兼顧其與其他設備的接口匹配能力。選用TI公司的TMS320C6416高性能DSP,其CPU工作主頻達到600 MHz,內含容量為1 MB的RAM內存,同時可通過外部存儲器接口(EMIF)、多通道緩存串口(MCBSP)等外設接口與FPGA及存儲器連接。

2.2 信號采集電路設計

設計要實現(xiàn)對6個通道的信號進行每通道30 kHz、8位分辨率的采樣,相當于總采樣率180 kHz。選用TI公司的16位、250 kS/s、6通道同步采樣模數轉換器ADS8365,能夠滿足要求[2]。為了保證模擬信號能被正確量化,先采用運算放大器OPA4340對信號進行電壓跟隨,再由FPGA控制ADS8365進行采樣。

通過在FPGA內部建立FIR濾波器IP核對采集到的數據進行數字濾波,隨后將其低13位并置3位通道編號發(fā)送給DSP。DSP工作頻率通常能達到幾百兆赫茲,但FPGA的工作頻率僅為幾十兆赫茲,所以FPGA要將數據先緩存在其內部FIFO,便于DSP讀取[6-8]。信號調理電路如圖2所示。

基于ARC算法的數據壓縮技術和實現(xiàn)

2.3 DSP的通信接口設計

DSP從FPGA中讀取采樣數據進行壓縮,再將壓縮后數據發(fā)回FPGA,由FPGA進行編碼后發(fā)送到數據接收器。由于數據壓縮需要較大的處理空間,而DSP內部存儲空間有限,為防止在數據壓縮期間內采樣數據和壓縮結果因不能及時傳送而丟失,故在數據輸入、輸出接口之間設計了緩存單元。采樣數據輸入緩存可用FPGA內部FIFO承擔,考慮到FPGA內部RAM資源有限,僅能搭建容量較小的FIFO,而需要的是大容量數據輸出緩存單元。

因此,設計中DSP的外部存儲采用64 MB容量,能夠緩存1 MB壓縮數據,64位數據寬度的同步動態(tài)隨機存儲器(SDRAM)MT48LC2M32B2TG芯片。DSP在采集數據時的數據通信操作較復雜,如果按照外設的器件手冊編程實現(xiàn)對其控制效率太低,而用DSP的外部存儲器接口EMIFA可極大地簡化操作過程,將采集數據FIFO映射到EMIFA的CE2空間;

將SDRAM映射到CE0空間,只需設置DSP的EMIFA相關寄存器參數即可實現(xiàn)數據通信。同樣可通過設置DSP的MCBSP相關寄存器參數來完成壓縮后數據的發(fā)送[9-11]。連接如圖3所示。

3 邏輯控制

3.1 FPGA邏輯設計

壓縮器中,F(xiàn)PGA作為控制單元,完成6路模擬信號采集的邏輯控制、數據傳輸控制以及與DSP的數據傳輸。如圖4所示,F(xiàn)PGA邏輯功能可劃分為4個模塊,分別為信號采集模塊、數據輸入緩存模塊、DSP通信模塊和數據輸出模塊。其中數據輸入、輸出緩存模塊的實現(xiàn),可通過調用FPGA的IP核設置參數生成相應容量的FIFO來完成。

基于ARC算法的數據壓縮技術和實現(xiàn)

3.2 DSP程序設計

DSP程序模塊主要完成模擬信號的壓縮處理。DSP的程序包括模擬數據的預處理、模擬數據的壓縮以及與外部存儲器的通信等。DSP程序流程圖如圖5所示[12-14]。

基于ARC算法的數據壓縮技術和實現(xiàn)

TMS320C6416在上電啟動或者復位后,DSP程序從Flash中加載并啟動,完成系統(tǒng)的初始化以及各個參數的設置,然后進入主函數、初始化CSL函數庫、MCBSP、可編程輸入輸出接口(GPIO)等相關中斷寄存器和內部FIFO。當TMS320C6416檢測到輸入FIFO半滿信號,DSP從輸入FIFO中讀取模擬信號的量化值,當SBUF中有待處理標志時,

DSP啟動ARC編碼開始數據壓縮,ARC編碼將返回壓縮后的數據長度,如果壓縮后的數據長度比壓縮前的小,DSP將壓縮后數據寫入內部數據發(fā)送緩存器,反之則將壓縮前的數據直接寫入。同時DSP不斷監(jiān)測內部緩存的狀態(tài)與外部輸出FIFO中數據狀態(tài),當內部FIFO數據量大于512 B,同時外部FIFO不半滿,DSP從內部FIFO取出數據啟動MSBSP傳輸,將壓縮后的數據發(fā)送到FPGA。

3.3 無損壓縮算法及實現(xiàn)

通過試驗,比較ARC、WINZIP、WINRAR、字典編碼等常用的數據無損壓縮算法的壓縮結果。在壓縮去除率、壓縮速度以及穩(wěn)定性等各方面綜合分析后,最終采用ARC編碼。ARC編碼采用依次遞推方式,對全序列連續(xù)編碼。ARC算法不是依據每個信源符號單獨映射后編碼,而是將整個信號符號序列全部映射到實數軸上(0,1)區(qū)間內的一個子區(qū)間內,子區(qū)間長度等于該序列的概率。

當整個序列映射完畢,就可以用一個概率值表示,可以在子區(qū)間內選擇一個有代表性的介于0和1之間的二進制小數作為實際的ARC編碼輸出,從而實現(xiàn)高效編碼。例如,算術編碼對某條輸入信號序列的輸出為1011001111,它表示小數0.101100111,即十進制數0.72。在VC中編譯調試后,再將算法移植到DSP開發(fā)平臺CCS3.3上繼續(xù)編譯直到通過[15-16]。

4 測試結果

數據壓縮器地面測試臺是專門用來對數據壓縮器進行單元測試的,它可以完全地模擬數據壓縮器在實際環(huán)境下的電氣工作環(huán)境。地面測試臺通過電纜傳輸到壓縮器信號輸入接口,壓縮器采集處理完畢,把數據通過422接口回傳到地面測試臺,測試臺將接收到的數據通過USB接口存儲到計算機以便事后分析處理。測試系統(tǒng)結構圖如圖6所示。

對采集到的6組遙測信號利用ARC算法進行32 min無損壓縮,測試得到162.8 MB的數據??傻脡嚎s去除率為:

1-162.8 MB/(6×30 kHz×8 bit×32×60 s)=52.9%

壓縮過程中SDRAM的最大占用比例為55%。通過MATLAB工具,對一路壓縮前的原始數據和解壓還原后數據進行頻域分析,圖7和圖8分別為兩者的幅頻特性圖,橫軸為頻率值,縱軸為幅值。實測噪聲的主要頻率分布在1~2 kHz的范圍內,解壓后,由于前端濾波器的作用,頻率大于10 kHz的部分基本被濾掉,但數據主要成分基本保持下來,能比較真實地反映數據的實際分布情況。

通過對比,可以看出原始數據與解壓后數據具有一致性,壓縮器的壓縮性能良好,可以較好地完成數據壓縮任務,而且在設計指標上考慮了一定冗余量,提高了壓縮裝置的可靠性,減輕遙測系統(tǒng)的傳輸帶寬壓力。

基于ARC算法的數據壓縮技術和實現(xiàn)

為有效降低遙測速變數據單信道容量,從而在有限的帶寬中增加更多的測試通道和測試參數,提高帶寬利用率,通過對壓縮機理的研究、壓縮算法的比較及相關硬件的設計,總體上實現(xiàn)了遙測噪聲數據的無損壓縮。通過單元測試,充分驗證了所設計的遙測噪聲數據無損壓縮裝置的正確性與可靠性。數據無損壓縮對當前許多應用領域都產生了深遠的影響,特別是在航天遙測領域,意義重大。

針對目前的研究情況,進一步需改進的問題包括:(1)數據采集部分可以在現(xiàn)有遙測噪聲數據采集的基礎上,結合FPGA的高性能和AD器件的更新,增加提高數據采集路數,提高采集速率和精度。(2)優(yōu)化ARC編碼方式??梢越Y合其他的算法,實現(xiàn)算法自適應以增強數據處理適應能力,進一步提高壓縮器性能。(3)推廣技術的使用范圍,比如應用在數據采編、存儲等各個領域,以節(jié)省數據存儲容量開銷。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • USB接口
    +關注

    關注

    9

    文章

    707

    瀏覽量

    56995
  • 數據
    +關注

    關注

    8

    文章

    7256

    瀏覽量

    91881
  • ARC
    ARC
    +關注

    關注

    0

    文章

    47

    瀏覽量

    16824
  • 壓縮器
    +關注

    關注

    0

    文章

    28

    瀏覽量

    8017
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于FPGA的壓縮算法加速實現(xiàn)

    本設計中,計劃實現(xiàn)對文件的壓縮及解壓,同時優(yōu)化壓縮中所涉及的信號處理和計算密集型功能,實現(xiàn)對其的加速處理。本設計的最終目標是證明在充分并行化的硬件體系結構 FPGA 上
    的頭像 發(fā)表于 07-10 11:09 ?755次閱讀
    基于FPGA的<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>加速<b class='flag-5'>實現(xiàn)</b>

    HDMI中的ARC是什么?它有哪些作用?

    HDMI上有許多優(yōu)勢屬性,例如VRR、ARC、ALLM、QMS等,它們的加入都大大提升了專業(yè)級的影音體驗。本期視頻我們來聊聊對HDMI影響度特別高的ARC,它到底有什么作用。
    的頭像 發(fā)表于 07-01 15:06 ?1551次閱讀
    HDMI中的<b class='flag-5'>ARC</b>是什么?它有哪些作用?

    HarmonyOS優(yōu)化應用文件上傳下載慢問題性能優(yōu)化二

    傳輸數據的場景下。 在應用開發(fā)中,常見的數據壓縮技術分類如下: 有損壓縮:僅限圖片視頻音頻等文件適用。通過減少圖片視頻文件的分辨率,降低音頻的音質等手段,以減少文件的大小,來
    發(fā)表于 05-27 16:19

    HarmonyOS優(yōu)化應用文件上傳下載慢問題性能優(yōu)化二

    傳輸數據的場景下。 在應用開發(fā)中,常見的數據壓縮技術分類如下: 有損壓縮:僅限圖片視頻音頻等文件適用。通過減少圖片視頻文件的分辨率,降低音頻的音質等手段,以減少文件的大小,來
    發(fā)表于 05-22 10:54

    嵌入式系統(tǒng)中的代碼優(yōu)化與壓縮技術

    32位指令轉換為16位Thumb指令,實現(xiàn)代碼的初步壓縮。 數據壓縮:對嵌入式系統(tǒng)中的常量數據、字符串等進行壓縮。例如,采用哈夫曼編碼對經
    發(fā)表于 02-26 15:00

    SM73201 DC-ARC-EVAL光伏電弧檢測的具體算法是什么?

    SM73201 DC-ARC-EVAL光伏電弧檢測的具體算法是什么?求大神指教!
    發(fā)表于 02-08 06:14

    LZO Data Compression,高性能LZO無損數據壓縮加速器介紹,F(xiàn)PGA&amp;ASIC

    LZOAccel-CLZO Data Compression Core/無損數據壓縮IP CoreLZOAccel-C是一個無損數據壓縮引擎的FPGA硬件實現(xiàn),兼容LZO 2.10標準。Core接收
    發(fā)表于 01-24 23:53

    LZO Data Compression,高性能LZO無損數據壓縮加速器介紹,F(xiàn)PGA&amp;ASIC

    LZOAccel-C是一個無損數據壓縮引擎的FPGA硬件實現(xiàn),兼容LZO 2.10標準。Core接收未壓縮的輸入數據塊,產生壓縮后的
    的頭像 發(fā)表于 01-13 12:41 ?628次閱讀
    LZO Data Compression,高性能LZO無損<b class='flag-5'>數據壓縮</b>加速器介紹,F(xiàn)PGA&amp;ASIC

    EE-257:面向Blackfin處理器的引導壓縮/解壓縮算法

    電子發(fā)燒友網站提供《EE-257:面向Blackfin處理器的引導壓縮/解壓縮算法.pdf》資料免費下載
    發(fā)表于 01-07 13:56 ?0次下載
    EE-257:面向Blackfin處理器的引導<b class='flag-5'>壓縮</b>/解<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>

    【BearPi-Pico H3863星閃開發(fā)板體驗連載】LZO壓縮算法移植

    壓縮算法,全稱為Lempel-Ziv-Oberhumer算法,是一種無損數據壓縮技術,以其快速的壓縮
    發(fā)表于 11-10 21:45

    PolarDB-MySQL引擎層的索引前綴壓縮能力的技術實現(xiàn)和效果

    在 PolarDB 中, 通過輕量級壓縮實現(xiàn), 可以實現(xiàn)減少數據大小的同時, 性能有一定程度的提升. 如何實現(xiàn)的呢? 背景 近幾年互聯(lián)網行
    的頭像 發(fā)表于 11-09 09:34 ?667次閱讀
    PolarDB-MySQL引擎層的索引前綴<b class='flag-5'>壓縮</b>能力的<b class='flag-5'>技術</b><b class='flag-5'>實現(xiàn)</b>和效果

    壓縮算法的類型和應用

    壓縮算法是一種通過減少數據量來節(jié)省存儲空間或傳輸數據技術。壓縮
    的頭像 發(fā)表于 10-21 13:50 ?917次閱讀

    Huffman壓縮算法概述和詳細流程

    Huffman壓縮算法是一種基于字符出現(xiàn)頻率的編碼算法,通過構建Huffman樹,將出現(xiàn)頻率高的字符用短編碼表示,出現(xiàn)頻率低的字符用長編碼表示,從而實現(xiàn)
    的頭像 發(fā)表于 10-21 13:48 ?904次閱讀

    如何使用gzip壓縮和解壓縮技術

    Nginx是一款高性能的Web服務器,它也能夠充當反向代理服務器和負載均衡器。在Web應用開發(fā)中,優(yōu)化網站速度是一個非常重要的工作。使用gzip壓縮和解壓縮技術,可以有效減小傳輸文件的大小,提升網站的訪問速度。
    的頭像 發(fā)表于 09-29 15:57 ?884次閱讀

    使用qboot時選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報錯,為什么?

    在使用qboot時選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報錯,如下圖:
    發(fā)表于 09-26 07:22