技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及編解碼領(lǐng)域,并且更具體地,涉及混合Polar碼(極性碼)的生成方法和生成裝置。
背景技術(shù):
通信系統(tǒng)通常采用信道編碼提高數(shù)據(jù)傳輸?shù)目煽啃裕WC通信的質(zhì)量。Polar碼(極性碼)是可以取得香農(nóng)容量且具有低編譯碼復(fù)雜度的編碼方式。Polar碼是一種線(xiàn)性塊碼。其生成矩陣為GN.,其編碼過(guò)程為這里碼長(zhǎng)N=2n,n≥0。
這里BN是轉(zhuǎn)置矩陣,例如比特反轉(zhuǎn)(bit reversal)矩陣。
是F的克羅內(nèi)克冪(Kronecker power),定義為Polar碼用陪集碼可以表示為其編碼過(guò)程為:這里A為信息(information)比特索引的集合,GN.(A)是GN.中由集合A中的索引對(duì)應(yīng)的行得到的子矩陣,GN.(AC)是GN.中由集合AC中的索引對(duì)應(yīng)的行得到的子矩陣。是凍結(jié)(frozen)比特,其數(shù)量為(N-K),是已知比特。為了簡(jiǎn)單,這些凍結(jié)比特可以設(shè)為0。
Polar碼的譯碼可以用SC(successive-cancellation,連續(xù)消除)譯碼,其過(guò)程如下:
考慮一種Polar碼,其參數(shù)為
SC譯碼中,依次計(jì)算如下條件似然函數(shù):
其中是接收信號(hào)向量(y1,y2,…,yN),是比特向量(u1,u2,…,ui-1)。W是轉(zhuǎn)移概率,L表示對(duì)數(shù)似然比。
如果如下作判決:
如果簡(jiǎn)單令
上述公式(2)和(3)中,表示比特ui的判決值。
SC譯碼的復(fù)雜度為O(Nlog2N)。雖然SC譯碼在碼長(zhǎng)N很長(zhǎng)的情況下能夠取得好的性能,逼近香農(nóng)限。但是當(dāng)N較短或者中等長(zhǎng)度的時(shí)候,Polar碼的SC譯碼的性能沒(méi)有超過(guò)Turbo碼和LDPC(Low-density Parity-check,低密度奇偶校驗(yàn))碼的性能,需要進(jìn)一步提高譯碼性能。
在SC譯碼中是逐比特順序譯碼,在譯完每個(gè)比特之后是進(jìn)行硬判后給后續(xù)比特譯碼使用。這樣有可能存在錯(cuò)誤傳播,導(dǎo)致譯碼性能下降。List(列表)譯碼保留多條候選路徑能夠取得逼近最大似然的譯碼性能。SC譯碼和List譯碼結(jié)合就得到SC-List譯碼。
Polar碼的SC-List譯碼的過(guò)程簡(jiǎn)述如下:
路徑分裂:每次如果是信息比特,則將當(dāng)前的譯碼路徑分裂成兩條路徑:一條路徑的和一條路徑當(dāng)總的路徑數(shù)超出預(yù)定義的門(mén)限L的時(shí)候,丟棄最不可靠的路徑,僅保持L條最可靠的路徑(稱(chēng)為幸存路徑);并且更新所有路徑上的概率值。L是正整數(shù),可稱(chēng)為幸存路徑數(shù)。
無(wú)路徑分裂:如果是凍結(jié)比特,則所有譯碼路徑并不分裂,設(shè)保持路徑數(shù)不變并且更新所有路徑的概率值。
SC-List譯碼的復(fù)雜度為O(L×N×log2N),大約是SC譯碼復(fù)雜度的L倍。
按上述方式得到的Polar碼非常適應(yīng)簡(jiǎn)單的SC譯碼,但其最小碼距不是很大。即使采用改進(jìn)的SC-List譯碼算法達(dá)到了最佳的ML(Maximum Likehood,最大似然)譯碼性能,其性能也不是很理想,必須級(jí)聯(lián)CRC(Cyclic Redundancy Check,循環(huán)冗余校驗(yàn))來(lái)提高最小碼距,這樣影響了Polar碼的性能和應(yīng)用復(fù)雜度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種混合Polar碼的生成方法和生成裝置,能夠提高Polar碼的性能。
第一方面,提供了一種Polar碼的生成方法,包括:獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中N為要生成的混合Polar碼的碼長(zhǎng),所述第一矩陣的N個(gè)行一一對(duì)應(yīng)于所述序列中的所述N個(gè)比特,N為正整數(shù);確定所述N個(gè)比特的可靠性,并確定所述第一矩陣的N個(gè)行中每一行的重量;根據(jù)所述N個(gè)比特的可靠性和所述第一矩陣的N個(gè)行中每一行的重量,選擇所述N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇所述第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣,以按照所述信息比特的位置或者按照所述第二矩陣對(duì)待編碼的信息比特序列進(jìn)行編碼生成混合Polar碼;K為待編碼的信息比特序列的長(zhǎng)度并且為不大于N的正整數(shù)。
結(jié)合第一方面,在第一方面的一種實(shí)現(xiàn)方式中,所述根據(jù)所述N個(gè)比特的可靠性和所述第一矩陣的N個(gè)行中每一行的重量,選擇所述N個(gè)比特中的K個(gè)比特作為信息比特,包括:選擇所述N個(gè)比特中可靠性高且對(duì)應(yīng)的所述第一矩陣的行的重量大于第一閾值的K個(gè)比特作為所述信息比特。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,所述選擇所述N個(gè)比特中可靠性高且對(duì)應(yīng)的所述第一矩陣的行的重量大于第一閾值的K個(gè)比特作為信息比特,包括:按照所述可靠性的高低對(duì)所述N個(gè)比特進(jìn)行排序;在排序后的N個(gè)比特中,按照可靠性從高到低的順序選擇對(duì)應(yīng)的第一矩陣的行的重量大于所述第一閾值的K個(gè)比特作為所述信息比特。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,所述選擇所述N個(gè)比特中可靠性高且對(duì)應(yīng)的所述第一矩陣的行的重量大于第一閾值的K個(gè)比特作為信息比特,包括:去除所述N個(gè)比特中對(duì)應(yīng)的第一矩陣的行的重量小于或等于所述第一閾值的比特,得到剩余比特;按照所述剩余比特的可靠性的高低對(duì)所述剩余比特進(jìn)行排序;在排序后的剩余比特中,按照可靠性從高到低的順序選擇K個(gè)比特作為所述信息比特。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,所述根據(jù)所述N個(gè)比特的可靠性和所述第一矩陣的N個(gè)行中每一行的重量,選擇所述第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣,包括:選擇所述第一矩陣的N個(gè)行中對(duì)應(yīng)的比特可靠性高且行的重量大于第一閾值的K個(gè)行構(gòu)成所述第二矩陣。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,所述選擇所述第一矩陣的N個(gè)行中對(duì)應(yīng)的比特可靠性高且行的重量大于第一閾值的K個(gè)行構(gòu)成所述第二矩陣,包括:按照對(duì)應(yīng)的比特的可靠性的高低對(duì)所述第一矩陣的N個(gè)行進(jìn)行排序;在排序后的N個(gè)行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇行的重量大于所述第一閾值的K個(gè)行構(gòu)成所述第二矩陣。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,所述選擇所述第一矩陣的N個(gè)行中對(duì)應(yīng)的比特可靠性高且行的重量大于第一閾值的K個(gè)行構(gòu)成所述第二矩陣,包括:去除行的重量小于或等于所述第一閾值的行,得到剩余行;按照所述剩余行對(duì)應(yīng)的比特的可靠性的高低對(duì)所述剩余行進(jìn)行排序;在排序后的剩余行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇K個(gè)行構(gòu)成所述第二矩陣。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,所述確定所述N個(gè)比特的可靠性,包括:確定所述N個(gè)比特中每個(gè)比特的容量,其中容量大的比特的可靠性高;或者,確定所述N個(gè)比特中每個(gè)比特的Bhattacharyya參數(shù),其中Bhattacharyya參數(shù)小的比特的可靠性高;或者,確定所述N個(gè)比特中每個(gè)比特的錯(cuò)誤概率,其中錯(cuò)誤概率小的比特的可靠性高。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,該方法還包括:根據(jù)所述混合Polar碼的最小碼距要求,確定所述第一閾值。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,所述獲取N×N的第一矩陣,包括:根據(jù)N的值生成所述第一矩陣;或者,讀取預(yù)先存儲(chǔ)的對(duì)應(yīng)于N的值的第一矩陣。
結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的另一實(shí)現(xiàn)方式中,所述獲取含N個(gè)比特的序列,包括:生成1×N的所述序列;或者,讀取預(yù)先存儲(chǔ)的1×N的所述序列。
第二方面,提供了一種編碼方法,包括:接收待編碼的信息比特序列,所述信息比特序列的長(zhǎng)度為K,K為正整數(shù);獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中N為要生成的混合Polar碼的碼長(zhǎng),所述第一矩陣的N個(gè)行一一對(duì)應(yīng)于所述序列中的所述N個(gè)比特,N為大于或等于K的正整數(shù);確定所述N個(gè)比特的可靠性,并確定所述第一矩陣的N個(gè)行中每一行的重量;根據(jù)所述N個(gè)比特的可靠性和所述第一矩陣的N個(gè)行中每一行的重量,選擇所述N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇所述第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣;按照所述信息比特的位置或者按照所述第二矩陣對(duì)所述待編碼的信息比特序列進(jìn)行編碼,得到碼長(zhǎng)為N的編碼比特序列。
第三方面,提供了一種譯碼方法,包括:獲取長(zhǎng)度為N的解調(diào)后的信號(hào);獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中所述第一矩陣的N個(gè)行一一對(duì)應(yīng)于所述序列中的所述N個(gè)比特,N為正整數(shù);確定所述N個(gè)比特的可靠性,并確定所述第一矩陣的N個(gè)行中每一行的重量;根據(jù)所述N個(gè)比特的可靠性和所述第一矩陣的N個(gè)行中每一行的重量,選擇所述N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇所述第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣,K為不大于N的正整數(shù);按照所述信息比特的位置或者按照所述第二矩陣對(duì)所述解調(diào)后的信號(hào)進(jìn)行譯碼。
第四方面,提供了一種混合Polar碼的生成裝置,包括:獲取單元,用于獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中N為編碼后的碼長(zhǎng),所述第一矩陣的N個(gè)行一一對(duì)應(yīng)于所述序列中的所述N個(gè)比特,N為正整數(shù);確定單元,用于確定所述N個(gè)比特的可靠性,并確定所述第一矩陣的N個(gè)行中每一行的重量;選擇單元,用于根據(jù)所述N個(gè)比特的可靠性和所述第一矩陣的N個(gè)行中每一行的重量,選擇所述N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇所述第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣,以按照所述信息比特的位置或者按照所述第二矩陣對(duì)待編碼的信息比特序列進(jìn)行編碼生成混合Polar碼;K為待編碼的信息比特序列的長(zhǎng)度并且為不大于N的正整數(shù)。
結(jié)合第四方面,在第四方面的一種實(shí)現(xiàn)方式中,所述選擇單元具體用于選擇所述N個(gè)比特中可靠性高且對(duì)應(yīng)的所述第一矩陣的行的重量大于第一閾值的K個(gè)比特作為所述信息比特。
結(jié)合第四方面及其上述實(shí)現(xiàn)方式,在第四方面的另一實(shí)現(xiàn)方式中,所述選擇單元具體用于按照所述可靠性的高低對(duì)所述N個(gè)比特進(jìn)行排序;在排序后的N個(gè)比特中,按照可靠性從高到低的順序選擇對(duì)應(yīng)的第一矩陣的行的重量大于所述第一閾值的K個(gè)比特作為所述信息比特;或者,所述選擇單元具體用于去除所述N個(gè)比特中對(duì)應(yīng)的第一矩陣的行的重量小于或等于所述第一閾值的比特,得到剩余比特;按照所述剩余比特的可靠性的高低對(duì)所述剩余比特進(jìn)行排序;在排序后的剩余比特中,按照可靠性從高到低的順序選擇K個(gè)比特作為所述信息比特。
結(jié)合第四方面及其上述實(shí)現(xiàn)方式,在第四方面的另一實(shí)現(xiàn)方式中,所述選擇單元具體用于選擇所述第一矩陣的N個(gè)行中對(duì)應(yīng)的比特可靠性高且行的重量大于第一閾值的K個(gè)行構(gòu)成所述第二矩陣。
結(jié)合第四方面及其上述實(shí)現(xiàn)方式,在第四方面的另一實(shí)現(xiàn)方式中,所述選擇單元具體用于按照對(duì)應(yīng)的比特的可靠性的高低對(duì)所述第一矩陣的N個(gè)行進(jìn)行排序;在排序后的N個(gè)行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇行的重量大于所述第一閾值的K個(gè)行構(gòu)成所述第二矩陣;或者,所述選擇單元具體用于去除行的重量小于或等于所述第一閾值的行,得到剩余行;按照所述剩余行對(duì)應(yīng)的比特的可靠性的高低對(duì)所述剩余行進(jìn)行排序;在排序后的剩余行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇K個(gè)行構(gòu)成所述第二矩陣。
結(jié)合第四方面及其上述實(shí)現(xiàn)方式,在第四方面的另一實(shí)現(xiàn)方式中,所述確定單元還用于根據(jù)所述混合Polar碼的最小碼距要求,確定所述第一閾值。
結(jié)合第四方面及其上述實(shí)現(xiàn)方式,在第四方面的另一實(shí)現(xiàn)方式中,所述確定單元具體用于確定所述N個(gè)比特中每個(gè)比特的容量,其中容量大的比特的可靠性高;或者,確定所述N個(gè)比特中每個(gè)比特的Bhattacharyya參數(shù),其中Bhattacharyya參數(shù)小的比特的可靠性高;或者,確定所述N個(gè)比特中每個(gè)比特的錯(cuò)誤概率,其中錯(cuò)誤概率小的比特的可靠性高。
第五方面,提供了一種編碼裝置,包括:接收單元,用于接收待編碼的信息比特序列,所述信息比特序列的長(zhǎng)度為K,K為正整數(shù);獲取單元,用于獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中N為碼長(zhǎng),所述第一矩陣的N個(gè)行一一對(duì)應(yīng)于所述序列中的所述N個(gè)比特,N為正整數(shù);確定單元,用于確定所述N個(gè)比特的可靠性,并確定所述第一矩陣的N個(gè)行中每一行的重量;選擇單元,用于根據(jù)所述N個(gè)比特的可靠性和所述第一矩陣的N個(gè)行中每一行的重量,選擇所述N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇所述第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣;K為待編碼的信息比特序列的碼長(zhǎng)并且為不大于N的正整數(shù);編碼單元,用于按照所述信息比特的位置或者按照所述第二矩陣對(duì)所述信息比特序列進(jìn)行編碼,得到碼長(zhǎng)為N的編碼比特序列。
第六方面,提供了一種發(fā)射機(jī),包括如第五方面所述的編碼裝置,以及發(fā)射單元,用于發(fā)射所述編碼裝置產(chǎn)生的編碼比特序列。
第七方面,提供了一種譯碼裝置,包括:接收單元,用于接收長(zhǎng)度為N的解調(diào)后的信號(hào);獲取單元,用于獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中所述第一矩陣的N個(gè)行一一對(duì)應(yīng)于所述序列中的所述N個(gè)比特,N為正整數(shù);確定單元,用于確定所述N個(gè)比特的可靠性,并確定所述第一矩陣的N個(gè)行中每一行的重量;選擇單元,用于根據(jù)所述N個(gè)比特的可靠性和所述第一矩陣的N個(gè)行中每一行的重量,選擇所述N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇所述第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣;K為不大于N的正整數(shù);譯碼單元,用于按照所述信息比特的位置或者按照所述第二矩陣對(duì)所述解調(diào)后的信號(hào)進(jìn)行譯碼,得到譯碼后的信息比特序列。
第八方面,提供了一種接收機(jī),包括第七方面所述的譯碼裝置,以及解調(diào)單元,用于產(chǎn)生對(duì)所接收的信號(hào)進(jìn)行解調(diào)以產(chǎn)生長(zhǎng)度為N的解調(diào)后的信號(hào),并將所述解調(diào)后的信號(hào)輸出至所述譯碼裝置,N為正整數(shù)。
第九方面,提供了一種通信系統(tǒng),包括如第六方面所述的發(fā)射機(jī)或如第八方面所述的接收機(jī)。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的第一矩陣的行的重量,從而能夠改善Polar碼的性能。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例的混合Polar碼的生成方法的流程圖。
圖2是本發(fā)明另一實(shí)施例的混合Polar碼的生成過(guò)程的示意流程圖。
圖3是本發(fā)明另一實(shí)施例的混合Polar碼的生成過(guò)程的示意流程圖。
圖4是本發(fā)明另一實(shí)施例的混合Polar碼的生成過(guò)程的示意流程圖。
圖5是本發(fā)明另一實(shí)施例的混合Polar碼的生成過(guò)程的示意流程圖。
圖6是本發(fā)明另一實(shí)施例的混合Polar碼的碼字生成過(guò)程的示意流程圖。
圖7是本發(fā)明另一實(shí)施例的混合Polar碼的碼字生成過(guò)程的示意流程圖。
圖8是本發(fā)明另一實(shí)施例的混合Polar碼的碼字生成過(guò)程的示意流程圖。
圖9是本發(fā)明另一實(shí)施例的混合Polar碼的碼字生成過(guò)程的示意流程圖。
圖10是本發(fā)明一個(gè)實(shí)施例的編碼方法的流程圖。
圖11是本發(fā)明一個(gè)實(shí)施例的譯碼方法的流程圖。
圖12示出了本發(fā)明一個(gè)實(shí)施例的生成混合Polar碼的裝置的實(shí)施例。
圖13是本發(fā)明另一實(shí)施例的編碼裝置的示意框圖。
圖14是本發(fā)明一個(gè)實(shí)施例的發(fā)射機(jī)的框圖。
圖15是本發(fā)明一個(gè)實(shí)施例的譯碼裝置的框圖。
圖16是本發(fā)明一個(gè)實(shí)施例的接收機(jī)的框圖。
圖17是本發(fā)明另一實(shí)施例的裝置的框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例可應(yīng)用于各種通信系統(tǒng),因此,下面的描述不限制于特定通信系統(tǒng)。全球移動(dòng)通訊(Global System of Mobile communication,簡(jiǎn)稱(chēng)“GSM”)系統(tǒng)、碼分多址(Code Division Multiple Access,簡(jiǎn)稱(chēng)“CDMA”)系統(tǒng)、寬帶碼分多址(Wideband Code Division Multiple Access,簡(jiǎn)稱(chēng)“WCDMA”)系統(tǒng)、通用分組無(wú)線(xiàn)業(yè)務(wù)(General Packet Radio Service,簡(jiǎn)稱(chēng)“GPRS”)、長(zhǎng)期演進(jìn)(Long Term Evolution,簡(jiǎn)稱(chēng)“LTE”)系統(tǒng)、LTE頻分雙工(Frequency Division Duplex,簡(jiǎn)稱(chēng)“FDD”)系統(tǒng)、LTE時(shí)分雙工(Time Division Duplex,簡(jiǎn)稱(chēng)“TDD”)、通用移動(dòng)通信系統(tǒng)(Universal Mobile Telecommunication System,簡(jiǎn)稱(chēng)“UMTS”)等。在上述的系統(tǒng)中的基站或者終端使用傳統(tǒng)Turbo碼、LDPC碼編碼處理的信息或者數(shù)據(jù)都可以使用本實(shí)施例中的Polar碼編碼。
需要說(shuō)明的是,碼字中非“0”碼元的個(gè)數(shù)稱(chēng)為碼字的漢明重量(簡(jiǎn)稱(chēng)碼重,記作W)。
對(duì)二進(jìn)制碼來(lái)說(shuō),碼重W就是碼字中所含碼元“1”的數(shù)目,例如碼字“110000”,其碼長(zhǎng)n=6,碼重W=2。
本專(zhuān)利文件中涉及到的矩陣中的每一行的“重量”指的是該行中非“0”元素的個(gè)數(shù)。對(duì)于二進(jìn)制矩陣,計(jì)算二進(jìn)制矩陣F的每一行的重量,即對(duì)該行中1的個(gè)數(shù)求和,所得和為該行的重量值。
兩個(gè)碼組對(duì)應(yīng)的信息位上數(shù)字不同的信息位的個(gè)數(shù)稱(chēng)為碼組的距離,簡(jiǎn)稱(chēng)碼距,又稱(chēng)漢明(Hamming)距離,例如碼組1100與碼組0011的碼矩為4。本專(zhuān)利文件涉及到的混合polar碼的“碼距”指的是待編碼的信息比特與對(duì)該信息比特編碼后生成的混合polar碼對(duì)應(yīng)信息位上數(shù)字不同的信息位的個(gè)數(shù)。碼距體現(xiàn)了編碼的糾錯(cuò)性能,編碼前后的兩個(gè)碼組之間的碼距越大糾錯(cuò)性能越好。
圖1是本發(fā)明一個(gè)實(shí)施例的混合Polar碼的的生成方法的流程圖。圖1的方法可以由編碼端或譯碼端執(zhí)行,也可以由單獨(dú)的Polar碼的生成裝置執(zhí)行。
101,獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中N為Polar碼的碼長(zhǎng),第一矩陣的N個(gè)行一一對(duì)應(yīng)于所述序列中的N個(gè)比特,N為正整數(shù)。
例如,N可以為2n,n為非負(fù)整數(shù)。
可選地,可根據(jù)N的值生成第一矩陣,例如可按照現(xiàn)有方式產(chǎn)生第一矩陣。具體地,Polar碼是一種線(xiàn)性塊碼。其生成矩陣為GN.,其編碼過(guò)程為這里
這里BN是轉(zhuǎn)置矩陣,例如比特反轉(zhuǎn)(bit reversal)矩陣。
是F的克羅內(nèi)克冪(Kronecker power),定義為這里是N×N的矩陣。
可以將上述矩陣GN.或其變型(如)作為所述第一矩陣。
可選地,作為另一實(shí)施例,可讀取預(yù)先存儲(chǔ)的對(duì)應(yīng)于N的值的第一矩陣。換句話(huà)說(shuō),可在本地預(yù)先存儲(chǔ)對(duì)應(yīng)于不同N值的第一矩陣。
可選地,作為另一實(shí)施例,可根據(jù)N的值生成1×N的所述序列,如上述該序列為包括信息比特和凍結(jié)比特的集合。或者,可讀取預(yù)先存儲(chǔ)的1×N的所述序列。換句話(huà)說(shuō),可在本地預(yù)先存儲(chǔ)對(duì)應(yīng)于不同N值的序列
N×N的第一矩陣的N個(gè)行一一對(duì)應(yīng)于一個(gè)序列中的N個(gè)比特,具體地,第一矩陣的每一行分別對(duì)應(yīng)于中的一個(gè)比特。
102,確定N個(gè)比特的可靠性,并確定第一矩陣的行中每一行的重量。
本發(fā)明實(shí)施例對(duì)可靠性的度量的形式不作限制,例如可參照現(xiàn)有Polar碼的可靠性度量,例如比特容量、Bhattacharyya參數(shù)、錯(cuò)誤概率等。但是,現(xiàn)有的Polar碼在生成過(guò)程中僅僅基于可靠性選擇信息比特,因此性能還需要進(jìn)一步提升。
可選地,作為一個(gè)實(shí)施例,在步驟102中,可以確定N個(gè)比特中每個(gè)比特的容量,其中容量大的比特的可靠性高。
可按照現(xiàn)有方式計(jì)算每個(gè)比特的容量,例如,給定二進(jìn)制離散無(wú)記憶信道W,容量I(W)的定義如下:
可選地,作為另一實(shí)施例,在步驟102中,可以確定N個(gè)比特中每個(gè)比特的Bhattacharyya參數(shù),其中Bhattacharyya參數(shù)小的比特的可靠性高。
給定二進(jìn)制離散無(wú)記憶信道W,Bhattacharyya參數(shù)Z(W)的定義如下:
Bhattacharyya參數(shù)和最大似然譯碼誤幀率的上界相關(guān)。當(dāng)Bhattacharyya參數(shù)值越低時(shí),信息比特的可靠性越高。
可選地,作為另一實(shí)施例,在步驟102中,確定N個(gè)比特中每個(gè)比特的錯(cuò)誤概率,其中錯(cuò)誤概率小的比特的可靠性高。例如,可以通過(guò)蒙托卡洛仿真得到各個(gè)比特的錯(cuò)誤圖樣,結(jié)合仿真的次數(shù)確定每個(gè)比特的錯(cuò)誤概率。
可選地,作為一個(gè)實(shí)施例,確定行的重量的一種方式是將每行的非“0”元素相加。因此,一行的重量可以表示該行中元素“1”的總數(shù)。
103,根據(jù)N個(gè)比特的可靠性和第一矩陣的N個(gè)行中每一行的重量,選擇N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇所述第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣,,以按照信息比特的位置或者按照第二矩陣對(duì)待編碼的信息比特序列進(jìn)行編碼生成混合Polar碼。K為待編碼的信息比特序列的長(zhǎng)度并且為不大于N的正整數(shù)。
N個(gè)比特中K個(gè)比特是信息比特,其余N-K個(gè)比特是凍結(jié)比特。信息比特是用于編碼的比特,凍結(jié)比特一般設(shè)置為0。本發(fā)明實(shí)施例對(duì)確定信息比特和凍結(jié)比特的順序不作限制。例如,在選擇N個(gè)比特中的K個(gè)比特作為信息比特時(shí),可以首先選擇K個(gè)信息比特,將剩余的N-K個(gè)比特作為凍結(jié)比特;也可以首先得到N-K個(gè)凍結(jié)比特,然后將剩余的K個(gè)比特作為信息比特。這些方式均落入本發(fā)明實(shí)施例的范圍內(nèi)。
在確定K個(gè)信息比特之后,將待編碼的信息比特序列的K個(gè)比特放置到K個(gè)信息比特對(duì)應(yīng)的位置上,即可得到長(zhǎng)度為N的比特序列從而可以按照進(jìn)行編碼。
同樣地,在選擇第二矩陣的K個(gè)行時(shí),可以首先選擇K個(gè)行,去除剩余的N-K個(gè)行;也可以首先得到需要去除的N-K個(gè)行,然后將剩余的K個(gè)行用于構(gòu)成第二矩陣。這些方式均落入本發(fā)明實(shí)施例的范圍內(nèi)。
事實(shí)上,第二矩陣的K個(gè)行可以分別與K個(gè)信息比特一一對(duì)應(yīng)。具體地,第二矩陣可以是上述GN.(A)或者其變型(如中的相應(yīng)的K行構(gòu)成的矩陣)。這樣可以按照進(jìn)行編碼,其中uA為待編碼的信息比特序列,長(zhǎng)度為K。在凍結(jié)比特設(shè)置為的情況下,編碼結(jié)果和相同。
碼長(zhǎng)N和信息比特的數(shù)目K都是可以預(yù)先設(shè)置的值。即,按照本發(fā)明實(shí)施例得到的混合Polar碼的碼率是可變的。碼率由K和N確定,例如K/N。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善Polar碼的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能,是一種優(yōu)化的Polar碼。
可選地,作為一個(gè)實(shí)施例,在步驟103中,可選擇N個(gè)比特中可靠性高且對(duì)應(yīng)的第一矩陣的行的重量大于第一閾值的K個(gè)比特作為信息比特。這樣選擇的信息比特具有更大的漢明距離,提高了Polar碼的性能。
本發(fā)明實(shí)施例同時(shí)考慮可靠性和行重量這兩項(xiàng)因素,但是本發(fā)明實(shí)施例對(duì)這兩項(xiàng)因素的使用順序不作限制。
可選地,作為一個(gè)實(shí)施例,在步驟103中可首先使用可靠性進(jìn)行選擇。具體地,可按照可靠性的高低對(duì)N個(gè)比特進(jìn)行排序;在排序后的N個(gè)比特中,按照可靠性從高到低的順序選擇對(duì)應(yīng)的第一矩陣的行的重量大于第一閾值的K個(gè)比特作為信息比特。
可選地,作為一個(gè)實(shí)施例,在步驟103中可首先使用行重量進(jìn)行選擇。具體地,可去除N個(gè)比特中對(duì)應(yīng)的行的重量小于或等于所述第一閾值的比特,得到剩余比特。然后,按照剩余比特的可靠性的高低對(duì)剩余比特進(jìn)行排序,最后在排序后的剩余比特中,按照可靠性從高到低的順序選擇K個(gè)比特作為信息比特。
應(yīng)注意,在上述實(shí)施例中,將等于第一閾值的比特作為凍結(jié)比特,但本發(fā)明實(shí)施例對(duì)此不作限制,也可以將等于第一閾值的比特作為信息比特,同樣能得到具有相似性能的混合Polar碼,因此這樣的修改也落入本發(fā)明實(shí)施例的范圍內(nèi)。
可選地,作為另一實(shí)施例,在步驟103之前,還可以根據(jù)混合Polar碼的最小碼距要求,確定第一閾值。但本發(fā)明實(shí)施例對(duì)確定第一閾值的方式不作限制,除了最小碼距要求之外,也可以根據(jù)其他因素或者結(jié)合其他因素確定第一閾值。
應(yīng)注意,在本發(fā)明實(shí)施例中,所述比特或行的“排序”僅僅是為了比特或行的選擇操作而執(zhí)行的邏輯過(guò)程,并非要改變最終得到的信息比特或編碼矩陣的行的排列順序。換句話(huà)說(shuō),最終得到的K個(gè)信息比特仍按照它們?cè)贜個(gè)比特中的初始位置順序排列;最終得到的K個(gè)行也按照它們?cè)诘谝痪仃囍械某跏嘉恢庙樞蚺帕幸詷?gòu)成第二矩陣。
下面結(jié)合具體例子,更加詳細(xì)地描述本發(fā)明實(shí)施例。應(yīng)注意,圖2至圖9的例子僅僅是為了幫助本領(lǐng)域技術(shù)人員理解本發(fā)明實(shí)施例,而非要將本發(fā)明實(shí)施例限于所例示的具體數(shù)值或具體場(chǎng)景。例如,下面的例子中,以F矩陣作為第一矩陣的例子,但本發(fā)明實(shí)施例不限于此,也可以使用GN.作為第一矩陣。
在圖2至圖5的例子中,直接選擇K個(gè)比特作為信息比特,但本發(fā)明實(shí)施例不限于此,也可以首先選擇N-K個(gè)凍結(jié)比特,將剩余的K個(gè)比特作為信息比特。在此情況下,選擇N-K個(gè)凍結(jié)比特的方式可以與選擇信息比特的方式相對(duì),例如選擇N個(gè)比特中可靠性低或?qū)?yīng)的矩陣行的重量小于或等于第一閾值的N-K比特作為凍結(jié)比特。
圖2是本發(fā)明另一實(shí)施例的混合Polar碼生成過(guò)程的示意流程圖。圖2的實(shí)施例中,以比特容量作為可靠性的度量,并且在選擇信息比特時(shí),首先考慮可靠性,按照可靠性的高低對(duì)N個(gè)比特進(jìn)行排序,然后在排序后的N個(gè)比特中,按照可靠性從高到低的順序選擇對(duì)應(yīng)的行的重量大于第一閾值的K個(gè)比特作為信息比特。
201,生成N×N的F矩陣。
202,確定N個(gè)比特的比特容量,并確定N個(gè)比特對(duì)應(yīng)的行的重量。
203,可按照比特容量的值的大小對(duì)N個(gè)比特進(jìn)行排序。例如可以按照比特容量從大到小的順序?qū)個(gè)比特進(jìn)行排序。
204,在排序后的N個(gè)比特中,按照比特容量從大到小的順序依次判斷每個(gè)比特對(duì)應(yīng)的行的重量是否大于第一閾值。
205,如果在步驟204中判斷某個(gè)比特對(duì)應(yīng)的行的重量大于第一閾值(步驟204的分支“是”),則將該比特選擇為信息比特,記錄該比特的索引。
206,將已經(jīng)選擇的信息比特的數(shù)目i加1。
207,判斷信息比特的數(shù)目i是否已經(jīng)達(dá)到K。
如果信息比特的數(shù)目還未達(dá)到K(步驟207的分支“否”,即i<K),則回到步驟204,對(duì)下一個(gè)比特繼續(xù)判斷行重量是否大于第一閾值。
208,如果信息比特的數(shù)目已經(jīng)達(dá)到K(步驟207的分支“是”,即i=K),則已經(jīng)完成信息比特的選擇,即,將步驟205中記錄的K個(gè)比特作為信息比特。同時(shí),將剩余的N-K個(gè)比特作為凍結(jié)比特。
209,如果在步驟204中判斷某個(gè)比特對(duì)應(yīng)的行的重量小于或等于第一閾值(步驟204的分支“否”),則去除該比特,不將該比特作為信息比特。換句話(huà)說(shuō),該比特會(huì)在步驟208中記錄為凍結(jié)比特。一般而言,可將凍結(jié)比特設(shè)置為0。
210,在確定K個(gè)信息比特和N-K個(gè)凍結(jié)比特之后,可由此進(jìn)行混合Polar編碼或譯碼。
按照本發(fā)明實(shí)施例,可選擇可靠性高且對(duì)應(yīng)的行的重量大于第一閾值的比特作為信息比特,能夠提高Polar碼的最小碼距,從而提高Polar碼的性能。同時(shí),本發(fā)明實(shí)施例得到的混合Polar碼能夠得到較好的SC或SC-List譯碼性能。
另外需要說(shuō)明的是,在步驟208中,如果N個(gè)比特均已遍歷完,但是得到的信息比特的數(shù)目仍未達(dá)到K(i<K),則可以調(diào)整第一閾值,例如適當(dāng)降低第一閾值的取值,重新執(zhí)行圖2的方法,直到得到的信息比特的數(shù)目能夠達(dá)到K為止。
圖3是本發(fā)明另一實(shí)施例的混合Polar碼生成過(guò)程的示意流程圖。圖3的實(shí)施例中,以比特容量作為可靠性的度量,并且在選擇信息比特時(shí),首先考慮行重量,去除N個(gè)比特中對(duì)應(yīng)的行的重量小于或等于第一閾值的比特,得到剩余比特,然后按照剩余比特的可靠性的高低對(duì)剩余比特進(jìn)行排序,并在排序后的剩余比特中,按照可靠性從高到低的順序選擇K個(gè)比特作為信息比特。
301,生成N×N的F矩陣。
302,確定N個(gè)比特的比特容量,并確定N個(gè)比特對(duì)應(yīng)的行的重量。
303,依次判斷N個(gè)比特中每個(gè)比特對(duì)應(yīng)的行的重量是否大于第一閾值。
304,如果在步驟303中判斷為某個(gè)比特對(duì)應(yīng)的行的重量小于或等于第一閾值(步驟303的分支“否”),則去除該比特。
305,如果在步驟303中判斷為某個(gè)比特對(duì)應(yīng)的行的重量大于第一閾值(步驟303的分支“是”),則暫時(shí)保留該比特。在遍歷所有N個(gè)比特之后,得到剩余比特,假設(shè)剩余比特為R個(gè),R為不大于N的正整數(shù)。
這里需要說(shuō)明的是,如果在步驟304和305中得到的剩余比特?cái)?shù)目小于K(R<K),則可以調(diào)整第一閾值,例如適當(dāng)降低第一閾值的取值,重新執(zhí)行圖3步驟303-305,直到得到的剩余比特的數(shù)目大于或等于K(R≥K)。
306,按照比特容量的值的大小對(duì)R個(gè)剩余比特進(jìn)行排序。例如可以按照比特容量從大到小的順序?qū)個(gè)剩余比特進(jìn)行排序。
307,在排序后的R個(gè)剩余比特中,選擇比特容量最大的K個(gè)剩余比特,作為信息比特,記錄信息比特的索引。同時(shí),將剩余的N-K個(gè)比特作為凍結(jié)比特。一般而言,可將凍結(jié)比特設(shè)置為0。
308,在確定K個(gè)信息比特和N-K個(gè)凍結(jié)比特之后,可由此進(jìn)行混合Polar編碼或譯碼。
按照本發(fā)明實(shí)施例,可選擇可靠性高且對(duì)應(yīng)的行的重量大于第一閾值的比特作為信息比特,能夠提高Polar碼的最小碼距,從而提高Polar碼的性能。同時(shí),本發(fā)明實(shí)施例得到的混合Polar碼能夠得到較好的SC或SC-List譯碼性能。
圖4是本發(fā)明另一實(shí)施例的混合Polar碼生成過(guò)程的示意流程圖。圖4的實(shí)施例中,以Bhattacharyya參數(shù)作為可靠性的度量,并且在選擇信息比特時(shí),首先考慮可靠性,按照可靠性的高低對(duì)N個(gè)比特進(jìn)行排序,然后在排序后的N個(gè)比特中,按照可靠性從高到低的順序選擇對(duì)應(yīng)的行的重量大于第一閾值的K個(gè)比特作為信息比特。
401,生成N×N的F矩陣。
402,確定N個(gè)比特的Bhattacharyya參數(shù),并確定N個(gè)比特對(duì)應(yīng)的行的重量。
403,可按照Bhattacharyya參數(shù)的值的大小對(duì)N個(gè)比特進(jìn)行排序。例如可以按照Bhattacharyya參數(shù)從小到大的順序?qū)個(gè)比特進(jìn)行排序。
404,在排序后的N個(gè)比特中,按照Bhattacharyya參數(shù)從小到大的順序依次判斷每個(gè)比特對(duì)應(yīng)的行的重量是否大于第一閾值。
405,如果在步驟404中判斷某個(gè)比特對(duì)應(yīng)的行的重量大于第一閾值(步驟404的分支“是”),則將該比特選擇為信息比特,記錄該比特的索引。
406,將已經(jīng)選擇的信息比特的數(shù)目i加1。
407,判斷信息比特的數(shù)目i是否已經(jīng)達(dá)到K。
如果信息比特的數(shù)目還未達(dá)到K(步驟407的分支“否”,即i<K),則回到步驟404,對(duì)下一個(gè)比特繼續(xù)判斷行重量是否大于第一閾值。
408,如果信息比特的數(shù)目已經(jīng)達(dá)到K(步驟407的分支“是”,即i=K),則已經(jīng)完成信息比特的選擇,即,將步驟405中記錄的K個(gè)比特作為信息比特。同時(shí),將剩余的N-K個(gè)比特作為凍結(jié)比特。
409,如果在步驟404中判斷某個(gè)比特對(duì)應(yīng)的行的重量小于或等于第一閾值(步驟404的分支“否”),則去除該比特,不將該比特作為信息比特。換句話(huà)說(shuō),該比特會(huì)在步驟408中記錄為凍結(jié)比特。一般而言,可將凍結(jié)比特設(shè)置為0。
410,在確定K個(gè)信息比特和N-K個(gè)凍結(jié)比特之后,可由此進(jìn)行混合Polar編碼或譯碼。
按照本發(fā)明實(shí)施例,可選擇可靠性高且對(duì)應(yīng)的行的重量大于第一閾值的比特作為信息比特,能夠提高Polar碼的最小碼距,從而提高Polar碼的性能。同時(shí),本發(fā)明實(shí)施例得到的混合Polar碼能夠得到較好的SC或SC-List譯碼性能。
另外需要說(shuō)明的是,在步驟408中,如果N個(gè)比特均已遍歷完,但是得到的信息比特的數(shù)目仍未達(dá)到K(i<K),則可以調(diào)整第一閾值,例如適當(dāng)降低第一閾值的取值,重新執(zhí)行圖4的方法,直到得到的信息比特的數(shù)目能夠達(dá)到K為止。
圖5是本發(fā)明另一實(shí)施例的混合Polar碼生成過(guò)程的示意流程圖。圖5的實(shí)施例中,以Bhattacharyya參數(shù)作為可靠性的度量,并且在選擇信息比特時(shí),首先考慮行重量,去除N個(gè)比特中對(duì)應(yīng)的行的重量小于或等于第一閾值的比特,得到剩余比特,然后按照剩余比特的可靠性的高低對(duì)剩余比特進(jìn)行排序,并在排序后的剩余比特中,按照可靠性從高到低的順序選擇K個(gè)比特作為信息比特。
501,生成N×N的F矩陣。
502,確定N個(gè)比特的Bhattacharyya參數(shù),并確定N個(gè)比特對(duì)應(yīng)的行的重量。
503,依次判斷N個(gè)比特中每個(gè)比特對(duì)應(yīng)的行的重量是否大于第一閾值。
504,如果在步驟503中判斷為某個(gè)比特對(duì)應(yīng)的行的重量小于或等于第一閾值(步驟503的分支“否”),則去除該比特。
505,如果在步驟503中判斷為某個(gè)比特對(duì)應(yīng)的行的重量大于第一閾值(步驟503的分支“是”),則暫時(shí)保留該比特。在遍歷所有N個(gè)比特之后,得到剩余比特,假設(shè)剩余比特為R個(gè),R為不大于N的正整數(shù)。
這里需要說(shuō)明的是,如果在步驟504和505中得到的剩余比特?cái)?shù)目小于K(R<K),則可以調(diào)整第一閾值,例如適當(dāng)降低第一閾值的取值,重新執(zhí)行圖5的步驟503-505,直到得到的剩余比特的數(shù)目大于或等于K(R≥K)。
506,按照Bhattacharyya參數(shù)的值的大小對(duì)R個(gè)剩余比特進(jìn)行排序。例如可以按照Bhattacharyya參數(shù)從小到大的順序?qū)個(gè)剩余比特進(jìn)行排序。
507,在排序后的R個(gè)剩余比特中,選擇Bhattacharyya參數(shù)最小的K個(gè)剩余比特,作為信息比特,記錄信息比特的索引。同時(shí),將剩余的N-K個(gè)比特作為凍結(jié)比特。一般而言,可將凍結(jié)比特設(shè)置為0。
508,在確定K個(gè)信息比特和N-K個(gè)凍結(jié)比特之后,可由此進(jìn)行混合Polar編碼或譯碼。
按照本發(fā)明實(shí)施例,可選擇可靠性高且對(duì)應(yīng)的行的重量大于第一閾值的比特作為信息比特,能夠提高Polar碼的最小碼距,從而提高Polar碼的性能。同時(shí),本發(fā)明實(shí)施例得到的混合Polar碼能夠得到較好的SC或SC-List譯碼性能。
對(duì)于其他可靠性的度量,如果該度量的值越大,對(duì)應(yīng)的可靠性越高,則可以按照?qǐng)D2和圖4的方式選擇信息比特;如果該度量的值越大,對(duì)應(yīng)的可靠性越低,則可以按照?qǐng)D3和圖5的方式選擇信息比特。例如,如果使用錯(cuò)誤概率表示可靠性,則可采用圖3和圖5的類(lèi)似方式選擇信息比特。
在圖6至圖9的例子中,直接選擇K個(gè)行構(gòu)成第二矩陣,即選擇第一矩陣的N個(gè)行中對(duì)應(yīng)的比特可靠性高且行的重量大于第一閾值的K個(gè)行構(gòu)成第二矩陣。但本發(fā)明實(shí)施例不限于此,也可以首先選擇第二矩陣不需要的N-K個(gè)行,將剩余的K個(gè)行構(gòu)成第二矩陣。在此情況下,選擇N-K個(gè)行的方式可以與選擇K個(gè)行的方式相對(duì),例如選擇N個(gè)行中對(duì)應(yīng)的比特可靠性低或行的重量小于或等于第一閾值的N-K個(gè)行。
圖6是本發(fā)明另一實(shí)施例的混合Polar碼生成過(guò)程的示意流程圖。圖6的實(shí)施例中,以比特容量作為可靠性的度量,并且在選擇第二矩陣的K個(gè)行時(shí),首先考慮可靠性,按照對(duì)應(yīng)的比特的可靠性的高低對(duì)第一矩陣的N個(gè)行進(jìn)行排序,然后在排序后的N個(gè)行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇行的重量大于第一閾值的K個(gè)行構(gòu)成第二矩陣。
601,生成N×N的F矩陣。
602,確定N個(gè)比特的比特容量,并確定N個(gè)行的重量。
603,可按照比特容量的值的大小對(duì)N個(gè)比特對(duì)應(yīng)的N個(gè)行進(jìn)行排序。例如可以按照比特容量從大到小的順序?qū)個(gè)行進(jìn)行排序。
604,在排序后的N個(gè)行中,按照比特容量從大到小的順序依次判斷每個(gè)行的重量是否大于第一閾值。
605,如果在步驟604中判斷某個(gè)行的重量大于第一閾值(步驟604的分支“是”),則選擇該行。
606,將已經(jīng)選擇的行的數(shù)目i加1。
607,判斷已經(jīng)選擇的行的數(shù)目i是否已經(jīng)達(dá)到K。
如果行的數(shù)目還未達(dá)到K(步驟607的分支“否”,即i<K),則回到步驟604,對(duì)下一行繼續(xù)判斷行重量是否大于第一閾值。
608,如果已經(jīng)選擇的行的數(shù)目已經(jīng)達(dá)到K(步驟607的分支“是”,即i=K),則已經(jīng)完成K個(gè)行的選擇,得到K×N的第二矩陣。
609,如果在步驟604中判斷某個(gè)行的重量小于或等于第一閾值(步驟604的分支“否”),則去除該行。
610,在得到K×N的第二矩陣之后,可由此進(jìn)行混合Polar編碼或譯碼。
按照本發(fā)明實(shí)施例,可選擇對(duì)應(yīng)比特的可靠性高且行的重量大于第一閾值的行構(gòu)成第二矩陣,能夠提高Polar碼的最小碼距,從而提高Polar碼的性能。同時(shí),本發(fā)明實(shí)施例得到的混合Polar碼能夠得到較好的SC或SC-List譯碼性能。
另外需要說(shuō)明的是,在步驟608中,如果N個(gè)行均已遍歷完,但是已經(jīng)選擇的行的數(shù)目仍未達(dá)到K(i<K),則可以調(diào)整第一閾值,例如適當(dāng)降低第一閾值的取值,重新執(zhí)行圖6的方法,直到已經(jīng)選擇的行的數(shù)目能夠達(dá)到K為止。
圖7是本發(fā)明另一實(shí)施例的混合Polar碼生成過(guò)程的示意流程圖。圖7的實(shí)施例中,以比特容量作為可靠性的度量,并且在選擇第二矩陣的K個(gè)行時(shí),首先考慮行重量,去除行的重量小于或等于第一閾值的行,得到剩余行;按照剩余行對(duì)應(yīng)的比特的可靠性的高低對(duì)剩余行進(jìn)行排序;在排序后的剩余行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇K個(gè)行構(gòu)成第二矩陣。
701,生成N×N的F矩陣。
702,確定N個(gè)比特的比特容量,并確定N個(gè)行的重量。
703,依次判斷N個(gè)行的重量是否大于第一閾值。
704,如果在步驟703中判斷為某個(gè)行的重量小于或等于第一閾值(步驟703的分支“否”),則去除該行。
705,如果在步驟703中判斷為某個(gè)行的重量大于第一閾值(步驟703的分支“是”),則暫時(shí)保留該行。在遍歷所有N個(gè)行之后,得到剩余行,假設(shè)剩余行為R個(gè),R為不大于N的正整數(shù)。
這里需要說(shuō)明的是,如果在步驟704和705中得到的剩余行的數(shù)目小于K(R<K),則可以調(diào)整第一閾值,例如適當(dāng)降低第一閾值的取值,重新執(zhí)行圖7步驟703-705,直到得到的剩余行的數(shù)目大于或等于K(R≥K)。
706,按照對(duì)應(yīng)比特的比特容量的值的大小對(duì)R個(gè)剩余行進(jìn)行排序。例如可以按照比特容量從大到小的順序?qū)個(gè)剩余行進(jìn)行排序。
707,在排序后的R個(gè)剩余行中,選擇對(duì)應(yīng)比特的比特容量最大的K個(gè)剩余行,得到K×N的第二矩陣。
708,在得到第二矩陣之后,可由此進(jìn)行混合Polar編碼或譯碼。
按照本發(fā)明實(shí)施例,可選擇對(duì)應(yīng)比特的可靠性高且行的重量大于第一閾值的行構(gòu)成第二矩陣,能夠提高Polar碼的最小碼距,從而提高Polar碼的性能。同時(shí),本發(fā)明實(shí)施例得到的混合Polar碼能夠得到較好的SC或SC-List譯碼性能。
圖8是本發(fā)明另一實(shí)施例的混合Polar碼生成過(guò)程的示意流程圖。圖8的實(shí)施例中,以Bhattacharyya參數(shù)作為可靠性的度量,并且在選擇信息比特時(shí),首先考慮可靠性,按照對(duì)應(yīng)的比特的可靠性的高低對(duì)第一矩陣的N個(gè)行進(jìn)行排序,然后在排序后的N個(gè)行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇行的重量大于第一閾值的K個(gè)行構(gòu)成第二矩陣。
801,生成N×N的F矩陣。
802,確定N個(gè)比特的Bhattacharyya參數(shù),并確定N個(gè)行的重量。
803,可按照Bhattacharyya參數(shù)的值的大小對(duì)N個(gè)比特對(duì)應(yīng)的N個(gè)行進(jìn)行排序。例如可以按照Bhattacharyya參數(shù)從小到大的順序?qū)個(gè)行進(jìn)行排序。
804,在排序后的N個(gè)行中,按照Bhattacharyya參數(shù)從小到大的順序依次判斷每個(gè)行的重量是否大于第一閾值。
805,如果在步驟804中判斷某個(gè)行的重量大于第一閾值(步驟804的分支“是”),則選擇該行。
806,將已經(jīng)選擇的行的數(shù)目i加1。
807,判斷已經(jīng)選擇的行的數(shù)目i是否已經(jīng)達(dá)到K。
如果已經(jīng)選擇的行的數(shù)目還未達(dá)到K(步驟807的分支“否”,即i<K),則回到步驟804,對(duì)下一行繼續(xù)判斷行重量是否大于第一閾值。
808,如果已經(jīng)選擇的行的數(shù)目已經(jīng)達(dá)到K(步驟807的分支“是”,即i=K),則已經(jīng)完成K個(gè)行的選擇,得到K×N的第二矩陣。
809,如果在步驟804中判斷某個(gè)行的重量小于或等于第一閾值(步驟804的分支“否”),則去除該行。
810,在得到K×N的第二矩陣之后,可由此進(jìn)行混合Polar編碼或譯碼。
按照本發(fā)明實(shí)施例,可選擇對(duì)應(yīng)比特的可靠性高且行的重量大于第一閾值的行構(gòu)成第二矩陣,能夠提高碼字的最小碼距,從而提高碼字的性能。同時(shí),本發(fā)明實(shí)施例得到的碼字能夠得到較好的SC或SC-List譯碼性能。
另外需要說(shuō)明的是,在步驟808中,如果N個(gè)行均已遍歷完,但是已經(jīng)選擇的行的數(shù)目仍未達(dá)到K(i<K),則可以調(diào)整第一閾值,例如適當(dāng)降低第一閾值的取值,重新執(zhí)行圖8的方法,直到已經(jīng)選擇的行的數(shù)目能夠達(dá)到K為止。
圖9是本發(fā)明另一實(shí)施例的混合Polar碼生成過(guò)程的示意流程圖。圖9的實(shí)施例中,以Bhattacharyya參數(shù)作為可靠性的度量,并且在選擇第二矩陣的K個(gè)行時(shí),首先考慮行重量,去除行的重量小于或等于第一閾值的行,得到剩余行;按照剩余行對(duì)應(yīng)的比特的可靠性的高低對(duì)剩余行進(jìn)行排序;在排序后的剩余行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇K個(gè)行構(gòu)成第二矩陣。
901,生成N×N的F矩陣。
902,確定N個(gè)比特的Bhattacharyya參數(shù),并確定N個(gè)行的重量。
903,依次判斷N個(gè)行中每一行的重量是否大于第一閾值。
904,如果在步驟903中判斷為某個(gè)行的重量小于或等于第一閾值(步驟903的分支“否”),則去除該行。
905,如果在步驟903中判斷為某個(gè)行的重量大于第一閾值(步驟903的分支“是”),則暫時(shí)保留該行。在遍歷所有N個(gè)行之后,得到剩余行,假設(shè)剩余行為R個(gè),R為不大于N的正整數(shù)。
這里需要說(shuō)明的是,如果在步驟904和905中得到的剩余行的數(shù)目小于K(R<K),則可以調(diào)整第一閾值,例如適當(dāng)降低第一閾值的取值,重新執(zhí)行圖9的步驟903-905,直到得到的剩余行的數(shù)目大于或等于K(R≥K)。
906,按照對(duì)應(yīng)比特的Bhattacharyya參數(shù)的值的大小對(duì)R個(gè)剩余行進(jìn)行排序。例如可以按照Bhattacharyya參數(shù)從小到大的順序?qū)個(gè)剩余行進(jìn)行排序。
907,在排序后的R個(gè)剩余行中,選擇Bhattacharyya參數(shù)最小的K個(gè)剩余行,得到K×N的第二矩陣。
908,在得到K×N的第二矩陣之后,可由此進(jìn)行混合Polar編碼或譯碼。
按照本發(fā)明實(shí)施例,可選擇對(duì)應(yīng)比特的可靠性高且行的重量大于第一閾值的行構(gòu)成第二矩陣,能夠提高Polar碼的最小碼距,從而提高Polar碼的性能。同時(shí),本發(fā)明實(shí)施例得到的混合Polar碼能夠得到較好的SC或SC-List譯碼性能。
對(duì)于其他可靠性的度量,如果該度量的值越大,對(duì)應(yīng)的可靠性越高,則可以按照?qǐng)D6和圖8的方式選擇信息比特;如果該度量的值越大,對(duì)應(yīng)的可靠性越低,則可以按照?qǐng)D7和圖9的方式選擇信息比特。例如,如果使用錯(cuò)誤概率表示可靠性,則可采用圖7和圖9的類(lèi)似方式選擇信息比特。
本發(fā)明實(shí)施例同時(shí)考慮可靠性和行的重量,從而能夠得到最小碼距更優(yōu)的混合Polar碼。以碼長(zhǎng)為N=2048,K=1024為例,現(xiàn)有Polar碼按容量自大到小排序后,最大容量的1024個(gè)比特為從左到右的1024個(gè)比特,因而選擇為信息比特。但是其中所選取的信息比特中的后面的若干個(gè)信息比特所對(duì)應(yīng)的行的重量為16。該現(xiàn)有Polar碼的最小碼距為16。按照本發(fā)明實(shí)施例的混合Polar碼,可以設(shè)定每個(gè)比特所對(duì)應(yīng)的行的最小重量不小于16(即設(shè)置第一閾值為16),因而能夠去除行重量小于或等于16的比特,僅從剩余的比特中選擇最大容量的1024個(gè)比特位為信息比特,所選取的信息比特所對(duì)應(yīng)的行的重量都不小于16而是32,本發(fā)明實(shí)施例得到的混合Polar碼的最小碼距為32,具有更優(yōu)的性能。
比較現(xiàn)有Polar碼與本發(fā)明實(shí)施例的混合Polar碼在相同的SC-List譯碼的情況下的譯碼性能,以L(fǎng)=32為SC-List譯碼的幸存路徑數(shù)目,可以發(fā)現(xiàn)混合Polar碼優(yōu)于現(xiàn)有Polar碼。例如,在能噪比(Eb/No)為1.6dB時(shí),混合Polar碼的FER(Frame Error Ratio,誤幀率)低于10-3,而現(xiàn)有Polar碼的FER在同樣條件下僅能達(dá)到10-2量級(jí)。另外,對(duì)于現(xiàn)有Polar碼,SC-List譯碼已達(dá)到最優(yōu)的ML譯碼界(ML Bound),其性能已無(wú)法進(jìn)一步提高,而本發(fā)明實(shí)施例的混合Polar碼的最優(yōu)ML譯碼界遠(yuǎn)優(yōu)于現(xiàn)有Polar碼。例如,本發(fā)明實(shí)施例的混合Polar碼在能噪比為1.6dB時(shí)FER的最優(yōu)ML譯碼界基本能夠達(dá)到10-4的量級(jí)。因此本發(fā)明實(shí)施例的混合Polar碼的性能還有很大的提升空間,例如可通過(guò)不斷增加幸存路徑數(shù)目L來(lái)將達(dá)到最優(yōu)的ML譯碼界。
圖10是本發(fā)明一個(gè)實(shí)施例的編碼方法的流程圖。圖10的方法由編碼端執(zhí)行。
1001,接收待編碼的信息比特序列,信息比特序列的長(zhǎng)度為K,K為正整數(shù)。
1002,獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中N為要生成的混合Polar碼的碼長(zhǎng),第一矩陣的N個(gè)行一一對(duì)應(yīng)于上述序列中的N個(gè)比特,N為大于或等于K的正整數(shù)。
1003,確定N個(gè)比特的可靠性,并確定第一矩陣的N個(gè)行中每一行的重量。
1004,根據(jù)N個(gè)比特的可靠性和第一矩陣的N個(gè)行中每一行的重量,選擇N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣。
步驟1002-1004可參照?qǐng)D1的步驟101-103,因此不再重復(fù)描述。
1005,按照信息比特的位置或者按照第二矩陣對(duì)待編碼的信息比特序列進(jìn)行編碼,得到碼長(zhǎng)為N的編碼比特序列。
例如,當(dāng)在步驟1004中確定K個(gè)信息比特時(shí),可確定信息比特序列的K個(gè)比特在中的位置,從而可以按照進(jìn)行編碼。
作為另一實(shí)施例,當(dāng)在步驟1004中確定K×N的第二矩陣(例如上述GN.(A)或其變型)時(shí),可按照進(jìn)行編碼,其中uA為步驟1001中接收的待編碼的信息比特序列。
在凍結(jié)比特設(shè)置為的情況下,編碼結(jié)果和相同。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善碼字的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能,是一種優(yōu)化的Polar碼。
此外,碼長(zhǎng)N和信息比特的數(shù)目K都是可以預(yù)先設(shè)置的值。即,按照本發(fā)明實(shí)施例得到的混合Polar碼的碼率是可變的。碼率由K和N確定,例如K/N。
應(yīng)注意,圖10的各個(gè)步驟的執(zhí)行順序不對(duì)本發(fā)明實(shí)施例的范圍構(gòu)成限制。本領(lǐng)域技術(shù)人員可根據(jù)需要改變圖10的各個(gè)步驟的執(zhí)行順序,例如,步驟1001可以在步驟1002-1004之后執(zhí)行,或者與步驟1002-1004同步執(zhí)行。這樣的變化均落入本發(fā)明實(shí)施例的范圍內(nèi)。
圖11是本發(fā)明一個(gè)實(shí)施例的譯碼方法的流程圖。圖11的方法由譯碼端執(zhí)行。
1101,接收長(zhǎng)度為N的解調(diào)后的信號(hào)。
1102,獲取N×N的第一矩陣以及含N個(gè)比特的序列,其中第一矩陣的N個(gè)行一一對(duì)應(yīng)于上述序列中的N個(gè)比特。
1103,確定N個(gè)比特的可靠性,并確定第一矩陣的N個(gè)行中每一行的重量。
1104,根據(jù)N個(gè)比特的可靠性和第一矩陣的N個(gè)行中每一行的重量,選擇N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣,K為不大于N的正整數(shù)。
步驟1102-1104可參照?qǐng)D1的步驟101-103,因此不再重復(fù)描述。
1105,按照信息比特的位置或者按照第二矩陣對(duì)解調(diào)后的信號(hào)進(jìn)行譯碼。
本發(fā)明實(shí)施例對(duì)譯碼的具體方式不作限制,例如可以使用SC或SC-List譯碼,從而產(chǎn)生長(zhǎng)度為K的譯碼比特序列。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善碼字的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能,是一種優(yōu)化的Polar碼。
此外,碼長(zhǎng)N和信息比特的數(shù)目K都是可以預(yù)先設(shè)置的值。即,按照本發(fā)明實(shí)施例得到的混合Polar碼的碼率是可變的。碼率由K和N確定,例如K/N。
應(yīng)注意,圖11的各個(gè)步驟的執(zhí)行順序不對(duì)本發(fā)明實(shí)施例的范圍構(gòu)成限制。本領(lǐng)域技術(shù)人員可根據(jù)需要改變圖11的各個(gè)步驟的執(zhí)行順序,例如,步驟1101可以在步驟1102-1104之后執(zhí)行,或者與步驟1102-1104同步執(zhí)行。這樣的變化均落入本發(fā)明實(shí)施例的范圍內(nèi)。
圖12是本發(fā)明一個(gè)實(shí)施例的生成混合Polar碼的裝置的框圖。圖12的裝置60包括獲取單元61、確定單元62和選擇單元63。
獲取單元61生成N×N的第一矩陣以及含N個(gè)比特的序列,其中N為碼長(zhǎng),第一矩陣的N個(gè)行一一對(duì)應(yīng)于上述序列中的N個(gè)比特,N為正整數(shù)。
確定單元62確定N個(gè)比特的可靠性,并確定第一矩陣的N個(gè)行中每一行的重量。
選擇單元63根據(jù)N個(gè)比特的可靠性和第一矩陣的N個(gè)行中每一行的重量,選擇N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣,以按照信息比特的位置或者按照第二矩陣對(duì)待編碼的信息比特序列進(jìn)行編碼生成混合Polar碼。K為待編碼的信息比特序列的長(zhǎng)度并且為不大于N的正整數(shù)。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善Polar的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能,是一種優(yōu)化的Polar碼。
圖12的裝置60能夠?qū)崿F(xiàn)圖1-圖9的方法的各個(gè)步驟,為避免重復(fù),不再詳細(xì)描述。裝置60可以位于任何網(wǎng)元中,例如可以位于用戶(hù)設(shè)備或基站中。
可選地,作為一個(gè)實(shí)施例,獲取單元61可根據(jù)N的值生成第一矩陣,例如可生成上述矩陣GN.或其變型(如)作為所述第一矩陣?;蛘?,獲取單元61可讀取預(yù)先存儲(chǔ)的對(duì)應(yīng)于N的值的第一矩陣。換句話(huà)說(shuō),可在本地預(yù)先存儲(chǔ)對(duì)應(yīng)于不同N值的第一矩陣。
可選地,作為另一實(shí)施例,獲取單元61可根據(jù)N的值生成1×N的所述序列,如上述該序列為包括信息比特和凍結(jié)比特的集合?;蛘?,獲取單元61可讀取預(yù)先存儲(chǔ)的1×N的所述序列。換句話(huà)說(shuō),可在本地預(yù)先存儲(chǔ)對(duì)應(yīng)于不同N值的序列
可選地,作為一個(gè)實(shí)施例,選擇單元63可選擇N個(gè)比特中可靠性高且對(duì)應(yīng)的第一矩陣的行的重量大于第一閾值的K個(gè)比特作為信息比特。這樣選擇的信息比特具有更大的最小碼距,提高了Polar碼的性能。
可選地,作為一個(gè)實(shí)施例,確定單元62可確定N個(gè)比特中每個(gè)比特的容量,其中容量大的比特的可靠性高;或者,確定N個(gè)比特中每個(gè)比特的Bhattacharyya參數(shù),其中Bhattacharyya參數(shù)小的比特的可靠性高;或者,確定N個(gè)比特中每個(gè)比特的錯(cuò)誤概率,其中錯(cuò)誤概率小的比特的可靠性高。
可選地,作為另一實(shí)施例,選擇單元63可按照可靠性的高低對(duì)N個(gè)比特進(jìn)行排序;在排序后的N個(gè)比特中,按照可靠性從高到低的順序選擇對(duì)應(yīng)的第一矩陣的行的重量大于第一閾值的K個(gè)比特作為信息比特。例如,選擇單元63可按照上述圖2和圖4的方法選擇信息比特。
可選地,作為另一實(shí)施例,選擇單元63可去除N個(gè)比特中對(duì)應(yīng)的第一矩陣的行的重量小于或等于第一閾值的比特,得到剩余比特;按照剩余比特的可靠性的高低對(duì)剩余比特進(jìn)行排序;在排序后的剩余比特中,按照可靠性從高到低的順序選擇K個(gè)比特作為信息比特。例如,選擇單元63可按照上述圖3和圖5的方法選擇信息比特。
可選地,作為另一實(shí)施例,選擇單元63可選擇第一矩陣的N個(gè)行中對(duì)應(yīng)的比特可靠性高且行的重量大于第一閾值的K個(gè)行構(gòu)成第二矩陣。
可選地,作為另一實(shí)施例,選擇單元63可按照對(duì)應(yīng)的比特的可靠性的高低對(duì)第一矩陣的N個(gè)行進(jìn)行排序;在排序后的N個(gè)行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇行的重量大于第一閾值的K個(gè)行構(gòu)成第二矩陣。
可選地,作為另一實(shí)施例,選擇單元63可去除行的重量小于或等于第一閾值的行,得到剩余行;按照剩余行對(duì)應(yīng)的比特的可靠性的高低對(duì)剩余行進(jìn)行排序;在排序后的剩余行中,按照對(duì)應(yīng)的比特的可靠性從高到低的順序選擇K個(gè)行構(gòu)成第二矩陣。
可選地,作為另一實(shí)施例,確定單元62還可以根據(jù)Polar碼的最小碼距要求,確定第一閾值。但本發(fā)明實(shí)施例不限于此,確定單元62在確定第一閾值時(shí)還可以考慮其他因素,例如碼率。碼率可以由上述N和K的值確定,例如等于K/N。
圖13是本發(fā)明另一實(shí)施例的編碼裝置的示意框圖。圖13的編碼裝置130中,與圖12相同的部分將使用相同的附圖標(biāo)記,并省略重復(fù)的描述。
如圖13所示,除了獲取單元61、確定單元62和選擇單元63之外,編碼裝置130還可以包括接收單元131和編碼單元132。
接收單元131接收待編碼的信息比特序列,信息比特序列的長(zhǎng)度為K,K為正整數(shù)。
獲取單元61生成N×N的第一矩陣以及含N個(gè)比特的序列,其中N為Polar碼的碼長(zhǎng),第一矩陣的N個(gè)行一一對(duì)應(yīng)于上述序列的N個(gè)比特,N為正整數(shù)。
確定單元62確定N個(gè)比特的可靠性,并確定第一矩陣的N個(gè)行中每一行的重量。
選擇單元63根據(jù)N個(gè)比特的可靠性和第一矩陣的N個(gè)行中每一行的重量,選擇N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣。K為待編碼的信息比特序列的長(zhǎng)度并且為不大于N的正整數(shù)。
編碼單元132按照信息比特的位置或者按照第二矩陣對(duì)信息比特序列進(jìn)行編碼,得到碼長(zhǎng)為N的編碼比特序列。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善Polar碼的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能。
圖14是本發(fā)明一個(gè)實(shí)施例的發(fā)射機(jī)的框圖。圖14的發(fā)射機(jī)140可包括如圖13所示的編碼裝置130,因此適當(dāng)省略重復(fù)的描述。
此外,發(fā)射機(jī)140還可以包括發(fā)射單元141,用于發(fā)射編碼裝置130產(chǎn)生的編碼比特序列。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善碼字的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能。
圖15是本發(fā)明一個(gè)實(shí)施例的譯碼裝置的框圖。圖15的譯碼裝置150中,與圖12相同的部分將使用相同的附圖標(biāo)記,并省略重復(fù)的描述。
如圖15所示,除了獲取單元61、確定單元62和選擇單元63之外,譯碼裝置150還可以包括接收單元151和譯碼單元152。
接收單元151接收長(zhǎng)度為N的解調(diào)后的信號(hào)。
獲取單元61生成N×N的第一矩陣以及含N個(gè)比特的序列,其中N為Polar碼的碼長(zhǎng),第一矩陣的N個(gè)行一一對(duì)應(yīng)于上述序列中的N個(gè)比特,N為正整數(shù)。
確定單元62確定N個(gè)比特的可靠性,并確定第一矩陣的N個(gè)行中每一行的重量。
選擇單元63根據(jù)N個(gè)比特的可靠性和第一矩陣的N個(gè)行中每一行的重量,選擇N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣。K為不大于N的正整數(shù)。
譯碼單元152按照信息比特的位置或者按照第二矩陣對(duì)解調(diào)后的信號(hào)進(jìn)行譯碼。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善Polar碼的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能。
圖16是本發(fā)明一個(gè)實(shí)施例的接收機(jī)的框圖。圖16的接收機(jī)160可包括如圖15所示的譯碼裝置150,因此適當(dāng)省略重復(fù)的描述。
此外,如圖16所示,接收機(jī)160還可以包括解調(diào)單元161,用于對(duì)所接收的信號(hào)進(jìn)行解調(diào)以產(chǎn)生長(zhǎng)度為N的解調(diào)后的信號(hào)。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善Polar碼的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能。
圖17是本發(fā)明另一實(shí)施例的裝置的示意框圖。圖17的裝置80可用于實(shí)現(xiàn)上述方法實(shí)施例中各步驟及方法。裝置170可應(yīng)用于各種通信系統(tǒng)中的基站或者終端。圖17的實(shí)施例中,裝置80包括發(fā)射電路802、接收電路803、編碼處理器804、譯碼處理器805、處理單元806,存儲(chǔ)器807及天線(xiàn)801。處理單元806控制裝置80的操作,處理單元806還可以稱(chēng)為CPU(Central Processing Unit,中央處理單元)。存儲(chǔ)器807可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理單元806提供指令和數(shù)據(jù)。存儲(chǔ)器807的一部分還可以包括非易失行隨機(jī)存取存儲(chǔ)器(NVRAM)。具體的應(yīng)用中,裝置80可以嵌入或者本身可以就是例如移動(dòng)電話(huà)之類(lèi)的無(wú)線(xiàn)通信設(shè)備,還可以包括容納發(fā)射電路802和接收電路803的載體,以允許裝置80和遠(yuǎn)程位置之間進(jìn)行數(shù)據(jù)發(fā)射和接收。發(fā)射電路802和接收電路803可以耦合到天線(xiàn)801。裝置80的各個(gè)組件通過(guò)總線(xiàn)系統(tǒng)809耦合在一起,其中總線(xiàn)系統(tǒng)809除包括數(shù)據(jù)總線(xiàn)之外,還包括電源總線(xiàn)、控制總線(xiàn)和狀態(tài)信號(hào)總線(xiàn)。但是為了清楚說(shuō)明起見(jiàn),在圖中將各種總線(xiàn)都標(biāo)為總線(xiàn)系統(tǒng)809。裝置170還可以包括用于處理信號(hào)的處理單元806,此外還包括編碼處理器804、譯碼處理器805。
上述本發(fā)明實(shí)施例揭示的方法可以應(yīng)用于編碼處理器804或譯碼處理器805中,或者由編碼處理器804或譯碼處理器805實(shí)現(xiàn)。編碼處理器804或譯碼處理器805可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)編碼處理器804或譯碼處理器805中的硬件的集成邏輯電路或者軟件形式的指令完成。這些指令可以通過(guò)處理器806以配合實(shí)現(xiàn)及控制。用于執(zhí)行本發(fā)明實(shí)施例揭示的方法,上述的譯碼處理器可以是通用處理器、數(shù)字信號(hào)處理器(DSP)、專(zhuān)用集成電路(ASIC)、現(xiàn)成可編程門(mén)陣列(FPGA)或者其他可編程邏輯器件、分立門(mén)或者晶體管邏輯器件、分立硬件組件??梢詫?shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器,譯碼器等。結(jié)合本發(fā)明實(shí)施例所公開(kāi)的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫(xiě)可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器807,編碼處理器804或譯碼處理器805讀取存儲(chǔ)器807中的信息,結(jié)合其硬件完成上述方法的步驟。例如,存儲(chǔ)器807可存儲(chǔ)所得到的Polar碼的信息比特或凍結(jié)比特的信息,供編碼處理器804或譯碼處理器805在編碼或譯碼時(shí)使用。
例如,圖13的編碼單元132可以由編碼處理器804實(shí)現(xiàn),圖15的譯碼單元152可以由譯碼處理器805實(shí)現(xiàn)。另外,圖12-13和圖15的獲取單元61、確定單元62和選擇單元63可以由處理器806實(shí)現(xiàn),也可以由編碼處理器804或譯碼處理器805實(shí)現(xiàn)。
另外,例如,圖14的發(fā)射機(jī)140可以由編碼處理器804、發(fā)射電路802和天線(xiàn)801等實(shí)現(xiàn)。圖15的接收機(jī)150可以由天線(xiàn)801、接收電路803和譯碼處理器805等實(shí)現(xiàn)。但上述例子僅僅是示意性的,并非將本發(fā)明實(shí)施例限于這樣的具體實(shí)現(xiàn)形式。
具體地,存儲(chǔ)器807存儲(chǔ)使得處理器806、編碼處理器804或譯碼處理器805實(shí)現(xiàn)以下操作的指令:生成N×N的第一矩陣以及含N個(gè)比特的序列,其中N為Polar碼的碼長(zhǎng),第一矩陣的N個(gè)行一一對(duì)應(yīng)于上述序列中的N個(gè)比特,N為正整數(shù);確定N個(gè)比特的可靠性,并確定第一矩陣的N個(gè)行中每一行的重量;根據(jù)N個(gè)比特的可靠性和第一矩陣的N個(gè)行中每一行的重量,選擇N個(gè)比特中的K個(gè)比特作為信息比特,或者選擇第一矩陣的N個(gè)行中的K個(gè)行構(gòu)成用于編碼的K×N的第二矩陣,K為不大于N的正整數(shù)。
本發(fā)明實(shí)施例在選擇混合Polar碼的信息比特或編碼矩陣時(shí),不僅考慮比特的可靠性,還考慮比特對(duì)應(yīng)的矩陣的行的重量,從而能夠改善Polar碼的性能。
另外,本發(fā)明實(shí)施例得到的混合Polar碼同樣適用于SC或SC-List譯碼,能夠得到較好的譯碼性能。
根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)或通信裝置可包括上述裝置60、編碼裝置130、發(fā)射機(jī)140、譯碼裝置150、接收機(jī)160或裝置170。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專(zhuān)業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。