利用虛擬儀器進行數字信號處理設計(08-100)
工程設計可以從虛擬儀器中獲得什么?即便您對虛擬儀器并不熟悉,了解儀器如何影響工程設計也十分自然的。例如示波器等傳統儀器在測試和測量應用中的不同階段及電子系統的設計、驗證和測試階段都被廣泛地應用。但是,憑借快速開發工具、交互式設計功能以及與實際信號的自然關聯特性,虛擬儀器可以將工程設計帶入到一個新的時代。
本文引用地址:http://www.ex-cimer.com/article/91858.htm例如數字信號處理(DSP)以及它與儀器之間的關系。數字信號處理器(DSP),是一種針對數字信號進行實時數學運算的微處理器。要使用DSP處理模擬信號,首先要用抗鋸齒濾波器和模擬數字轉換器(ADC)對模擬信號進行數字化,并將它送入到傳入DSP的數據流中。之后,DSP會以某種方式修改數據流,并通過數字模擬轉換器(DAC)以及抗假象濾波器將信號轉回模擬信號。通常而言,類似示波器等傳統獨立儀器會使用定制的固定嵌入式DSP系統。除此之外,示波器其實還可以通過虛擬儀器技術在個人電腦(PC)上實現。利用PC的強大性能,使用PCI數據采集設備對實際輸入信號進行數字化,然后使用PC對信號進行處理。這種虛擬儀器的方式可以使用戶依靠自行開發的軟件程序和在PC或者實時操作系統上完成自定義的儀器功能。
虛擬儀器提供的強大設計工具使得具有不同技能層次和不同教育背景的人都可以快速設計并開發自定義測試和測量系統。相反,過去的工程設計要求開發人員使用不相關的開發工具,還需要在領域設計和實現都具備一定的工程專業知識。本文描述了如何將虛擬儀器設計工具應用到信號處理工程設計中,從而消除在設計和最終系統實現之間的障礙。我們將通過研究數字信號處理的設計與發布,并作為工程實例,來進一步討論這個問題。
數字信號處理與虛擬儀器
首先,我們來討論一下虛擬儀器的概念,它的出現是為了解決傳統獨立儀器的局限性。過去,測試和測量工具通常由例如示波器和波形發生器等獨立儀器組成,它們為有限的測量應用提供了有限的功能集合。這種傳統儀器具有三個基本局限性:1)硬件對信號采集提供有限的精度與速度;2)儀器中內建的廠商定義的有限的測量與分析函數;3)用戶操作界面的局限性。如果這些局限性中有任何一點無法滿足項目規范的要求,那么就需要一個新的獨立儀器,這樣會大大增加最終系統成本。
自1976年以來,NI通過將傳統的獨立儀器分成兩個基本部分為儀器帶入了一種新的觀念,這兩個部分是:對信號進行數字化所需的硬件和分析顯示結果所需的軟件。允許最終用戶使用用戶定義的軟件為其應用建立最終儀器,這樣儀器的局限性就被解決了,虛擬儀器的概念就是這樣誕生的。將軟件作為儀器,儀器就可以擴展到測試、控制和設計中。
相對于傳統的獨立儀器而言,虛擬儀器的優點與數字信號處理相對于模擬信號處理而言的優點是相似的。例如,模擬濾波器通常使用運算放大器、電容和電阻等模擬電子元件實現,相對于使用浮點或定點機器實現的數字濾波器而言靈活性十分有限。盡管模擬濾波器比較便宜、易于建立,模擬濾波器的標定和維護十分困難。要對設計進行修改也十分難以實現。例如,如果后來發現需要一個更高階的濾波器,就必須改動硬件實現新的設計。由于數字濾波器是用軟件建立的,并沒有這個問題,從而在單一硬件上提供了可以實現多種應用的靈活平臺。
除了虛擬儀器和數字信號處理都發揮了基于軟件平臺的優點,虛擬儀器通過利用圖形化編程開發環境NI LabVIEW使得易用性的優點得到進一步的發展,它能夠讓更多人參與到軟件開發和儀器設計中去。LabVIEW不僅提供了完全與傳統的基于文本的編程語言所不同的圖形化編程方式,使得編程過程變得更加直觀與方便,同時還通過自帶的Mathscript兼容了文本的編程語言,使得用戶可以兼容已有的算法,或者根據實際應用來選擇合適的編程方式。這樣大大節省了需要熟悉編程環境和語法所需要的大量的時間。
這也是缺乏足夠的設計工具對數字信號處理所產生的影響?對于DSP工程師而言,使用傳統工具實現基于軟件的解決方案十分痛苦。典型的開發過程從算法設計開始,它需要使用多種數學建模環境,這要求對基于文本的命令和語法有著足夠的熟悉程度。在完成算法之后,嵌入式系統的實現帶來了新的困難。嵌入式系統設計需要對實時處理概念、板載內存可用性以及在軟件開發中所需的基于文本的編程語言和語法有深入的知識。
在傳統的基于文本的設計工具中,調試又是相當困難的。如果嵌入式系統沒有能夠按照期望的方式進行工作,如何才能找出數學設計的錯誤如何對應到具體的嵌入式系統代碼呢?例如量化、下溢出和上溢出等關于定點設計的問題很難進行跟蹤,因為他們常常在實時執行的前幾個循環中出現。例如斷點、單步執行、監視可用寄存器和變量等常用的簡單調試工具是不夠的,因為他們需要用戶舍棄實時執行,這樣也就無法使得問題重現。
在最近20年中,來自成千上萬家公司的工程師、科學家和技術員通過使用LabVIEW加速并簡化了開發過程,LabVIEW相比傳統設計工具而言更加強大,更加易于使用。LabVIEW具有通用編程語言所有的廣度和深度,其易用性提高了用戶效率,縮短了開發應用程序所需的時間。
評論