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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > OFDM系統(tǒng)中DAGC的應用研究及FPGA實現(xiàn)

          OFDM系統(tǒng)中DAGC的應用研究及FPGA實現(xiàn)

          作者: 時間:2015-02-09 來源:網(wǎng)絡 收藏

            O 引 言

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

            隨著各種FFT算法的出現(xiàn),DFT在現(xiàn)代信號處理中起著越來越重要的作用。在B3G和4G移動通信中所采用的0FDM技術,更是以IDFT/DFT來進行調制和解調制,IDFT/DFT的精度直接影響基帶解調的性能。

            在硬件實現(xiàn)中,通常影響定點化FFT算法精度的有量化誤差、舍入誤差和溢出誤差。一旦決定了量化方式和數(shù)據(jù)位寬后,量化誤差和舍入誤差都是可估計的,而溢出誤差則隨著輸入信號功率的增大而急劇增加,造成SNR嚴重惡化。

            中射頻接收時,通常使用AAGc和DAGC來改善ADC正常工作的動態(tài)范圍。同理,由于實現(xiàn)高精度定點化FFT算法的難度和成本較高,本文將采用DAGC技術調整DFT輸入功率,以降低DFT的實現(xiàn)負擔、增加DFT的實現(xiàn)精度、減少DFT的實現(xiàn)位寬。

            1 DFT輸入功率范圍分析

            B3G和4G移動通信系統(tǒng)中采用的技術以符號為單位進行調制解調,該類系統(tǒng)中高層的子載波分配機制,可以使各個OFDM符號幅度變化較其他通信系統(tǒng)大得多。因此,OFDM符號在接收端中射頻進行放大后,傳至基帶用DFT進行子載波解調,此時的符號功率往往有著較大的動態(tài)范圍。針對本文關注的DFT溢出誤差,該部分將推導DFT所能接收的最大輸入信號功率。

            復隨機序列z[n]=Re(z[n])+jIm(b[n])(n∈[0,N一1])的DFT正變換表示為:

            

           

            考慮最極端的一個Z[k],即每一個z[n]乘以旋轉因子WknN后,都旋轉角θ至Re正半軸成為z’[n],如圖1所示。在這種情況下,定義:

            

           

            則當虛部為Im(Z[k])=0時,實部Re(Z[k])(k∈[0,(n-1)]的模平方滿足:

            

           

            其中:N為DFT點數(shù),以上推導也可由旋轉至Re負半軸,Im正或負半軸得到。因此,所有Z[k]的實部和虛部的模平方必定都小于或等于式(3)所得結果。

            

           

            本文僅討論1 024點復隨機序列DFT,采用32 b存儲DFT結果,高16 b存實部,低16 b存虛部,兩個16 b的最高位均為符號位,為了保證DFT后的每一個點都不溢出,則平均功率W,需要滿足:

            

          fpga相關文章:fpga是什么



          上一頁 1 2 下一頁

          關鍵詞: OFDM FPGA

          評論


          相關推薦

          技術專區(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); })();