虛擬儀器(Virtual Intrument)技術是測控領域測量的一個重要方向,是計算機技術與儀器技術深層次結合產生的全新概念的儀器,是對傳統儀器概念的重大突破。為了滿足高校、科研機構等對一些實驗設備的需求,在低成本條件下開發一些虛擬儀器成為一種趨勢。組建虛擬示波器為例介紹如何開發虛擬實驗儀器。
1 從數據采集的角度看聲卡
從數據采集的角度來看,聲卡是一種音頻范圍內的數據采集卡,是計算機與外部的模擬量環境聯系的重要途徑。
1.1 聲卡的工作原理
聲卡的工作原理其實很簡單,其工作流程圖如圖1所示。我們知道,麥克風和喇叭所用的都是模擬信號,而電腦所能處理的都是數字信號,聲卡的作用就是實現兩者的轉換。從結構上分,聲卡可分為模數轉換電路和數模轉換電路兩部分,模數轉換電路負責將麥克風等聲音輸入設備采到的模擬聲音信號轉換為電腦能處理的數字信號;而數模轉換電路負責將電腦使用的數字聲音信號轉換為喇叭等設備能使用的模擬信號。
2 聲卡的主要技術參數
(1)采樣的位數。
采樣位數可以理解為聲卡處理聲音的解析度。這個數值越大,解析度就越高,錄制和回放的聲音也就越真實。聲卡的位是指聲卡在采集和播放聲音文件時所使用的數字聲音信號的二進制位數,它客觀地反映了數字聲音信號對輸入聲音信號描述的準確度。例如,8位代表28=256;16位則代表216=64000。比較一下一段相同的音樂信息,16位聲卡能把它分為64000個精度單位進行處理,而8位聲卡只能處理256個精度單位,最終采樣效果自然是無法相提并論的。
(2)采樣頻率。
目前,聲卡的最高采樣頻率是44.1kHz。少數達到48kHz。對于民用聲卡,一般將采樣頻率設為4檔,分別是44.1kHz、22.05kHz、11.025kHz和8kHz。22.05kHz只能達到FM廣播的聲音品質;44.1kHz是理論上的CD音質界限,48kHz則更好一些。對20kHz范圍內的音頻信號,最高的采樣頻率才48kHz,雖然理論上沒問題,但似乎余量不大。使用聲卡比較大的局限在于它不允許用戶在最高采樣頻率之下隨意設定采樣頻率,而只能分為4檔設定。這樣雖然可使制造成本降低,但卻不便于使用。用戶基本上不可能控制整周期采樣,只能通過信號處理的方法來彌補非整周期采樣帶來的問題。
(3) 緩沖區。
與一般數據采集卡不同,聲卡面臨的D/A和A/D任務通常是連續狀態的。為了在一個簡潔的結構下較好地完成某個任務,聲卡緩沖區的設計有其獨到之處。為了節省CPU資源,計算機的CPU并不是每次聲卡A/D或D/A結束后都要響應一次中斷,而是采用了緩沖區的工作方式。在這種工作方式下,聲卡的A/D、D/A都對某一緩沖區進行操作。以輸入聲音的A/D變換為例,每次轉換完畢后,聲卡控制芯片都將數據存放在緩沖區,待緩沖區滿時,發出中斷給CPU,CPU響應中斷后一次性將緩沖區內的數據全部讀走。計算機總線的數據傳輸速率非常高,讀取緩沖區數據所用時間極短,不會影響A/D變換的連續性。緩沖區的工作方式大大降低了CPU響應中斷的頻度,節省了系統資源。聲卡輸出聲音時的A/D變換也是類似的。
一般聲卡使用的緩沖區長度的默認值是8KB(8192字節)。這是由于對X86系列處理器來說,在保護模式(Windows等系統使用的CPU工作方式下)下,內存以8KB為單位被分成很多頁,對內存的任何訪問都是按頁進行的,CPU保證了讀寫8KB長度的內存緩沖區時,速度足夠快,并且一般不會被其他外來事件打斷。設置8192字節或其整數倍(例如32768字節)大小的緩沖區,可以較好地保證聲卡與CPU的協調工作。
(4) 無基準電壓。