0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA中實(shí)現(xiàn)AGC的算法

電子工程師 ? 來(lái)源:搜狐網(wǎng) ? 作者:搜狐網(wǎng) ? 2020-11-07 10:14 ? 次閱讀

1、引 言

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

2 、系統(tǒng)總體設(shè)計(jì)

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

3 、AGC 系統(tǒng)的 FPGA 實(shí)現(xiàn)

根據(jù) AGC 所實(shí)現(xiàn)的功能,在 FPGA 中將 AGC 模塊分為如下幾個(gè)部分來(lái)實(shí)現(xiàn):

3.1 數(shù)據(jù)千路模塊

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

3.2 計(jì)算下行同步碼功率(SYNC_DL)模塊

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

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

方法一 在 FPGA 內(nèi)根據(jù)檢波法的原理計(jì)算下行同步碼 64 個(gè)碼片的功率(AGC 模塊圖 2 中的 dcmt 部分)??紤] TD 的幀結(jié)構(gòu),保護(hù)時(shí)隙 GP 的功率很小,故從接收功率的時(shí)間分布上來(lái)看,與 GP 相比 SYNC_DL 段的功率較大。當(dāng)用 SYNC_DL 段的 64 碼片之和除以 SYNC_DL 前后個(gè) 32 個(gè)碼片相加之和,結(jié)果大于 3 時(shí),就可以判斷出 SYNC_DL 的大致位置。因此,基于這種方法,F(xiàn)PGA 在 5 ms 的周期中遍取 6 400 個(gè)碼片,每 64 個(gè)碼片做積分,依次向前滾動(dòng)計(jì)算,同時(shí)做除法運(yùn)算,最后即可計(jì)算出 SYNC_DL 在一幀 6 400 個(gè)碼片中的位置和能量,以此控制 VGA 的電壓和后續(xù)的計(jì)算。不過(guò)這種方法只有在信號(hào)質(zhì)量很好,信號(hào)強(qiáng)度比較大的時(shí)候才計(jì)算準(zhǔn)確。

方法二 由 DSP 方根據(jù)傳過(guò)來(lái)的數(shù)據(jù),通過(guò)相干檢測(cè)法檢測(cè)出 SYNC_DL 的精確位置,并把這個(gè)位置參數(shù)傳送給 FPGA。FPGA 收到這一點(diǎn)的位置后,立既停止使用其自身檢波法求出的功率值,根據(jù) DSP 傳過(guò)來(lái)的 SYNC_DL 的位置,計(jì)算出這一點(diǎn)之后的 64 個(gè)碼片的積分值,作為 SYNC_DL 的總功率,并以此控制 VGA 的電壓(AGC 模塊圖 2 中的 dwpts 部分)。這時(shí)求出來(lái)的總能量比較精確(DSP 提供的位置比 FPGA 自身檢波法求出來(lái)的精確),但是速度比較慢。
方法三 當(dāng)信號(hào)的強(qiáng)度變得很弱,信號(hào)可能淹沒(méi)在了噪聲當(dāng)中。這時(shí)無(wú)論是由 FPGA 的檢波法還是 DSP 的相干法都計(jì)算不出 SYNC_DL 的位置和能量。在這種情況下,認(rèn)為在 5 ms 時(shí)域上信號(hào)連續(xù),能量均衡,F(xiàn)PGA 求 5ms 幀的平均值,以此作為 SYNC_DL 的功率,并控制 VGA(AGC 模塊圖 2 中的 CIC 部分)。

3.3 求對(duì)數(shù)運(yùn)算模塊

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

進(jìn)行 FPGA 設(shè)計(jì)時(shí),可以設(shè)計(jì)出一個(gè)平方比較單元依次求出對(duì)數(shù)值,同時(shí)要注意需要耗費(fèi)的系統(tǒng)資源。

3.4 求指數(shù)運(yùn)算模塊

經(jīng)過(guò)求對(duì)數(shù)模塊后,一路數(shù)據(jù)傳送到 IIR 中,另一路數(shù)據(jù)則要傳送到 DSP 中進(jìn)行算法運(yùn)算,因此,需要增加一個(gè)求指數(shù)模塊,將對(duì)數(shù)模塊運(yùn)算后的結(jié)果還原成原來(lái)的數(shù)據(jù)送到 DSP 中。指數(shù)換底公式可知:2x=ex1n2,由雙曲函數(shù)定義及特性可知:ex=sinh(x)+cosh(x),而當(dāng)自變量 x 在[-π/4,7c/4]范圍內(nèi)時(shí),可以采用 FPGA 的 IP CORE(CORDIC 算法)實(shí)現(xiàn)雙曲正弦函數(shù)和雙曲余弦函數(shù),因此在 FPGA 內(nèi)部求以 2 為底的指數(shù)函數(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é)將求對(duì)數(shù)模塊得出的數(shù)值與參考數(shù)值比較后得出的誤差數(shù)據(jù) Uerr 作 IIR 濾波計(jì)算得出 Ufilter,然后依據(jù)相關(guān)算法計(jì)算出 Urssi。飽和反饋單元負(fù)責(zé)將 Urssi 與飽和限幅數(shù)據(jù)比較后得出誤差電壓 Uerr2,然后依照相關(guān)算法求出 U2 送到求指數(shù)模塊,從而能夠控制誤差反饋增益 Gain2。VGA 控制單元負(fù)責(zé)將 Urssi 進(jìn)行飽和限幅后得到輸出控制電壓 Uda,量化后經(jīng)過(guò)數(shù)模變換從而控制 VGA。

3.6 CIC 平均模塊

當(dāng) AGC 用于 WCDMA 系統(tǒng)時(shí),可以將圖 2 中的判斷部分全部去掉,加入這個(gè) CIC 平均模塊。CIC 平均模塊負(fù)責(zé)將預(yù)放大模塊求出的 I1 和 Q1 作為自變量,通過(guò)功率算法 P1′=I1*I1+Q1*Q1 求出 P1′,然后將 6 400 個(gè)工作頻率為 1.28 MHz 的 P1′平均,得出工作頻率為 1.28 MHz 的 P1。同樣得出 P2 后再求出 P1+P2。

在 FPGA 中對(duì)于相加運(yùn)算,包括 CIC 實(shí)現(xiàn)部分的純整數(shù)相加算法和其他部分的小數(shù)相加算法。其中 CIC 運(yùn)算部分的運(yùn)算數(shù)據(jù)是二進(jìn)制 10 位有符號(hào)數(shù);對(duì)于相乘運(yùn)算,包括 CIC 實(shí)現(xiàn)部分的純整數(shù)平方算法、CIC 實(shí)現(xiàn)部分的常系數(shù)小數(shù)相乘算法。

4、 結(jié) 語(yǔ)

以上介紹的在 FPGA 中實(shí)現(xiàn) AGC 的算法,經(jīng)過(guò)項(xiàng)目的驗(yàn)證測(cè)試,效果比較好,DA 選用 ADS 的 5621,VGA 電壓調(diào)節(jié)范圍在 0.3~1.8 V 之間,共 45 個(gè) dB 的調(diào)節(jié)范圍,因此 AGC 在+10~-35 之間起調(diào)節(jié)作用,信號(hào)低于 -45 dBm 時(shí),VGA 電壓保持 1.8 V 最大值;高于+10 dBm 時(shí),VGA 電壓保持在最小 0.3 V。經(jīng)過(guò)測(cè)試,F(xiàn)PGA 可在+25~-105 dBm 范圍內(nèi)搜索到 SYNC_DL 的位置。

此種 AGC 算法,計(jì)算相對(duì)簡(jiǎn)單,運(yùn)算速度快,不僅可用于 TD_SCDMA 信號(hào),在計(jì)算下行同步碼能量時(shí)稍加改動(dòng),只做 CIC 平均運(yùn)算,即可應(yīng)用于 WCDMA 信號(hào)。

責(zé)任編輯人:CC

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21777

    瀏覽量

    604734
  • AGC
    AGC
    +關(guān)注

    關(guān)注

    0

    文章

    161

    瀏覽量

    51715

原文標(biāo)題:基于FPGA的AGC算法

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA實(shí)現(xiàn)PID算法

    本帖最后由 發(fā)燒友LV 于 2014-12-29 20:13 編輯 在FPGA實(shí)現(xiàn)PID算法,面臨著小數(shù)的計(jì)算,請(qǐng)問(wèn)大家一般是怎么處理的?
    發(fā)表于 12-03 21:59

    基于FPGAAGC算法

    FPGA 實(shí)現(xiàn) AGC算法,經(jīng)過(guò)項(xiàng)目的驗(yàn)證測(cè)試,效果比較好,DA 選用 ADS 的 5621,VGA 電壓調(diào)節(jié)范圍在 0.3~1.8
    發(fā)表于 08-14 09:06

    實(shí)用AGC算法的工作原理及在音頻FPGA的應(yīng)用

    放大調(diào)整后,確保了通信系統(tǒng)信號(hào)輸出的幅度可基本維持在恒定的狀態(tài)。文中將AGC算法應(yīng)用于音頻信號(hào)處理,可實(shí)現(xiàn)FPGA,并可有效降低音頻信號(hào)輸
    發(fā)表于 10-21 16:42

    基于FPGA的外部AGC電路算法如何去實(shí)現(xiàn)

    本文重點(diǎn)討論了如何根據(jù)射頻前端的輸出設(shè)計(jì)全數(shù)字AGC以擴(kuò)展接收機(jī)的動(dòng)態(tài)范圍,并給出了基于FPGA的外部AGC電路算法。
    發(fā)表于 04-30 06:57

    DS-SS接收機(jī)全數(shù)字AGCFPGA實(shí)現(xiàn)

    論述了某航天器DS-SS接收機(jī)外部AGC的設(shè)計(jì)原理和具體實(shí)現(xiàn),重點(diǎn)討論了如何根據(jù)射頻前端的輸出設(shè)計(jì)全數(shù)字AGC以擴(kuò)展接收機(jī)的動(dòng)態(tài)范圍,并給出了基于FPGA的外部
    發(fā)表于 07-17 15:02 ?9次下載

    AESSubBytes算法FPGA實(shí)現(xiàn)

    介紹了AES,SubBytes算法FPGA的具體實(shí)現(xiàn).構(gòu)造SubBytes的S-Box轉(zhuǎn)換表可以直接查找ROM表來(lái)實(shí)現(xiàn).通過(guò)分析SubB
    發(fā)表于 11-09 16:42 ?25次下載

    基于FPGA的大動(dòng)態(tài)范圍數(shù)字AGC實(shí)現(xiàn)

    數(shù)字中頻接收機(jī),采用可變?cè)鲆娣糯笃鰽D603、數(shù)字可控增益放大器AD8320和FPGA實(shí)現(xiàn)大動(dòng)態(tài)范圍的數(shù)字自動(dòng)增益控制(AGC)。該設(shè)計(jì)充分利用AD9220的兩個(gè)指示輸入信號(hào)范圍的輸
    發(fā)表于 12-28 10:31 ?34次下載

    FPGA實(shí)現(xiàn)的FIR算法在汽車(chē)動(dòng)態(tài)稱(chēng)重儀表的應(yīng)用

    摘 要: 本文介紹了用FPGA實(shí)現(xiàn)的FIR算法,并對(duì)這種算法應(yīng)用于汽車(chē)動(dòng)態(tài)稱(chēng)重儀表的結(jié)果做了分析。實(shí)踐證明此
    發(fā)表于 03-11 13:46 ?885次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>的FIR<b class='flag-5'>算法</b>在汽車(chē)動(dòng)態(tài)稱(chēng)重儀表<b class='flag-5'>中</b>的應(yīng)用

    FPGA的超聲波氣體流量計(jì)AGC的原理及設(shè)計(jì)實(shí)現(xiàn)

    FPGA的超聲波氣體流量計(jì)AGC的原理及設(shè)計(jì)實(shí)現(xiàn) 概述:為能充分利用數(shù)字技術(shù)可靠性高、靈活性強(qiáng)等優(yōu)點(diǎn),將自動(dòng)增益控制AGC引入數(shù)字域,并
    發(fā)表于 03-17 11:33 ?1549次閱讀
    <b class='flag-5'>FPGA</b>的超聲波氣體流量計(jì)<b class='flag-5'>中</b><b class='flag-5'>AGC</b>的原理及設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b>

    基于數(shù)字AGC的定點(diǎn)字長(zhǎng)控制算法

    基于數(shù)字AGC的定點(diǎn)字長(zhǎng)控制算法
    發(fā)表于 01-25 19:11 ?0次下載
    基于數(shù)字<b class='flag-5'>AGC</b>的定點(diǎn)字長(zhǎng)控制<b class='flag-5'>算法</b>

    ECT圖像重建算法FPGA實(shí)現(xiàn)

    ECT圖像重建算法FPGA實(shí)現(xiàn) ECT圖像重建算法FPGA實(shí)現(xiàn)
    發(fā)表于 11-19 14:59 ?2次下載

    一種基于實(shí)用AGC算法的音頻信號(hào)處理方法與FPGA實(shí)現(xiàn)的分析研究

    ,采用AGC算法,可提高音頻信號(hào)系統(tǒng)和音頻信號(hào)輸出的穩(wěn)定性,解決了AGC調(diào)試后的信號(hào)失真問(wèn)題。本文針對(duì)基于實(shí)用AGC算法的音頻信號(hào)處理方法與
    發(fā)表于 09-30 16:29 ?3247次閱讀
    一種基于實(shí)用<b class='flag-5'>AGC</b><b class='flag-5'>算法</b>的音頻信號(hào)處理方法與<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>的分析研究

    實(shí)用AGC算法的工作原理及在音頻FPGA的應(yīng)用

    ,采用AGC算法,可提高音頻信號(hào)系統(tǒng)和音頻信號(hào)輸出的穩(wěn)定性,解決了AGC調(diào)試后的信號(hào)失真問(wèn)題。本文針對(duì)基于實(shí)用AGC算法的音頻信號(hào)處理方法與
    發(fā)表于 03-12 10:10 ?9323次閱讀
    實(shí)用<b class='flag-5'>AGC</b><b class='flag-5'>算法</b>的工作原理及在音頻<b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的應(yīng)用

    如何使用FPGA實(shí)現(xiàn)全數(shù)字式前饋AGC的設(shè)計(jì)

    為了解決抗干擾導(dǎo)航接收機(jī)數(shù)字干擾對(duì)消結(jié)果的動(dòng)態(tài)范圍過(guò)大問(wèn)題,提出一種新的全數(shù)字式前饋?zhàn)詣?dòng)增益控制(AGC算法.研究了算法各個(gè)參數(shù)的設(shè)置
    發(fā)表于 04-01 10:27 ?22次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>全數(shù)字式前饋<b class='flag-5'>AGC</b>的設(shè)計(jì)

    hash算法FPGA實(shí)現(xiàn)(1)

    FPGA的設(shè)計(jì),尤其是在通信領(lǐng)域,經(jīng)常會(huì)遇到hash算法實(shí)現(xiàn)。hash算法FPGA的設(shè)計(jì)
    的頭像 發(fā)表于 09-07 17:01 ?1302次閱讀
    hash<b class='flag-5'>算法</b>在<b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的<b class='flag-5'>實(shí)現(xiàn)</b>(1)