關鍵字:虛擬儀器, 虛擬儀器價格, 虛擬儀器論壇, 虛擬儀器技術, 虛擬儀器論文
3.2.2用戶界面模塊
界面主要切分為3個視圖:主視圖基類為ScrollView,用于顯示波形;2個視圖基類為For-mView,,1個用于動態(tài)顯示采集數(shù)據(jù)的特征參數(shù),另1個用于對示波器進行操作,。整個軟件的主界面設計如圖3所示。
3.2.3頻譜分析模塊
本軟件利用快速傅里葉變換(FFT)進行頻譜分析。頻譜分析采用按時間抽取FFT算法,,然后將幅值頻譜分析結果在用戶界面上以坐標曲線形式顯示,。進行FFT時可以選擇點數(shù),有1024,、2048,、4096 3種選擇,如果點數(shù)不夠,,程序自動補零,。
3.2.4數(shù)宇濾波模塊
本軟件可以對所采集的信號進行低通和高通濾波。首先根據(jù)給定通帶截止頻率,、阻帶截止頻率,、通帶衰減和阻帶衰減設計出巴特沃思(Butter-worth)
3.2.5波形顯示模塊
虛擬示波器的工作原理是對信號波形進行高速采樣,,采樣值被數(shù)字化后存儲起來,當重建波形時便從緩沖區(qū)取數(shù),,然后用清晰,、均勻一致的軌跡映像在屏幕上。由于采集的模擬波形經(jīng)數(shù)字化后成為一串離散數(shù)據(jù),,因此,,如何重建信號波形是虛擬示波器設計中的關鍵問題之一。當前的波形顯示主要有分段顯示和滾動顯示,。這里采用滾動顯示,,并且提出一種新的滾動顯示算法,突破了滾動顯示只能觀察變化緩慢的信號的限制,。算法核心思想如下:
(1)得到所采集數(shù)據(jù)塊的第1個和最后1個數(shù)據(jù)點的橫坐標m_xMin和rn_xMax,,m_xMax-m_xMin為波形的邏輯寬度。
(2)m_xMax-m_xMin的值為邏輯坐標,,把它轉(zhuǎn)化為設備坐標cx,,用cx設定整個滾動視圖的寬度。
(3)為了提高畫圖的效率,,只需畫出滾動視圖可視部分的圖形,,也就是剪裁區(qū)的圖形,因此要得到剪裁區(qū),。
(4)畫出坐標及剪裁區(qū)內(nèi)的一段波形。
(5)利用CSplitterWnd::DoSerollBy()函數(shù),,根據(jù)采樣間隔的大小決定斷滾動視圖速度的快慢,。這樣視圖滾動以后相應的剪裁區(qū)也會發(fā)生改變,促使動態(tài)畫出新的波形。
主要代碼如下:
4 實驗與討論
在實驗中使用該系統(tǒng)對正弦信號和鋸齒波信號進行了采集,,并對2個通道的信號分別進行了頻譜分析,。實驗時示波器參數(shù)設置如下:采樣模式為雙通道,其中通道1對正弦信號進行采樣,,通道2對鋸齒波信號進行采樣,;采樣率為120Ms/s;采樣深度為16 000點,;觸發(fā)源為軟件觸發(fā),;觸發(fā)時間極限為20ms;輸入信號電壓范圍為~5V,。實驗結果如圖4所示,。達到了預定的效果。
本文基于Gage公司的CompuScope 82G型高速數(shù)據(jù)采集卡,,用Visual C++編程工具設計出一種快速虛擬示波器試驗系統(tǒng),,實現(xiàn)了高速數(shù)據(jù)的采集和動態(tài)波形的顯示。同時提出一種新的波形滾動算法,,大大改觀了滾動波形的動態(tài)顯示效果,。在此基礎上實現(xiàn)了傳統(tǒng)示波器無法實現(xiàn)的頻譜分析和數(shù)字濾波功能。采用Visual c++作為儀器編程語言使得編寫的程序通用性和可移植性強,。