本發(fā)明涉及極化碼的塊編碼器及其編碼方法,屬于編碼裝置
技術領域:
。
背景技術:
:現(xiàn)代通信系統(tǒng)及網(wǎng)絡的不斷演化,深刻改變了人們的生活,其中人們感觸最深的是傳輸速率的變化,從第一代模擬通信技術、第二代數(shù)字通信技術、第三代CDMA通信技術以及目前產(chǎn)業(yè)化的4G技術,編碼裝置的傳輸速率越來越快。隨著通信技術的發(fā)展,5G網(wǎng)絡逐漸開始發(fā)展,當前全球多個國家已競相開展5G網(wǎng)絡技術的研發(fā),早在2009年,華為就已經(jīng)展開了相關技術的早期研究,并在之后的幾年里向外界展示了5G原型機基站,2013年,歐盟宣布將撥款5000萬歐元加快5G移動技術的發(fā)展。2016世界移動通信大會上,5G成為此次大會的熱點之一,多家廠商,如諾基亞、愛立信、中興等,都帶來了5G的相關技術。5G網(wǎng)絡作為第五代移動通信技術,其最高理論傳輸速率可達10Gbit/s,是4G網(wǎng)絡的數(shù)百倍,并且其覆蓋范圍廣、低延時等特點對現(xiàn)代通信技術是一個高難度的挑戰(zhàn)。自2008年Arikan提出極化碼以來,經(jīng)過學者的努力,目前的極化碼的編譯碼算法較已有的編碼方式(Turbo、LDPC)相當、甚至更優(yōu)的性能,從而成為下一代通信技術的候選者。因此本文研究的高效的極化碼的塊編碼器有極強的理論意義和應用價值。目前極化碼的編碼設計有多種方案,但其算法復雜度高、處理速度較低。技術實現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有極化碼的編碼設計存在的上述缺陷,提出了一種極化碼的塊編碼器及其編碼方法,通過極化碼的編碼思想和軟件硬件化,可以有效增加編碼速度,降低硬件復雜度,提高處理頻率,具有良好的實用價值。本發(fā)明是采用以下的技術方案實現(xiàn)的:一種極化碼的編碼方法,包括下列步驟:第一步:設編碼器的輸入信息序列:uN=(u1,u2,u3,…,uN),其中N為碼長,N為正整數(shù);將uN分為N/K組,每組有K個輸入信息,即uN=(u1′,u′2,…,ui′,…,u′N/K-1,u′N/K),ui′=u(i-1)*K+1,u(i-1)*K+2,…,u(i-1)*K+K-1,ui*K;其中K=2k(k<n,k為正整數(shù)),n=log2N,1≤i≤N;第二步:構造極化碼的生成矩陣:矩陣為其中表示n次克羅內(nèi)克積,GN為N×N矩陣,n=log2N,即矩陣F連續(xù)做n次克羅內(nèi)克積,其中F=1011]]>由以上矩陣可知矩陣GN的第一列數(shù)據(jù)均為1,第一行除第一列的數(shù)據(jù)為1,其他都是0,除第一列外從第二行開始每一列的數(shù)據(jù)都是上一行序列中該列和前一列數(shù)據(jù)的異或結果;若將矩陣GN用以下方式表示,GN=G0,0G0,1...G0,K-1...G0,N-1G1,0G1,1...G1,K-1...G1,N-1..................GK-1,0GK-1,1...GK-1,K-1...GK-1,N-1..................GN-1,0GN-1,1...GN-1,K-1...GN-1,N-1,]]>則將GK=G0,0G0,1...G0,K-1G1,0G1,1...G1,K-1............GK-1,0GK-1,1...GK-1,K-1]]>看作一個整體,其中K=2k(k<n,k為正整數(shù)),則該小矩陣為故GN可由若干個和K×K的零矩陣構成;若以K×K矩陣塊為單位,將原矩陣壓縮,含的位置用“1”代替,K×K的零矩陣用“0”代替,壓縮后的矩陣即本編碼器的生成矩陣那么其中第三步:生成編碼結果:將編碼輸出序列分為N/K組,每組K位,即uN=(u1′,u′2,…,ui′,…,u′N/K-1,u′N/K),其中vi′=v(i-1)*K+1,v(i-1)*K+2,…,v(i-1)*K+K-1,vi*K,則一種極化碼的塊編碼器,包括輸入編碼模塊、生成矩陣模塊和乘法器模塊,每個模塊有多個異或門和多個延時單元。進一步地,所述延時單元均為D觸發(fā)器。進一步地,所述輸入編碼模塊包括K個異或門和K個延時單元。進一步地,所述異或門可分成log2K即k級,每級均含個異或門,設第i級第j個(1≤i≤k,0≤j≤K-1)輸出表示為level[i][j],當i=1,即第1級第j個輸出表示為level[1][j],輸入端表示為in[j]和in[j+1],則當2≤i≤k時,第k級輸出端通過延時單元連接到乘法器模塊的輸入端。進一步地,所述生成矩陣模塊由N/K-1個異或門和N/K個延時單元組成移位寄存器,輸入端每個時鐘輸入1位數(shù)據(jù),與上一個時鐘的輸入數(shù)據(jù)做異或運算并寄存結果,每個時鐘輸出移位寄存器的結果作為生成矩陣的每一行數(shù)據(jù),該模塊的一個輸入端連接整個模塊的輸入端,輸出端連接到乘法器模塊的輸入端。進一步地,所述乘法器模塊由N個異或門,其中K個為一組,(N/K)個K位二選一多路選擇器以及N/K個由K個延時單元組成的延時單元組組成。進一步地,所述乘法器模塊的輸入端與輸入編碼模塊及生成矩陣模塊的輸出端連接,輸入編碼模塊的K位輸出端的每一位與每組異或門中的一個異或門的其中一個輸入端連接,本模塊的一個N位輸出端中的相鄰K個比特位依次與上述異或門的另一個輸入端連接,每組異或門的輸出端均連接到一個K位二選一多路選擇器的“1”輸入端,本模塊的N位輸出端的每K個相鄰的比特位依次連接到K位二選一多路選擇器的“0”輸入端,生成矩陣模塊的N/K位輸出端的每一位依次連接一個K位二選一多路選擇器的選擇輸入端,若生成矩陣中每一行中對應的第i位為1(0≤i≤K-1)時,該模塊對應的輸出為:V′[(i*K),(i*K)+1,...,(i+1)*K-1]=V[(i*K),(i*K)+1,...,(i+1)*K-1]⊕out[0,1,...,K-1]]]>否則,該模塊對應的輸出為:V′[(i*K),(i*K)+1,…,(i+1)*K-1]=V[(i*K),(i*K)+1,…,(i+1)*K-1]每個選擇器的輸出端通過一個延時單元組連接到模塊的輸出端。工作原理:本發(fā)明采用異或門、延時單元、選擇器等器件組成的編碼模塊,將其依次連接,實現(xiàn)極化碼的塊編碼工作。本發(fā)明的有益效果是:本發(fā)明所述的極化碼的塊編碼器及其編碼方法,與現(xiàn)有技術相比,本發(fā)明可每個時鐘輸入K位數(shù)據(jù),經(jīng)過1+N/K個時鐘后輸出N位數(shù)據(jù),減少了編碼延遲,提高了編碼效率。附圖說明圖1是本發(fā)明的整體結構圖。圖2是本發(fā)明中輸入編碼模塊的結構示意圖。圖3是本發(fā)明中生成矩陣模塊的硬件架構圖。圖4是本發(fā)明中乘法器模塊的硬件架構圖。圖5是碼長N=16的輸入編碼模塊的硬件架構圖。圖6是碼長N=16的生成矩陣模塊是硬件架構圖。圖7是碼長N=16的乘法器模塊的硬件架構圖。具體實施方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖和具體實例,對本發(fā)明提出的編碼方法進行詳細說明。如圖1所示,本發(fā)明提供的極化碼塊編碼器由三個模塊依次連接組成,三個模塊分別命名為輸入編碼模塊、生成矩陣模塊及乘法器模塊。輸入編碼模塊的輸入端連接編碼器的一個K位輸入端,其輸出端和生成矩陣的輸出端均連接到乘法器模塊的輸入端,乘法器模塊的輸出端即為編碼器的輸出。其中生成矩陣模塊的輸出端位寬是N/K,乘法器模塊的輸出端位寬是N。如圖2所示,輸入編碼模塊包括個異或門和K個延時單元,異或門可分為log2K即k級,每級均含個異或門。設第i級第j個(1≤i≤k,0≤j≤K-1)輸出表示為level[i][j],當i=1,即第1級第j個輸出表示為level[1][j],輸入端表示為in[j]和in[j+1],則當2≤i≤k時,第k級輸出端通過延時單元連接到乘法器模塊的輸入端。如圖3所示,生成矩陣模塊由(N/K-1)個異或門和N/K個延時單元組成移位寄存器,輸入端每個時鐘輸入1位數(shù)據(jù),每個時鐘輸出移位寄存器的結果作為生成矩陣的每一行數(shù)據(jù),連接到乘法器模塊的輸入端。如圖3所示,G'[2]=G[2]^G[1],G'[j]=G[j]^G[j-1],(1≤j≤N/K-1),當j=N/K-1,G'[N/K-1]=G[N/K-1]^G[N/K-2]。如圖4所示,乘法器模塊由N個異或門,其中K個為一組,(N/K)個K位二選一多路選擇器以及N/K個由K個延時單元組成的延時單元組組成。本模塊的輸入端與輸入編碼模塊及生成矩陣模塊的輸出端連接,輸入編碼模塊的K位輸出端的每一位與每組異或門中的一個異或門的其中一個輸入端連接,本模塊的一個N位輸出端中的相鄰K個比特位依次與上述異或門的另一個輸入端連接,每組異或門的輸出端均連接到一個K位二選一多路選擇器的“1”輸入端,本模塊的N位輸出端的每K個相鄰的比特位依次連接到K位二選一多路選擇器的“0”輸入端,生成矩陣模塊的N/K位輸出端的每一位依次連接一個K位二選一多路選擇器的選擇輸入端,若生成矩陣中每一行中對應的第i位為1(0≤i≤K-1)時,即G[i]=1時,該模塊對應的輸出為:V′[(i*K),(i*K)+1,...,(i+1)*K-1]=V[(i*K),(i*K)+1,...,(i+1)*K-1]⊕out[0,1,...,K-1]]]>否則,即G[i]=0時,該模塊對應的輸出為:V′[(i*K),(i*K)+1,…,(i+1)*K-1]=V[(i*K),(i*K)+1,…,(i+1)*K-1]每個選擇器的輸出端通過一個延時單元組連接到模塊的輸出端。三個模塊中延時單元均為D觸發(fā)器。對于這個結構,所用各種器件的數(shù)量為:延時單元:異或門:K位二選一多路選擇器:工作原理:本發(fā)明采用異或門、延時單元、選擇器等器件組成的編碼模塊,將其依次連接,實現(xiàn)極化碼的塊編碼工作。實施例一:圖5、6、7分別是以碼長N=16、K=4的極化碼塊編碼器為例的輸入編碼模塊,生成矩陣模塊及乘法器模塊,本發(fā)明以G16中G4和4×4零矩陣為一個塊,使信息序列每個時鐘輸入4位信息比特,該4位信號與4×4矩陣塊的運算結果寄存到16位的寄存器中的低四位,第二個時鐘再輸入4位信息比特,與4×4矩陣塊的運算結果按照生成矩陣每行的運算結果和16位的寄存器中的相應的4位做異或運算,以此類推,按照生成矩陣的特征使每個時鐘的4比特輸入信息和4×4矩陣塊的運算結果做異或運算,最后4位信息比特輸入經(jīng)過選擇和異或運算后輸出編碼器的編碼結果。輸入編碼模塊包括4個異或門和4個延時單元,本模塊可分為兩級異或運算,每級含兩個異或門,結合門級出現(xiàn)的規(guī)律,第1級各個輸出為level[1][0]=in[0]^in[1]、level[1][1]=in[1]、level[1][2]=in[2]^in[3]、level[1][3]=in[3],第2級各個輸出為level[2][0]=level[1][0]^level[1][2]、level[2][1]=level[1][1]^level[1][3]、level[2][2]=level[1][2]、level[2][3]=level[1][3],第2級各個輸出通過一個延時單元連接到乘法器模塊的輸入端。生成矩陣模塊由3個異或門和4個延時單元組成移位寄存器,輸入端每個時鐘輸入1位數(shù)據(jù),寄存器的輸入為上個時鐘相鄰兩個寄存器的異或值,每個時鐘輸出移位寄存器的結果作為生成矩陣的每一行數(shù)據(jù),該模塊的輸出端連接到乘法器模塊的輸入端。乘法器模塊由16個異或門、4個4位二選一多路選擇器以及4個延時單元組組成,其中4個異或門為一組,每個延時單元組由4個延時單元組成。本模塊的輸入端與輸入編碼模塊及生成矩陣模塊的輸出端連接,輸入編碼模塊的每個輸出端與每組異或門中的一個異或門的其中一個輸入端連接,本模塊的一個4位輸出端中的4個比特位依次與上述異或門的另一個輸入端連接,每組異或門的輸出端均連接到1個四位二選一多路選擇器的“1”輸入端,本模塊的4位輸出端的每4個相鄰的比特位依次連接到四位二選一多路選擇器的“0”輸入端,生成矩陣模塊的4位輸出端的每一位依次連接一個四位二選一多路選擇器的選擇輸入端,每個選擇器的輸出端通過一組延時單元連接到模塊的輸出端,三個模塊中延時單元均為D觸發(fā)器。實施例二:假設測試輸入數(shù)據(jù)為1101_1111_0001_0101,則第一個時鐘進入編碼器的信號為in[3:0]=1011,在輸入編碼模塊中經(jīng)過一系列異或運算,該模塊輸出分別為out[0]=in[0]^in[1]^in[2]^in[3]=1、out[1]=in[1]^in[3]=0、out[2]=in[2]^in[3]=1、out[3]=in[3]=1,同時生成矩陣模塊中G[0]=1,G[1]、G[2]、G[3]分別保存移位寄存器中G[0]、G[1]、G[2]的數(shù)據(jù),那么G[3:0]=0001,上述兩模塊的輸出作為乘法器模塊的輸入,由圖7,以G[0]為選擇端的四位二選一多路選擇器,由于G[0]=1,該選擇器的輸出端是1101,則V[3:0]=1101,G[1]、G[2]、G[3]均為0,所以以這三個比特位為選擇端的選擇器的輸出均為0000,所以V[15:4]=0000_0000_0000,綜上V[15:0]=0000_0000_0000_1101;第二個時鐘的輸入信號為in[3:0]=1111,輸入編碼模塊的輸出分別為out[0]=in[0]^in[1]^in[2]^in[3]=0、out[1]=in[1]^in[3]=0、out[2]=in[2]^in[3]=0、out[3]=in[3]=1,生成矩陣模塊中G[0]=1、G[1]=G[0]^G[1]=1、G[2]=G[1]^G[2]=0、G[3]=G[2]^G[3]=0,在乘法器模塊中,G[0]=1,以G[0]為選擇輸入端的選擇器的“1”輸入端是out[3:0]與V[3:0]按位異或的結果,所以選擇器的輸出端經(jīng)過延時單元后得V[3:0]=0101,G[1]=1,以G[1]為選擇輸入端的選擇器的“1”輸入端是out[3:0]與V[7:4]按位異或的結果,該選擇器的輸出端經(jīng)過延時單元后得V[7:4]=1000,G[2]=0,以G[2]為四位二選一多路選擇器的“0”輸入端是V[11:8],G[3]=0,以G[3]為四位二選一多路選擇器的“0”輸入端是V[15:12],則V[15:8]=0000_0000,則V[15:0]=0000_0000_1000_0101;第三個時鐘的輸入信號為in[3:0]=1000,輸入編碼模塊的輸出分別為out[0]=in[0]^in[1]^in[2]^in[3]=1、out[1]=in[1]^in[3]=1、out[2]=in[2]^in[3]=1、out[3]=in[3]=1,生成矩陣模塊的輸出G[0]=1、G[1]=G[0]^G[1]=0、G[2]=G[1]^G[2]=1、G[3]=G[2]^G[3]=0,在乘法器模塊中G[0]=1,以G[0]為選擇器的輸入端的“1”輸入端是out[3:0]與V[3:0]按位異或的結果,所以選擇器的輸出端經(jīng)過延時單元后得V[3:0]=1010,G[1]=0,以G[1]為選擇器的輸入端的“0”輸入端是V[7:4],該選擇器的輸出端經(jīng)過延時單元后得V[7:4]=1000,G[2]=1,以G[2]為四位二選一多路選擇器的“1”輸入端是out[3:0]與V[7:4]按位異或結果,該選擇器的輸出端經(jīng)過延時單元后得V[11:8]=1111,G[3]=0,以G[3]為四位二選一多路選擇器的“0”輸入端是V[15:12],則V[15:12]=0000,則V[15:0]=0000_1111_1000_1010;第四個時鐘的輸入信號為in[3:0]=1010,輸入編碼模塊的輸出分別為out[0]=in[0]^in[1]^in[2]^in[3]=0、out[1]=in[1]^in[3]=0、out[2]=in[2]^in[3]=1、out[3]=in[3]=1,生成矩陣模塊的輸出G[0]=1、G[1]=G[0]^G[1]=1、G[2]=G[1]^G[2]=1、G[3]=G[2]^G[3]=1,在乘法器模塊中,由于G[0]=1,以G[0]為選擇器的輸入端的“1”輸入端是out[3:0]與V[3:0]按位異或的結果,該選擇器的輸出端經(jīng)過延時單元后得V[3:0]=0110,G[1]=1,以G[1]為選擇器的輸入端的“1”輸入端是out[3:0]與V[7:4]按位異或的結果,該選擇器的輸出端經(jīng)過延時單元后得V[7:4]=0100,G[2]=1,以G[2]為四位二選一多路選擇器的“1”輸入端是out[3:0]與V[11:8]按位異或的結果,該選擇器的輸出端經(jīng)過延時單元后得V[11:8]=0011,G[3]=1,以G[3]為四位二選一多路選擇器的“1”輸入端是out[3:0]與V[15:12]按位異或,則V[15:12]=1100,則V[15:0]=1100_0011_0100_0110。實施例三:需要說明的是,雖然舉例N=16、K=4,但不是對N=16、K=4的限制,如果N=4、K=2,N=8、K=2,N=8、K=4,N=32、K=2,N=32、K=8……依然采用相似原理也應在本發(fā)明的保護范疇內(nèi)。需要說明的是,圖2和圖5中的表示異或運算。當然,上述內(nèi)容僅為本發(fā)明的較佳實施例,不能被認為用于限定對本發(fā)明的實施例范圍。本發(fā)明也并不僅限于上述舉例,本
技術領域:
的普通技術人員在本發(fā)明的實質(zhì)范圍內(nèi)所做出的均等變化與改進等,均應歸屬于本發(fā)明的專利涵蓋范圍內(nèi)。明也并不僅限于上述舉例,本
技術領域:
的普通技術人員在發(fā)明的實質(zhì)范圍內(nèi)所做出的均等變化與改進等,均應歸屬于發(fā)明的專利涵蓋范圍內(nèi)。當前第1頁1 2 3