作者:圣地亞哥加利福尼亞大學Sean McPeak 來源:電子設計技術 日期:2009-09-30 當您需要在很寬的頻率范圍測試某種產品時,掃頻正弦波很有用。例如某個大型研究項目需要確定波浪在遠洋的傳播方式,則該應用需要生成掃頻正弦波,以便驅動聲波換能器。雖然許多波形發生器都有內置的函數來滿足這一要求,但您如果希望用多功能數據采集卡來實現正弦掃頻的話,就必須親自對它編程。僅憑一臺虛擬儀器(VI),您就能在National Instruments公司的LabView中創建掃頻正弦函數。利用該函數,可以控制起始頻率和終止頻率、采樣率,以及掃頻的總時長(圖1)。 圖1 僅用一臺LabView虛擬儀器,您就能控制起始頻率、終止頻率、采樣率,以及掃頻總時長。 LabView軟件對某個數組執行計算,該數組代表了頻率增加或降低時(取決于掃頻方向),每個樣本點的掃頻正弦波時間數列。您必須逐點處理輸出的頻率變化。方程的基本形式為Y(I)=V×sin((A×I2)/2+B×I),其中Y(I)是掃頻正弦波的振幅,是樣本點的函數;I是隨時間數列變化的整數;V是峰值電壓;A和B是變量。把A定義為2×π(fSTOP–fSTART)/N,把B定義為2×πfSTART,其中N是樣本數量,fSTART是歸一化起始頻率,fSTOP是歸一化終止頻率。為使起始頻率和終止頻率歸一化,必須把單位換算成每樣本的周期數。換算方法是把f1和 f2頻率(單位:赫茲)除以采樣率。采樣率的確定取決于您希望表現的掃頻正弦波的光滑程度。一條不錯的經驗法則是最高頻率的采樣率至少為每周期10個樣本。在設置采樣率時,您需要考慮自己正在掃頻的頻率總跨度以及掃頻本身的時長。可以把LabView數據采集系統所做的掃頻正弦波實現與任意波形發生器 (AWG)在結果和性能方面做比較,這也會有幫助。 應使用兩種比較方法。首先,在頻譜分析儀上對數據采集系統與AWG掃頻正弦波的輸出做比較。然后,把二者輸入到某個音頻放大與揚聲系統,并聽一聽輸出效果。該方法在確定掃頻速率、時長、起始頻率和終止頻率方面很有用。只有當相關頻率位于聽得見的范圍內時,這類比較才有效。LabView VI采用簡單的數組運算,并使用了一個“for”循環。輸入時長單位為秒,采樣頻率單位為樣本/每秒,起始頻率和終止頻率單位為赫茲。對采樣率做除法,就可立即把起始頻率和終止頻率換算為周期/樣本。一個最大值/最小值塊把歸一化的起始頻率和終止頻率作為輸入,并使用這個輸入對應的最大輸出。在給定需要的采樣率和最高頻率時,可用該方法來確定設計方案是否符合奈奎斯特準則。 該方法驅動一個簡單的布爾變量來提示用戶,設計是否符合奈奎斯特準則。您可把“for”循環的運行次數設為您希望計算的樣本總數。該值的確定方法是用時長(單位:秒)乘以采樣率(單位:樣本/秒)。為保證循環處理了產生的所有樣本,您必須加1,這是因為循環在N-1處停止。 可用簡單的代數運算符號和正弦塊來實現“for”循環中的輸出函數。輸出值是一個到達了“for”循環邊緣的數組。應在該節點啟用循環計數,這很重要。該行動使電路能在“for”循環的輸出端逐個處理數組中的每個元素。也可添加一個簡單的增益級,來把峰值設定到您希望的任何一點。最后,如果終止頻率低于起始頻率,那么您可使用“旋轉一維數組塊”分支結構(case structure)來使數組反轉。在該方法處理的分支中,掃頻在較高頻率開始,并下降到較低頻率。 您可以很輕松地修改和擴充這個簡單的程序。一個辦法是用輸出數組(它只是一個時間數列,代表某個預先描述的掃頻)來給循環提供數據,后者將驅動數據采集模塊。只要模塊的輸出采樣率等于您用來生成掃頻時間數列的采樣率,模塊的輸出就應準確代表這次掃頻。然后,您就應該能夠跟蹤輸出樣本,并且在它們齊備時把掃頻數組反轉。然后,把反轉所得的新數組提供給數據采集模塊。也許很難足夠迅速地反轉數組并配置模塊,以便不遺漏樣本,這取決于您使用的最大頻率、最小頻率、掃頻時長、采樣率。在這種情況下,您可以根據設定的通過次數來預填一個掃頻數組。 這些修改使掃頻能來回持續一段給定時間。另一項改進是添加實時快速傅里葉變換(FFT)功能,使用戶能看到頻域中的掃頻。該方法還使電路更有可能符合掃頻的定義。 |