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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 強化DPD演算效能SoC FPGA提升蜂巢網(wǎng)絡(luò)設(shè)備整合度

          強化DPD演算效能SoC FPGA提升蜂巢網(wǎng)絡(luò)設(shè)備整合度

          作者:DavidHawke 時間:2014-02-14 來源:摘自《電子發(fā)燒友》 收藏

            服務(wù)供應(yīng)商對降低營運成本的需求愈來愈迫切,因此現(xiàn)場可編程門陣列()業(yè)者推出整合嵌入式處理器的 方案,并導(dǎo)入效能更高的數(shù)字預(yù)失真(DPD)演算法,協(xié)助網(wǎng)絡(luò)設(shè)備制造商以更低功耗及成本,打造更高生產(chǎn)力的產(chǎn)品。

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

            業(yè)者設(shè)法透過全新傳輸界面、傳輸頻率、更高頻寬以及增加天線的數(shù)量和更多無線基地臺提升網(wǎng)絡(luò)密度,因此須要大幅降低設(shè)備的成本。另外,這些業(yè)者為降低營運成本,也需要更高運作效率和網(wǎng)絡(luò)整合度的設(shè)備。無線基礎(chǔ)設(shè)備制造商為提供可以符合不同要求的設(shè)備,皆在尋求更高整合度、更佳效能和靈活度高的解決方案,并且同時降低功耗和成本。

            整合度是降低整體設(shè)備成本的關(guān)鍵,然而這必須依賴可提升功率放大器效率的高階數(shù)字演算法來降低各項運作成本,其中一項最常用的演算法是數(shù)字預(yù)失真 (DPD)。由于設(shè)備的配置愈來愈復(fù)雜,因此提升設(shè)備運作效率是一項很大的挑戰(zhàn)。藉由先進長程演進計劃(LTE-Advanced)傳輸技術(shù),無線傳輸頻寬可達到100MHz,如果廠商試圖用連續(xù)頻譜配置結(jié)合多種傳輸界面,頻寬甚至可以更高。主動天線陣列(AAA)和支援多重輸入/輸出(MIMO)技術(shù)的遠端無線單元(RRU)所需的演算法對頻寬的要求愈來愈高。本文將探討業(yè)界完全可編程系統(tǒng)單芯片(All Programmable )元件如何為目前和未來的數(shù)字預(yù)失真系統(tǒng)提升效能增益,同時也可為設(shè)備廠商提供充裕的可編程能力、低成本和低功耗,并加快產(chǎn)品上市時程。

            建置蜂巢式無線網(wǎng)絡(luò)

            業(yè)界完全可編程元件結(jié)合高效能可編程邏輯(PL)架構(gòu),其中包含序列式收發(fā)器(SERDES)和整合硬件處理子系統(tǒng)(PS)的數(shù)字訊號處理器 ()模塊。這個硬件處理子系統(tǒng)內(nèi)含一個雙核心安謀國際()Cortex-A9處理器、浮點運算單元(FPU)和NEON多媒體加速器及一系列豐富的周邊功能,包括通用異步收發(fā)器(UART)、串列周邊界面(SPI)、內(nèi)部整合電路(I2C)、以太網(wǎng)絡(luò)(Ethernet)和記憶體控制器等完整無線傳輸所需的周邊功能。有別于外部通用處理器或,可編程邏輯和硬件處理子系統(tǒng)間的界面有大量連結(jié),因此其頻寬可以非常高;但如要用獨立式解決方案處理這些連結(jié),卻不可行。此外,完全可編程SoC元件還包含硬件和軟件陣列,因此可在單一芯片內(nèi)建置遠端無線單元所需的功能,如圖1所示。

          圖1 在這個典型的無線架構(gòu)中,所有數(shù)位功能可整合在單一元件中
          圖1 在這個典型的無線架構(gòu)中,所有數(shù)字功能可整合在單一元件中。

            可編程邏輯中豐富的資源可用于建置數(shù)字上行轉(zhuǎn)換(DUC)、數(shù)字下行轉(zhuǎn)換(DDC)、峰波因數(shù)抑制(CFR)與數(shù)字預(yù)失真(DPD)等數(shù)字訊號處理功能。此外,SERDES可支援9.8bit/s的通用型公共射頻界面(CPRI)和12.5bit/s JESD204B,分別用于連接基頻和資料轉(zhuǎn)換器。

            硬件處理子系統(tǒng)同時支援對稱式多重處理技術(shù)(SMP)和非對稱式多重處理技術(shù) (AMP)。在這個案例中預(yù)定會采用非對稱式多重處理模式,因為其中一顆 Cortex-A9處理器被用于建置基板層級的控制功能,例如訊息終止、排程、設(shè)定等級以及警示執(zhí)行(裸機或更有可能是如Linux等作業(yè)系統(tǒng))。而另一顆 Cortex-A9處理器則用以建置部分數(shù)字預(yù)失真演算法,因為數(shù)字預(yù)失真演算法并不保證整體都是硬件的解決方案。

            數(shù)字預(yù)失真可藉由擴大其線性范圍提升功率放大器效率;當(dāng)驅(qū)動放大器進一步增加輸出功率時,即可提升運作效率,而靜態(tài)功耗會相對維持正常。數(shù)字預(yù)失真為擴充其線性范圍,會使用放大器中的類比反饋路徑和大量數(shù)字處理功能計算放大器的逆向非線性系數(shù)。然后利用這些系數(shù)預(yù)先校正與驅(qū)動功率放大器的傳輸訊號,最終可增加放大器的線性范圍。

            數(shù)字預(yù)失真是一個封閉回路系統(tǒng),其會擷取先前的傳輸訊號來決定放大器與這些傳輸訊號的傳輸方法。數(shù)字預(yù)失真的第一個任務(wù)是要讓放大器與先前的傳輸訊號達成一致,這個過程會在一個校準模塊中進行。在執(zhí)行任何演算法運算前,系統(tǒng)會用記憶體來校準資料;資料一旦妥善校準后即可運用自動相關(guān)矩陣運算(AMC)和系數(shù)運算(CC)演算法,建立代表功率放大器逆向非線性系數(shù)的最近值。一旦產(chǎn)出系數(shù)后,資料路徑前置失真器即運用資料預(yù)校準被傳輸?shù)焦β史糯笃鞯挠嵦枴?/p>

            加速估計數(shù)字預(yù)失真系數(shù)

            當(dāng)然,這些功能可以透過許多不同的方法建立。有些比較適合用軟件的方法,而有些則適用硬件,同時也有是軟硬件皆適用;然而,最終還是要以所需的效能決定建置的方法。采用完全可編程SoC元件可讓系統(tǒng)設(shè)計人員自由支配硬件和軟件的最適度使用情況。就數(shù)字預(yù)失真的情況而言,由于需要非常高的采樣率,因此內(nèi)含高速過濾功能的資料路徑預(yù)失真器通常會建置在可編程邏輯中,而產(chǎn)生數(shù)字預(yù)失真系數(shù)的校準和估算引擎則可于硬件處理子系統(tǒng)中的ARM Cortex-A9處理器中執(zhí)行。

            為決定什么須要采用硬件或軟件建置方法,首先必須設(shè)定哪些部分需要軟件。圖3展示數(shù)字預(yù)失真演算法中設(shè)定需要軟件的部分,以期達到圖2所示的三種功能。根據(jù)圖3設(shè)定,不難理解數(shù)字預(yù)失真演算法有97%的時間用在執(zhí)行自動相關(guān)矩陣運算,所以很自然地加速這項過程成為首要任務(wù)。

          圖2 細分成不同功能區(qū)間的數(shù)位預(yù)失真系統(tǒng)
          圖2 細分成不同功能區(qū)間的數(shù)字預(yù)失真系統(tǒng)
          圖3 數(shù)位預(yù)失真處理當(dāng)中的指定軟體運算作業(yè)之軟體設(shè)定
          圖3 數(shù)字預(yù)失真處理當(dāng)中的指定軟件運算作業(yè)之軟件設(shè)定

          fpga相關(guān)文章:fpga是什么


          pa相關(guān)文章:pa是什么



          上一頁 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); })();