新四季網

數字自動增益控制中利用現場可編程門陣列實現對數計算的方法

2023-04-26 00:48:31 1

專利名稱:數字自動增益控制中利用現場可編程門陣列實現對數計算的方法
技術領域:
本發明涉及在寬帶碼分多址(WCDMA)移動通信系統中基站接收機中進行數字自動增益控制時以現場可編程門陣列(FPGA)實現環路濾波器的中頻輸入信號的電平增益誤差的計算,該計算採用誤差輸入信號的對數運算方法實現。
背景技術:
在WCDMA(寬帶碼分多址)系統基站接收機中進行數字自動增益控制(AGC)時,需要對環路濾波器誤差輸入信號進行二進位對數運算,以求出中頻輸入信號的電平增益誤差。現有技術的二進位對數計算方法是查表法或級數展開法。
查表法就是將作為自變量的尾數(大小在1和2之間)和待求出的結果數據製成一個二元數據表,實際應用時對照這個數據表就可查出所需求出的數據。在基站接收機中如果利用現場可編程門陣列(FPGA)實現該對數運算,計算速度很快,僅需兩個時鐘周期。但由於需要預先存儲對數表,因而大量佔用系統的存儲器資源。而且使用查表方法所計算結果誤差較大,求出的數據精度難以控制,尤其當自變量較大時,自變量微小變化就能使計算結果數值出現很大的變化。當對數運算精度要求高時,就要求大量擴大對數表的容量,因而被佔用存儲器資源數量就會呈幾何級數上升。
級數展開法就是將對數函數轉化為泰勒級數展開式後再計算,如下所示ln(1+u)=u-u2/2+u3/3-u4/4+……隨著級數次數的增加,對數函數的泰勒展開式收斂速度變慢,如果要求其計算誤差小於1%,則至少要計算出展開式中前100項的累加和,而實際數字AGC控制中要求其對數計算誤差小於0.1%,因此至少要計算出展開式中前1000項的累加和,如此龐大的運算量就需要佔用大量的乘法器資源。如果在基站接收機中利用FPGA執行高精度的級數展開算法對數運算時,需要佔用的FPGA運算器資源呈幾何級數式上升,而實際上現有的FPGA器件很難提供如此大量的運算器資源。
因此,需要提出一種佔用FPGA的運算器資源和存儲器資源相對少的環路濾波器誤差輸入信號對數運算方法。

發明內容
本發明的目的在於提供一種利用FPGA實現對環路濾波器誤差輸入信號求取對數的方法,該方法能夠利用有限的乘法器和加法器資源實現對數運算。
本發明的方法充分利用二進位數據自變量尾數部分平方後的數據特點逐位遞推,從而求導出待求數據結果的各位數值,從而使計算過程很快收斂,計算誤差隨系統資源的增加呈幾何級數減小。利用FPGA實現本專利計算方法時,計算速度最快僅用一個時鐘周期,並且由於計算收斂速度很快,僅佔用極少的FPGA硬體資源就能滿足高精度要求。
本發明的利用現場可編程門陣列對環路濾波器輸入誤差求取對數的方法,包括步驟第一步,待求數據在管理協調單元控制下,經多路選擇器後依次選擇其中某個輸入誤差數據進入求對數單元進行計算;第二步,求對數單元中的歸一化部分將整數部分求出,歸一化即將二進位表示的輸入誤差數值小數點左移或右移,左、右移的位數即為對數數值的整數部分數值,左移則該整數部分為正整數,右移則該整數部分為負整數,經過歸一化將待運算輸入誤差數據限制在(1,2)之間,滿足了求對數的小數部分的條件;第三步,求對數單元中的平方比較單元求出對數數值的小數部分;第四步,求對數單元中的反歸一化部分將歸一化部分求得的整數和平方比較單元求得的小數加起來,得到所需要的結果;第五步,多路分配器在管理協調單元控制下,將所需要的結果依次傳送到對應的數據寄存器中輸出。
本發明的上述對環路濾波器輸入誤差求取對數的方法,其特徵在於所述第三步驟中求對數的小數部分的計算過程包括如下步驟歸一化後二進位數值以1.X1X2X3---Xm表示,對該二進位小數進行以2為底數的對數運算,求其對數值小數部分,該對數值小數部分表示為0.Y1Y2Y3---Yn;利用FPGA乘法器對1.X1X2X3---Xn平方進行計算,結果表示為b1,將b1與2進行比較,如果b1≥2,則推斷知Y1=1,反之則Y1=0;由此獲得二進位對數數值Y的小數點右第一位的結果Y1;在求出Y1後可得出Y2位的遞推自變量Q2(Q2=0.Y2Y3…Yn),在Y1=0的情況下,意味著1.X1X2X3---Xn的平方B1小於2,可推導出Q2=b1;在Y1=1的情況下,意味著1.X1X2X3---Xn的平方大於等於2,則該平方數值以二進位數字表示為1X11.X21X31---Xm1,可將該數值除以2,相當於小數點右移一位,由此獲得數值Q2=b1/2,從而可將Q2表示為二進位數字1.X11X21X31---Xm1,然後利用FPGA乘法器對1.X11X21X31---Xm1平方進行計算,結果表示為b2,將b2與2進行比較,如果b2≥2,則可推斷知Y2=1,反之則Y2=0;由此獲得二進位對數數值Y的小數點右第二位的結果Y2;在求出Y2後可得出Y3位的遞推自變量Q3(Q3=0.Y3Y4…Yn),在Y2=0的情況下,意味著1.X11X21X31---Xm1的平方B2小於2,可推導出Q3=b2;在Y2=1的情況下,意味著1.X11X21X31---Xm1的平方大於等於2,則該平方數值以二進位數字表示為1X12.X22X32---Xm2,可將該數值除以2,相當於小數點右移一位,由此獲得數值Q3=b2/2,從而可將Q2表示為二進位數字1.X12X22X32---Xm2,然後利用FPGA乘法器對1.X12X22X32---Xm2平方進行計算,結果表示為b3,將b3與2進行比較,如果b3≥2,則可推斷知Y3=1,反之則Y3=0;由此獲得二進位對數數值Y的小數點右第二位的結果Y3;按照上述步驟反覆執行,直到求出所需要精度的Y1、Y2、Y3、……、Yn,由此獲得對數值的小數部分。
本發明利用FPGA中的相加和相乘等功能組合,僅用很小的資源成本就能實現複雜輸入信號誤差的求對數,是一種簡單、可靠、實用的方法。


圖1為本發明的FPGA進行二進位對數運算方法的主要功能模塊示意圖。
圖2為本發明的FPGA進行二進位對數運算方法中求對數數值小數部分的步驟。
具體實施例方式
下面結合附圖詳細說明本發明的方法。
實際利用FPGA實現數字AGC時,通常有多個環形濾波器的輸入誤差數據需要求取對數數值,而且這些已知輸入數據為32位或16位正整數,待求出的對數值含有整數和小數部分,因此需要採取時分復用的方式依次求出各個待求數據的對數值,即依次將輸入的待求數據傳送到專用的求對數單元計算,同時將求得的結果輸出到對應的對數值寄存器中,這樣就需要管理協調單元進行管理,而且每次求各個待求數據的對數時,都要先將其歸一化,即將二進位數值的小數點左移或右移,使得二進位數值限制在(1,2)之間,然後依據圖2所示過程求出小數部分。
結合圖1解釋本發明的利用FPGA對環形濾波器的輸入誤差數據求取對數數值方法的總步驟第一步,待求數據在管理協調單元控制下,經多路選擇器後依次選擇其中某個輸入誤差數據進入求對數單元進行計算;第二步,求對數單元中的歸一化部分將整數部分求出,歸一化即將二進位表示的輸入誤差數值小數點左移或右移,左、右移的位數即為對數數值的整數部分數值,左移則該整數部分為正整數,右移則該整數部分為負整數,經過歸一化將待運算輸入誤差數據限制在(1,2)之間,滿足了求對數的小數部分的條件;第三步,求對數單元中的平方比較單元求出對數數值的小數部分;第四步,求對數單元中的反歸一化部分將歸一化部分求得的整數和平方比較單元求得的小數加起來,得到所需要的結果;第五步,多路分配器在管理協調單元控制下,將所需要的結果依次傳送到對應的數據寄存器中輸出。
上述第三步驟中,環形濾波器的輸入誤差進行歸一化後,待運算數值變成整數部分為1的二進位小數,以1.X1X2X3---Xm表示,其中X1、X2、X3、……、Xm的數值為0或1。對該二進位小數進行以2為底數的對數運算,求其對數值,該對數值表示為0.Y1Y2Y3---Yn。
如果設U=1.X1X2X3---Xm,Y=0.Y1Y2Y3---Yn,則對數運算為Y=LOG2U上述公式以指數形式表示為20Y1Y2Y3……Yn=1.X1X2X3---Xm(1)將上式兩邊同時平方,可得出等式如下2Y1Y2Y3……Yn=(1.X1X2X3---Xm)2(2)公式2中,公式1左邊平方,相當於指數乘2,而對於二進位小數0.Y1Y2Y3---Yn乘以二等於小數點右移一位,記b1=(1.X1X2X3---Xm)2利用FPGA中的一個乘法器對1.X1X2X3---Xn平方進行計算,求得b1數值,將該數值與2進行比較,如果b1≥2,則可推斷知Y1=1,反之則Y1=0;由此獲得二進位對數數值Y的小數點右第一位的結果Y1。
求出Y1後,再遞推求出Y2。
由公式(2)可知當Y0=0時,20.Y2Y3…Yn=B1;(此時B1在1和2之間)當Y1=1時,20.Y2Y3…Yn=B1/2;(此時B1在2和4之間,B1/2在1和2之間)因而可以記作下式
20.Y2Y3…Yn=1.X11X21X31---Xm1(3)將公式3兩端同時平方,可以獲得公式42Y2.Y3…Yn=(1.X11X21X31---Xm1)2(4)設b2=(1.X11X21X31---Xm1)2利用FPGA一個乘法器對1.X11X21X31---Xm1平方進行計算,求得b2數值,將該數值與2進行比較,如果b2≥2,則可推斷知Y2=1,反之則Y2=0;由此獲得二進位對數數值Y的小數點右第二位的結果Y2。
求出Y2後,再遞推求出Y3。
由公式(4)可知當Y2=0時,20.Y2Y3…Yn=B2;(此時B2在1和2之間)當Y2=1時,20.Y2Y3…Yn=B2/2;(此時B2在2和4之間,B2/2在1和2之間)因而可以記作下式20.Y2Y3…Yn=1.X12X22X32---Xm2(5)將公式5兩端同時平方,可以獲得公式62Y2.Y3…Yn=(1.X12X22X32---Xm2)2(6)設b3=(1.X12X22X32---Xm2)2利用FPGA一個乘法器對1.X12X22X32---Xm2平方進行計算,求得b3數值,將該數值與2進行比較,如果b3≥2,則可推斷知Y3=1,反之則Y3=0;由此獲得二進位對數數值Y的小數點右第二位的結果Y3。
按照上述步驟反覆執行,直到求出所需要精度的Y1、Y2、Y3、……、Yn,由此獲得對數值的小數部分。
用FPGA實現上述算法時,最慢僅用三個時鐘周期就可以計算出一位數值。具體實現時可以根據採用的流水線方式配置FPGA的系統資源。以需要求解n位數值(Y1Y2…Yn)為例,如果採用全流水線方式,需要n個乘法器,即每個平方運算佔用一個乘法器,這樣佔用FPGA資源最大,但計算速度最快,求取一個對數數據平均僅佔用一個時鐘周期,總體延遲3n個時鐘周期。如果採用無流水線方式,僅用一個乘法器,在求每位數值的平方運算時共享,這樣佔用系統資源最少,但計算速度最慢,求取一個對數數據需要佔用3n個時鐘周期。如果採用半流水線方式,即綜合上述兩種計算方式,部分數據位的計算共享一個乘法器,部分數據位的計算採用流水線方式,結合實際擁有的FPGA資源適當調配,以求以合適的FPGA資源換取合適的計算速度和數據延遲。
權利要求
1.一種利用現場可編程門陣列對環路濾波器輸入誤差求取對數的方法,包括步驟第一步,待求數據在管理協調單元控制下,經多路選擇器後依次選擇其中某個輸入誤差數據進入求對數單元進行計算;第二步,求對數單元中的歸一化部分將整數部分求出,歸一化即將二進位表示的輸入誤差數值小數點左移或右移,左、右移的位數即為對數數值的整數部分數值,左移則該整數部分為正整數,右移則該整數部分為負整數,經過歸一化將待運算輸入誤差數據限制在(1,2)之間,滿足了求對數的小數部分的條件;第三步,求對數單元中的平方比較單元求出對數數值的小數部分;第四步,求對數單元中的反歸一化部分將歸一化部分求得的整數和平方比較單元求得的小數加起來,得到所需要的結果;第五步,多路分配器在管理協調單元控制下,將所需要的結果依次傳送到對應的數據寄存器中輸出。
2.根據權利要求1的所述對環路濾波器輸入誤差求取對數的方法,其特徵在於所述第三步驟中求對數的小數部分包括步驟歸一化後二進位數值以1.X1X2X3---Xm表示,對該二進位小數進行以2為底數的對數運算,求其對數值小數部分,該對數值小數部分表示為0.Y1Y2Y3---Yn;利用FPGA乘法器對1.X1X2X3---Xn平方進行計算(Q1=0.Y1Y2Y3…Yn),結果表示為b1,將b1與2進行比較,如果b1≥2,則推斷知Y1=1,反之則Y1=0;由此獲得二進位對數數值Y的小數點右第一位的結果Y1;在求出Y1後可得出Y2位的遞推自變量Q2(Q2=0.Y2Y3…Yn),在Y1=0的情況下,意味著1.X1X2X3---Xn的平方B1小於2,可推導出Q2=b1;在Y1=1的情況下,意味著1.X1X2X3---Xn的平方大於等於2,則該平方數值以二進位數字表示為1X11.X21X31---Xm1,可將該數值除以2,相當於小數點右移一位,由此獲得數值Q2=b1/2,從而可將Q2表示為二進位數字1.X11X21X31---Xm1,然後利用FPGA乘法器對1.X11X21X31---Xm1平方進行計算,結果表示為b2,將b2與2進行比較,如果b2≥2,則可推斷知Y2=1,反之則Y2=0;由此獲得二進位對數數值Y的小數點右第二位的結果Y2;在求出Y2後可得出Y3位的遞推自變量Q3(Q3=0.Y3Y4…Yn),在Y2=0的情況下,意味著1.X11X21X31---Xm1的平方B2小於2,可推導出Q3=b2;在Y2=1的情況下,意味著1.X11X21X31---Xm1的平方大於等於2,則該平方數值以二進位數字表示為1X12.X22X32---Xm2,可將該數值除以2,相當於小數點右移一位,由此獲得數值Q3=b2/2,從而可將Q2表示為二進位數字1.X12X22X32---Xm2,然後利用FPGA乘法器對1.X12X22X32---Xm2平方進行計算,結果表示為b3,將b3與2進行比較,如果b3≥2,則可推斷知Y3=1,反之則Y3=0;由此獲得二進位對數數值Y的小數點右第二位的結果Y3;按照上述步驟反覆執行,直到求出所需要精度的Y1、Y2、Y3、……、Yn,由此獲得對數值的小數部分。
全文摘要
本發明涉及在寬帶碼分多址移動通信系統中基站接收機中進行數字自動增益控制時以現場可編程門陣列實現環路濾波器中頻輸入信號的電平增益誤差的計算,該計算採用誤差輸入信號的對數運算方法實現,該方法充分利用二進位數據自變量尾數部分平方後的數據特點逐位遞推,從而求導出待求數據結果的各位數值,從而使計算過程很快收斂,計算誤差隨系統資源的增加呈幾何級數減小,利用該方法計算速度最快僅用一個時鐘周期,並且由於計算收斂速度很快,僅佔用極少的硬體資源就能滿足高精度要求。
文檔編號G06F7/556GK1687895SQ20051007493
公開日2005年10月26日 申請日期2005年6月7日 優先權日2005年6月7日
發明者陳印鋒 申請人:北京北方烽火科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀