一種數(shù)據(jù)包處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種數(shù)據(jù)通信傳輸技術(shù),更具體地,涉及一種數(shù)據(jù)包處理方法及裝置。
【背景技術(shù)】
[0002] 在各種數(shù)字通信系統(tǒng)中,特別是有線通信系統(tǒng),如光纖通信、微波通信、毫米波通 信等,在通信信道上傳輸都是劃分為一個個數(shù)據(jù)包來傳輸?shù)摹kS著數(shù)據(jù)網(wǎng)絡(luò)的普及以及各 種業(yè)務(wù)的發(fā)展,如瀏覽網(wǎng)頁、觀看視頻、網(wǎng)上娛樂、視頻通話等需求地出現(xiàn),都需要大量的網(wǎng) 絡(luò)流量。那么通信信道上傳輸?shù)臄?shù)據(jù)包也是比較大的,每個數(shù)據(jù)包又再劃分成各個比較小 的信道編碼碼塊(即碼塊分割)進(jìn)行傳輸,這樣信道編譯碼模塊相對復(fù)雜度較小。
[0003] 在通信系統(tǒng)中,一般設(shè)備的工作點要求在傳輸誤碼率BLER為10 1處,為了使通信 系統(tǒng)正常工作,MAC層通過支持ARQ機(jī)制,即如果數(shù)據(jù)包傳輸錯誤,這種機(jī)制通過重復(fù)發(fā)送 數(shù)據(jù)包,來保證數(shù)據(jù)的可靠傳輸。而且特別是在單向通信信道中,例如電視多媒體廣播系統(tǒng) 中傳輸各種數(shù)據(jù)時,接收端沒有辦法回傳數(shù)據(jù)給發(fā)送端,從而也就無法指示數(shù)據(jù)包是否正 確接收的信息,那么就無法使用ARQ機(jī)制。這種情況下,就需要將通信系統(tǒng)的工作點放在誤 包率BLER比較低的地方,即需要更大的SNR(或者發(fā)送更多的能量)。
[0004] 對于未來的支持HARQ的通信系統(tǒng)(5G無線通信系統(tǒng)),主要場景和需求包括直聯(lián) 通信D2D、物聯(lián)網(wǎng)通信MMC、超密度網(wǎng)絡(luò)通信UDN、移動網(wǎng)絡(luò)通信麗和超可靠通信UN。為了 滿足新的5G需求,未來的5G鏈路增強技術(shù)需要滿足低延遲、高吞吐量特點,所以對于未來 的支持HARQ的通信系統(tǒng)如何減少HARQ的重傳次數(shù)或者重傳延遲是有待解決的問題,其中 降低傳輸數(shù)據(jù)包的誤包率BLER的是一種非常直接有效的解決途徑。
[0005] 特別是對于未來的不支持ARQ的通信系統(tǒng),這些系統(tǒng)一般用于局域網(wǎng)系統(tǒng)或者一 些廣播通信系統(tǒng),那么需要比較低的數(shù)據(jù)傳輸誤碼率BLER。根據(jù)數(shù)字通信中,誤包率BLER 和誤碼率BCER的關(guān)系:
[0006] BLER = I-(I-BCER)n ^ η X BCER
[0007] 從該公式中,可以看出如果系統(tǒng)傳輸?shù)臄?shù)據(jù)包比較大時,那么碼塊數(shù)就會很多,即 可能會達(dá)到幾百上千個碼塊,則要求誤包率BLER在較低工作點時,編碼碼塊的誤碼率BCER 工作點需要更低。系統(tǒng)則需要付出大量的信噪比,特別是在信道條件比較差的情況下系統(tǒng) 效率將受到很明顯的限制。所以在不支持ARQ的通信系統(tǒng)中,亟待解決的問題是如何提高 傳輸數(shù)據(jù)包的性能BLER。
[0008] 總之,現(xiàn)有通信系統(tǒng)中缺少一種分割為較多編碼塊的大數(shù)據(jù)包的編碼方案。如何 設(shè)計一種簡單而且有效的、誤包率BLER較好的和復(fù)雜度較低的編碼方案是有待解決的問 題。
【發(fā)明內(nèi)容】
[0009] 為解決現(xiàn)有數(shù)據(jù)包傳輸?shù)恼`包率比較差問題,本發(fā)明需要提供一種可以提高數(shù)據(jù) 包的傳輸性能的數(shù)據(jù)包處理方法及裝置。
[0010] 本發(fā)明提供的數(shù)據(jù)包處理方法包括:
[0011] 對源數(shù)據(jù)包進(jìn)行碼塊分割,得到a塊子數(shù)據(jù)包;
[0012] 對所述a塊子數(shù)據(jù)包中的每塊子數(shù)據(jù)包,進(jìn)行糾錯編碼或者添加 CRC序列后再進(jìn) 行糾錯編碼,得到a塊糾錯編碼子數(shù)據(jù)包;
[0013] 對所述a塊糾錯編碼子數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)編碼,得到b塊校驗子數(shù)據(jù)包;
[0014] 對所述a塊糾錯編碼子數(shù)據(jù)包和b塊校驗子數(shù)據(jù)包分別進(jìn)行比特選擇操作,共同 構(gòu)成編碼后的數(shù)據(jù)包;
[0015] 其中,a, b是大于0的整數(shù)。
[0016] 較佳地,
[0017] 對所述a塊糾錯編碼子數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)編碼之前,還包括:
[0018] 進(jìn)行比特填充操作,使得所述a塊糾錯編碼子數(shù)據(jù)包中的每塊糾錯編碼子數(shù)據(jù)包 的首位置和/或尾位置具有O 1個填充比特,i = 〇、1、…、a-Ι,〇1為大于等于0的整數(shù)。
[0019] 較佳地,
[0020] 對所述a塊糾錯編碼子數(shù)據(jù)包和b塊校驗子數(shù)據(jù)包分別進(jìn)行比特選擇操作,共同 構(gòu)成編碼后的數(shù)據(jù)包,包括:
[0021] 從所述的a塊糾錯編碼子數(shù)據(jù)包中選擇除第一集合丨SETA0, SETAl, SETA(tf-1)}指示的比特之外的非填充比特,從所述的b塊校驗子數(shù)據(jù)包中選擇除第二集 ^ { SETPO,SETPl,...,SETP仏-1) }指示的比特之外的非填充比特,所有選擇的比 特構(gòu)成編碼后的數(shù)據(jù)包;
[0022] 其中,SETA/'是第i塊糾錯編碼子數(shù)據(jù)包中沒有被選擇的非填充比特的索引集 合;SEiry是第j塊校驗子數(shù)據(jù)包中沒有被選擇的比特的索引集合;且(a+b)個索引集合 (STTAO v SFT41、... V SE:TA(ii -1)、SETPO、SETPl、…、Sf ΓΡ(Λ-Ι):)中,任意兩個 不同索引集合構(gòu)成一個集合對,如此構(gòu)成的所有個集合對中至少有h %的集合對的交 集是空集;1=0、1、~、3-1;」=0、1、~、13-1;11是在[10,100]內(nèi)取值的一個實數(shù)。
[0023] 較佳地,
[0024] 對所述a塊糾錯編碼子數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)編碼,得到b塊校驗子數(shù)據(jù)包,包括:
[0025] 將所有a塊糾錯編碼子數(shù)據(jù)包的第p比特構(gòu)成一長度為a比特的序列Sp,p = 0、 1、"·、η-1,η為大于1的整數(shù);
[0026] 對Sp進(jìn)行單奇偶校驗編碼、b重比特奇偶校驗編碼或RS編碼,得到長度為b比特 的校驗序列Tp ;
[0027] 將所有校驗序列Tp的第q個比特順序組合,得到長度為η比特的校驗子數(shù)據(jù)包 Pq, q = 0、1、...、b-l〇
[0028] 較佳地,
[0029] 所述糾錯編碼米用LDPC編碼、Turbo編碼或者卷積編碼。
[0030] 較佳地,
[0031] 所述 h 的取值等于 100、95、90、80、75 或 50。
[0032] 較佳地,
[0033] 所述進(jìn)行比特填充操作,包括以下的一種或多種方式:
[0034] 對源數(shù)據(jù)包進(jìn)行碼塊分割之前,對所述源數(shù)據(jù)包填充k'比特,使得填充后的源數(shù) 據(jù)包的長度能被ml整除,其中,k'是大于等于0的整數(shù),ml為預(yù)定的第一碼塊長度;
[0035] 對源數(shù)據(jù)包進(jìn)行碼塊分割得到a塊子數(shù)據(jù)包之后,對a塊子數(shù)據(jù)包分別填充Ic1比 特,使得填充后的每塊子數(shù)據(jù)包的長度均等于預(yù)定的第二碼塊長度m2,其中,Ic 1是大于等于 〇 的整數(shù),i = 〇、1、"'a-1 ;
[0036] 得到a塊糾錯編碼子數(shù)據(jù)包之后,對所a塊糾錯編碼子數(shù)據(jù)包分別填充k,比特, 使得填充后的每塊糾錯編碼子數(shù)據(jù)包的長度均等于預(yù)定的第三碼塊長度m3,其中,k,是大 于等于0的整數(shù),j = 0、l、"'a-1。
[0037] 較佳地,
[0038] 所述糾錯編碼采用LDPC編碼,所述網(wǎng)絡(luò)編碼采用單奇偶校驗編碼,得到一塊長 度為η比特的校驗子數(shù)據(jù)包PO, h = 100,且有:索引集合中第一個索引等于索 引集合SETA(Z-I)中最后一個索引加1 ;索引集合中第一個索引等于索引集合 SETA("-1)中最后一個索引加1 ;其中,η為大于1的整數(shù)。
[0039] 較佳地,
[0040] 對所述a塊糾錯編碼子數(shù)據(jù)包和b塊校驗子數(shù)據(jù)包分別進(jìn)行比特選擇操作,共同 構(gòu)成編碼后的數(shù)據(jù)包時,該數(shù)據(jù)包Y按以下方式生成:
[0042] 其中,ei,為大于等于0的整數(shù),表示索引集合:的長度;f0為大于等于0的 整數(shù),表示索引集合的長度%是大于等于 ei的整數(shù),表示C1中非填充比特的總個 數(shù);表達(dá)式.
是求和公式,c2大于等于cl時ek取原值,c2小于cl時將e k置0 是大 于等于0的整數(shù),表示Ci中第一個非填充比特的索引,h。= 0 ;i = 0、1、"^a-I時,Ci表示 包括填充比特的糾錯編碼子數(shù)據(jù)包,i = a時,Ci表示校驗子數(shù)據(jù)包PO,
分別表示第i塊子數(shù)據(jù)包的第(m+lO個和第(!!!++I1Je1)個比特;Ylini表示數(shù)據(jù)包Y包含的 第i個子數(shù)據(jù)包的第m個比特,C1中填充比特的數(shù)目大于等于0。
[0043] 較佳地,
[0044] 若a小于等于設(shè)定閾值A(chǔ)而且大于1,索引集合的長度ei和索引集合 SETPO的長度f〇采用以下方式確定:
[0046] 其中,ei,f0是大于等于0的整數(shù);表達(dá)式
是求和公式;η大于等于
表示校驗子數(shù)據(jù)包PO的長度;A為大于等于2的整數(shù);E為大于等于1的整 數(shù)A是大于等于0的整數(shù)。
[0047] 較佳地,
[0048] 若a大于設(shè)定閾值A(chǔ),索引集合SETA/+的長度G1和索引集合SETPO的長度f〇采 用以下方式確定:
[0052] 其中,ei,fO是大于等于0的整數(shù);表達(dá)式
是求和公式;η大于等于
,表示校驗子數(shù)據(jù)包PO的長度;A為大于等于2的整數(shù);Γι是大于等于0的整 數(shù)。
[0053] 較佳地,
[0054] 若a = 1,索引集合SETA/的長度S1和索引集合g_E〒i>〇的長度f0采用以下方式 確定:
[0056] 其中,ei,f0是大于等于0的整數(shù);表達(dá)式
是求和公式;η大于等于
,表 示校驗子數(shù)據(jù)包PO的長度是大于等于0的整數(shù)。
[0057] 較佳地,
[0058] 所述A是在[10, 24]內(nèi)取值的一個整數(shù)。
[0059] 較佳地,
[0060] 所述 E 為 16、32、42、64、84、128、126 或 256。
[0061] 相應(yīng)地,本發(fā)明提供的數(shù)據(jù)包處理裝置包括:
[0062] 碼塊分割模塊,配置為對源數(shù)據(jù)包進(jìn)行碼塊分割,得到a塊子數(shù)據(jù)包;
[0063] 糾錯編碼模塊,配置為對所述a塊子數(shù)據(jù)包中的每塊子數(shù)據(jù)包,進(jìn)行糾錯編碼或 者添加 CRC序列后再進(jìn)行糾錯編碼,得到a塊糾錯編碼子數(shù)據(jù)包;
[0064] 網(wǎng)絡(luò)編碼模塊,配置為對所述a塊糾錯編碼子數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)編碼,得到b塊校驗 子數(shù)據(jù)包,b是大于0的整數(shù);
[0065] 比特選擇模塊,配置對所述a塊糾錯編碼子數(shù)據(jù)包和b塊校驗子數(shù)據(jù)包分別進(jìn)行 比特選擇操作,共同構(gòu)成編碼后的數(shù)據(jù)包。
[0066] 較佳地,
[0067] 所述裝置還包括:比特填充模塊,配置為對所述a塊糾錯編碼子數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò) 編碼之前進(jìn)行比特填充操作,使得所述a塊糾錯編碼子數(shù)據(jù)包中的每塊糾錯編碼子數(shù)據(jù)包 的首位置和/或尾位置具有O1個填充比特,i = 〇、1、…、a-Ι,〇1為大于等于0的整數(shù)。 [0068] 較佳地,
[0069] 所述比特選擇模塊對所述a塊糾錯編碼子數(shù)據(jù)包和b塊校驗子數(shù)據(jù)包分別進(jìn)行比 特選擇操作,共同構(gòu)成編碼后的數(shù)據(jù)包,包括:
[0070] 從所述的a塊糾錯編碼子數(shù)據(jù)包中選擇除第一集合丨....、 SETA(^-I)丨指示的比特之外的非填充比特,從所述的b塊校驗子數(shù)據(jù)包中選擇除第二集 合{ SETPO,SETPl ,遠(yuǎn)指示的比特之外的非填充比特,所有選擇的比 特構(gòu)成編碼后的數(shù)據(jù)包;
[0071 ] 其中,是第i塊糾錯編碼子數(shù)據(jù)包中沒有被選擇的非填充比特的索引集 合;SETP/是第j塊校驗子數(shù)據(jù)包中沒有被選擇的比特的索引集合;且(a+b)個索引集合 (SETAO、SETAl、…、SETA("-1)、SETPO、SETPl、…·' SETP(^-I))中,任意兩個 不同索引集合構(gòu)成一個集合對,如此構(gòu)成的所有個集合對中至少有h %的集合對的交 集是空集;1 = 0、1、~、3-1;」=0、1、~、13-1;11是在[10,100]內(nèi)取值的一個實數(shù)。
[0072] 較佳地,
[0073] 所述網(wǎng)絡(luò)編碼模塊對所述a塊糾錯編碼子數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)編碼得到b塊校驗子數(shù) 據(jù)包,包括:
[0074] 將所有a塊糾錯編碼子數(shù)據(jù)包的第p比特構(gòu)成一長度為a比特的序列Sp,p = 0、 1、"·、η-1,η為大于1的整數(shù);
[0075] 對Sp進(jìn)行單奇偶校驗編碼、b重比特奇偶校驗編碼或RS編碼,得到長度為b比特 的校驗序列Tp ;
[0076] 將所有校驗序列Tp的第q個比特順序組合,得到長度為η比特的校驗子數(shù)據(jù)包 Pq, q = 0、1、...、b-l〇
[0077] 較佳地,
[0078] 所述糾錯編碼米用LDPC編碼、Turbo編碼或者卷積編碼。
[0079] 較佳地,
[008