在蜂窩式無(wú)線(xiàn)電基礎架構中實(shí)現軟件可編程數字預失真
蜂窩網(wǎng)絡(luò )運營(yíng)商正努力通過(guò)使用最新空中接口、采用最新傳輸頻率、提高帶寬以及增加天線(xiàn)數量和蜂窩基站數量的方式提高網(wǎng)絡(luò )容量,為此他們需要大量削減設備成本。此外,運營(yíng)商們還要提高設備效率和網(wǎng)絡(luò )集成度,以便減少運營(yíng)成本。為了提供可滿(mǎn)足這些不同需求的設備,無(wú)線(xiàn)基礎設施設備制造商正在尋找具備更高集成度、性能和靈活性且功耗與成本更低的解決方案。另外,設備制造商在實(shí)現以上目標的同時(shí)還要縮短產(chǎn)品上市時(shí)間。
本文引用地址:http://dyxdggzs.com/article/201610/306448.htm減少設備總體成本的關(guān)鍵是集成,但減少運營(yíng)成本則需要采用高級數字算法來(lái)改善功率放大器效率。其中最常用的一種算法就是數字預失真(DPD)。在設備配置變得越發(fā)復雜的同時(shí)提高設備效率,這本身就是一種挑戰。無(wú)線(xiàn)電傳輸帶寬憑借先進(jìn)的長(cháng)期演進(jìn)(LTE-A)技術(shù)正在接近100MHz,而且隨著(zhù)廠(chǎng)商試圖在一個(gè)非連續頻譜中采用多個(gè)空中接口,這一數字甚至會(huì )更高。同時(shí)有源天線(xiàn)陣列(AAA)和支持MIMO的遠端射頻單元(RRU)也不斷對算法的計算帶寬提出更高要求。本文我們將研究如何利用Zynq-7000 All Programmable SoC(AP SoC)來(lái)提高當前及未來(lái)DPD系統的性能,同時(shí)為設備廠(chǎng)商提供具有完全可編程功能的低成本、低功耗解決方案,幫助他們以最快的速度向市場(chǎng)推出產(chǎn)品。
實(shí)現蜂窩無(wú)線(xiàn)電
AP SoC采用包含串行收發(fā)器(SERDES)和DSP模塊的高性能可編程邏輯(PL)架構和一個(gè)與其緊密集成的硬化處理子系統(PS)。該處理子系統又包含一個(gè)雙核ARM Cortex A9、浮點(diǎn)單元(FPU)和NEON媒體加速器,并配有實(shí)現完整無(wú)線(xiàn)電操作和控制所必需的UART、SPI、I2C、以太網(wǎng)和存儲控制器等多種外設。與外部通用處理器或DSP處理器不同,由于PL與PS之間有大量的連接,因此其間的接口需要極高的帶寬,這是單個(gè)解決方案所無(wú)法實(shí)現的。憑借這些軟/硬件組合,AP SoC器件能夠在單個(gè)芯片上實(shí)現RRU所需的全部功能,如圖1所示。

PL中豐富的DSP資源可用于實(shí)現數字上變頻(DUC)、數字下變頻(DDC)、峰值因數降低(CFR)和DPD等數字信號處理功能。此外,SERDES能夠支持9.8Gbps CPRI和12.5Gbps JESD204B接口,分別用于連接基帶轉換器和數字轉換器。PS支持對稱(chēng)多處理(SMP)和非對稱(chēng)多處理(AMP)。在本案例中,假設采用AMP模式,其中的一個(gè)ARM A9處理器用于實(shí)現下傳消息、調度、校準和警報等板級控制功能,用以運行裸金屬架構,更可能的是Linux等操作系統。而另一個(gè)處理器則用于實(shí)現部分所需的DPD算法,因為并非算法的所有部分都支持純硬件解決方案。
DPD可通過(guò)擴大線(xiàn)性范圍來(lái)提高功率放大器效率。加強對放大器的驅動(dòng)以改善輸出功率,從而提高效率,同時(shí)靜態(tài)功耗保持相對不變。為了擴大線(xiàn)性范圍,DPD利用放大器的模擬反饋路徑以及大量信號處理操作來(lái)計算系數(該系數為放大器非線(xiàn)性的倒數);然后利用這些系數對所發(fā)送的功率放大器驅動(dòng)信號進(jìn)行預修正,最終達到擴大放大器線(xiàn)性范圍的目的。
DPD算法可分解為如下多個(gè)功能塊,如圖2所示。

DPD是一個(gè)閉環(huán)系統,可捕捉之前發(fā)送的信號,以確定放大器根據發(fā)送信號所表現出的行為。DPD的首個(gè)任務(wù)是在校準模塊(alignment block)中將放大器的輸出與之前的發(fā)送信號進(jìn)行校準。在開(kāi)始任何后續算法操作之前,需要利用存儲器來(lái)校準數據。一旦數據校準后,就可用自相關(guān)矩陣計算(AMC)和系數計算(CC)算法來(lái)創(chuàng )建代表PA非線(xiàn)性倒數近似值的系數;獲得系數后,數據路徑預失真器會(huì )利用這些數據對發(fā)送到PA的信號進(jìn)行預修正。
加速DPD系數估算
這些功能可以通過(guò)多種不同方式來(lái)實(shí)現。有的功能適合用軟件,有的則適合用硬件,還有的則既可用軟件也可用硬件來(lái)實(shí)現,但最終還是由性能來(lái)決定采用何種實(shí)現方式。有了AP SoC器件,設計人員就可自主決定采用硬件還是軟件來(lái)實(shí)現功能。對于DPD算法而言,包含高速濾波功能的數據路徑預失真器由于需要極高的采樣率,一般應在PL中實(shí)現,而用于生成DPD系數的校準引擎與估算引擎則可以在PS中的ARM A9上運行。
為了確定到底用軟件還是硬件來(lái)實(shí)現功能,必須首先對軟件進(jìn)行特性分析,確定其耗時(shí)情況。圖3顯示了圖2中DPD算法用于實(shí)現三個(gè)可識別功能的軟件特性。根據分析結果顯示,賽靈思DPD算法中97%的時(shí)間都用于A(yíng)MC處理,因此首先對該功能進(jìn)行加速意義最大。

ARM A9可用于執行一些附加功能,這樣也有助于提高這類(lèi)應用的性能。例如,作為PS的一部分,每個(gè)ARM A9都有一個(gè)浮點(diǎn)單元和一個(gè)NEON媒體加速器。NEON單元是一種128位單指令多數據(SIMD)矢量協(xié)處理器,可同時(shí)執行兩個(gè)32x32b乘法運算,非常適合以乘法累加(MAC)運算為主的AMC功能的要求。充分利用NEON模塊,就能發(fā)揮軟件的內在優(yōu)勢,從而無(wú)需用匯編語(yǔ)言進(jìn)行低層次編程。
因此,相對采用Microblaze或外部DSP等軟處理器而言,使用PS中的附加功能可以顯著(zhù)提高性能。
為了進(jìn)一步提高DPD性能,最好將這些功能移植到采用PL的硬件內。然而軟件由C或C++編寫(xiě),要將C或C++轉換為能夠在采用VHDL或Verilog語(yǔ)言的PL中運行的硬件內,需要花費一些時(shí)間。
隨著(zhù)高層次綜合(HLS)工具(例如C-to-RTL)的推出,這個(gè)問(wèn)題現在已經(jīng)得到解決。這些工具讓有C/C++編程經(jīng)驗的程序員能夠以FPGA的形式進(jìn)行硬件轉換。Vivado HLS工具使設計人員和系統架構師可以輕松將C/C++代碼映射到可編程邏輯,以實(shí)現代碼重用、盡可能移植以及簡(jiǎn)單的設計空間探索機制,從而最大限度地提高生產(chǎn)力。

圖4顯示了C/C++的典型Vivado HLS高層次綜合設計流程。該工具的輸出為RTL,能夠輕松地與現有硬件設計集成,例如數據路徑預失真器或上游處理部分,當然還包括數據轉換器接口。
利用這種工具可以將算法快速移植到硬件,在這里算法必須通過(guò)AXI接口與PS連接,如圖5所示。

在PL中以高時(shí)鐘速率運行AMC算法能夠顯著(zhù)提高性能(如圖6所示),與在軟件中實(shí)現相同的功能相比,可以實(shí)現70倍的性能提升,且只占用不到3%的AP SoC器件邏輯資源。

對原始C/C++參考代碼進(jìn)行基本的優(yōu)化后,新代碼在A(yíng)RM A9處理器上的運行更加高效,將純軟件實(shí)現方案的性能提升至原始代碼的至少2至3倍。此時(shí),啟用NEON媒體協(xié)處理器,可以獲得額外的性能優(yōu)勢。圖6的最終結果是通過(guò)在可編程邏輯中運行AMC算法(參見(jiàn)圖5)獲得的,其與最初的軟件法相比,僅AMC功能就實(shí)現了高達70倍的總體性能提升。
最終是由無(wú)線(xiàn)電性能定義所需DPD在硬件與軟件之間的分區。追求更高級別的頻譜修正可以實(shí)現更高的效率,這可能會(huì )成為影響性能的一個(gè)因素。由于提高了用于表達放大器非線(xiàn)性的精確度,因而實(shí)現更高的修正水平需要更強大的處理能力。其他影響性能的因素是更大的傳輸帶寬或在多個(gè)天線(xiàn)之間共享估算引擎。這種方式僅需一個(gè)處理器外加可選的硬件加速器即可為多個(gè)數據路徑預失真器計算系數,從而實(shí)現面積(和成本)方面的節省。
在某些情況下,在A(yíng)RM A9 + NEON單元上運行軟件所獲得的性能就足夠了,例如窄帶傳輸帶寬配置,或在設計中只有1或2個(gè)天線(xiàn)路徑需要進(jìn)行數據處理的情況,這既可以減少無(wú)線(xiàn)電配置的面積也可降低成本。
為了將性能進(jìn)一步提升至圖6以上的水平,可為AMC功能的實(shí)現添加額外并行機制,但這需要以增加邏輯實(shí)現為代價(jià)才能縮短更新時(shí)間。此外,對軟件進(jìn)行更深入的分析可能會(huì )表明算法中其他可從硬件加速受益的部分。無(wú)論要求是什么,現在的工具和芯片都能幫助設計人員在追求更高效率的過(guò)程中輕而易舉地在性能、面積以及功耗之間進(jìn)行利弊取舍,而且不必受特定分立器件或編程風(fēng)格的制約。
總結
無(wú)線(xiàn)電基礎設施要求低成本、低功耗和高可靠性,而集成則是實(shí)現這些目標的關(guān)鍵,但直到現在也無(wú)法在不降低靈活性或減慢上市進(jìn)程的前提下做到。此外,寬帶無(wú)線(xiàn)電和對更高效率的追求正在促使處理要求不斷提升。憑借雙核處理器子系統、高性能和低功耗可編程邏輯優(yōu)勢,Zynq-7000 All Programmable SoC已成為能充分滿(mǎn)足當前和未來(lái)無(wú)線(xiàn)電需求的解決方案。
無(wú)論是遠程無(wú)線(xiàn)電設備還是有源天線(xiàn)陣列,設計人員都能以更高的生產(chǎn)力創(chuàng )建產(chǎn)品,同時(shí)實(shí)現比現有解決方案(如ASSP或ASIC)更高的靈活性和性能。軟件與硬件之間的界限已不再清晰,這為需要更多高級算法以實(shí)現產(chǎn)品差異化的設計人員開(kāi)啟了無(wú)限可能性。
評論