新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 用MATLAB和聲卡實現(xiàn)T型波信號發(fā)生器

用MATLAB和聲卡實現(xiàn)T型波信號發(fā)生器

作者: 時間:2008-05-23 來源:網(wǎng)絡 收藏

  MATLAB有強大的音頻處理函數(shù)和強大的數(shù)據(jù)處理功能,能夠方便地產生各種的數(shù)據(jù)數(shù)組,同時通過音頻處理函數(shù)又可以很方便的將數(shù)據(jù)數(shù)組傳遞給聲音設備,并以特定的由聲卡。本文以MATLAB6.5版和Waveterminal 192L聲卡為例,介紹了實現(xiàn)T型波信號發(fā)生器的方法。

  在進行通訊和DSP等試驗過程中,信號源是不可缺少的一個工具,很多設備是使用信號源來模擬檢測實際目標,來驗證設備的功能及可靠性。通常,對于研制單一產品的廠家來說,需要某一固定的信號源即可,在市場上也可以找到性價比合適的產品。但對于某些開發(fā)人員來說,單一的信號源遠遠滿足不了要求,他們可能需要各種、各種包絡和精度的信號源來驗證設計的可靠性。設計者通常很難找到完全符合要求的產品,而且價格一般也極為昂貴。此外,大多數(shù)信號源可能用一兩天,從而造成極大的浪費。因此,自己研制出符合要求、高性價比的信號源成為很多廠家的選擇。

  使用硬件也可以完成過數(shù)字信號源的設計,其實現(xiàn)的大致思路是:先分析信號源的,對的一周期數(shù)據(jù)進行,到ROM中,再使用可邏輯器件對數(shù)據(jù)進行重復讀取、A/D轉換、濾波、放大;如想監(jiān)測信號質量,對進行A/D轉換,反饋到可邏輯器件進行分析、顯示和校正。很多工程師會選擇這樣的設計思路,所得波形具有可靠性高、易于實現(xiàn)和精度高的優(yōu)點。然而,是從選擇思路、繪制原理圖、設計電路板、制版、、調試和更改的整個設計周期可能達2、3個月之久,而用MATLAB和聲卡去實現(xiàn)則更方便有效。

  設計思路和軟件實現(xiàn)方法圖1:T型波信號發(fā)生器界面。(點擊放大圖)

  聲卡是將音頻輸入數(shù)據(jù)轉換為立體聲的一種設備,輸入信號同時也設定了聲卡的采樣和采樣位數(shù),普通聲卡采樣頻率通常可選值為8,000Hz、11,000Hz、16,000Hz、22,000Hz和44,100Hz,而高性能的專業(yè)聲卡的A/D采樣頻率最高可達96,000Hz,D/A轉換頻率最高可達192,000Hz。聲卡的采樣頻率可以通過專業(yè)軟件來進行更改和設置的。聲卡輸出位數(shù)為固定值,包括8位、16位和24位,這個參數(shù)標志聲卡進行D/A轉換時的轉換精度,但要使輸出信號更接近理想值,還需要高采樣頻率來做保障。

  由于輸出是一個T形波信號,具有一定的周期,在T形波以外輸出零電平,因此界面設計(見圖1)中應包括:中心頻率、T形波上升段、平穩(wěn)段、下降段時間間隔,T形波信號周期、采樣頻率的選擇或輸入/輸出信號位數(shù)的選擇,以及信號發(fā)送、演示、清除、發(fā)送暫停、繼續(xù)和退出系統(tǒng)。其實還有很多軟件可以對音頻文件進行播放,因此又增加了一個按鈕用于產生音頻文件。將信號參數(shù)輸入完全后,可以通過信號演示按鈕對波形進行查看。對數(shù)據(jù)進行修改時,可先用信號清除按鈕清空數(shù)據(jù),或直接對數(shù)據(jù)進行修改,對信號發(fā)送暫停或繼續(xù)也可進行控制。

  a. 音頻數(shù)據(jù)的產生方法

  在應用界面中,共設置了中心頻率、T形波上升段、平穩(wěn)段、下降段時間間隔、T形波信號周期、采樣頻率和位共七個參數(shù)源,通過MATLAB強大的計算函數(shù)將其轉換成聲卡所能接受的音頻數(shù)據(jù)向量、D/A采樣頻率以及數(shù)據(jù)向量的寬度。
Vs:一周期信號數(shù)據(jù)向量

Vup:上升段信號數(shù)據(jù)向量,

Vstb:平穩(wěn)段信號數(shù)據(jù)向量,

Vdown:下降段信號數(shù)據(jù)向量;

Vs=[Vup,Vstb,Vdown]

Vup=sin(w×Pup),

Vstb=sin(w×Pstb),

Vdown=sin(w×Pdown),

w=2×3.1416×f。

Pup:上升段信號采樣點,

Pstb:平穩(wěn)段信號采樣點,

Pdown:下降段信號采樣點。

w:輸出信號的角頻率,

f:輸出信號頻率,由應用界面取得。

Pup=[0:point:tup-point]

Pstb=[tup:point:tup+tstb-point]

Pdown=[tup+tstb:point:tup+tstb+tdown-point]

Pt=[Pup,Pstb,Pdown]

point=1/fspl,為采樣頻率的倒數(shù),中括號及內部數(shù)據(jù)表示由起始時間到結束時間以point為間隔而產生的數(shù)據(jù)向量,Pt為采樣時間點。

  b. 對T型波信號進行演示和信號清除

  這兩個功能分別由信號演示和信號清除兩個按鈕來完成,信號演示的實現(xiàn)方法是將采樣時間點一周期信號數(shù)據(jù)向量使用plot函數(shù),以二維圖形的形式將信號顯示在坐標軸上。坐標軸設置為自動調節(jié),圖形界面設置為系統(tǒng)菜單模式,這樣可以方便對信號進行編輯、縮放和其它管理。信號清除只是在回調子函數(shù)中將中心頻率、T形波上升段、平穩(wěn)段、下降段時間間隔和T形波信號周期這5個文本框清零,并對坐標軸進行一個缺省設置,因此所顯示的信號在座標軸中就會消失。

  c. 對T型波信號進行發(fā)送、暫停和繼續(xù)控制

  信號發(fā)送是采用MATLAB“sound”函數(shù),該函數(shù)的輸入?yún)⒘渴且纛l數(shù)據(jù)向量、采樣頻率和轉換位數(shù),數(shù)據(jù)產生方法如上所述。由于信號是連續(xù)發(fā)送,因此需要使用一個循環(huán)對產生的音頻信號向量反復讀取發(fā)送,需要注意的是在函數(shù)sound后面需要加一個pause(T)語句,T的單位為秒,為一個信號的周期。加該語句是由于MATLAB是連續(xù)執(zhí)行循環(huán)段語句的,并不管聲卡是否已執(zhí)行完一周期信號的D/A轉換。發(fā)送暫停和發(fā)送繼續(xù)是由一個全局變量對信號發(fā)送進行控制,當此全局變量為1時,發(fā)送繼續(xù),否則發(fā)送禁止,但應用此方法的缺點是信號并不能在暫停的時間點繼續(xù)發(fā)送,而是從新的周期開始重復讀取音頻信號向量。

  d. 輸出波形文件和退出系統(tǒng)

  這個功能由輸出文件按鈕來完成,是應用MATLAB的wavwrite函數(shù)將音頻信號轉換成.wav文件,文件中也包含了采樣頻率和數(shù)據(jù)寬度選項,增加此項的目的是為了能讓更專業(yè)的音頻處理軟件對信號進行分析。通過執(zhí)行應用程序和MATLAB的退出操作,使用“quit”命令退出系統(tǒng)。采用MATLAB的一點不足就是不能將所有的M文件轉換成能脫離MATLAB而獨立運行的應用程序。

  聲卡輸出波形分析圖2:采樣信號的波形圖。

  下面采用界面缺省參數(shù)輸出信號,即信號周期為29.5kHz,上升段時間為15ms,平穩(wěn)段時間為70ms,下降段時間為15ms,周期為1s,也可以推算出每周期有900ms是沒有信號輸出。對信號的采樣波形如圖2所示,經過儀器分析,時間誤差可達到小于0.1ms。

  對周期信號的傅立葉頻譜分析如圖3所示,信號的能量主要集中在29.5kHz的窄帶范圍內,是符合設計要求的。

  信號的信噪比分析:通過對輸出0伏值段分析即可判斷信號信噪比和噪音信號類型,從而找出消除噪音的方法。對噪音波形進行局部放大,可看出此噪音為頻率大于1M的鋸齒波,波形如圖4所示。

  聲卡輸出噪音分析

  Waveterminal 192L聲卡的輸出信號峰峰值為6V,而噪音信號的峰峰值為40mV,因而信噪比為20log(6000/40)=43.5dB,當數(shù)據(jù)寬度為8位時,D/A精度為1位;數(shù)據(jù)寬度為16位時,D/A精度為9位;數(shù)據(jù)寬度為24位時,D/A精度為17位。而Waveterminal 192L聲卡的信噪比為104位,因此,噪音信號主要為電腦本身、電腦輻射和環(huán)境噪音。電腦本身的噪音主要來自于主機電源,聲卡的電源信號取自計算機主板,因此主機電源的噪音會引入聲卡。另外,接收T型波的設備,如被檢驗設備和示波器等,往往就放在主機旁邊,主機的高頻輻射會通過機箱縫隙而形成噪音。環(huán)境噪音是最容易被忽視的一個部分,因為這是一個頻率僅有50赫茲的噪音分量,對于低頻輸出信號會有很大的影響。

  降低噪音的解決方法

  a. 通過消除噪聲源來減小噪音分量

  通過上述分析可知,噪音源主要來自于電腦本身、電腦輻射和環(huán)境噪音。選擇信噪比較高的主機電源將會對消除噪音源起到重要作用。另外,測試設備再利用信號源時應盡量與主機保持1米以外的距離,以減少電磁輻射對設備的影響。對于環(huán)境噪音,當信號頻率與50赫茲相差很大時可以忽略環(huán)境噪音對設備的影響,但當信號頻率接近50赫茲時,應對被檢測設備采取適當?shù)钠帘未胧?

  b. 采用濾波消除聲卡輸出的噪音

  經實驗測定,聲卡輸出的噪音大于1MHz,因此對于29.5kHz的T形波來說,通過濾波可以輕易地將噪音濾掉,同時還應考慮到環(huán)境噪音的影響,因此使用帶通濾波器會得到更好的效果。當然,是否采取措施減小噪音,還應根據(jù)試驗的要求決定,對于要求特別嚴格的信號源來說,靠MATLAB和聲卡也是難以實現(xiàn)的。

  本文小結

  采用MATLAB和聲卡來實現(xiàn)信號源,使設計者能快速實現(xiàn)多種方案,對信號源進行采集、分析和處理都帶來了極大的方便。MATLAB有豐富的數(shù)據(jù)處理函數(shù),可提供任意形式的數(shù)據(jù)源,同時也有很多音頻處理函數(shù)支持聲卡的運行。MATLAB強大的圖形可視化功能可以做出友好的操作界面。使用這種方法實現(xiàn)信號源的不足是受采樣頻率的限制、噪音的影響較大,因此實際應用時還需使用專門的濾波儀器對輸出信號進行處理。所以,用這種方案實現(xiàn)信號源,更適合與對輸出信號質量要求不是很高,又需要在很短時間內得到一種或多種信號源的技術人員。

  參考文獻:

  【1】 Shi Xiaohong, Zhou Jia, master GUI graph interface, Peking univ. press,2003.

  【2】 Xue Dingyu, Chen Yangquan, System Simulation technology and application based on MATLAB/simulink, Tsinghua press, 2002.

  【3】 Fan Yingle, Yang Shengtian, Li Tie, simulink application in detail of MATLAB, people's post-electronics press,2001.

  【4】 James R.Armstrong F.Gail Gray,VHDL Design representation and Synthesis(Second Edition),China Machine Press,2002.

  【5】 Hou Boting, Gu Xin,VHDL program and digital logic electronics design, XiAn electeonics science institute,1997.

模擬信號相關文章:什么是模擬信號


負離子發(fā)生器相關文章:負離子發(fā)生器原理
離子色譜儀相關文章:離子色譜儀原理


評論


相關推薦

技術專區(qū)

關閉