<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

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

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

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

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

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

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

            在應(yīng)用界面中,共設(shè)置了中心頻率、T形波上升段、平穩(wěn)段、下降段時間間隔、T形波信號周期、采樣頻率和位共七個參數(shù)源,通過MATLAB強大的計算函數(shù)將其轉(zhuǎn)換成聲卡所能接受的音頻數(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:輸出信號頻率,由應(yīng)用界面取得。

          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ù),中括號及內(nèi)部數(shù)據(jù)表示由起始時間到結(jié)束時間以point為間隔而產(chǎn)生的數(shù)據(jù)向量,Pt為采樣時間點。

            b. 對T型波信號進(jìn)行演示和信號清除

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

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

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

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

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

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

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

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

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

            聲卡輸出噪音分析

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

            降低噪音的解決方法

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

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

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

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

            本文小結(jié)

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

            參考文獻(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.

          模擬信號相關(guān)文章:什么是模擬信號


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


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();