亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于TEGRAK1的實(shí)時(shí)信號(hào)處理示波器的設(shè)計(jì)

        2016-04-12 00:00:00徐巧玉王衛(wèi)敏王軍委
        現(xiàn)代電子技術(shù) 2016年15期

        摘 要: 針對(duì)傳統(tǒng)示波器不能滿足信號(hào)實(shí)時(shí)處理的問(wèn)題,提出一種基于TEGRA K1的實(shí)時(shí)信號(hào)處理示波器。通過(guò)FPGA控制模擬通道和數(shù)據(jù)采集模塊,完成對(duì)輸入信號(hào)的采集和傳輸;采用TEGRA K1作為系統(tǒng)數(shù)據(jù)處理和計(jì)算的核心,基于CUDA架構(gòu)實(shí)現(xiàn)數(shù)據(jù)的并行處理,從而降低了算法復(fù)雜度,縮短了算法的執(zhí)行時(shí)間,實(shí)現(xiàn)信號(hào)的實(shí)時(shí)處理。實(shí)驗(yàn)結(jié)果表明示波器的性能穩(wěn)定,各項(xiàng)指標(biāo)均達(dá)到設(shè)計(jì)要求。

        關(guān)鍵詞: TEGRA K1; 實(shí)時(shí)處理; 示波器; 數(shù)據(jù)采集

        中圖分類號(hào): TN919.3?34; TN98 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 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 引 言

        數(shù)字存儲(chǔ)示波器DSO(Digital Storage Oscilloscope)在測(cè)試測(cè)量領(lǐng)域應(yīng)用非常廣泛[1]。近年來(lái),隨著對(duì)現(xiàn)代信息領(lǐng)域研究的不斷深入和測(cè)試環(huán)境復(fù)雜度的增大,示波器對(duì)被測(cè)信號(hào)只進(jìn)行簡(jiǎn)單的波形顯示已經(jīng)不能滿足測(cè)試測(cè)量的需要,現(xiàn)場(chǎng)測(cè)量需對(duì)被測(cè)信號(hào)進(jìn)行實(shí)時(shí)的數(shù)據(jù)處理和分析,數(shù)據(jù)的實(shí)時(shí)處理涉及多種復(fù)雜算法,需要以強(qiáng)大的硬件平臺(tái)作為支撐,所以對(duì)實(shí)時(shí)信號(hào)處理示波器的研究是非常有必要的。

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

        針對(duì)這一問(wèn)題,提出了一種基于TEGRA K1處理器和CUDA架構(gòu)的具有實(shí)時(shí)信號(hào)處理能力的數(shù)字示波器,該系統(tǒng)具有雙通道的數(shù)據(jù)輸入,200 MSPS的采樣率,100 MHz的模擬帶寬,存儲(chǔ)深度為256M,垂直分辨率為8 b,垂直靈敏度為2 mV~5 V,數(shù)學(xué)計(jì)算性能較強(qiáng),可對(duì)波形數(shù)據(jù)進(jìn)行實(shí)時(shí)的處理分析。

        1 系統(tǒng)組成及原理

        系統(tǒng)由模擬通道,采樣與傳輸模塊,數(shù)據(jù)的實(shí)時(shí)處理與顯示模塊組成[3],如圖1所示。其中模擬通道主要對(duì)采樣信號(hào)進(jìn)行一系列預(yù)處理;采樣與傳輸模塊完成數(shù)據(jù)的采集、A/D轉(zhuǎn)換和數(shù)據(jù)傳輸;數(shù)據(jù)處理與顯示模塊基于超強(qiáng)處理器TEGRA K1完成信號(hào)的實(shí)時(shí)處理,涉及多種復(fù)雜的數(shù)學(xué)運(yùn)算,并將實(shí)時(shí)處理后的信號(hào)進(jìn)行顯示。

        2 模擬通道

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

        3 采樣與傳輸

        采樣與傳輸模塊由并行ADC、觸發(fā)單元和FPGA組成,如圖3所示。并行ADC由兩片采樣芯片AD9288組成,對(duì)信號(hào)進(jìn)行并行交替采樣[4?5],這是提高實(shí)時(shí)采樣率的有效途徑。兩片ADC芯片的時(shí)鐘由FPGA提供。為了顯示比較穩(wěn)定的波形,觸發(fā)電路需保證周期信號(hào)每次采樣的起始位置相同[6],觸發(fā)單元采用TL3016CD芯片作為比較器,比較器的兩端分別加載示波器波形和直流電平,直流電平是由FPGA經(jīng)D/A轉(zhuǎn)換后得到的一個(gè)直流模擬信號(hào),觸發(fā)電平則根據(jù)該直流電平進(jìn)行正負(fù)或大小的調(diào)節(jié)。波形數(shù)據(jù)被觸發(fā)后,由并行ADC進(jìn)行采樣并送至FPGA,F(xiàn)PGA內(nèi)部開辟兩片F(xiàn)IFO內(nèi)存,并行交替接收ADC傳來(lái)的波形數(shù)據(jù),并將接收到的波形數(shù)據(jù)通過(guò)SPI接口傳送給TEGRA K1處理器。

        4 數(shù)據(jù)的實(shí)時(shí)處理

        隨著示波器的快速發(fā)展,可靠且高效率的實(shí)現(xiàn)復(fù)雜算法是提高數(shù)字示波器信號(hào)實(shí)時(shí)處理性能的核心[7]。并行技術(shù)的出現(xiàn),使復(fù)雜算法得以并行處理,并行結(jié)構(gòu)也隨之被提出。本文采用TEGRA K1處理器和CUDA架構(gòu)實(shí)現(xiàn)算法的并行處理,提高了算法的執(zhí)行效率,從而實(shí)現(xiàn)示波器信號(hào)的實(shí)時(shí)處理。

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

        該實(shí)時(shí)信號(hào)處理示波器可支持多種復(fù)雜算法,下面以數(shù)字信號(hào)實(shí)時(shí)處理分析中最常用的FFT算法為例,在TEGRA K1處理器和CUDA架構(gòu)上實(shí)現(xiàn)并行FFT算法,并對(duì)該算法做進(jìn)一步優(yōu)化。

        對(duì)于[N=2M]點(diǎn)的有限長(zhǎng)序列,進(jìn)行DFT運(yùn)算的時(shí)間復(fù)雜度為[O(N2),]而進(jìn)行FFT運(yùn)算的時(shí)間復(fù)雜度下降到[O(Nlog2N),]本系統(tǒng)基于TEGRA K1處理器和CUDA架構(gòu)實(shí)現(xiàn)的并行FFT算法,則將其時(shí)間復(fù)雜度約下降至[O(N)。]

        4.1 串行FFT算法

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

        由式(1)可知,該算法中重復(fù)運(yùn)算的次數(shù)較多,可利用旋轉(zhuǎn)因子的特性,降低重復(fù)運(yùn)算出現(xiàn)的概率。

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

        由基?2 FFT原理可知,串行FFT算法需要通過(guò)3層循環(huán)結(jié)構(gòu)完成:最外一層循環(huán)需完成[M]次迭代;中間一層循環(huán)需確定旋轉(zhuǎn)因子[WnkN]的變化;最內(nèi)一層循環(huán)需完成旋轉(zhuǎn)因子[WnkN]的蝶形運(yùn)算;由此分析其時(shí)間復(fù)雜度為[O(Nlog2N)]。

        對(duì)于[N]點(diǎn)有限長(zhǎng)序列,執(zhí)行DFT算法的時(shí)間復(fù)雜度為[O(N2),]采用基?2 FFT算法可以將時(shí)間復(fù)雜度降至[O(Nlog2N)]。

        4.2 基于CUDA的并行FFT算法

        CUDA架構(gòu)是以網(wǎng)格(Grid)的形式組織的,每個(gè)Grid又包含若干個(gè)線程塊(Block),每個(gè)Block又包含很多個(gè)線程(Thread),這些線程的指令地址相同,可以并行執(zhí)行任務(wù),又可共享存儲(chǔ)器數(shù)據(jù),芯片執(zhí)行的最小單位就是線程[9]。在CUDA架構(gòu)中,并行是由不同塊間粗粒度并行和同塊內(nèi)線程間細(xì)粒度并行實(shí)現(xiàn)的。

        并行FFT基于CUDA架構(gòu)的計(jì)算過(guò)程為:對(duì)于一個(gè)[N]點(diǎn)的序列,做FFT變換的每一級(jí)都要進(jìn)行[N2]次蝶形運(yùn)算;為避免數(shù)據(jù)反復(fù)重排,在調(diào)用FFT變換的Kernel函數(shù)前將數(shù)據(jù)進(jìn)行倒位序重排,并將加權(quán)后的投影數(shù)據(jù)輸入全局存儲(chǔ)器;把數(shù)據(jù)從主機(jī)Host(CPU)端輸入設(shè)備Device(GPU)的存儲(chǔ)器;循環(huán)調(diào)用GPU的FFT的Kernel函數(shù)[M]次;然后把數(shù)據(jù)從Device端輸出到Host端。

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

        在基于CUDA的并行FFT算法中,把相同的旋轉(zhuǎn)因子存入到紋理存儲(chǔ)器,以避免旋轉(zhuǎn)因子的重復(fù)計(jì)算[10],對(duì)于蝶形運(yùn)算來(lái)說(shuō),相同的旋轉(zhuǎn)因子在紋理存儲(chǔ)器中存在備份,可并行執(zhí)行,但不同的旋轉(zhuǎn)因子就需要通過(guò)計(jì)算得到。旋轉(zhuǎn)因子存在變化規(guī)律,即第[L]級(jí)有[2L-1]個(gè)旋轉(zhuǎn)因子,且這[2L-1]個(gè)旋轉(zhuǎn)因子的偶次項(xiàng)可使用前一級(jí)旋轉(zhuǎn)因子的值,因此只需計(jì)算[2L-2]次。

        由圖4可知:

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

        數(shù)據(jù)量在1 024×1 024~8 192×8 192范圍內(nèi),加速效果非常明顯;

        數(shù)據(jù)量持續(xù)增大時(shí),并行CUDA資源得到充分利用,CUDA的線程達(dá)到飽和,并行FFT算法的加速比不再繼續(xù)提高。對(duì)于數(shù)字示波器來(lái)說(shuō),通常不會(huì)對(duì)較小的數(shù)據(jù)量進(jìn)行FFT分析,數(shù)據(jù)量受到示波器存儲(chǔ)的限制,不會(huì)無(wú)限增大,本系統(tǒng)將數(shù)據(jù)量控制在加速比最佳數(shù)據(jù)范圍內(nèi),在保證數(shù)據(jù)量的前提下充分發(fā)揮CUDA的并行特性進(jìn)行數(shù)據(jù)的實(shí)時(shí)處理。

        本系統(tǒng)采用TEGRA K1處理器,基于CUDA架構(gòu)對(duì)數(shù)據(jù)進(jìn)行并行處理,降低了算法的時(shí)間復(fù)雜度,縮短了算法的執(zhí)行時(shí)間,提高了系統(tǒng)的實(shí)時(shí)性,從而滿足示波器對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理的要求。

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

        5 實(shí) 驗(yàn)

        本系統(tǒng)采用TEGRA K1處理器和CUDA架構(gòu)實(shí)現(xiàn)示波器信號(hào)的實(shí)時(shí)處理,其中,TEGRA K1處理器有4?加?1(4?Plus?1)四核ARM Cortex?A15的CPU,還有開普勒架構(gòu)的GPU,操作系統(tǒng)為L(zhǎng)inux Ubuntu 14.04,編譯環(huán)境是NCVV編譯器、CUDA3.0,示波器界面設(shè)計(jì)軟件是Qt Creator 3.0.1。示波器的工作界面如圖5所示。

        實(shí)驗(yàn)中,示波器采集的信號(hào)是一個(gè)正弦信號(hào)疊加一個(gè)20 dB的噪聲,示波器對(duì)此信號(hào)進(jìn)行實(shí)時(shí)的FFT分析并顯示。示波器實(shí)時(shí)性能的優(yōu)劣又關(guān)系到波形更新率的快慢。

        為進(jìn)一步測(cè)試示波器的性能,將示波器分為單獨(dú)使用CPU和CPU與GPU協(xié)同工作兩種狀態(tài),分別對(duì)一定數(shù)據(jù)量數(shù)據(jù)進(jìn)行實(shí)時(shí)處理并顯示。僅CPU工作時(shí),CPU在進(jìn)行數(shù)據(jù)處理的同時(shí)又要進(jìn)行波形顯示,由于CPU是串行工作的,數(shù)據(jù)的實(shí)時(shí)處理會(huì)影響波形的更新頻率;當(dāng)GPU與CPU協(xié)同工作時(shí),GPU作為CPU的協(xié)同處理器,可并行處理數(shù)據(jù),給CPU節(jié)省更多的時(shí)間刷新波形,提高了示波器實(shí)時(shí)處理的性能,其波形更新率如表1所示。

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

        6 結(jié) 論

        本文采用TEGRA K1處理器和CUDA架構(gòu)設(shè)計(jì)的數(shù)字示波器,通過(guò)FPGA采集數(shù)據(jù),TEGRA K1處理器實(shí)時(shí)并行地處理數(shù)據(jù),實(shí)現(xiàn)了數(shù)字示波器信號(hào)的實(shí)時(shí)處理,滿足了測(cè)試測(cè)量的需求。實(shí)驗(yàn)表明,此數(shù)字示波器在完成傳統(tǒng)示波器基本功能的同時(shí),滿足實(shí)時(shí)信號(hào)處理的需求,應(yīng)用前景廣泛。

        參考文獻(xiàn)

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

        [2] 高文娟.數(shù)字示波器高級(jí)數(shù)學(xué)運(yùn)算功能設(shè)計(jì)[D].成都:電子科技大學(xué),2013.

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

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

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

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

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

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

        [9] 駱巖紅,萬(wàn)國(guó)峰,王建華.基于CUDA架構(gòu)的FFT并行計(jì)算研究[J].自動(dòng)化與儀器儀表,2014(12):25?28.

        [10] 王櫻.基于CUDA的FFT并行計(jì)算研究[D].長(zhǎng)沙:湖南大學(xué),2012.

        亚洲av午夜成人片精品| 久久精品中文闷骚内射| 亚洲av成人无码精品电影在线| 国产精品半夜| 谁有在线观看av中文| 蕾丝女同一区二区三区| 国产激情无码一区二区| 久久这里只精品国产免费10| 久久亚洲午夜牛牛影视| 国产一区二区不卡av| 人妻少妇看a偷人无码| 国产99视频精品免视看9| 国产农村三片免费网站| 中文字幕精品亚洲一区二区三区| 熟女中文字幕一区二区三区| 少妇av射精精品蜜桃专区| 亚洲综合色一区二区三区小说| 青青青伊人色综合久久| av网站在线观看亚洲国产| 久久久亚洲精品无码| 国产视频毛片| 国产成人色污在线观看| 日产精品高潮一区二区三区5月| www射我里面在线观看| 日韩成人免费一级毛片| 综合图区亚洲偷自拍熟女| 久久国产精品亚洲婷婷片| 成人激情五月天| 久久99久久99精品免观看不卡| 黑丝美腿国产在线观看| 一本色道久久爱88av| 国产免费破外女真实出血视频| 激情五月天俺也去综合网| 一区二区亚洲精品在线| 天码人妻一区二区三区| 亚洲成a人片在线播放观看国产 | 免费无码不卡视频在线观看 | 国产精品久久久久高潮| 国内精品久久久久久久久久影院 | 丰满精品人妻一区二区| 亚洲av蜜桃永久无码精品|