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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 雙通道時間交替模數(shù)轉(zhuǎn)換器增益和時序誤差的實時校準

          雙通道時間交替模數(shù)轉(zhuǎn)換器增益和時序誤差的實時校準

          —— 軟件定義無線電應用中
          作者:DjamelHaddadi 時間:2015-05-01 來源:電子產(chǎn)品世界 收藏

            1 雙通道TI中的失配誤差

          本文引用地址:http://www.ex-cimer.com/article/273459.htm

            一種使速度加倍的有效方法是將兩個并行設置,采樣時鐘反相操作。子ADC系統(tǒng)傳遞函數(shù)之間不可避免的微小失配會導致雜散諧波(tones),能夠顯著降低可實現(xiàn)的動態(tài)范圍。在這種ADC中有四種類型的誤差:

            1. DC 偏置誤差;
            2. 靜態(tài)增益誤差;
            3. 時序誤差;
            4. 帶寬誤差。

            在實際應用中,DC偏置誤差很簡單,可通過數(shù)字校準來處理。帶寬誤差最難應對,通常是通過精心的設計和布局來使誤差減小。在本文中,我們將重點討論增益和時序誤差校準,因為他們是造成動態(tài)范圍損失的主要原因。

            2 建議校準方法

            一般情況下,ADC的奈奎斯特帶寬(Nyquist bandwidth)從未被充分使用,其中的一小部分通常專門為抗混疊(anti-aliasing)濾波器的滾降特性預留。這個未被使用的頻段可用來引入約束??蛇x擇正弦波用于校準,因為它很容易生成高純度頻譜,并可施加兩個主要限制:

            1. 幅度保持足夠小,以避免對動態(tài)范圍產(chǎn)生任何影響,同時提供足夠的估算精度。實驗表明,對于一個14位的ADC,-40dBFS到-35dBFS的幅度范圍為最佳。

            2. 頻率被限定于以下的不連續(xù)值,以降低所述數(shù)字信號處理算法的復雜性:

            

            其中,F(xiàn)s是TIADC采樣頻率,P和K為待指定的整數(shù),S=±1,取決于相對于奈奎斯特區(qū)邊緣的位置(見圖1)。可以很容易地在片上通過使用小數(shù)N分頻鎖相環(huán)(PLL)以ADC時鐘作為參考信號來產(chǎn)生。選擇足夠高的K值,校準信號的諧波會在有用頻帶之外混疊,可降低對于濾波的要求。通過使用在PLL輸出端的可編程衰減器能夠?qū)崿F(xiàn)擺幅的調(diào)整。

            如果校準信號作為輸入,x0和x1分別代表兩個子ADC的輸出,這可用等式1表示,而下面的等式2則將這兩路信號聯(lián)系起來(此處已忽略噪聲):

            

            由于設計中的失配誤差較小,通過使用一階近似,可將這一組非線性等式線性化并求逆。

          模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理


          衰減器相關(guān)文章:衰減器原理
          鎖相環(huán)相關(guān)文章:鎖相環(huán)原理

          上一頁 1 2 下一頁

          評論


          相關(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); })();