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