999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TEGRAK1的實時信號處理示波器的設計

2016-04-12 00:00:00徐巧玉王衛敏王軍委
現代電子技術 2016年15期

摘 要: 針對傳統示波器不能滿足信號實時處理的問題,提出一種基于TEGRA K1的實時信號處理示波器。通過FPGA控制模擬通道和數據采集模塊,完成對輸入信號的采集和傳輸;采用TEGRA K1作為系統數據處理和計算的核心,基于CUDA架構實現數據的并行處理,從而降低了算法復雜度,縮短了算法的執行時間,實現信號的實時處理。實驗結果表明示波器的性能穩定,各項指標均達到設計要求。

關鍵詞: TEGRA K1; 實時處理; 示波器; 數據采集

中圖分類號: TN919.3?34; TN98 文獻標識碼: A 文章編號: 1004?373X(2016)15?0074?04

Abstract: In order to solve the problem of the traditional oscilloscope can′t satisfy the real?time signal processing, a real?time signal processing oscilloscope based on TEGRA K1 is proposed. In this paper, the FPGA is used to control the analog channel and data acquisition module to accomplish the input signal acquisition and transmission, and the TEGRA K1 is taken as the core of system data processing and computing. The data parallel processing was realized based on CUDA architecture to reduce the algorithm complexity, shorten the algorithm execution time, and implenment the real?time signal processing. The experiment results show that the oscilloscope has stable performance, and its indexes can meet the design requirements.

Keywords: TEGRA K1; real?time processing; oscilloscope; data acquisition

0 引 言

數字存儲示波器DSO(Digital Storage Oscilloscope)在測試測量領域應用非常廣泛[1]。近年來,隨著對現代信息領域研究的不斷深入和測試環境復雜度的增大,示波器對被測信號只進行簡單的波形顯示已經不能滿足測試測量的需要,現場測量需對被測信號進行實時的數據處理和分析,數據的實時處理涉及多種復雜算法,需要以強大的硬件平臺作為支撐,所以對實時信號處理示波器的研究是非常有必要的。

目前,國外示波器一直處于行業領先地位,知名示波器廠商如安捷倫、泰克等公司運用強大的處理器將數學運算功能拓展至高級運算功能,極大地提高了示波器的實時信號處理性能,但這樣的示波器通常比較昂貴。國內的示波器與國外的相比還有很大的差距,國內較大的示波器廠商如普源精電、優利德等主要提供中低端產品,示波器對復雜算法的計算能力較弱,信號的實時處理能力不能滿足高端市場的需求;國內高校如電子科技大學和北京航空航天大學在示波器的高速數據采集、觸發等領域取得了很好的成績[2],但受硬件計算能力的限制,示波器復雜算法的實時處理能力受到限制,從而影響示波器的實時信號處理性能。

針對這一問題,提出了一種基于TEGRA K1處理器和CUDA架構的具有實時信號處理能力的數字示波器,該系統具有雙通道的數據輸入,200 MSPS的采樣率,100 MHz的模擬帶寬,存儲深度為256M,垂直分辨率為8 b,垂直靈敏度為2 mV~5 V,數學計算性能較強,可對波形數據進行實時的處理分析。

1 系統組成及原理

系統由模擬通道,采樣與傳輸模塊,數據的實時處理與顯示模塊組成[3],如圖1所示。其中模擬通道主要對采樣信號進行一系列預處理;采樣與傳輸模塊完成數據的采集、A/D轉換和數據傳輸;數據處理與顯示模塊基于超強處理器TEGRA K1完成信號的實時處理,涉及多種復雜的數學運算,并將實時處理后的信號進行顯示。

2 模擬通道

模擬通道包括AC/DC交直流耦合電路、衰減電路ATT、程控增益放大電路VGA以及偏置調節電路,如圖2所示。模擬通道實現兩通道的數據輸入,被測信號進入示波器后由繼電器的通斷控制交直流信號的選擇;由衰減電路進行10倍或100倍的衰減;由程控增益放大電路VGA對被測信號進行放大處理,使得輸入信號在A/D轉換芯片的輸入范圍內,充分利用ADC的分辨率的同時又不損壞ADC器件;偏置電路則是手動添加一個直流電平信號,使得波形數據便于觀察。

3 采樣與傳輸

采樣與傳輸模塊由并行ADC、觸發單元和FPGA組成,如圖3所示。并行ADC由兩片采樣芯片AD9288組成,對信號進行并行交替采樣[4?5],這是提高實時采樣率的有效途徑。兩片ADC芯片的時鐘由FPGA提供。為了顯示比較穩定的波形,觸發電路需保證周期信號每次采樣的起始位置相同[6],觸發單元采用TL3016CD芯片作為比較器,比較器的兩端分別加載示波器波形和直流電平,直流電平是由FPGA經D/A轉換后得到的一個直流模擬信號,觸發電平則根據該直流電平進行正負或大小的調節。波形數據被觸發后,由并行ADC進行采樣并送至FPGA,FPGA內部開辟兩片FIFO內存,并行交替接收ADC傳來的波形數據,并將接收到的波形數據通過SPI接口傳送給TEGRA K1處理器。

4 數據的實時處理

隨著示波器的快速發展,可靠且高效率的實現復雜算法是提高數字示波器信號實時處理性能的核心[7]。并行技術的出現,使復雜算法得以并行處理,并行結構也隨之被提出。本文采用TEGRA K1處理器和CUDA架構實現算法的并行處理,提高了算法的執行效率,從而實現示波器信號的實時處理。

可編程的多核處理器GPU以其高并行度、多線程和強大計算能力的特性,適應于大規模數據并行實時處理中[8];伴隨GPU的發展,其相應的可編程平臺CUDA也得到了發展,CUDA(Computer Unified Device Architecture)是英偉達公司推出的一種通用并行計算架構,該架構使GPU能夠解決復雜的計算問題。本系統采用的TEGRA K1處理器是英偉達(NVIDIA)公司生產的一款強悍的移動處理器,它采用開普勒架構的GPU。該GPU配備了192個NVIDIA CUDA核心,每個核心有2GFlop浮點性能和950 MHz核心頻率,此外還有4?加?1(4?Plus?1)四核ARM Cortex?A15 CPU,最大內存容量為8 GB。CUDA有標準的數值程序庫,使得GPU能高效率的執行復雜計算任務,采用TEGRA K1處理器和CUDA架構,能夠將復雜算法進行并行處理,降低算法的復雜度,提高算法的執行效率,從而解決示波器信號實時處理的問題。

該實時信號處理示波器可支持多種復雜算法,下面以數字信號實時處理分析中最常用的FFT算法為例,在TEGRA K1處理器和CUDA架構上實現并行FFT算法,并對該算法做進一步優化。

對于[N=2M]點的有限長序列,進行DFT運算的時間復雜度為[O(N2),]而進行FFT運算的時間復雜度下降到[O(Nlog2N),]本系統基于TEGRA K1處理器和CUDA架構實現的并行FFT算法,則將其時間復雜度約下降至[O(N)。]

4.1 串行FFT算法

由復數的計算規則可知,DFT直接計算全部[X(k)]需要[4N2]次實數乘法和[2N(N-1)]次實數加法,[N]大時則其計算量非常大;但實時處理系統對處理器的運算能力要求較高,所以通過減少算法的運算量以提高運算的速度就變得尤為重要。

由式(1)可知,該算法中重復運算的次數較多,可利用旋轉因子的特性,降低重復運算出現的概率。

若輸入序列[N=2M](N為2的整數次冪),按照n的奇偶性將序列[x(n)]分成兩組,利用旋轉因子[WnkN]的周期性和對稱性將長度為[N]的DFT分為兩個[N2]的DFT,這個過程可降低一半的計算量,此方法為基?2 FFT算法。

由基?2 FFT原理可知,串行FFT算法需要通過3層循環結構完成:最外一層循環需完成[M]次迭代;中間一層循環需確定旋轉因子[WnkN]的變化;最內一層循環需完成旋轉因子[WnkN]的蝶形運算;由此分析其時間復雜度為[O(Nlog2N)]。

對于[N]點有限長序列,執行DFT算法的時間復雜度為[O(N2),]采用基?2 FFT算法可以將時間復雜度降至[O(Nlog2N)]。

4.2 基于CUDA的并行FFT算法

CUDA架構是以網格(Grid)的形式組織的,每個Grid又包含若干個線程塊(Block),每個Block又包含很多個線程(Thread),這些線程的指令地址相同,可以并行執行任務,又可共享存儲器數據,芯片執行的最小單位就是線程[9]。在CUDA架構中,并行是由不同塊間粗粒度并行和同塊內線程間細粒度并行實現的。

并行FFT基于CUDA架構的計算過程為:對于一個[N]點的序列,做FFT變換的每一級都要進行[N2]次蝶形運算;為避免數據反復重排,在調用FFT變換的Kernel函數前將數據進行倒位序重排,并將加權后的投影數據輸入全局存儲器;把數據從主機Host(CPU)端輸入設備Device(GPU)的存儲器;循環調用GPU的FFT的Kernel函數[M]次;然后把數據從Device端輸出到Host端。

根據CUDA多線程并行執行模式的特點,對并行FFT算法作進一步分析:對于[N=2M]點的序列,FFT計算共[log2N]級,且每級都需[N2]次蝶形運算。由于同一級蝶形運算實現了并行操作,不同級之間實現的是串行操作,所以[M(N=2M)]級蝶形運算,需完成[M]次循環,此時間復雜度為[O(log2N)]。

在基于CUDA的并行FFT算法中,把相同的旋轉因子存入到紋理存儲器,以避免旋轉因子的重復計算[10],對于蝶形運算來說,相同的旋轉因子在紋理存儲器中存在備份,可并行執行,但不同的旋轉因子就需要通過計算得到。旋轉因子存在變化規律,即第[L]級有[2L-1]個旋轉因子,且這[2L-1]個旋轉因子的偶次項可使用前一級旋轉因子的值,因此只需計算[2L-2]次。

由圖4可知:

數據量較小時,并行FFT算法幾乎沒有實現計算的加速,其實質是數據量太小,CUDA并行程度不高,很大一部分時間則消耗在CPU與GPU間的數據傳輸上,所以相比于串行FFT加速比為0;

數據量在1 024×1 024~8 192×8 192范圍內,加速效果非常明顯;

數據量持續增大時,并行CUDA資源得到充分利用,CUDA的線程達到飽和,并行FFT算法的加速比不再繼續提高。對于數字示波器來說,通常不會對較小的數據量進行FFT分析,數據量受到示波器存儲的限制,不會無限增大,本系統將數據量控制在加速比最佳數據范圍內,在保證數據量的前提下充分發揮CUDA的并行特性進行數據的實時處理。

本系統采用TEGRA K1處理器,基于CUDA架構對數據進行并行處理,降低了算法的時間復雜度,縮短了算法的執行時間,提高了系統的實時性,從而滿足示波器對數據進行實時處理的要求。

基于TEGRA K1處理器和CUDA架構進行數據的實時處理不僅適用于FFT算法,還適用于積分、微分、FIR濾波、IIR濾波等算法。本系統不僅滿足單一的算法,還可以對多種算法進行組合,且能滿足組合算法的實時性。為增強系統的開放性增加了用戶自定義模塊,用戶通過編寫軟件定義自己需要的算法,以滿足對數據特殊處理的需求。

5 實 驗

本系統采用TEGRA K1處理器和CUDA架構實現示波器信號的實時處理,其中,TEGRA K1處理器有4?加?1(4?Plus?1)四核ARM Cortex?A15的CPU,還有開普勒架構的GPU,操作系統為Linux Ubuntu 14.04,編譯環境是NCVV編譯器、CUDA3.0,示波器界面設計軟件是Qt Creator 3.0.1。示波器的工作界面如圖5所示。

實驗中,示波器采集的信號是一個正弦信號疊加一個20 dB的噪聲,示波器對此信號進行實時的FFT分析并顯示。示波器實時性能的優劣又關系到波形更新率的快慢。

為進一步測試示波器的性能,將示波器分為單獨使用CPU和CPU與GPU協同工作兩種狀態,分別對一定數據量數據進行實時處理并顯示。僅CPU工作時,CPU在進行數據處理的同時又要進行波形顯示,由于CPU是串行工作的,數據的實時處理會影響波形的更新頻率;當GPU與CPU協同工作時,GPU作為CPU的協同處理器,可并行處理數據,給CPU節省更多的時間刷新波形,提高了示波器實時處理的性能,其波形更新率如表1所示。

由此可知,在保證一定數據量的前提下,使用TEGRA K1處理器和CUDA架構,使CPU與GPU協同工作,波形數據并行處理,計算速度得到提高,波形更新率加快,從而提高了示波器信號實時處理性能。

6 結 論

本文采用TEGRA K1處理器和CUDA架構設計的數字示波器,通過FPGA采集數據,TEGRA K1處理器實時并行地處理數據,實現了數字示波器信號的實時處理,滿足了測試測量的需求。實驗表明,此數字示波器在完成傳統示波器基本功能的同時,滿足實時信號處理的需求,應用前景廣泛。

參考文獻

[1] 葉芃,曾浩,潘卉青,等.10 GSPS數字三維示波器關鍵技術研究[J].儀器儀表學報,2012(12):2688?2696.

[2] 高文娟.數字示波器高級數學運算功能設計[D].成都:電子科技大學,2013.

[3] 王慶春,何曉燕.基于FPGA的手持式示波器設計[J].現代電子技術,2013,36(10):106?108.

[4] 徐正明,石曉晶.峰值檢測示波器的設計[J].儀表技術與傳感器,2014(4):14?15.

[5] 趙建敏,李琦.工業通用A/D采集模塊的設計與實現[J].儀表技術與傳感器,2012(12):21?22.

[6] 曾浩,王厚軍,潘卉青,等.一種數字存儲示波器智能觸發技術研究[J].儀表技術與傳感器,2010(6):65?68.

[7] 羅婷婷.數字示波器中高速實時數據處理技術的研究[D].成都:電子科技大學,2010.

[8] 李曉雯,崔翔.GPU矩陣乘法和FFT算法的性能優化[J].現代電子技術,2013,36(4):80?84.

[9] 駱巖紅,萬國峰,王建華.基于CUDA架構的FFT并行計算研究[J].自動化與儀器儀表,2014(12):25?28.

[10] 王櫻.基于CUDA的FFT并行計算研究[D].長沙:湖南大學,2012.

主站蜘蛛池模板: 国产尤物jk自慰制服喷水| 亚洲成在人线av品善网好看| 色综合色国产热无码一| 国产精品免费久久久久影院无码| 亚洲AV无码一区二区三区牲色| 国产国产人在线成免费视频狼人色| 久久综合九九亚洲一区| 又大又硬又爽免费视频| 日韩精品亚洲一区中文字幕| 在线欧美国产| 亚洲国产看片基地久久1024| 国产精品女同一区三区五区| 欧美色视频在线| 91精品国产无线乱码在线| 91成人在线观看视频| 亚洲娇小与黑人巨大交| 亚洲国产黄色| 爽爽影院十八禁在线观看| 国产天天射| 成年人福利视频| 91丝袜在线观看| 欧美国产日韩一区二区三区精品影视| 激情无码字幕综合| a级毛片一区二区免费视频| 欧美一区国产| 精品色综合| 亚洲欧美日本国产综合在线| 丝袜美女被出水视频一区| 人妻出轨无码中文一区二区| 麻豆AV网站免费进入| 国产91高清视频| 欧美成人A视频| 久久这里只有精品国产99| 一级不卡毛片| 国产日韩丝袜一二三区| 久久人午夜亚洲精品无码区| 亚洲啪啪网| 国产精品视频白浆免费视频| 国产精品私拍99pans大尺度 | 亚洲精品动漫| 香蕉久久国产超碰青草| 国产噜噜在线视频观看| 国产黑人在线| 国产精品无码一区二区桃花视频| 国产午夜人做人免费视频中文| 国产在线小视频| 国产美女在线观看| 亚洲av色吊丝无码| 日韩午夜片| 国产在线视频二区| 精品一区二区三区自慰喷水| 亚洲人成高清| 中日无码在线观看| 精品自拍视频在线观看| 国产香蕉一区二区在线网站| 天天综合网色| 一级毛片无毒不卡直接观看| 亚洲国产午夜精华无码福利| 中文字幕久久亚洲一区| 老司机精品一区在线视频| 国产丝袜丝视频在线观看| 999福利激情视频| 亚洲黄网在线| 日韩a级片视频| 小蝌蚪亚洲精品国产| 成人国内精品久久久久影院| 中文字幕久久波多野结衣| 一本大道无码日韩精品影视| av一区二区三区在线观看| 国产精品女人呻吟在线观看| 国产欧美日韩综合一区在线播放| 拍国产真实乱人偷精品| 亚洲综合经典在线一区二区| 欧美亚洲一区二区三区在线| 欧美国产在线看| 亚洲欧美日韩精品专区| 久久黄色视频影| 欧美一级黄片一区2区| 亚洲成人一区二区三区| 亚洲综合色婷婷| 精品一区二区久久久久网站| 性欧美精品xxxx|