本發(fā)明適用于數(shù)字通信領(lǐng)域,尤其涉及基于有限長度循環(huán)緩存速率匹配的數(shù)據(jù)發(fā)送方法及裝置。
背景技術(shù):在諸多信道編碼技術(shù)中,Turbo碼是目前公認(rèn)的最好的前向糾錯編碼之一。Turbo碼的糾錯性能遠(yuǎn)比其它編碼的糾錯性能優(yōu)越,而且譯碼迭代的次數(shù)越多,則譯碼糾錯的性能越好,因此通常多被建議在可靠性要求很高的數(shù)據(jù)傳輸場合使用。例如,第三代移動通信就采用了8狀態(tài)1/3碼率的二進制Turbo碼作為信道編碼的標(biāo)準(zhǔn)。通常應(yīng)用的二進制Turbo編碼是一種帶有內(nèi)部交織器的并行級聯(lián)碼,一般由兩個結(jié)構(gòu)相同的遞歸系統(tǒng)卷積碼(RSC)分量碼編碼器并行級聯(lián)而成。Turbo碼內(nèi)交織器在第二個分量碼編碼器之前將輸入的二進制信息序列中的比特位置進行隨機置換,當(dāng)交織器充分大時,Turbo碼就具有近似隨機長碼的特性。在WCDMA和TD-SCDMA中就使用了這樣一種二進制Turbo碼。輸入的二進制信息序列Xk經(jīng)過第一個分量碼編碼器生成一路校驗序列Zk。同時輸入二進制信息序列Xk經(jīng)過Turbo碼內(nèi)交織器交織后,由第二個分量碼編碼器生成另一路校驗序列此時,如果不對編碼比特打孔,Turbo編碼的輸出碼率為1/3,輸出端得到的編碼比特序列為x1,z1,z′1,x2,z2,z′2,…,xK,zK,z′K,其中K為輸入二進制信息序列長度。當(dāng)所有信息比特序列編碼完成后,需要從移位寄存器反饋中取出尾比特來執(zhí)行格形運算終止。最先的3個尾比特用于終止第一個分量碼編碼器,最后的三個尾比特用于終止第二個分量碼編碼器。按以上操作可得到12個格形運算終止的發(fā)送比特,其比特順序為:xK+1,zK+1,xK+2,zK+2,xK+3,zK+3,x′K+1,z′K+1,x′K+2,z′K+2,x′K+3,z′K+3,,添加在編碼比特序列之后,就完成了一次Turbo編碼。在3GPP(3rdGenerationPartnershipProject)LTE中信息塊的信息序列長度由系統(tǒng)分配的物理資源塊NPRB和傳輸塊索引ITBS來決定,其中物理資源塊的個數(shù)是指按照時間和頻率劃分的資源個數(shù)。NPRB和ITBS帶入傳輸塊碼表即可查詢出對應(yīng)的信息序列長度。作為3GPPRel-6速率匹配算法的替代,基于循環(huán)緩沖區(qū)的速率匹配(CircularBufferRateMatching,CBRM)提供一個可以簡單地生成性能優(yōu)良的刪余圖樣的方法,其具體結(jié)構(gòu)如圖1所示。在循環(huán)緩沖速率匹配方法中,每個數(shù)據(jù)流將被各自的子交織器重新排列,被稱為塊內(nèi)交織(sub-blockinterleaver);通常為了簡化硬件實現(xiàn),塊交織器的列數(shù)固定,行數(shù)隨著交織長度的改變而改變,因此循環(huán)緩存可以看作一個“R行×C列”的行列緩存,即看作一個“R行×C列”虛擬的緩存。如3GPP的循環(huán)緩沖速率匹配方法中所采用的塊內(nèi)交織就是一個列數(shù)固定32列的塊交織器。因為循環(huán)緩存中有系統(tǒng)比特、第一校驗比特和第二校驗比特三個數(shù)據(jù)流,所以“循環(huán)緩存”可以看作一個列數(shù)是96列的虛擬緩存。在單一輸出緩存中,將重排后的系統(tǒng)比特放在開始位置,隨后交錯地放置兩個重排的校驗比特數(shù)據(jù)流,被稱為塊間交織。對于期望的碼率(Rate),循環(huán)緩沖速率匹配的比特選擇是從緩存的某處開始點順序讀出L個比特,作為速率匹配的輸出??偟膩碚f,被選擇用于傳輸?shù)谋忍乜梢詮木彺娴娜魏我粋€點開始被讀出來,如果到達緩存的末尾,可以繞到緩存的開始位置繼續(xù)讀數(shù)據(jù),直到完成讀取L個比特為止,如圖2所示。混合自動請求重傳(HARQ)是一種數(shù)字通信系統(tǒng)中極其重要的鏈路自適應(yīng)技術(shù)。接收端對其接收的HARQ數(shù)據(jù)包進行譯碼,若譯碼正確則反饋ACK信號給發(fā)送端,通知其發(fā)送新的HARQ數(shù)據(jù)包;若譯碼失敗則反饋NACK信號給發(fā)送端,請求發(fā)送端重新發(fā)送HARQ數(shù)據(jù)包。接收端通過對多次重傳的數(shù)據(jù)包進行IR或Chase合并譯碼,可以提高其譯碼成功概率,實現(xiàn)鏈路傳輸?shù)母呖煽啃砸?。在混合自動請求重?HARQ)方式下,在循環(huán)緩存中可以指定不同的位置作為每次傳輸HARQ數(shù)據(jù)包讀取的起點位置。冗余版本(RedundancyVersion,RV)的定義即確定了HARQ數(shù)據(jù)包在循環(huán)緩存中讀取的多個起點位置,冗余版本取值便確定了本次傳輸HARQ數(shù)據(jù)包在循環(huán)緩存中讀取的具體起點位置。例如在3GPP系統(tǒng)中,基于循環(huán)緩沖速率匹配的HARQ處理過程定義4種RV版本(RV=0,1,2,3)。每次HARQ重傳L長的子包是從冗余版本定義的起點開始,順時針選取L個比特組成的。HARQ功能包括兩次速率匹配和一個虛擬IR緩存,第一次速率匹配過程將輸入比特數(shù)匹配到虛擬IR緩存,虛擬IR緩存由高層配置。如果輸入比特數(shù)不超過虛擬IR的能力,則不需要被打掉任何比特,否則需要去掉多余的比特。第二次速率匹配過程是為了符合信道的要求,將第一次速率匹配后的比特數(shù)匹配到多個物理信道的總比特數(shù)。有限長度循環(huán)緩存的長度是受限的,其速率匹配是在限制循環(huán)緩存長度的基礎(chǔ)上,根據(jù)期望的輸出碼率,選擇L個編碼比特,作為循環(huán)緩存速率匹配的輸出;與非受限的循環(huán)緩存的速率匹配類似,被選擇用于傳輸?shù)谋忍乜梢詮木彺嫫髦械娜魏挝恢瞄_始讀出來。如果達到緩存器的末尾,可以繞到緩存器的開始位置繼續(xù)讀取數(shù)據(jù)。通常在有限長度循環(huán)緩存中可以指定不同的位置作為每次傳輸HARQ數(shù)據(jù)包讀取的起點位置,即制定冗余版本取值對應(yīng)的HARQ包的起點位置。在某些通信系統(tǒng)中,為了節(jié)省信令開銷,將RV=0的冗余版本和新數(shù)據(jù)指示符(NewDataIndicator,NDI)復(fù)用,即RV=0既表示冗余版本取值為0的HARQ包讀取數(shù)據(jù)的起點,同時也表示一個新數(shù)據(jù)塊的起點。這樣,為了避免混淆,在一個數(shù)據(jù)塊的重傳過程中,RV=0只能作為第一次HARQ包的讀取起點,以后的重傳中不允許再使用RV=0。例如,在3GPP中,8次重傳RV的一個取值序列為RV={0,2,1,3,0,2,1,3}。在考慮RV=0和NDI復(fù)用的情況下,RV=0和RV=1之間,RV=1和RV=2之間,RV=2和RV=3之間的起始位置的距離應(yīng)該相同,而最后一個RV(例如RV=3)和RV=0之間的距離應(yīng)較小,這種RV的分布方式可以更好地保護系統(tǒng)比特。在現(xiàn)有的有限長度循環(huán)緩存的速率匹配方法中,由于冗余版本的數(shù)量有限,僅為4個。當(dāng)系統(tǒng)的重傳次數(shù)很大時,重傳的HARQ點不能均勻分布,部分碼字出現(xiàn)較多次重疊,而另外一部分碼字則重疊較少,這樣會導(dǎo)致重傳性能的下降。另外,當(dāng)系統(tǒng)的以高于1的碼率進行首傳和重傳時,數(shù)量過少的冗余版本會導(dǎo)致編碼器產(chǎn)生的部分碼字不被傳輸,也會導(dǎo)致性能下降。
技術(shù)實現(xiàn)要素:本發(fā)明要解決的技術(shù)問題是提供一種基于有限長度循環(huán)緩存速率匹配的數(shù)據(jù)發(fā)送方法及裝置,解決高碼率首傳和重傳導(dǎo)致的碼字覆蓋不均勻的問題。為了解決上述技術(shù)問題,本發(fā)明提供了一種基于有限長度循環(huán)緩存速率匹配的數(shù)據(jù)發(fā)送方法,其中,對輸入信息塊的數(shù)據(jù)比特進行編碼,根據(jù)編碼結(jié)果確定一維有限長度循環(huán)緩存的大?。辉O(shè)置各冗余版本對應(yīng)的一維有限長度循環(huán)緩存起始位置近似均勻分布在所述一維有限長度循環(huán)緩存中;按照設(shè)定順序依次選擇冗余版本,從所選擇的冗余版本的取值對應(yīng)的有限長度循環(huán)緩存起始位置開始順序讀取預(yù)設(shè)長度的數(shù)據(jù)比特組成混合自動重傳請求數(shù)據(jù)包并發(fā)送。進一步地,上述方法還可以具有以下特點:第idx個冗余版本的起始位置由下式確定:其中,idx的值是0和Nrv-1之間的正整數(shù);表示塊交織器的行數(shù);Q和P是用于控制起始位置間距離的正整數(shù);Operation(·)表示取整修正函數(shù);Ncb是指編碼后的比特數(shù)即碼塊大?。籸vidx表示索引號為idx的冗余版本的取值,0≤rvidx<Nrv,Nrv=8時rvidx屬于集合{0,1/2,1,3/2,2,5/2,3,7/2};Nrv=16時rvidx屬于集合{0,1/4,1/2,3/4,1,5/4,3/2,7/4,2,9/4,5/2,11/4,3,13/4,7/2,15/4};OFFSET1、OFFSET2、OFFSET3為偏移值。進一步地,上述方法還可以具有以下特點:OFFSET1、OFFSET2、OFFSET3是以下取值方式中的一種:OFFSET1為0,OFFSET2為offset1,OFFSET3為offset;其中offset1是第索引號為idx的冗余版本對應(yīng)的偏移系數(shù),offset表示第一個冗余版本取值對應(yīng)的混合自動重傳請求數(shù)據(jù)包起點相對二維有限長度循環(huán)緩存第一列的起點之間移列數(shù);OFFSET1為0,OFFSET2為0,OFFSET3為offset;OFFSET1為offset1,OFFSET2為0,OFFSET3為offset;OFFSET1為0,OFFSET2為0,OFFSET3為offset1。進一步地,上述方法還可以具有以下特點:Nrv=8時,所述設(shè)定順序是指{0,1/2,2,5/2,1,3/2,3,7/2};Nrv=16時,所述設(shè)定順序是指{0,1/4,1/2,3/4,2,9/4,5/2,11/4,1,5/4,3/2,7/4,3,13/4,7/2,15/4}。進一步地,上述方法還可以具有以下特點:在子幀聚合的模式下,輸入信息塊的比特數(shù)由物理資源塊個數(shù)T·NPRB和傳輸快索引ITBS來決定,其中系數(shù)T為聚合系數(shù),在每個子幀中只傳輸NPRB個物理資源塊對應(yīng)的碼字比特數(shù),在連續(xù)傳輸T個子幀中,選取T個冗余版本以固定的序列進行傳輸。為了解決上述技術(shù)問題,本發(fā)明還提供了一種基于有限長度循環(huán)緩存速率匹配的數(shù)據(jù)發(fā)送裝置,包括編碼模塊、緩存起始位置設(shè)置模塊、數(shù)據(jù)讀取與發(fā)送模塊;所述編碼模塊,用于對輸入信息塊的數(shù)據(jù)比特進行編碼,根據(jù)編碼結(jié)果確定一維有限長度循環(huán)緩存的大??;所述緩存起始位置設(shè)置模塊,用于設(shè)置各冗余版本對應(yīng)的一維有限長度循環(huán)緩存起始位置近似均勻分布在所述一維有限長度循環(huán)緩存中;所述數(shù)據(jù)讀取與發(fā)送模塊,用于按照設(shè)定順序依次選擇冗余版本,從所選擇的冗余版本的取值對應(yīng)的有限長度循環(huán)緩存起始位置開始順序讀取預(yù)設(shè)長度的數(shù)據(jù)比特組成混合自動重傳請求數(shù)據(jù)包并發(fā)送。進一步地,上述裝置還可以具有以下特點:第idx個冗余版本的起始位置由下式確定:其中,idx的值是0和Nrv-1之間的正整數(shù);表示塊交織器的行數(shù);Q和P是用于控制起始位置間距離的正整數(shù);Operation(·)表示取整修正函數(shù);Ncb是指編碼后的比特數(shù)即碼塊大小;rvidx表示索引號為idx的冗余版本的取值,0≤rvidx<Nrv,Nrv=8時rvidx屬于集合{0,1/2,1,3/2,2,5/2,3,7/2};Nrv=16時rvidx屬于集合{0,1/4,1/2,3/4,1,5/4,3/2,7/4,2,9/4,5/2,11/4,3,13/4,7/2,15/4};OFFSET1、OFFSET2、OFFSET3為偏移值。進一步地,上述裝置還可以具有以下特點:OFFSET1、OFFSET2、OFFSET3是以下取值方式中的一種:OFFSET1為0,OFFSET2為offset1,OFFSET3為offset;其中offset1是第索引號為idx的冗余版本對應(yīng)的偏移系數(shù),offset表示第一個冗余版本取值對應(yīng)的混合自動重傳請求數(shù)據(jù)包起點相對二維有限長度循環(huán)緩存第一列的起點之間移列數(shù);OFFSET1為0,OFFSET2為0,OFFSET3為offset;OFFSET1為offset1,OFFSET2為0,OFFSET3為offset;OFFSET1為0,OFFSET2為0,OFFSET3為offset1。進一步地,上述裝置還可以具有以下特點:Nrv=8時,所述設(shè)定順序是指{0,1/2,2,5/2,1,3/2,3,7/2};Nrv=16時,所述設(shè)定順序是指{0,1/4,1/2,3/4,2,9/4,5/2,11/4,1,5/4,3/2,7/4,3,13/4,7/2,15/4}。本發(fā)明在系統(tǒng)以高于1的碼率進行首傳或重傳時,為使用高碼率進行首傳和重傳提供更均勻的碼字覆蓋,可以更好地傳輸碼字中所有的比特,并且在低信噪比時獲得更好的性能。附圖說明圖1是循環(huán)緩沖速率匹配的結(jié)構(gòu);圖2是二維有限長度循環(huán)緩存結(jié)構(gòu);圖3是實施例中基于有限長度循環(huán)緩存速率匹配的數(shù)據(jù)發(fā)送方法的示意圖。具體實施方式如圖3所示,基于有限長度循環(huán)緩存速率匹配的數(shù)據(jù)發(fā)送方法包括:對輸入信息塊的數(shù)據(jù)比特進行編碼,根據(jù)編碼結(jié)果確定一維有限長度循環(huán)緩存的大??;設(shè)置各冗余版本對應(yīng)的一維有限長度循環(huán)緩存起始位置近似均勻分布在所述一維有限長度循環(huán)緩存中;按照設(shè)定順序依次選擇冗余版本,從所選擇的冗余版本的取值對應(yīng)的有限長度循環(huán)緩存起始位置開始順序讀取預(yù)設(shè)長度的數(shù)據(jù)比特組成混合自動重傳請求數(shù)據(jù)包并發(fā)送。本方案中冗余版本取值的個數(shù)可以是4、8、16、32或其它值。上述方法近似均勻分布可以采用多種方式,如以下方式:第idx個冗余版本的起始位置由下式確定:其中,idx的值是0和Nrv-1之間的正整數(shù);表示塊交織器的行數(shù);Q和P是用于控制起始位置間距離的正整數(shù);Operation(·)表示取整修正函數(shù);Ncb是指編碼后的比特數(shù)即碼塊大??;rvidx表示索引號為idx的冗余版本的取值,0≤rvidx<Nrv,Nrv=8時rvidx屬于集合{0,1/2,1,3/2,2,5/2,3,7/2};Nrv=16時rvidx屬于集合{0,1/4,1/2,3/4,1,5/4,3/2,7/4,2,9/4,5/2,11/4,3,13/4,7/2,15/4};OFFSET1、OFFSET2、OFFSET3為偏移值。其中,OFFSET1、OFFSET2、OFFSET3是以下取值方式中的一種:OFFSET1為0,OFFSET2為offset1,OFFSET3為offset;其中offset1是第索引號為idx的冗余版本對應(yīng)的偏移系數(shù),offset表示第一個冗余版本取值對應(yīng)的混合自動重傳請求數(shù)據(jù)包起點相對二維有限長度循環(huán)緩存第一列的起點之間移列數(shù);OFFSET1為0,OFFSET2為0,OFFSET3為offset;OFFSET1為offset1,OFFSET2為0,OFFSET3為offset;OFFSET1為0,OFFSET2為0,OFFSET3為offset1。Nrv=8時,所述設(shè)定順序是指{0,1/2,2,5/2,1,3/2,3,7/2};Nrv=16時,所述設(shè)定順序是指{0,1/4,1/2,3/4,2,9/4,5/2,11/4,1,5/4,3/2,7/4,3,13/4,7/2,15/4}。在子幀聚合的模式下,輸入信息塊的比特數(shù)由物理資源塊個數(shù)T·NPRB和傳輸快索引ITBS來決定,其中系數(shù)T為聚合系數(shù),在每個子幀中只傳輸NPRB個物理資源塊對應(yīng)的碼字比特數(shù),在連續(xù)傳輸T個子幀中,選取T個冗余版本以固定的序列進行傳輸。使用上述方法的數(shù)據(jù)發(fā)送裝置包括編碼模塊、緩存起始位置設(shè)置模塊、數(shù)據(jù)讀取與發(fā)送模塊;所述編碼模塊,用于對輸入信息塊的數(shù)據(jù)比特進行編碼,根據(jù)編碼結(jié)果確定一維有限長度循環(huán)緩存的大小;所述緩存起始位置設(shè)置模塊,用于設(shè)置各冗余版本對應(yīng)的一維有限長度循環(huán)緩存起始位置近似均勻分布在所述一維有限長度循環(huán)緩存中;所述數(shù)據(jù)讀取與發(fā)送模塊,用于按照設(shè)定順序依次選擇冗余版本,從所選擇的冗余版本的取值對應(yīng)的有限長度循環(huán)緩存起始位置開始順序讀取預(yù)設(shè)長度的數(shù)據(jù)比特組成混合自動重傳請求數(shù)據(jù)包并發(fā)送。本裝置模塊具體的執(zhí)行方式與上述方法中描述的相同此處不再贅述。具體實施例一多個冗余版本可以基于一個更小集合冗余版本進行偏移派生出來。每個冗余版本的起始位置由決定:其中具體參數(shù)的含義與上述方法中相同。具體實施例二重新定義冗余版本使之成為一組系數(shù)。每個冗余版本的起始位置由決定:其中具體參數(shù)的含義與上述方法中相同。Nrv=8時冗余版本rvidx屬于集合{0,1/2,1,3/2,2,5/2,3,7/2}。Nrv=16時冗余版本rvidx屬于集合{0,1/4,1/2,3/4,1,5/4,3/2,7/4,2,9/4,5/2,11/4,3,13/4,7/2,15/4}。按照指定的順序傳輸冗余版本系數(shù),Nrv=8時使用傳輸順序為{0,1/2,2,5/2,1,3/2,3,7/2},Nrv=16時使用傳輸順序為(0,1/4,1/2,3/4,2,9/4,5/2,11/4,1,5/4,3/2,7/4,3,13/4,7/2,15/4)。各冗余版本取值對應(yīng)的HARQ數(shù)據(jù)包起始位置還可以有如下變形或者本方案在系統(tǒng)的重傳次數(shù)很大(>8)時,使得重傳的HARQ點均勻分布且多數(shù)碼字出現(xiàn)的重疊次數(shù)較為一致。確保了重傳性能。另外,當(dāng)系統(tǒng)的以高于1的碼率進行很多次(>8)首傳和重傳時,擴展的冗余版本會使得編碼器產(chǎn)生的碼字被全部覆蓋。綜上所述,本方案在系統(tǒng)以高于1的碼率進行首傳或重傳時,可以更好地傳輸碼字中所有的比特。并且在低信噪比時獲得更好的性能,從而達到更好的覆蓋。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計算機可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。