基于 DSP 和 GC5322 的數(shù)字預(yù)失真系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著多載波調(diào)制技術(shù)的發(fā)展,調(diào)制電平也隨之增加。功放的各種線(xiàn)性和非線(xiàn)性失真對(duì)無(wú)線(xiàn)數(shù)據(jù)傳輸性能的影響越來(lái)越大。尤其是功放發(fā)射峰均比較大時(shí),發(fā)射功率變化較大,有時(shí)甚至?xí)斐晒Ψ诺淖员Wo(hù),導(dǎo)致停止發(fā)射或者燒毀功放。功放的實(shí)際工作曲線(xiàn)不是呈線(xiàn)性變化,而是呈非線(xiàn)性變化,而且不同的功放曲線(xiàn)變化不一致,就是同一個(gè)功放在不同工作環(huán)境下其曲線(xiàn)也不一致。這樣,使得無(wú)法使用一種通用的算法公式校正功放的工作曲線(xiàn)。為此,提出功放預(yù)失真技術(shù),校正功放的非線(xiàn)性工作曲線(xiàn),使得實(shí)際發(fā)射功率穩(wěn)定。
數(shù)字預(yù)失真技術(shù)目前已經(jīng)在軟件實(shí)現(xiàn)上得到了初步的發(fā)展。目前一般的預(yù)失真技術(shù)采用軟件架構(gòu),使用數(shù)字信號(hào)處理器采集功放功率值,并分析其變化曲線(xiàn),形成數(shù)據(jù)表格,并存儲(chǔ)。在以后的發(fā)射之前根據(jù)存儲(chǔ)的表格數(shù)據(jù)對(duì)發(fā)射功率進(jìn)行預(yù)校正。該方法在實(shí)際工作中由于電磁環(huán)境變化、溫度變化、功放元器件老化、晶體頻率飄移等影響,使得預(yù)校正數(shù)據(jù)和真實(shí)校正數(shù)據(jù)存在較大的偏差,從而影響校正效果,甚至向反方向校正情況。軟件校正形成校正數(shù)據(jù)需要較長(zhǎng)的時(shí)間,一般為幾十秒以上,使得實(shí)時(shí)校正難以實(shí)現(xiàn)。這樣使得軟件數(shù)字預(yù)失真技術(shù)的實(shí)用性降低,適用場(chǎng)合減少。
本文提出一種基于硬件的數(shù)字預(yù)失真校正系統(tǒng)的設(shè)計(jì)方法。采用TI公司的數(shù)字信號(hào)處理器DSP芯片C6727B和專(zhuān)用的數(shù)字預(yù)失真芯片GC5322實(shí)現(xiàn)預(yù)失真系統(tǒng)。文中重點(diǎn)介紹DSP和GC5322的軟硬件連接。硬件數(shù)字預(yù)失真系統(tǒng)由專(zhuān)用器件實(shí)現(xiàn)預(yù)失真處理,解決預(yù)失真的實(shí)時(shí)性問(wèn)題;此外,進(jìn)行預(yù)失真系統(tǒng)設(shè)計(jì)時(shí),只需要實(shí)現(xiàn)對(duì)硬件芯片的配置,而無(wú)須編寫(xiě)復(fù)雜的算法,簡(jiǎn)化實(shí)現(xiàn)難度。
預(yù)失真技術(shù)和GC5322
數(shù)字預(yù)失真(DPD,Digital Pre-Distortion)的工作原理就是預(yù)先產(chǎn)生非線(xiàn)性失真分量,去抵消功放中產(chǎn)生的非線(xiàn)性產(chǎn)物。一般的中頻預(yù)失真和射頻預(yù)失真,都是以發(fā)射系統(tǒng)最終輸出信號(hào)的三階交調(diào)功率比來(lái)衡量其性能指標(biāo)。和模擬預(yù)失真以及前饋架構(gòu)相比,數(shù)字預(yù)失真在提高效率、多載波應(yīng)用、修正效果以及自適應(yīng)方面具有很大的優(yōu)勢(shì)。對(duì)于零中頻架構(gòu)的無(wú)線(xiàn)信號(hào)收發(fā)系統(tǒng),數(shù)字預(yù)失真在修正零中頻架構(gòu)中的本振泄漏和鏡像抑制方面, 具有非常好的效果。功放預(yù)失真示意圖如圖1所示。
圖1 預(yù)失真示意圖
數(shù)字預(yù)失真系統(tǒng)的構(gòu)成框圖如圖2所示。基帶輸入信號(hào)和存儲(chǔ)在數(shù)據(jù)查找表的預(yù)失真數(shù)據(jù)經(jīng)過(guò)復(fù)增益調(diào)整模塊處理,處理后的數(shù)據(jù)從DAC發(fā)送出去,完成預(yù)失真處理。同時(shí),ADC開(kāi)始采樣發(fā)射數(shù)據(jù),得到當(dāng)前發(fā)射信號(hào)的功率值,經(jīng)過(guò)濾波器去抖動(dòng)和噪聲后,送入自適應(yīng)算法模塊,自適應(yīng)算法模塊綜合基帶輸入信號(hào)和實(shí)際發(fā)射出去的信號(hào),得到新的預(yù)失真數(shù)據(jù),并存儲(chǔ)到數(shù)據(jù)查找表中,從而完成實(shí)時(shí)的功放工作曲線(xiàn)校正。
圖2 數(shù)字預(yù)失真系統(tǒng)構(gòu)成
從圖2中可以看出,預(yù)失真工作需要實(shí)時(shí)ADC采樣,并實(shí)時(shí)處理數(shù)據(jù)。工作量較大,由于一般的處理系統(tǒng)不能實(shí)時(shí)處理,只能在發(fā)射真實(shí)信號(hào)前,預(yù)先發(fā)射測(cè)試數(shù)據(jù),生成數(shù)據(jù)查找表,以后則以此表格數(shù)據(jù)修正功放工作曲線(xiàn)。顯然,這種方法很難實(shí)現(xiàn)實(shí)時(shí)處理,為了解決實(shí)時(shí)修正問(wèn)題,TI公司推出GC5322預(yù)失真處理芯片。
GC5322的內(nèi)部結(jié)構(gòu)如圖3所示。信號(hào)發(fā)射模塊主要包括自動(dòng)增益控制(AGC,Adaptive Gain Control)、導(dǎo)頻插入(Pilot Insertion)、功率尺(Power Meter)、峰均比壓縮(CFR,Crest Factor Reduction)、小數(shù)內(nèi)插重采樣(FFR,F(xiàn)ractional Farrow Re-sampler)以及限幅器(Circular Limiter)等模塊。發(fā)射模塊可以實(shí)現(xiàn)2個(gè)寬帶信號(hào),例如2個(gè)10MHz帶寬的OFDMA信道;或者實(shí)現(xiàn)4個(gè)中帶信號(hào),例如4個(gè)5MHz帶寬的WCDMA載波;或者實(shí)現(xiàn)12個(gè)窄帶信號(hào),例如12個(gè)CDMA2000/TDSCDMA載波。
圖3 GC5322的內(nèi)部結(jié)構(gòu)
預(yù)失真模塊是GC5322的最重要功能。該模塊的主要單元包括ADC/DAC接口、實(shí)數(shù)復(fù)數(shù)變換、帶反饋環(huán)的均衡器和校準(zhǔn)器、預(yù)失真處理模塊、發(fā)射均衡器和混頻器等。
ADC轉(zhuǎn)換器采集功放輸出信號(hào),轉(zhuǎn)換成數(shù)字信號(hào)并變換后成為反饋信號(hào)進(jìn)入反饋環(huán)節(jié);反饋信號(hào)經(jīng)過(guò)一系列的下變頻處理,包括增益調(diào)整、頻率和相位歸一化處理等。其中還使用一個(gè)8階的反饋均衡器實(shí)現(xiàn)射頻到中頻的失真校正。
系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)以數(shù)字信號(hào)處理器DSP芯片C6727B為核心單元,實(shí)現(xiàn)對(duì)整個(gè)過(guò)程的控制。C6727B是TI公司在C671x基礎(chǔ)上發(fā)展的浮點(diǎn)型DSP,其最高工作頻率達(dá)到350MHz。單個(gè)指令周期可以執(zhí)行6個(gè)浮點(diǎn)數(shù)據(jù)運(yùn)算,最高達(dá)到2100MFLOPS;片內(nèi)具有256KB的RAM;片內(nèi)外設(shè)有EMIF、UHPI、音頻接口、dMAX、定時(shí)器以及IIC、SPI等接口。完全滿(mǎn)足對(duì)GC5322控制的要求。整個(gè)系統(tǒng)硬件結(jié)構(gòu)如圖4所示。
圖4 系統(tǒng)硬件結(jié)構(gòu)
圖4中,PLL模塊提供一個(gè)統(tǒng)一的時(shí)鐘信號(hào)到各個(gè)單元,尤其是GC5322、ADC、DAC以及功放和濾波放大電路需要統(tǒng)一的時(shí)鐘,否則系統(tǒng)預(yù)失真效果變差。C6727B和GC5322的連接是系統(tǒng)的重點(diǎn),其硬件連接如圖5所示。
圖5 C6727B和GC5322的連接
圖5中使用C6727B的EMIF接口連接到GC5322的數(shù)據(jù)和地址總線(xiàn),同時(shí)EMIF接口的總線(xiàn)還連接到系統(tǒng)中的SDRAM和FLASH存儲(chǔ)芯片。SDRAM是為了存儲(chǔ)DSP程序運(yùn)行產(chǎn)生的中間變量;FLASH存儲(chǔ)程序,上電開(kāi)始過(guò)程中由DSP讀取。此外,F(xiàn)LASH還可以存儲(chǔ)掉電不丟失的數(shù)據(jù),例如預(yù)失真校正數(shù)據(jù)。由于C6727B的EMIF接口只有兩個(gè)片選信號(hào),其中CS0是專(zhuān)門(mén)用于SDRAM的選通信號(hào),CS1統(tǒng)一給所有的異步外設(shè),包括FLASH和GC5322。為此,使用譯碼電路完成多個(gè)異步外設(shè)的選擇,使用CPLD或者FPGA完成。GC5322的中斷信號(hào)必須連接到DSP,由于C6727B沒(méi)有專(zhuān)用的中斷信號(hào),為此使用C6727B的音頻串口的AXR0[7]作為通用IO引腳,并配置成中斷信號(hào)。
系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要包括GC5322的初始化、DSP的初始化、EMIF接口設(shè)置、中斷使能、ADC/DAC設(shè)置等。系統(tǒng)初始化后,DSP判斷當(dāng)前是否有數(shù)據(jù)需要發(fā)送,數(shù)據(jù)的讀寫(xiě)通過(guò)判斷是否有掛起的中斷,該中斷由GC5322產(chǎn)生,一旦GC5322收到基帶數(shù)據(jù),將發(fā)出該中斷。無(wú)數(shù)據(jù)讀寫(xiě)情況下,DSP將定期檢測(cè)GC5322的測(cè)試信號(hào),以便確定GC5322在正常工作。也可以根據(jù)需要,將GC5322設(shè)置到低功耗狀態(tài)。
如果GC5322開(kāi)始工作,則啟動(dòng)ADC開(kāi)始采樣,并控制時(shí)序?qū)DC采樣后數(shù)據(jù)傳輸?shù)紾C5322,GC5322根據(jù)設(shè)置進(jìn)行預(yù)失真處理,從而校正DAC的輸出幅度,完成預(yù)失真處理。