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