摘 要:介紹一種在LabVIEW平臺下開發虛擬伽瑪能譜儀中的實現方案中,為解決數據采集與計算機的脈沖幅度分析之間的運行速度不協調,利用LabVIEW中的隊列緩存Queue技術,使核脈沖數據的采集和虛擬多道脈沖幅度分析之間能夠達到協調運行,而不會發生丟失數據的現象。此方案體現出一定的優勢。
關鍵詞:Queue技術;LabVIEW;伽瑪能譜儀;多道脈沖幅度分析
中圖分類號:TH842,TP274 文獻標識碼:B 文章編號:1004373X(2008)1617202
Application of Queue Technology in Virtual Multichannel Pulse Amplitude Analysis
YE Quanyi,LE Renchang,CAI Sijing,HE Zhijie,HONG Jinquan
(School of Physics and Optoelectronic Technology,Fujian Normal University,Fuzhou,350007,China)
Abstract:A LabVIEWbased scheme for virtual Gammaray spectrum is introduced in this paper,in order to solve the lack of coordination between the data acquisition and analysis of computer pulse amplitude.By using of Queue technology,nucleus′s data collecting and virtual multichannel pulse amplitude analysis can achieve the coordinated,therefore data will not be lost.That embodies some advantages.
Keywords:Queue;LabVIEW;Gammaray spectrum;multichannel pulse amplitude analysis
伽瑪射線能譜測量是一種重要的核地球物理方法,在地球科學、核科學及環境科學中應用廣泛,相關的研究是頗有意義的。傳統伽瑪能譜儀的組成部分是:探測器、多道分析器、計算機。具體工作原理是探測器將信號輸入到譜分析器,多道脈沖幅度分析器將信號放大、整形,經過A/D轉換后,將經過幅度分析后的數據輸入計算機。其中多道脈沖幅度分析器是最主要的模塊之一。但是,虛擬儀器技術的出現,改變了原來幾乎所有的實驗都必須依靠傳統儀器才能實現的局面。虛擬儀器(Virtual Instrument)是指由計算機作為控制以及數據顯示、記錄、處理部分的功能,加上一些板卡與外界的探測器或其他計算機不能集成的功能模塊、儀器所組成的系統,而實現儀器的功能,主要靠軟件來完成,即通常所說的“軟件即儀器”。因此多道脈沖幅度分析器的功能也就理所當然地被軟件所取代。
由于核脈沖信號的特殊性,決定了這里需要以高的采樣率對其進行采集,才能采集到比較完整的脈沖頂信號。這就產生了一個問題:即由于高采率所帶來的大量的數據,計算機是否來得及進行多道脈沖幅度分析,如果來不及,就將造成大量數據的丟失,或者說造成死時間的顯著增加。所以,必須尋找一種新的方法,使數據采集與計算機的脈沖幅度分析之間達到協調運行。而隊列緩存Queue技術正是本文所要討論的解決方法。
1 問題概述
一般來說,虛擬伽瑪能譜儀設計的思路是:首先通過采集控制,讀入原始數據,經過脈沖幅度分析,進行譜顯示。隨后就可以根據相應的要求將數據進行譜平滑、譜尋峰、感興趣區分析,含量計算等譜處理控制。系統結構框圖如圖1所示。

其中數據采集、多道脈沖幅度分析、譜數據顯示分別由于3個不同的子VI來完成,傳統的做法是首先進行數據采集,然后進行多道脈沖幅度分析,最后進行分析后的譜數據的顯示,之后又進行下一輪的采集、分析、顯示,如此周而復始,循環進行。程序框圖可由圖2描述。
從圖2中,可以很明顯地看出,核脈沖的數據采集、多道脈沖幅度分析、譜數據的顯示按照一定的順序進行。一般來說,核數據采集程序是在后臺運行,并將采集到的數據放置于預先開辟好的內存緩沖區,當內存緩沖區滿時,采集程序將采集到的數據又從頭開始放于內存緩沖區,即將覆蓋內存緩沖區中原來的數據。而多道脈沖幅度分析程序負責從內存緩沖區取得數據,并進行分析。但是由于多道脈沖幅度分析需要一定的時間,這樣就有可能導致數據丟失的現象產生。可以設想一下,當多道脈沖幅度分析程序的速度比數據采集程序的運行速度慢時的情況:

(1) 核采集程序采集數據,并將數據送到內存緩沖區;
(2) 多道脈沖幅度分析程序從內存緩沖區取得新數據,進行分析;
(3) 核采集程序繼續采集數據,但在內存緩沖區滿時,將覆蓋內存緩沖區中原來的數據。而多道脈沖幅度分析程序仍然在分析第一次的數據。它并沒有得到新數據時,內存緩沖區的數據就已經被覆蓋。
這樣,由于兩個程序運行速度不協調,造成了核數據的丟失,使虛擬伽瑪能譜儀的死時間增加。而如何使程序運行過程中,不會發生數據的丟失,正是本文所要解決的關鍵問題。
2 Queue技術的應用
為了更好地解決以上問題,這里提出在程序中應用隊列緩存Queue技術,并且為核脈沖的數據采集、多道脈沖幅度分析、譜數據的顯示分別建立一個任務,使3個任務并行運行。數據采集程序和多道脈沖幅度分析程序之間通過隊列聯系起來,而多道脈沖幅度分析程序和譜數據的顯示程序之間通過全局變量聯起來。程序流程圖如圖3所示。
通過使用Queue技術,并將3個任務并行運行,程序在運行過程時不會再發生丟失數據的現象。因為采集程序通過隊列與多道脈沖幅度分析程序相聯系。在數據采集任務中,將內存緩沖區中讀取的數據放入隊列中,而多道脈沖幅度分析程序則從隊首取出數據進行分析。當數據采集速度過快,而多道脈沖幅度分析程序較慢時,從內存緩沖區讀取的數據將依次入隊列,多道脈沖幅度分析程序則負責從隊首取得數據進行分析,對那些由于采集速度過快而產生的數據,將在隊列中保存,直到被取走為至。這樣就不會造成內存緩沖區中的數據因為還沒有分析而被覆蓋。源程序如圖4所示,其中的3個While循環分別代表3個任務。多道脈沖幅度分析程序使用動態鏈接庫實現。正是由于Queue結構會起到緩存的作用,如果某一個任務運行得過快或過慢,Queue就會起到約束或補償作用,從而保證任務之間能夠協調運行。

3 實驗結果及結論
圖5為實測得到的.137Cs伽瑪射線能譜(2 048道)。應用Queue技術開發的虛擬伽瑪能譜儀,所有采集到的數據均能得到有效的分析,也就是死時間將約等于0。從實驗的結果來看,這里引入隊列緩存技術得到了比較好的效果,其性能也相當穩定。當然儀器其他各項性能指標還須進一步的完善,這里相信隨著虛擬儀器的發展,純軟件設計的合理的多道脈沖幅度分析器將是發展方向。

參 考 文 獻
[1]楊樂平.LabVIEW高級程序設計\\.北京:清華大學出版社,2003.
[2]方方.野外地面伽瑪射線全譜測量研究\\.成都:成都理工大學,2001.
[3]劉松秋.虛擬多道脈沖分析系統的設計\\.核電子學與探測技術,2001,21(6):433.
[4]張曉華.虛擬儀器技術在多道分析系統中的應用研究\\.北京:中國原子能科學研究院,2004.
[5]Measurement Computing Corp.PCIDAS4020/12 User′s Guide,2002.
[6]蔡思靜,樂仁昌,何志杰.虛擬儀器法設計數據快速采集γ射線能譜儀\\.核技術,2007,30(5):463466.
[7]胡賓鑫.一種新型現場多道核能譜數據采集系統的設計\\.信息與電子工程,2004,2(2):129132.
作者簡介 葉全意 女,1982年出生,江西上饒人,現為福建師范大學物理與光電信息科技學院碩士研究生。