Global Sources
電子工程專輯
 
電子工程專輯 > EDA/IP
 
 
EDA/IP  

用MATLAB和音效卡實現T型波訊號產生器的設計方法

上網時間: 2003年10月11日     打印版  Bookmark and Share  字型大小:  

關鍵字:signal source  MATLAB  sample frequency  central frequency  訊號產生器 

MATLAB有強大的音訊處理函數和強大的數據處理功能,能夠方便地產生各種波形的數據數組,同時透過音訊處理函數又可以很方便的將數據數組傳遞給聲音設備,並以特定的採樣頻率和傳輸位元由音效卡輸出。本文以MATLAB6.5版和Waveterminal 192L音效卡為例,介紹了實現T型波訊號產生器的方法。

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

使用硬體也可以完成過數位訊號源的設計,其實現的大致思路是:先分析訊號源的波形,對波形的一周期數據進行採樣,儲存到ROM中,再使用可程式邏輯元件對採樣數據進行重覆讀取、A/D轉換、濾波、放大;如想監測訊號品質,對輸出進行A/D轉換,反饋到可程式邏輯元件進行分析、顯示和校正。很多工程師會選擇這樣的設計思路,所得波形具有可靠性高、易於實現和精密度高的優點。然而,是從選擇思路、繪制原理圖、設計電路板、制版、編程、除錯和更改的整個設計周期可能達2、3個月之久,而用MATLAB和音效卡去實現則更方便有效。

設計思路和軟體實現方法圖1:T型波訊號產生器介面。

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

由於輸出是一個T形波訊號,具有一定的周期,在T形波以外輸出零電平,因此介面設計(見圖1)中應包括:中心頻率、T形波上升段、平穩段、下降段時間間隔,T形波訊號周期、採樣頻率的選擇或輸入╱輸出訊號位數的選擇,以及訊號發送、展示、清除、發送暫停、繼續和退出系統。其實還有很多軟體可以對音訊文件進行播放,因此又增加了一個按鈕用於產生音訊文件。將訊號參數輸入完全後,可以透過訊號展示按鈕對波形進行查看。對數據進行修改時,可先用訊號清除按鈕清空數據,或直接對數據進行修改,對訊號發送暫停或繼續也可進行控制。

a. 音訊數據的產生方法

在應用介面中,共設置了中心頻率、T形波上升段、平穩段、下降段時間間隔、T形波訊號周期、採樣頻率和傳輸位共七個參數源,透過MATLAB運算函數將其轉換成音效卡所能接受的音訊數據向量、D/A採樣頻率以及數據向量的寬度。


Vs=[Vup,Vstb,Vdown]


Vs:一周期訊號數據向量


Vup:上升段訊號數據向量,Vstb:平穩段訊號數據向量,Vdown:下降段訊號數據向量;


Vup=sin(w×Pup),Vstb=sin(w×Pstb),Vdown=sin(w×Pdown),w=2×3.1416×f。


Pup:上升段訊號採樣點,Pstb:平穩段訊號採樣點,Pdown:下降段訊號採樣點。


w:輸出訊號的角頻率,f:輸出訊號頻率,由應用介面取得。


Pup=[0:point:tup-point]圖2:採樣訊號的波形圖。


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


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


Pt=[Pup,Pstb,Pdown]


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

b. 對T型波訊號進行展示和訊號清除

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

c. 對T型波訊號進行發送、暫停和繼續控制

訊號發送是採用MATLAB’sound‘函數,該函數的輸入參量是音訊數據向量、採樣頻率和轉換位數,數據產生方法如上所述。由於訊號是連續發送,因此需要使用一個循環對產生的音訊訊號向量反覆讀取發送,需要注意的是在函數sound後面需要加一個pause(T)語句,T的單位為秒,為一個訊號的周期。加該語句是由於MATLAB是連續執行循環段語句的,並不管音效卡是否已執行完一周期訊號的D/A轉換。發送暫停和發送繼續是由一個全局變量對訊號發送進行控制,當此全局變量為1時,發送繼續,否則發送禁止,但應用此方法的缺點是訊號並不能在暫停的時間點繼續發送,而是從新的周期開始重覆讀取音訊訊號向量。

d. 輸出波形文件和退出系統

這個功能由輸出文件按鈕來完成,是應用MATLAB的wavwrite函數將音訊訊號轉換成.wav文件,文件中也包含了採樣頻率和數據寬度選項,增加此項的目的是為了能讓更專業的音訊處理軟體對訊號進行分析。透過執行應用程式和MATLAB的退出作業,使用‘quit’命令退出系統。採用MATLAB的一點不足就是不能將所有的M文件轉換成能脫離MATLAB而獨立執行的應用程式。

音效卡輸出波形分析圖3:周期訊號的頻鋪分析圖。

下面採用介面缺省參數輸出訊號,即訊號周期為29.5kHz,上升段時間為15ms,平穩段時間為70ms,下降段時間為15ms,周期為1s,也可以推算出每周期有900ms是沒有訊號輸出。對訊號的採樣波形如圖2所示,經由儀器分析,時間誤差可達到小於0.1ms。

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

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

音效卡輸出噪音分析


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

降低噪音的解決方法

a. 透過消除噪音源來減少噪音分量

藉由上述分析可知,噪音源主要來自於電腦本身、電腦輻射和環境噪音。選擇訊息噪音比較高的主機電源將會對消除噪音源起到重要作用。另外,測試設備再利用訊號源時應盡量與主機保持1米以外的距離,以減少電磁輻射對設備的影響。對於環境噪音,當訊號頻率與50赫茲相差很大時可以忽略環境噪音對設備的影響,但當訊號頻率接近50赫茲時,應對被檢測設備採取適當的屏蔽措施。

b. 採用濾波消除音效卡輸出的噪音圖4:對噪音進行局部放大,可看出此噪音為頻率大於1M的鋸齒波。

經實驗測定,音效卡輸出的噪音大於1MHz,因此對於29.5KHz的T形波來說,藉由濾波可以輕易地將噪音濾掉,同時還應考慮到環境噪音的影響,因此使用帶通濾波器會得到更好的效果。當然,是否採取措施減少噪音,還應根據試驗的要求決定,對於要求特別嚴格的訊號源來說,靠MATLAB和音效卡也是難以實現的。

本文小結:

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

參考文獻:


【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.

作者:孫亞光


目前工作於北京九州?潤科技有限公司,主要從事FPGA和MATLAB模擬系統設計,應用於航空、航空和射頻領域。


Email: SYGBJ@yahoo.com.cn




投票數:   加入我的最愛
我來評論 - 用MATLAB和音效卡實現T型波訊號產生器...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首