• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 測試測量 > 設計應用 > 用MATLAB和聲卡實現T型波信號發生器

    用MATLAB和聲卡實現T型波信號發生器

    作者: 時間:2008-05-23 來源:網絡 收藏

      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]

    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而獨立運行的應用程序。

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

      下面采用界面缺省參數輸出信號,即信號周期為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. 采用濾波消除聲卡輸出的噪音

      經實驗測定,聲卡輸出的噪音大于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.

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


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


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 文登市| 克拉玛依市| 长白| 山东省| 巴林右旗| 天柱县| 宣武区| 台湾省| 门源| 华亭县| 江油市| 博罗县| 彭州市| 紫云| 年辖:市辖区| 渑池县| 启东市| 昌平区| 安阳市| 科技| 开封市| 绥宁县| 临邑县| 城市| 铜陵市| 大连市| 南漳县| 鹰潭市| 本溪市| 肃北| 佛山市| 科技| 法库县| 利津县| 蓝田县| 宜兰县| 蒙山县| 治县。| 康保县| 门头沟区| 唐海县|