基于Python/C混合編程的波形顯示處理軟件設(shè)計
發(fā)布時間:2021-06-13 01:23
隨著待測量信號的頻率范圍和復(fù)雜程度的日益增加,用戶對高速采集系統(tǒng)的性能要求越來越高。而針對于高速采集系統(tǒng)應(yīng)用的軟件也需要不斷進(jìn)行創(chuàng)新以提高性能,從而可以滿足更加復(fù)雜多變的測量需求。本文基于光學(xué)拉伸采集系統(tǒng)項目的要求,設(shè)計實現(xiàn)了一種針對高速采集系統(tǒng)應(yīng)用的波形顯示處理軟件,文中著重對高速采集數(shù)據(jù)的波形顯示和波形處理部分進(jìn)行研究;同時完成了基于PCIExpress總線的高速采集系統(tǒng)驅(qū)動設(shè)計,以獲得采集硬件上傳的波形數(shù)據(jù);以及采集系統(tǒng)控制命令的設(shè)計,根據(jù)用戶發(fā)送的控制指令改變顯示的格式或內(nèi)容等。具體的研究內(nèi)容如下:(1)波形顯示處理軟件需求分析和軟件總體方案設(shè)計。針對高速采集系統(tǒng)的波形顯示和處理等需求,對其用戶操作端、數(shù)據(jù)收發(fā)端、波形處理端等關(guān)鍵需求進(jìn)行了詳細(xì)分析,完成了包括軟件主控模塊、波形顯示模塊和波形數(shù)據(jù)獲取與處理模塊的總體方案設(shè)計。(2)基于PyQt(Qt的Python語言封裝)開發(fā)框架,設(shè)計了用戶界面;針對用戶的定點(diǎn)測量需求,設(shè)計了光標(biāo)測量模塊;針對硬件觸發(fā)后觸發(fā)點(diǎn)晃動的問題,設(shè)計了軟件的觸發(fā)模塊,配合硬件完成預(yù)觸發(fā)和觸發(fā)點(diǎn)的確定。(3)針對Python運(yùn)行速度較慢導(dǎo)致的軟件顯示刷新...
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:81 頁
【學(xué)位級別】:碩士
【部分圖文】:
profile性能分析圖
第三章基于Python/C混合編程的波形處理模塊設(shè)計25根據(jù)參數(shù)測量函數(shù)的編寫過程,把波形處理模塊中其他運(yùn)行效率不高的函數(shù)也進(jìn)行加速,然后使用Python主控程序調(diào)用這些pyd文件,并對接收到的波形數(shù)據(jù)進(jìn)行處理和顯示,軟件一段時間內(nèi)的刷新率如圖3-4所示,可以達(dá)到37幀以上,對比加速前不到30幀的刷新率有了很大提升。圖3-4界面刷新率3.3波形處理模塊的設(shè)計波形數(shù)據(jù)處理模塊是波形顯示處理軟件的重要模塊之一,因為波形需要經(jīng)過相應(yīng)處理后才能進(jìn)行顯示,且用戶需要查看處理后的波形參數(shù)以更直觀地了解波形的各種特征。硬件采集模塊完成采集之后將采樣數(shù)據(jù)傳輸?shù)缴衔粰C(jī),主控模塊根據(jù)用戶的設(shè)置對波形數(shù)據(jù)分別進(jìn)行時域波形處理和頻域波形處理。波形處理模塊的流程如圖3-5所示。開始是否需要插值根據(jù)當(dāng)前時基檔位確定插值倍數(shù)并插值是否需要抽點(diǎn)根據(jù)當(dāng)前時基檔位確定抽點(diǎn)比例并抽點(diǎn)結(jié)束YNNY對波形進(jìn)行觸發(fā)對波形進(jìn)行觸發(fā)N對波形數(shù)據(jù)進(jìn)行預(yù)處理是否進(jìn)行頻域波形處理FFT是否需要加窗對波形進(jìn)行加窗處理頻譜平均YY對波形進(jìn)行參數(shù)測量圖3-5波形數(shù)據(jù)處理流程圖根據(jù)流程圖所示,軟件首先對波形數(shù)據(jù)進(jìn)行預(yù)處理,接著軟件需要對信號進(jìn)行觸發(fā)以使波形同步,然后判斷當(dāng)前時基檔位是否需要插值或抽點(diǎn),若需要則根據(jù)當(dāng)
第三章基于Python/C混合編程的波形處理模塊設(shè)計29其中對正弦波采樣點(diǎn)插完值的結(jié)果如圖3-7所示。圖3-7不同插值算法對正弦波插值對比圖從表3-1、表3-2和圖3-3中可以看出對于正弦波來說,正弦插值和五次樣條插值對波形的恢復(fù)效果都很好,但正弦插值的運(yùn)行速度不如Scipy庫中的五次樣條插值函數(shù),線性插值的效果不如前兩者順滑,且線性插值的RMS值遠(yuǎn)高于另外兩種方法;在方波和鋸齒波的恢復(fù)上這三種方法的差別則不是很大,但線性插值的速度要遠(yuǎn)快于另兩種算法。通過以上對比,本文最終使用的插值算法為五次樣條插值和線性插值。當(dāng)需要插值的情況為(1)時采用五次樣條插值;為(2)時則根據(jù)時基檔位變化的多少選擇采用線性插值或五次樣條插值,當(dāng)時基檔位在3個檔位以內(nèi)變化時選擇線性插值,當(dāng)大于3個檔位時為了更好地保持信號特征選擇五次樣條插值法進(jìn)行插值。3.3.1.2參數(shù)測量功能參數(shù)測量是波形顯示處理軟件的重要功能之一。在IEEEStd181-2011標(biāo)準(zhǔn)中給出了用于描述脈沖信號波形和測量脈沖信號的相關(guān)術(shù)語和定義,并提供了用于計算描述波形可測量參數(shù)的定義值算法[22]。軟件對接收到的波形數(shù)據(jù)進(jìn)行計算后可以得到各種反應(yīng)波形細(xì)節(jié)的參數(shù),有助于用戶對波形進(jìn)行精確的定量分析。測量參數(shù)的類型包括時間參數(shù)、幅值參數(shù)和高級參數(shù),它涵蓋了一幅波形在時間域和電壓域的整體信息,所以需要以頻數(shù)直方圖的方式來存放該幅波形在這兩個域上的統(tǒng)計信息。頻數(shù)直方圖是使用不同的矩形條來表示輸入數(shù)據(jù)頻數(shù)變化規(guī)律的圖形,因為參數(shù)測量是針對單幅波形在時間或電壓上的變化規(guī)律進(jìn)行測量,故將一幅波形的數(shù)據(jù)作為直方圖的輸入,這樣就可以獲得記錄了該幅波形在時間域和電壓域上統(tǒng)
【參考文獻(xiàn)】:
期刊論文
[1]基于PCIe總線的高速數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[J]. 尤焜. 電子測試. 2019(11)
[2]牛頓-科特斯公式余項中的數(shù)學(xué)分析方法[J]. 馮曉霞,凌永輝. 閩南師范大學(xué)學(xué)報(自然科學(xué)版). 2018(03)
[3]基于SWIG的Python儀器驅(qū)動封裝技術(shù)[J]. 馬宇,葉衛(wèi)東. 計測技術(shù). 2018(02)
[4]窗函數(shù)在信號處理中的應(yīng)用[J]. 崔璨,袁英才. 北京印刷學(xué)院學(xué)報. 2014(04)
[5]基于.NET的多線程編程設(shè)計與實現(xiàn)[J]. 崔朝霞,張文婧,張準(zhǔn),付麗群. 數(shù)字技術(shù)與應(yīng)用. 2014(05)
[6]新型智能信號源設(shè)計[J]. 邱甫林,黃全勝. 計量與測試技術(shù). 2010(05)
[7]內(nèi)插算法在DSO示波器中的應(yīng)用[J]. 謝波,謝華. 電子質(zhì)量. 2009(11)
[8]示波器發(fā)展趨勢展望[J]. Robert Lashlee. 國外電子測量技術(shù). 2009(05)
[9]數(shù)字存儲示波器中觸發(fā)電路的FPGA設(shè)計與實現(xiàn)[J]. 李世文,潘中良. 中國儀器儀表. 2009(03)
[10]利用WinDriver開發(fā)設(shè)備驅(qū)動[J]. 景琦,殷永紅,李鵬. 現(xiàn)代電子技術(shù). 2005(19)
碩士論文
[1]2.5GSPS高分辨率示波器數(shù)據(jù)分析與處理軟件設(shè)計[D]. 楊景文.電子科技大學(xué) 2017
[2]基于windows平臺的數(shù)字示波器顯示與處理軟件的設(shè)計與實現(xiàn)[D]. 吳蘭.東南大學(xué) 2015
本文編號:3226699
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:81 頁
【學(xué)位級別】:碩士
【部分圖文】:
profile性能分析圖
第三章基于Python/C混合編程的波形處理模塊設(shè)計25根據(jù)參數(shù)測量函數(shù)的編寫過程,把波形處理模塊中其他運(yùn)行效率不高的函數(shù)也進(jìn)行加速,然后使用Python主控程序調(diào)用這些pyd文件,并對接收到的波形數(shù)據(jù)進(jìn)行處理和顯示,軟件一段時間內(nèi)的刷新率如圖3-4所示,可以達(dá)到37幀以上,對比加速前不到30幀的刷新率有了很大提升。圖3-4界面刷新率3.3波形處理模塊的設(shè)計波形數(shù)據(jù)處理模塊是波形顯示處理軟件的重要模塊之一,因為波形需要經(jīng)過相應(yīng)處理后才能進(jìn)行顯示,且用戶需要查看處理后的波形參數(shù)以更直觀地了解波形的各種特征。硬件采集模塊完成采集之后將采樣數(shù)據(jù)傳輸?shù)缴衔粰C(jī),主控模塊根據(jù)用戶的設(shè)置對波形數(shù)據(jù)分別進(jìn)行時域波形處理和頻域波形處理。波形處理模塊的流程如圖3-5所示。開始是否需要插值根據(jù)當(dāng)前時基檔位確定插值倍數(shù)并插值是否需要抽點(diǎn)根據(jù)當(dāng)前時基檔位確定抽點(diǎn)比例并抽點(diǎn)結(jié)束YNNY對波形進(jìn)行觸發(fā)對波形進(jìn)行觸發(fā)N對波形數(shù)據(jù)進(jìn)行預(yù)處理是否進(jìn)行頻域波形處理FFT是否需要加窗對波形進(jìn)行加窗處理頻譜平均YY對波形進(jìn)行參數(shù)測量圖3-5波形數(shù)據(jù)處理流程圖根據(jù)流程圖所示,軟件首先對波形數(shù)據(jù)進(jìn)行預(yù)處理,接著軟件需要對信號進(jìn)行觸發(fā)以使波形同步,然后判斷當(dāng)前時基檔位是否需要插值或抽點(diǎn),若需要則根據(jù)當(dāng)
第三章基于Python/C混合編程的波形處理模塊設(shè)計29其中對正弦波采樣點(diǎn)插完值的結(jié)果如圖3-7所示。圖3-7不同插值算法對正弦波插值對比圖從表3-1、表3-2和圖3-3中可以看出對于正弦波來說,正弦插值和五次樣條插值對波形的恢復(fù)效果都很好,但正弦插值的運(yùn)行速度不如Scipy庫中的五次樣條插值函數(shù),線性插值的效果不如前兩者順滑,且線性插值的RMS值遠(yuǎn)高于另外兩種方法;在方波和鋸齒波的恢復(fù)上這三種方法的差別則不是很大,但線性插值的速度要遠(yuǎn)快于另兩種算法。通過以上對比,本文最終使用的插值算法為五次樣條插值和線性插值。當(dāng)需要插值的情況為(1)時采用五次樣條插值;為(2)時則根據(jù)時基檔位變化的多少選擇采用線性插值或五次樣條插值,當(dāng)時基檔位在3個檔位以內(nèi)變化時選擇線性插值,當(dāng)大于3個檔位時為了更好地保持信號特征選擇五次樣條插值法進(jìn)行插值。3.3.1.2參數(shù)測量功能參數(shù)測量是波形顯示處理軟件的重要功能之一。在IEEEStd181-2011標(biāo)準(zhǔn)中給出了用于描述脈沖信號波形和測量脈沖信號的相關(guān)術(shù)語和定義,并提供了用于計算描述波形可測量參數(shù)的定義值算法[22]。軟件對接收到的波形數(shù)據(jù)進(jìn)行計算后可以得到各種反應(yīng)波形細(xì)節(jié)的參數(shù),有助于用戶對波形進(jìn)行精確的定量分析。測量參數(shù)的類型包括時間參數(shù)、幅值參數(shù)和高級參數(shù),它涵蓋了一幅波形在時間域和電壓域的整體信息,所以需要以頻數(shù)直方圖的方式來存放該幅波形在這兩個域上的統(tǒng)計信息。頻數(shù)直方圖是使用不同的矩形條來表示輸入數(shù)據(jù)頻數(shù)變化規(guī)律的圖形,因為參數(shù)測量是針對單幅波形在時間或電壓上的變化規(guī)律進(jìn)行測量,故將一幅波形的數(shù)據(jù)作為直方圖的輸入,這樣就可以獲得記錄了該幅波形在時間域和電壓域上統(tǒng)
【參考文獻(xiàn)】:
期刊論文
[1]基于PCIe總線的高速數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[J]. 尤焜. 電子測試. 2019(11)
[2]牛頓-科特斯公式余項中的數(shù)學(xué)分析方法[J]. 馮曉霞,凌永輝. 閩南師范大學(xué)學(xué)報(自然科學(xué)版). 2018(03)
[3]基于SWIG的Python儀器驅(qū)動封裝技術(shù)[J]. 馬宇,葉衛(wèi)東. 計測技術(shù). 2018(02)
[4]窗函數(shù)在信號處理中的應(yīng)用[J]. 崔璨,袁英才. 北京印刷學(xué)院學(xué)報. 2014(04)
[5]基于.NET的多線程編程設(shè)計與實現(xiàn)[J]. 崔朝霞,張文婧,張準(zhǔn),付麗群. 數(shù)字技術(shù)與應(yīng)用. 2014(05)
[6]新型智能信號源設(shè)計[J]. 邱甫林,黃全勝. 計量與測試技術(shù). 2010(05)
[7]內(nèi)插算法在DSO示波器中的應(yīng)用[J]. 謝波,謝華. 電子質(zhì)量. 2009(11)
[8]示波器發(fā)展趨勢展望[J]. Robert Lashlee. 國外電子測量技術(shù). 2009(05)
[9]數(shù)字存儲示波器中觸發(fā)電路的FPGA設(shè)計與實現(xiàn)[J]. 李世文,潘中良. 中國儀器儀表. 2009(03)
[10]利用WinDriver開發(fā)設(shè)備驅(qū)動[J]. 景琦,殷永紅,李鵬. 現(xiàn)代電子技術(shù). 2005(19)
碩士論文
[1]2.5GSPS高分辨率示波器數(shù)據(jù)分析與處理軟件設(shè)計[D]. 楊景文.電子科技大學(xué) 2017
[2]基于windows平臺的數(shù)字示波器顯示與處理軟件的設(shè)計與實現(xiàn)[D]. 吳蘭.東南大學(xué) 2015
本文編號:3226699
本文鏈接:http://www.sikaile.net/kejilunwen/dianlidianqilunwen/3226699.html
最近更新
教材專著