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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 3G系統(tǒng)中AGC的FPGA設(shè)計實現(xiàn)

          3G系統(tǒng)中AGC的FPGA設(shè)計實現(xiàn)

          ——
          作者: 時間:2008-01-10 來源:電子產(chǎn)品世界 收藏

            1 引 言
            
            大多數(shù)接收機(jī)必須處理動態(tài)范圍很大的信號,這需要進(jìn)行增益調(diào)整,以防止過載或某級產(chǎn)生互調(diào),調(diào)整解調(diào)器的工作以優(yōu)化工作。在現(xiàn)代無線電接收裝置中??勺冊鲆娣糯笃魇请娍氐模⑶耶?dāng)接收機(jī)中使用衰減器時,他們通常都是由可變電壓控制的連續(xù)衰減器。控制應(yīng)該是平滑的并且與輸入的信號能量通常成對數(shù)關(guān)系(線性分貝)。在大多數(shù)情況下,由于衰落,agc通常用來測量輸入解調(diào)器的信號電平,并且通過反饋控制電路把信號電平控制在要求的范同內(nèi)。

            2 系統(tǒng)總體設(shè)計
            
            在本設(shè)計中,前端TD_SCDMA的射頻信號RF輸入后,經(jīng)過MAX2392零中頻下變頻解調(diào)后進(jìn)行增益處理。VGA輸出的信號經(jīng)過ADC變換后就成為數(shù)字中頻信號,經(jīng)RSP(接收信號處理器)處理輸出為IF數(shù)字信號。IF信號可以經(jīng)過agc控制算法處理后控制VGA的增益。agc增益控制算法在數(shù)字部分來實現(xiàn),在本設(shè)計中,agc電路可以有效提高鏈路的動態(tài)范圍(+25~-105 dBm),提高ADC輸出的SNR,以使DSP能更容易地實現(xiàn)Dw-PTS同步。agc在系統(tǒng)中的位置如圖1虛線框所示:

            

            3 agc系統(tǒng)的fpga實現(xiàn)
            
            根據(jù)agc所實現(xiàn)的功能  ,在fpga中將agc模塊分為如下幾個部分來實現(xiàn):

            3.1 數(shù)據(jù)干路模塊
            
            從RSP接口來10位二進(jìn)制補(bǔ)碼數(shù)據(jù)I1和Q1,與求指數(shù)模塊傳送來的預(yù)放大增益GAIN2相乘后所得出的數(shù)據(jù)(仍取10位二進(jìn)制補(bǔ)碼數(shù)據(jù))將要傳送到CIC平均模塊,同時要分別與求指數(shù)模塊傳送來的放大增益GAIN3相乘,然后采取截短處理,取8位二進(jìn)制補(bǔ)碼數(shù)據(jù),I1′,Q1′,輸出到DSP 中。

            3.2 計算下行同步碼功率(SYNC_DL)模塊
            
            計算下行同步碼功率(SYNC_DL)模塊對應(yīng)于圖2中的判斷部分,是agc中最為重要算法計算。TD_SCD-MA每個幀有6 400個碼片,在其一幀5 ms的時間上是不連續(xù)的,因此只能求出下行同步碼(SYNC_DL)的功率值,以此為依據(jù)控制VGA的電壓值。

           

            由圖3的TD_SCDMA的幀結(jié)構(gòu)知道,下行同步碼(SYNC_DL)在下行導(dǎo)頻時隙(DwPTS)發(fā)射,SYNC_DL的長為64個碼片,在其左邊和右邊各有32和96個碼片的保護(hù)時隙(GP)。為此,在fpga中共用了3種不同的方法計算其功率值。

            

            方法一在fpga內(nèi)根據(jù)檢波法的原理計算下行同步碼64個碼片的功率(agc模塊圖2中的dcmt部分)??紤]TD的幀結(jié)構(gòu),保護(hù)時隙GP的功率很小,故從接收功率的時間分布上來看,與GP相比SYNC_DL段的功率較大。當(dāng)用SYNC_DL段的64碼片之和除以SYNC_DL前后個32個碼片相加之和,結(jié)果大于3時,就可以判斷出SYNC_DL的大致位置。因此,基于這種方法,fpga在5ms的周期中遍取6 400個碼片,每64個碼片做積分,依次向前滾動計算,同時做除法運(yùn)算,最后即可計算出SYNC_DL在一幀6 400個碼片中的位置和能量,以此控制VGA的電壓和后續(xù)的計算。不過這種方法只有在信號質(zhì)量很好,信號強(qiáng)度比較大的時候才計算準(zhǔn)確。
            
            方法二由DSP方根據(jù)傳過來的數(shù)據(jù),通過相干檢測法檢測出SYNC_DL的精確位置,并把這個位置參數(shù)傳送給fpga。fpga收到這一點的位置后,立既停止使用其自身檢波法求出的功率值,根據(jù)DSP傳過來的SYNC_DL的位置,計算出這一點之后的64個碼片的積分值,作為SYNC_DL的總功率,并以此控制 VGA的電壓(agc模塊圖2中的dwpts部分)。這時求出來的總能量比較精確(DSP提供的位置比fpga自身檢波法求出來的精確),但是速度比較慢。
            
            方法三當(dāng)信號的強(qiáng)度變得很弱,信號可能淹沒在了噪聲當(dāng)中。這時無論是由fpga的檢波法還是DSP的相干法都計算不出SYNC_DL的位置和能量。在這種情況下,認(rèn)為在5 ms時域上信號連續(xù),能量均衡,fpga求5ms幀的平均值,以此作為SYNC_DL的功率,并控制VGA(agc模塊圖2中的CIC部分)。

            3.3 求對數(shù)運(yùn)算模塊
            
            在本模塊,將上面得到的功率值進(jìn)行求對數(shù)運(yùn)算,以減少數(shù)據(jù)的運(yùn)算量。用fpga實現(xiàn)求對數(shù)運(yùn)算時,可以先將數(shù)據(jù)歸一化在1~2之間,然后通過將數(shù)據(jù)平方后推導(dǎo)出最高位的方法逐位求出所求數(shù)據(jù)的二進(jìn)制數(shù)值。假定自變量X歸一化在區(qū)間[1,2]內(nèi),用二進(jìn)制數(shù)據(jù)可表示為1.X1X2…Xn,則所求的對數(shù)值在區(qū)間[0,1]內(nèi),用二進(jìn)制數(shù)據(jù)可表示為0.Y1Y2…Ym,因而可用數(shù)學(xué)方法表示為20.Y1Y2…Ym=1.X1X2…Xn,問題歸結(jié)為求 Y1Y2…Ym。將上式左右兩邊同時平方,可以得出2Y1Y2…Ym=(1.X11X21…Xn1)2,由此可推倒出Y1來。(X為已知,若等式右邊數(shù)據(jù)小于2,則Y1=0;反之,若大于或等于 2,則Y1=1)求出Y1后可以導(dǎo)出20.Y2Y3…Ym=1.X11X21…Xn1,同理可推倒出Y2。依此類推,可求出對數(shù)值的各位。
            
            進(jìn)行fpga設(shè)計時,可以設(shè)計出一個平方比較單元依次求出對數(shù)值,同時要注意需要耗費(fèi)的系統(tǒng)資源。

            3.4 求指數(shù)運(yùn)算模塊
            
            經(jīng)過求對數(shù)模塊后,一路數(shù)據(jù)傳送到IIR中,另一路數(shù)據(jù)則要傳送到DSP中進(jìn)行算法運(yùn)算,因此,需要增加一個求指數(shù)模塊,將對數(shù)模塊運(yùn)算后的結(jié)果還原成原來的數(shù)據(jù)送到DSP中。指數(shù)換底公式可知:2x=ex1n2,由雙曲函數(shù)定義及特性可知:ex=sinh(x)+cosh(x),而當(dāng)自變量x在 [-π/4,7c/4]范圍內(nèi)時,可以采用fpga的IP CORE(CORDIC算法)實現(xiàn)雙曲正弦函數(shù)和雙曲余弦函數(shù),因此在fpga內(nèi)部求以2為底的指數(shù)函數(shù)時,可以先將自變量歸一化在[0,1]內(nèi),然后將自變量乘以常系數(shù)1n 2,由于ln 2<π/4,故可以新乘得的數(shù)據(jù)作為新的自變量,利用IPCORE求出其雙曲正弦函數(shù)和雙曲余弦函數(shù)后將其相加,即可得到所需要的指數(shù)函數(shù)值。

            3.5 IIR反饋模塊
            
            IIR反饋模塊包括3部分:IIR濾波單元、飽和反饋單元和VGA控制單元,其中IIR濾波單元負(fù)責(zé)將求對數(shù) 
          模塊得出的數(shù)值與參考數(shù)值比較后得出的誤差數(shù)據(jù)Uerr作IIR濾波計算得出Ufilter,然后依據(jù)相關(guān)算法計算出Urssi。飽和反饋單元負(fù)責(zé)將Urssi與飽和限幅數(shù)據(jù)比較后得出誤差電壓Uerr2,然后依照相關(guān)算法求出U2送到求指數(shù)模塊,從而能夠控制誤差反饋增益Gain2。VGA控制單元負(fù)責(zé)將Urssi進(jìn)行飽和限幅后得到輸出控制電壓Uda,量化后經(jīng)過數(shù)模變換從而控制VGA。

            3.6 CIC平均模塊
            
            當(dāng)agc用于WCDMA系統(tǒng)時,可以將圖2中的判斷部分全部去掉,加入這個CIC平均模塊。CIC平均模塊負(fù)責(zé)將預(yù)放大模塊求出的I1和Q1作為自變量,通過功率算法P1′=I1*I1+Q1*Q1求出P1′,然后將6 400個工作頻率為1.28 MHz的P1′平均,得出工作頻率為1.28 MHz的P1。同樣得出P2后再求出P1+P2。
            
            在fpga中對于相加運(yùn)算,包括CIC實現(xiàn)部分的純整數(shù)相加算法和其他部分的小數(shù)相加算法。其中CIC運(yùn)算部分的運(yùn)算數(shù)據(jù)是二進(jìn)制10位有符號數(shù);對于相乘運(yùn)算,包括CIC實現(xiàn)部分的純整數(shù)平方算法、CIC實現(xiàn)部分的常系數(shù)小數(shù)相乘算法。

            4 結(jié) 語
            
            以上介紹的在fpga中實現(xiàn)agc的算法,經(jīng)過項目的驗證測試,效果比較好,DA選用ADS的5621,VGA電壓調(diào)節(jié)范圍在0.3~1.8 V之間,共45個dB的調(diào)節(jié)范圍,因此agc在+10~-35之間起調(diào)節(jié)作用,信號低于-45 dBm時,VGA電壓保持1.8 V最大值;高于+10 dBm時,VGA電壓保持在最小0.3 V。經(jīng)過測試,fpga可在+25~-105 dBm范圍內(nèi)搜索到SYNC_DL的位置。
            
            此種agc算法,計算相對簡單,運(yùn)算速度快,不僅可用于TD_SCDMA信號,在計算下行同步碼能量時稍加改動,只做CIC平均運(yùn)算,即可應(yīng)用于WCDMA信號。

           



          關(guān)鍵詞:

          評論


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