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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于虛擬儀器的多通道信號產(chǎn)生系統(tǒng)設計

          基于虛擬儀器的多通道信號產(chǎn)生系統(tǒng)設計

          作者: 時間:2010-03-12 來源:網(wǎng)絡 收藏


          軟件開發(fā)平臺是用戶進行單一測試生成的用戶平臺。它應該提供一個圖形化的編程設計環(huán)境,以方便用戶的開發(fā),縮短開發(fā)周期。其中數(shù)據(jù)分析模塊庫和界面控制庫是LabVIEW和LabWindow/CVI的基礎。也可以按照標準化的思想,借鑒數(shù)據(jù)分析模塊庫和界面控制庫的模塊,利用VC++、VB、C++Builder等高級程序語言開發(fā)自己的虛擬儀器平臺。但這一模塊要向上一層提供一個接口,此接口也是提供給虛擬儀器或虛擬儀器測試系統(tǒng)的開發(fā)接口。

          對于用戶而言,其軟件面板的設計直接決定了儀器的易用性以及功能和可擴充性。

          2 信號的產(chǎn)生

          2.1 基帶信號的產(chǎn)生

          基帶信號是一個隨機的單極性矩形脈沖序列??赏ㄟ^以下的G語言程序來設計基帶信號。

          首先編寫一個可以任意編碼(0或者1)的數(shù)組,然后通過對每個碼字的循環(huán)來形成一定脈寬的脈沖,再由此形成任意的脈沖信號,這就是基帶信號。圖2所示是基帶框圖。


          2.2 2ASK信號的產(chǎn)生

          2ASK是二進制的振幅鍵控信號。通??捎媚M振幅調(diào)制方法形成2ASK信號。一個二進制的振幅鍵控信號可以表示成一個單極性矩形脈沖序列與一個正弦載波的乘積。圖3所示是2ASK的整體框圖,從圖中可以看出。它是由基帶信號和正弦載波信號相乘得到的。


          2.3 2FSK信號的產(chǎn)生

          2FSK是二進制頻移鍵控信號。這里采用鍵控法實現(xiàn)2FSK信號,即利用受矩形脈沖序列控制的開關電路來對兩個不同的獨立頻率進行選通。其產(chǎn)生框圖如圖4所示。


          首先定義兩個載波信號f1和f2,再通過一個選擇器對兩路載波進行選擇。若設定f1=1 Hz,f2=4Hz,矩形脈沖的循環(huán)次數(shù)為5,那么,矩形脈沖的頻率為0.2 Hz。一般地,當脈沖為0時,選擇頻率為1 Hz的載波信號;當脈沖信號為1時,選擇頻率為4 Hz的載波信號。

          2.4 2PSK信號的產(chǎn)生

          在編寫2PSK的波形發(fā)生器時,只要在2FSK的基礎上進行一下修改就可以了。但是,信號輸入端的復位信號通常需要賦值。這就需要加上一個布爾控制量。因為只有使每次循環(huán)后的信號復位,才能得到所需要的2PSK信號。如果不加這個布爾控制量,就實現(xiàn)不了相移鍵控。

          3 信號的模擬輸入

          3.1 模擬輸入的相關參數(shù)

          模擬輸入是采集最基本的功能。它一般通過多路開關(MUX)、放大器、采樣保持電路以及A/D來將一個模擬信號轉(zhuǎn)化為數(shù)字信號。A/D的性能和參數(shù)直接影響著模擬輸入的質(zhì)量,設計時要根據(jù)實際需要的精度來選擇合適的A/D。


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();