專利名稱:一種面向接收端鏈路自適應的譯碼信息處理方法
技術領域:
本發明涉及一種無線通信網絡物理層的信息處理方法,尤其是涉及一種面向接收端鏈路自適應的譯碼信息處理方法。
背景技術:
在無線網絡中,鏈路自適應是提高無線網絡系統性能的一種重要技術。目前在幾乎所有的無線通信系統,如3G和LTE,都在發送端動態調整信道編碼和調制以適用信道條件,以達到優化的無線通信系統性能的目的。這種方式稱為發送端鏈路自適應,主要實現技術有AMC和HARQ,以及兩種方法的混合模式。但是,這種發送端實現的鏈路自適應有其固有的缺陷,一是需要接收端反饋準確的信道狀態信息,二是速率動態調整范圍有限,而且其速率調整呈階梯狀。接收端鏈路自適應方案克服了以上缺點,其工作原理是發送端連續不斷的發送調制信息,接收端每收到一定數量的新數據后進行所有接收數據的解調。接收端鏈路自適應從根本上解決了反饋信道的延時和出錯問題,在衛星通信和移動通信中具有廣闊的應用前景。
發明內容
本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種面向接收端鏈路自適應的譯碼信息處理方法,該方法將接收端鏈路自適應的理論研究轉化為實用技術,系統吞吐量大,計算復雜度低,同時可以避免高度并行帶來的內存訪問沖突。本發明的目的可以通過以下技術方案來實現一種面向接收端鏈路自適應的譯碼信息處理方法,包括以下步驟
(I)乒乓輸入模塊采用兵乓輸入的串行接收數據,進行處理后發送至兩個數據緩沖區后,以一定的周期從兩個數據緩沖區間隔讀寫數據,并發送給譯碼器;(2)譯碼器在接收到數據后,由迭代水平迭代單元和垂直迭代單元分別進行迭代處理,再由多個判決單元對數據進行硬判決,然后將判決結果并行發送給乒乓輸出模塊;(3)乒乓輸出模塊并行接收譯碼器中判決單元輸出的判決結果,轉換為串行數據,并輸出。步驟(I)中的乒乓輸入模塊包括用于數據寫入的Writer單元、用于數據計算的Calculation單元、用于數據讀取的Reader單元以及第一數據緩沖區和第二數據緩沖區,步驟(I)的具體處理步驟為(11)第一數據緩沖區乒乓寫操作Writer單元將串行接收到的數據進行轉換,轉換成多組并行數據,存儲在第一數據緩沖區中;Calculation單元根據輸入的信道信噪比,通過查表計算得到I/o數據,并通過Writer單元寫入第一數據緩沖區中;Writer單元對第一緩沖區完成寫入操作后,向Reader單元發送讀使能信號;
(12)第一數據緩沖區乒乓讀操作Reader單元接收到來自Writer單元和譯碼器的使能信號后,從第一數據緩沖區讀取數據,發送給譯碼器;Reader單元讀取完第一數據緩沖區的數據后,發送一個進行第二數據緩沖區乒乓寫操作的使能信號給Writer單元;(13)第二數據緩沖區乒乓寫操作Writer單元將串行接收到的數據進行轉換,轉換成多組并行數據,存儲在第二數據緩沖區中;Calculation單元根據輸入的信道信噪比,通過查表計算得到I/o數據,并通過Writer單元寫入第二數據緩沖區中;Writer單元對第二緩沖區完成寫入操作后,向Reader單元發送讀使能信號;(14)第二數據緩沖區乒乓讀操作Reader單元接收到來自Writer單元和譯碼器的使能信號后,從第二數據緩沖區讀取數據,發送給譯碼器;Reader單元讀取完第二數據緩沖區的數據后,發送一個進行第一數據緩沖區乒乓寫操作的使能信號給Writer單 元;(15)重復步驟(11) (14),以一定周期對兩個數據緩沖區間隔進行數據讀寫。步驟(2)中的譯碼器由包含LXL個硬件模塊,每個硬件模塊由存儲單元memorybank、隨機地址發生器RAG、水平迭代單元HUP、垂直迭代單元VUP和硬判決器HD組成,每個硬件模塊內的存儲單元通過水平數據過濾器HDF進行水平連接,通過垂直數據過濾器VDF進行垂直連接,所述的隨機地址發生器連接存儲單元,所述的水平迭代單元連接水平數據過濾器,所述的垂直迭代單元連接垂直數據過濾器,所述的水平迭代單元內包含有用于進行迭代處理的概率卷積表;譯碼器的硬件構架時序由平迭代單元和的垂直迭代單元的時鐘周期數kc和kv來控制,所述的水平迭代單元和垂直迭代單元之間串行交替執行,共進行16次迭代處理,其中前15次迭代的垂直處理為垂直迭代單元,最后I次迭代的垂直處理為硬判決器;在迭代的水平處理中,共有L行并行,共64個水平迭代單元同時處理,在迭代的垂直處理中,共有L列并行,共64個垂直迭代單元同時處理,在判決處理時,共有L個硬判決器并行處理;存儲單元內的數據存儲塊memory bank (r, c)對應隨機地址發生器RAG (r, c)及隨機映射矩陣的子矩陣G(r,c),并與水平數據過濾器HDF(r)連接,其中,隨機映射矩陣的分塊具體為對RAG(r,c)按N/LXN/L大小進行分塊,每個子矩陣標記為G(r,c),其中r表示行號,c表示列號;memory bank(r, c)對應到子矩陣G(r, c),按子矩陣元素的列號進行存儲,共N/L個存儲元素,每個存儲塊有I個單端口 RAM和2個雙端口 RAM組成,分別標記為w、E和Q,其中w存儲對應元素的權重,E存儲對應元素水平迭代的結果,Q存儲對應元素垂直迭代的結果;隨機地址發生器RAG的具體處理過程如下(al)對G(r,c)子矩陣按行號順序獲取非零元素的列位置,得到N/L個元素的向量pos,將pos向量以ROM存儲,記為RAG (r,C);
(a2)接收kc時鐘周期數,獲取RAG第kc個值,標記為addr ;(a3)根據addr訪問Memory bank(r, c)中的第addr個存儲塊,并傳給水平迭代單元HUP ;水平數據過濾器HDF的具體處理過程如下(bl)從 L 個 Memory bank(r, c)中讀取 Q 數據;(b2)然后將數據過濾后,得到L組數據;(b3)將L組數據分發到對應的L個水平迭代單元HUP (r, c),其中發送水平迭代單元HUP(r, c)的數據包含memory bank(r, c)以外的Q值,以及memory bank(r, c)的w值和 RAG (r, c)的地址 addr o水平迭代處理單元HUP的具體處理過程如下(Cl)讀取一組從水平數據過濾器HDF過濾后的數據q= ( , q2,…,C^1)以及71、w、O ’和隨機地址發生器RAG產生的memory bank的地址addr ;(c2)以u O ’為輸入,調用噪聲計算模塊進行噪聲計算處理,得到兩組長度為knuffl個元素,且對應比特為I和0的概率向量,分別記為z和z’ ;(c3)以q= ( , ,…,C^1)和w為輸入,調用概率卷積計算模塊,得到長度為knUffl個元素的概率卷積向量P ;(c4)以z和p為輸入,調用近似計算模塊進行近似計算處理,得到結果,記為F1 ;同理,以z’和p為輸入,調用近似計算模塊進行近似計算處理,得到結果,記為A ;
(c5)將!T1減去!Ttl作為結果,并根據地址addr將結果寫回對應的memory bank的E存儲單元。垂直數據過濾器VDF的具體處理過程如下(dl)從 L 個 memory bank 讀取 E 數據;(d2)然后將數據過濾后,得到L組數據;(d3)將L組數據分發到對應的L個垂直迭代單元VUP,其中發送到垂直迭代單元VUP (r, c)的數據不包含 memory bank (r, c)的 E 值;垂直迭代單元VUP的具體處理過程如下(el)讀取垂直數據過濾器VDF發送過來的一組數據e = (e^ e2,…,e^);(e2)對L-1個e值做累加計算;(e3)根據kv的計數,將結果寫回對應的memory bank中對應Q值的存儲塊。硬判決器HD的具體處理過程如下(fl)讀取垂直數據過濾器VDF發送過來的一組值e = (e^ e2,…,eL);(f2)對e做累加計算;(f3)將結果做判決,得到比特向量,記為b = Ov b2,…,bj,發送到乒乓輸出模塊。步驟(c2)中噪聲計算處理的具體步驟為(31)讀取數據 y、w、O ’ ;(32)計算b = I的噪聲概率,(k-y+w)2 o,,k從kmin到kmax,共knum個并行計算部件同時運行,得到結果向量z ;同時并行計算b = 0的噪聲概率,(k-y)2。’,k從
共knUD個并行計算部件同時運行,得到結果向量z’ ;
步驟(C4)中近似計算模塊包括串行近似計算模塊和并行近似計算模塊;串行近似計算模塊進行串行近似計算處理,其具體步驟如下(c411)讀取 n 個數據,X = (X1, X2,…,xn);(c412)并行計算 Yi = X1-Xi^1, i 從 2 至Ij n, Y1 = X1 ;(c413)串行遞歸查表求近似,首先進行初始化,令i = n,以yi為輸入,調用log(l+ex)模塊,得到近似解,記為rtmp = log(l+eyl),并讓i = i_l ;然后串行遞歸,以Yi+rtmp為輸入,調用log(l+ex)模塊,得到近似解,記為rtmp = log (l+eyl+tmp),直至i = 2結束,得到rtmp ;最后將與rtmp相加,得到結果,標記為rs ;(c414)將rs的值返回。并行近似計算模塊進行并行近似計算處理,其具體步驟如下(c421)讀取 n 個數據 x = (X1, X2,…,xn);(c422)進行第一級 計算,得到有(n+l)/2個元素的結果,記為t = (t1 t2,…,t(n+l)/2),其中,tj nicix (Xgi—i,Xgi) +log (I+exp ( | X2i—i,^-2i I)),in/2 ;(c423)采用步驟(c422)的方法,進行第二級計算,得到n/4個元素的結果;(c424)采用步驟(c422)的方法直至做完第log(n)級計算,其中級間計算串行運行,級內計算并行運行;(c425)將計算結果返回。步驟(c422)的具體計算過程為(c4221)將X的元素兩兩組合;(c4222)對每一個組合,并行求最大值maxU;^, x2i),得到向量v_max ;(c4223)對每一個組合,并行調用log(l+ex)模塊進行運算,近似得到向量v_appr ;(c4224)將v_max和v_appr對應位置的元素相加,得到結果向量t ;所述的log(l+ex)模塊的運算過程為(71)讀取數據X ;(72)計算X的入口地址,若X大于等于0,取X的二進制串的第9位至14位的子串,左移3位,得到Pos1 ;取X 二進制串的第0位至8位的子串,右移3位,得到Pos2 ;將Pos1和Pos2相加,得到查找表的入口地址pos ;然后根據pos地址查標記為Iogexpltbl的表;若X小于0,對X的二進制串取反加I后,得到-X的二進制串;同理,取-X的二進制串的第9位至14位的子串,左移3位,得到Pos1 ;取1 二進制串的第0位至8位的子串,右移3位,得到POS2 ;將POS1和POS2相加,得到查找表的入口地址pos ;然后根據pos地址查標記為IogexpOtbl 的表;(73)將查表的結果返回。所述的概率卷積計算模塊的具體處理過程為(81)讀取數據 q = (q1; q2,…,q7)和 w ;(82)以q為輸入調用E log(l+eql)模塊,得到v_sum;(83)根據w值,查找對應的概率卷積表,以v_sum和q為輸入,并行調用子表概率卷積計算模塊,共得到kSUffl個元素的概率向量p。(84)將向量p返回。
步驟(82)中E logd+e^)模塊的具體處理過程為(821)讀取 q = (q1; q2, * *, q^);(822)以qi為輸入,并行調用log(l+ex)模塊,并求和,得到結果v_sum ;(823)返回 v_sum。步驟(83)中子表概率卷積計算模塊的具體處理過程為(831)讀取 q = (q1; q2,…,和 v_sum ;(832)在概率卷積表的子表中查找第一條二進制記錄,記為b = Ovb2,…,D ;將IDi = I的對應位置的qi相加,減去v_sum,得到結果Vcil ;同時,將IDi = I對應位置的Qi相力口,減v_sum,得到結果V41 ;(833)讀取子表第二條記錄,執行與步驟(82)同樣的操作,得到結果vQ2和V42 ;(834)依次讀取子表其它記錄,直到結束,執行與步驟(82)同樣的操作,得到結果
V0 — (V01,V02,…,V0n)和 V4 — (V41,V42J …,V4n);(835)并行調用log( E exi)模塊,對V。和V4兩個向量做近似計算,得到結果,分別記為Po和P4 ;(836)將 p。和 p4 返回。與現有技術相比,本發明。
圖1為本發明所采用的系統的整體結構示意圖;圖2為乒乓輸入模塊示意圖;圖3為乒乓輸出模塊示意圖;圖4為譯碼器部分并行架構示意圖;圖5為譯碼器中各個部件的關系示意圖;圖6為水平迭代單元HUP算法原理圖;圖7為水平迭代單元HUP模塊示意圖;圖8為垂直迭代單元VUP模塊示意圖;圖9為硬判決器HD模塊示意圖。圖10為噪聲計算模塊示意圖;圖11為串行近似計算模塊示意圖;圖12為并行近似計算模塊示意圖;圖13為log(l+ex)模塊示意圖;圖14為概率卷積計算模塊示意圖;圖15為E log(exi)模塊示意圖;圖16為表概率卷積計算模塊的示意圖。
具體實施例方式下面結合附圖和具體實施例對本發明 進行詳細說明。實施例一種面向接收端鏈路自適應的譯碼信息處理方法,通過乒乓輸入模塊、譯碼器和乒乓輸出模塊三個模塊組成的系統進行處理實現,如圖1所示,主要包含如下3個步驟乒乓輸入、迭代譯碼和乒乓輸出三個模塊,具體步驟如下步驟(I),乒乓輸入模塊如圖2所示,其串行接收一維大小IXN的符號序列y,對y串并轉換為二維大小LXN/L的數據y,,并存儲在數據緩沖區中;根據估計的信噪比SNR,以查表的方法計算I/o,并寫到數據緩沖區中的另一位置;每間隔一定時鐘周期并行讀取y’和O ’,并發送給譯碼器;步驟(2),如圖4所示的譯碼器在接收到數據后,由迭代水平迭代單元和垂直迭代單元分別進行迭代處理,再由多個判決單元對數據進行硬判決,然后將判決結果并行發送給兵兵輸出模塊;步驟(3),乒乓輸出模塊如圖3所示,其并行接收譯碼器中判決單元輸出的判決結果,轉換為串行數據,并輸出。步驟I)中的乒乓輸入模塊包括用于數據寫入的Writer單元、用于數據計算的Calculation單元、用于數據讀取的Reader單元以及第一數據緩沖區Ixiffer1和第二數據緩沖區buffer2, 步驟I)的具體處理步驟為11)第一數據緩沖區乒乓寫操作Writer單元將串行接收到的數據進行轉換,轉換成多組并行數據,存儲在第一數據緩沖區中;Calculation單元根據輸入的信道信噪比,通過查表計算得到I/o數據,并通過Writer單元寫入第一數據緩沖區中;Writer單元對第一緩沖區完成寫入操作后,向Reader單元發送讀使能信號;12)第一數據緩沖區乒乓讀操作Reader單元接收到來自Writer單元和譯碼器的使能信號后,從第一數據緩沖區讀取數據,發送給譯碼器;Reader單元讀取完第一數據緩沖區的數據后,發送一個進行第二數據緩沖區乒乓寫操作的使能信號給Writer單元;13)第二數據緩沖區乒乓寫操作Writer單元將串行接收到的數據進行轉換,轉換成多組并行數據,存儲在第二數據緩沖區中;Calculation單元根據輸入的信道信噪比,通過查表計算得到I/o數據,并通過Writer單元寫入第二數據緩沖區中;Writer單元對第二緩沖區完成寫入操作后,向Reader單元發送讀使能信號;14)第二數據緩沖區乒乓讀操作Reader單元接收到來自Writer單元和譯碼器的使能信號后,從第二數據緩沖區讀取數據,發送給譯碼器;Reader單元讀取完第二數據緩沖區的數據后,發送一個進行第一數據緩沖區乒乓寫操作的使能信號給Writer單元;15)重復步驟11) 14),以一定周期對兩個數據緩沖區間隔進行數據讀寫。其中,用于查詢I/o數據的表的構造方法具體如下首先,設定SNR范圍為[-5,35] dB,以步長為0. 125在SNR內取點,共得到到321個點的向量snr_vec ;再對snr_vec向量進行(10_snr/2°)/0. 1644計算,得到sigma向量;然后對sigma向量進行倒數計算,得到sigma;向量;最終讓sigma'乘以2的9次冪,然后取整轉換成長度為16位的二進制串表。步驟2)中的譯碼器由包含LXL個硬件模塊,每個硬件模塊由存儲單元memorybank、隨機地址發生器RAG、水平迭代單元HUP、垂直迭代單元VUP和硬判決器HD組成,上述部件之間的關系如圖5所示,每個硬件模塊內的存儲單元通過水平數據過濾器HDF進行水平連接,通過垂直數據過濾器VDF進行垂直連接,隨機地址發生器連接存儲單元,水平迭代單元連接水平數據過濾器,垂直迭代單元連接垂直數據過濾器,所述的水平迭代單元內包含有用于進行迭代處理的概率卷積表;譯碼器的硬件構架時序由平迭代單元和的垂直迭代單元的時鐘周期數kc和kv來控制,所述的水平迭代單元和垂直迭代單元之間串行交替執行,共進行16次迭代處理,其中前15次迭代的垂直處理為垂直迭代單元,最后I次迭代的垂直處理為硬判決器;在迭代的水平處理中,共有L行并行,共64個水平迭代單元同時處理,在迭代的垂直處理中,共有L列并行,共64個垂直迭代單元同時處理,在判決處理時,共有L個硬判決器并行處理;存儲單元內的數據存儲塊memory bank (r, c)對應隨機地址發生器RAG (r, c)及隨機映射矩陣的子 矩陣G(r,c),并與水平數據過濾器HDF(r)連接,其中,隨機映射矩陣的分塊具體為對RAG(r,c)按N/LXN/L大小進行分塊,每個子矩陣標記為G(r,c),其中r表示行號,c表示列號;memory bank(r, c)對應到子矩陣G(r, c),按子矩陣元素的列號進行存儲,共N/L個存儲元素,每個存儲塊有I個單端口 RAM和2個雙端口 RAM組成,分別標記為w、E和Q,其中w存儲對應元素的權重,E存儲對應元素水平迭代的結果,Q存儲對應元素垂直迭代的結果;隨機地址發生器RAG的具體處理過程如下(al)對G(r,c)子矩陣按行號順序獲取非零元素的列位置,得到N/L個元素的向量pos,將pos向量以ROM存儲,記為RAG (r,C);(a2)接收kc時鐘周期數,獲取RAG第kc個值,標記為addr ;(a3)根據addr訪問Memory bank(r, c)中的第addr個存儲塊,并傳給水平迭代單元HUP ;水平數據過濾器HDF的具體處理過程如下(bl)從 L 個 Memory bank(r, c)中讀取 Q 數據;(b2)然后將數據過濾后,得到L組數據;(b3)將L組數據分發到對應的L個水平迭代單元HUP (r, c),其中發送水平迭代單元HUP(r, c)的數據包含memory bank(r, c)以外的Q值,以及memory bank(r, c)的w值和 RAG (r, c)的地址 addr o水平迭代處理單元HUP的算法原理和模塊如圖6和圖7所示,其具體處理過程如下(Cl)讀取一組從水平數據過濾器HDF過濾后的數據q = ( , q2…,Ql^1)以及71、w、O ’和隨機地址發生器RAG產生的memory bank的地址addr ;(c2)以u O ’為輸入,調用噪聲計算模塊進行噪聲計算處理,得到兩組長度為knuffl個元素,且對應比特為I和0的概率向量,分別記為z和z’ ;
(c3)以q= ( , ,…,C^1)和w為輸入,調用概率卷積計算模塊,得到長度為knum個元素的概率卷積向量P ;(c4)以z和P為輸入,調用近似計算模塊進行近似計算處理,得到結果,記為Γι ;同理,以Ζ’和P為輸入,調用近似計算模塊進行近似計算處理,得到結果,記為A ;(c5)將!T1減去rQ作為結果,并根據地址addr將結果寫回對應的memory bank的E存儲單元。垂直數據過濾器VDF的模塊結構如圖8所示,其具體處理過程如下(dl)從 L 個 memory bank 讀取 E 數據;(d2)然后將數據過濾后,得到L組數據;(d3)將L組數據分發到對應的L個垂直迭代單元VUP,其中發送到垂直迭代單元VUP (r, c)的數據不包含 memory bank (r, c)的 E 值;垂直迭代單元VUP的具體處理過程如下(el)讀取垂直數據過濾器VDF發送過來的一組數據e = (e1; e2,…,e^);(e2)對L-1個e值做累加計算;(e3)根據kv的計數,將結果寫回對應的memory bank中對應Q值的存儲塊。硬判決器HD的模塊結構如圖9所示,具體處理過程如下(fl)讀取垂直數 據過濾器VDF發送過來的一組值e = (e1; e2,…,eL);(f2)對e做累加計算;(f3)將結果做判決,得到比特向量,記為b = (b1; b2,…,bj,發送到乒乓輸出模塊。步驟(c2)中噪聲計算模塊的模塊結構如圖10所示,其噪聲計算處理的具體步驟為(31)讀取數據 y、w、σ ’ ;(32)計算b = I的噪聲概率,(k-y+w)2 σ ’,k從kmin到kmax,共knum個并行計算部件同時運行,得到結果向量ζ ;同時并行計算b = O的噪聲概率,(k_y)2o ’,k從
共knim個并行計算部件同時運行,得到結果向量ζ’ ;步驟(c4)中近似計算模塊包括如圖11所示的串行近似計算模塊和如圖12所示的并行近似計算模塊;串行近似計算模塊進行串行近似計算處理,其具體步驟如下(c411)讀取 η 個數據,X = (X1, X2,…,xn);(c412)并行計算 Yi = X1-X1-!, i 從 2 至Ij n, Y1 = X1 ;(c413)串行遞歸查表求近似,首先進行初始化,令i =n,Wyi為輸入,調用如圖13所示的log(l+ex)模塊,得到近似解,記為rtmp = log (l+eyl),并讓i = i_l ;然后串行遞歸,以Yi+rtmp為輸入,調用log(l+ex)模塊,得到近似解,記為rtmp = log (l+eyl+tmp),直至
i= 2結束,得到rtmp ;最后將Y1與rtmp相加,得到結果,標記為rs ;(c414)將rs的值返回。并行近似計算模塊進行并行近似計算處理,其具體步驟如下(c421)讀取 η 個數據 X = (X1, X2,…,xn);(c422)進行第一級計算,得到有(n+l)/2個元素的結果,記為t= (t1; t2,…,t(n+i)/2),其中,tI = max(X2^17X2i) +log(1+exp (-1 X2i^1, x2i |)), i = 1、2......n/2 ;具體計算過
程為(c4221)將x的元素兩兩組合;(c4222)對每一個組合,并行求最大值max (x2i_1; x2i),得到向量v_max ;(c4223)對每一個組合,并行調用log(l+ex)模塊進行運算,近似得到向量v_appr ;(c4224)將v_max和v_appr對應位置的元素相加,得到結果向量t ;(c423)采用步驟(c422)的方法,進行第二級計算,得到n/4個元素的結果;(c424)采用步驟(c422)的方法直至做完第log(n)級計算,其中級間計算串行運行,級內計算并行運行;(c425)將計算結果返回。log(l+ex)模塊的運算過程為(71)讀取數據X ;(72)計算X的入口地址,若X大于等于O,取X的二進制串的第9位至14位的子串,左移3位,得到Pos1 ;取X 二進制串的第O位至8位的子串,右移3位,得到Pos2 ;將Pos1和Pos2相加,得到查找表的入口地址pos ;然后根據pos地址查標記為Iogexpltbl的表;若X小于0,對X的二進制串取 反加I后,得到-X的二進制串;同理,取-X的二進制串的第9位至14位的子串,左移3位,得到Pos1 ;取1 二進制串的第O位至8位的子串,右移3位,得到POS2 ;將POS1和POS2相加,得到查找表的入口地址pos ;然后根據pos地址查標記為IogexpOtbl 的表;步驟(72)查表的具體過程為(721),x的范圍劃分成4個區域,分別是(_c ,-8)、[-8,0),
(832)在概率卷積表的子表中查找第一條二進制記錄,記為b = (b1;b2,…,D ;將IDi = I的對應位置的qi相加,減去v_sum,得到結果Vtll ;同時,將h = I對應位置的Qi相力口,減v_sum,得到結果V41 ;(833)讀取子表第二條記錄,執行與步驟(82)同樣的操作,得到結果vQ2和V42 ;(834)依次讀取子表其它記錄,直到結束,執行與步驟(82)同樣的操作,得到結果
V0 — (V(il,ν02 …,vOn)和 V4 — (V41, V42 …,V4n);(835)并行調用log( Σ exi)模塊,對vQ和V4兩個向量做近似計算,得到結果,分別記為P0和P4 ;(836)將 P。和 p4 返回。以上所述僅是本發明的較佳實例,本發明所主張的權利范圍并不局限于此。本發明還有其他多種實施例,在不 背離本發明精神及其實質的情況下,本領域技術人員可根據本發明作出各種相應的改變和變形,但這些改變和變形都應屬于本發明所附的權利要求的保護范圍。
權利要求
1.一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,包括以下步驟 (1)乒乓輸入模塊采用兵乓輸入的串行接收數據,進行處理后分配至兩個數據緩沖區后,以一定的周期從兩個數據緩沖區間隔讀寫數據,并發送給譯碼器; (2)譯碼器在接收到數據后,由迭代水平迭代單元和垂直迭代單元分別進行迭代處理,再由多個判決單元對數據進行硬判決,然后將判決結果并行發送給乒乓輸出模塊; (3)乒乓輸出模塊并行接收譯碼器中判決單元輸出的判決結果,轉換為串行數據,并輸出。
2.根據權利要求1所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,步驟(I)中的乒乓輸入模塊包括用于數據寫入的Writer單元、用于數據計算的Calculation單元、用于數據讀取的Reader單元以及第一數據緩沖區和第二數據緩沖區,步驟(I)的具體處理步驟為 (11)第一數據緩沖區乒乓寫操作 Writer單元將串行接收到的數據進行轉換,轉換成多組并行數據,存儲在第一數據緩沖區中; Calculation單元根據輸入的信道信噪比,通過查表計算得到I/ o數據,并通過Writer單元寫入第一數據緩沖區中,其中,o為信道噪聲標準差系數; Writer單元對第一緩沖區完成寫入操作后,向Reader單元發送讀使能信號; (12)第一數據緩沖區乒乓讀操作 Reader單元接收到來自Writer單元和譯碼器的使能信號后,從第一數據緩沖區讀取數據,發送給譯碼器; Reader單元讀取完第一數據緩沖區的數據后,發送一個進行第二數據緩沖區乒乓寫操作的使能信號給Writer單元; (13)第二數據緩沖區乒乓寫操作 Writer單元將串行接收到的數據進行轉換,轉換成多組并行數據,存儲在第二數據緩沖區中; Calculation單元根據輸入的信道信噪比,通過查表計算得到I/o數據,并通過Writer單元寫入第二數據緩沖區中; Writer單元對第二緩沖區完成寫入操作后,向Reader單元發送讀使能信號; (14)第二數據緩沖區乒乓讀操作 Reader單元接收到來自Writer單元和譯碼器的使能信號后,從第二數據緩沖區讀取數據,發送給譯碼器; Reader單元讀取完第二數據緩沖區的數據后,發送一個進行第一數據緩沖區乒乓寫操作的使能信號給Writer單元; (15)重復步驟(11) (14),以一定周期對兩個數據緩沖區間隔進行數據讀寫。
3.根據權利要求1所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,步驟(2)中的譯碼器由包含LXL個硬件模塊,每個硬件模塊由存儲單元Memory bank、隨機地址發生器RAG、水平迭代單元HUP、垂直迭代單元VUP和硬判決器HD組成,每個硬件模塊內的存儲單元通過水平數據過濾器HDF進行水平連接,通過垂直數據過濾器VDF進行垂直連接,所述的隨機地址發生器連接存儲單元,所述的水平迭代單元連接水平數據過濾器,所述的垂直迭代單元連接垂直數據過濾器,所述的水平迭代單元內包含有用于進行迭代處理的概率卷積表; 譯碼器的硬件構架時序由平迭代單元和的垂直迭代單元的時鐘周期數kc和kv來控制,所述的水平迭代單元和垂直迭代單元之間串行交替執行,共進行16次迭代處理,其中前15次迭代的垂直處理為垂直迭代單元,最后I次迭代的垂直處理為硬判決器; 在迭代的水平處理中,共有L行并行,共64個水平迭代單元同時處理,在迭代的垂直處理中,共有L列并行,共64個垂直迭代單元同時處理,在判決處理時,共有L個硬判決器并行處理; 存儲單元內的數據存儲塊memory bank (r, c)對應隨機地址發生器RAG (r, c)及隨機映射矩陣的子矩陣G(r,c),并與水平數據過濾器HDF(r)連接,其中,隨機映射矩陣的分塊具體為對RAG(r,c)按N/LXN/L大小進行分塊,每個子矩陣標記為G(r,c),其中r表示行號,c表示列號;memory bank(r, c)對應到子矩陣G(r, c),按子矩陣元素的列號進行存儲,共N/L個存儲元素,每個存儲塊有I個單端口 RAM和2個雙端口 RAM組成,分別標記為w、E和Q,其中w存儲對應元素的權重,E存儲對應元素水平迭代的結果,Q存儲對應元素垂直迭代的結果; 隨機地址發生器RAG的具體處理過程如下 (al)對G(r,c)子矩陣按行號順序獲取非零元素的列位置,得到N/L個元素的向量pos,將pos向量以ROM存儲,記為RAG (r,c); (a2)接收kc時鐘周期數,獲取RAG第kc個值,標記為addr ; (a3)根據addr訪問Memory bank (r, c)中的第addr個存儲塊,并傳給水平迭代單元HUP ; 水平數據過濾器HDF的具體處理過程如下(bl)從 L 個 Memory bank (r, c)中讀取 Q 數據; (b2)然后將數據過濾后,得到L組數據; (b3)將L組數據分發到對應的L個水平迭代單元HUP (r,c),其中發送水平迭代單元HUP (r, c)的數據包含memory bank(r, c)以外的Q值,以及memory bank (r, c)的w值和RAG (r, c)的地址 addr o 水平迭代處理單元HUP的具體處理過程如下 (Cl)讀取一組從水平數據過濾器HDF過濾后的數據q= (Ql, q2, -, Q^1)以及y1、w、O ’和隨機地址發生器RAG產生的memory bank的地址addr ; (c2)以y1、w、0 ’為輸入,調用噪聲計算模塊進行噪聲計算處理,得到兩組長度為knuffl個元素,且對應比特為I和0的概率向量,分別記為z和z’ ; (c3)以q= (qi,q2,…,qM)和w為輸入,調用概率卷積計算模塊,得到長度為k-個元素 的概率卷積向量P ; (c4)以z和p為輸入,調用近似計算模塊進行近似計算處理,得到結果,記為F1 ;同理,以z’和P為輸入,調用近似計算模塊進行近似計算處理,得到結果,記為A ; (c5)將!T1減去!Ttl作為結果,并根據地址addr將結果寫回對應的memory bank的E存儲單元。
垂直數據過濾器VDF的具體處理過程如下(dl)從L個memory bank讀取E數據; (d2)然后將數據過濾后,得到L組數據; (d3)將L組數據分發到對應的L個垂直迭代單元VUP,其中發送到垂直迭代單元VUP (r, c)的數據不包含 memory bank (r, c)的 E 值; 垂直迭代單元VUP的具體處理過程如下 (el)讀取垂直數據過濾器VDF發送過來的一組數據e = (e^ e2,…,e^); (e2)對L-1個e值做累加計算; (e3)根據kv的計數,將結果寫回對應的memory bank中對應Q值的存儲塊。
硬判決器HD的具體處理過程如下 (fl)讀取垂直數據過濾器VDF發送過來的一組值e = (e1; e2,…,eL); (f2)對e做累加計算; (f3)將結果做判決,得到比特向量,記為b = Ov b2,…,bj,發送到乒乓輸出模塊。
4.根據權利要求3所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,步驟(c2)中噪聲計算處理的具體步驟為 (31)讀取數據y、w、O’ ; (32)計算b= I的噪聲概率,(k-y+w)2 o ’,k從kmin到kmax,共knum個并行計算部件同時運行,得到結果向量z ;同時并行計算b = 0的噪聲概率,(k-y)2o ’,k從kmin到k_,共knuffl個并行計算部件同時運行,得到結果向量z’。
5.根據權利要求3所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,步驟(c4)中近似計算模塊包括串行近似計算模塊和并行近似計算模塊; 串行近似計算模塊進行串行近似計算處理,其具體步驟如下 (c411)讀取 n 個數據,X= (X1, x2,…,xn);(c412)并行計算 Yi = X1-XH, i 從 2 至Ij n, Y1 = X1 ; (c413)串行遞歸查表求近似,首先進行初始化,令i = n,以yi為輸入,調用log(l+ex)模塊,得到近似解,記為rtmp = log(l+eyl),并讓i = i_l ;然后串行遞歸,以yfrtmp為輸入,調用log(l+ex)模塊,得到近似解,記為rtmp = log(l+eyi+tmp),直至i = 2結束,得到rtmp ;最后將Y1與rtmp相加,得到結果,標記為rs ; (c414)將rs的值返回。
并行近似計算模塊進行并行近似計算處理,其具體步驟如下(c421)讀取 n 個數據 X = (X1, x2,…,xn); (c422)進行第一級計算,得到有(n+l)/2個元素的結果,記為t = (t1; t2,…,t(n+1)/2),其中,ti = max(x2h, x2i)+log(1+exp (-1x2H, x2i|)), i = 1、2......n/2 ; (c423)采用步驟(c422)的方法,進行第二級計算,得到n/4個元素的結果; (c424)采用步驟(c422)的方法直至做完第log(n)級計算,其中級間計算串行運行,級內計算并行運行; (c425)將計算結果返回。
6.根據權利要求5所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,步驟(c422)的具體計算過程為 (c4221)將X的元素兩兩組合;(c4222)對每一個組合,并行求最大值maxU;^, x2i),得到向量v_max ; (c4223)對每一個組合,并行調用log(l+ex)模塊進行運算,近似得到向量v_appr ; (c4224)將v_max和v_appr對應位置的元素相加,得到結果向量t。
7.根據權利要求6所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,所述的log(l+ex)模塊的運算過程為 (71)讀取數據X; (72)計算X的入口地址,若X大于等于0,取X的二進制串的第9位至14位的子串,左移3位,得到Pos1 ;取X 二進制串的第0位至8位的子串,右移3位,得到Pos2 ;將Pos1和Pos2相加,得到查找表的入口地址pos ;然后根據pos地址查標記為Iogexpltbl的表;若X小于0,對X的二進制串取反加I后,得到-X的二進制串;同理,取-X的二進制串的第9位至14位的子串,左移3位,得到Pos1 ;取1 二進制串的第0位至8位的子串,右移3位,得到POS2 ;將POS1和POS2相加,得到查找表的入口地址pos ;然后根據pos地址查標記為IogexpOtbl 的表; (73)將查表的結果返回。
8.根據權利要求7所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,所述的概率卷積計算模塊的具體處理過程為 (81)讀取數據q = (q1; q2,…,q7)和 w ; (82)以q為輸入調用Elog(l+eql)模塊,得到v_sum ; (83)根據w值,查找對應的概率卷積表,以v_sum和q為輸入,并行調用子表概率卷積計算模塊,共得到ksum個元素的概率向量P。
(84)將向量p返回。
9.根據權利要求8所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,步驟(82)中E logd+e^)模塊的具體處理過程為(821)讀取q = (q1; q2,…,qL_i); (822)以qi為輸入,并行調用log(l+ex)模塊,并求和,得到結果v_sum; (823)返回v_sum。
10.根據權利要求8所述的一種面向接收端鏈路自適應的譯碼信息處理方法,其特征在于,步驟(83)中子表概率卷積計算模塊的具體處理過程為 (831)讀取q = (q1; q2,…,和 v_sum ; (832)在概率卷積表的子表中查找第一條二進制記錄,記為b=-,b^)=I的對應位置的qi相加,減去v_sum,得到結果Vcil ;同時,將IDi = I對應位置的Qi相加,減v_sum,得到結果V41 ; (833)讀取子表第二條記錄,執行與步驟(82)同樣的操作,得到結果Vtl2和v42; (834)依次讀取子表其它記錄,直到結束,執行與步驟(82)同樣的操作,得到結果V。=(V01,V02,…,V0n)和 V4 — (V41,V42J …,V4n); (835)并行調用log(E exi)模塊,對Vtl和V4兩個向量做近似計算,得到結果,分別記為P。和P4 ; (836)將P0和P4返回。
全文摘要
本發明涉及一種面向接收端鏈路自適應的譯碼信息處理方法,包括以下步驟乒乓輸入模塊采用兵乓輸入的串行接收數據,進行處理后分配至兩個數據緩沖區后,以一定的周期從兩個數據緩沖區間隔讀寫數據,并發送給譯碼器;譯碼器在接收到數據后,由迭代水平迭代單元和垂直迭代單元分別進行迭代處理,再由多個判決單元對數據進行硬判決,然后將判決結果并行發送給乒乓輸出模塊;乒乓輸出模塊并行接收譯碼器中判決單元輸出的判決結果,轉換為串行數據,并輸出。與現有技術相比,本發明將接收端鏈路自適應的理論研究轉化為實用技術,系統吞吐量大,計算復雜度低,同時可以避免高度并行帶來的內存訪問沖突。
文檔編號H04L1/00GK103067121SQ20121039604
公開日2013年4月24日 申請日期2012年10月17日 優先權日2012年10月17日
發明者吳俊 , 王敏, 施賽豐, 沈劍, 劉典, 沈嘉琦, 駱原 申請人:同濟大學