專利名稱:一種數(shù)字通信系統(tǒng)中的信道交織方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字通信領(lǐng)域中的交織過程。
通信的目的是把對方不知道的消息及時可靠的傳送給對方,因此,要求一個通信系統(tǒng)傳輸消息必須可靠與快速。在數(shù)字通信系統(tǒng)中可靠與快速往往是一對矛盾。若要求快速,則必然使得每個數(shù)據(jù)碼元所占的時間縮短,波形變窄,能量減少,從而在受到干擾后產(chǎn)生錯誤的可能性增加,傳送消息的可靠性減低。若要求可靠,則使得傳送消息的速率變慢。因此,如何較合理的解決可靠性與速度這一對矛盾,是正確設(shè)計一個通信系統(tǒng)的關(guān)鍵問題之一。糾錯碼正是在解決這一對矛盾中不斷發(fā)展起來的。
在《糾錯碼--原理與方法》一書(王新梅,肖國鎮(zhèn)著,西安電子科技大學(xué)出版社,1991年第一版)中對糾錯碼作了詳盡的闡述。目前數(shù)字通信系統(tǒng)中,利用糾錯碼或檢錯碼進行差錯控制的方式大致有以下幾類重傳反饋方式(ARQ)即發(fā)送端發(fā)出能夠發(fā)現(xiàn)錯誤的碼,接收端收到通過信道傳來的碼后,在譯碼器根據(jù)該碼的編碼規(guī)則,判決收到的碼序列中有無錯誤產(chǎn)生,并通過反饋信道把判決結(jié)果用判決信號告訴發(fā)送端。發(fā)端根據(jù)這些判決信號,把接收端認(rèn)為有錯的消息再次傳送,直到接收端認(rèn)為正確為止。
前向糾錯方式(FEC)即發(fā)送端發(fā)送能夠被糾錯的碼,接收端收到這些碼后,通過糾錯譯碼器不僅能自動發(fā)現(xiàn)錯誤,而且能自動糾正接收碼字傳輸中的錯誤。這種方式的優(yōu)點是不需要反饋信道,能進行一個用戶對多個用戶的同播通信,譯碼實時性好,控制電路比ARQ簡單。為了要獲得比較低的誤碼率,往往必須以最壞的信道條件來設(shè)計糾錯碼,故所需的多余度碼元比檢錯碼要多得多,從而使編碼率很低。但由于這種方式能實現(xiàn)同播通信,特別適用于軍用通信,且隨著編碼理論的發(fā)展和編譯碼設(shè)備所需的大規(guī)模集成電路成本的不斷降低,譯碼設(shè)備有可能做得越來越簡單,成本也越來越低,因而在實際的通信中逐漸得到廣泛應(yīng)用。
混合糾錯方式(HEC)這種方式是發(fā)送端發(fā)送的碼不僅能夠被檢測出錯誤,而且還有一定的糾錯能力。接收端收到碼序列后,首先檢驗錯誤情況,如果在糾錯碼的糾錯能力以內(nèi),則自動進行糾錯,如果錯誤很多,超過了碼的糾錯能力,但能檢測出來,則接收端通過反饋信道,要求發(fā)端重新傳送有錯的消息。這種方式在一定程度上避免了FEC方式要求用復(fù)雜的譯碼設(shè)備和ARQ方式信息連貫性差的缺點,并能達(dá)到較低的誤碼率,因此在實際中應(yīng)用越來越廣。
上述各種差錯控制系統(tǒng)中所用到的碼,都是能在譯碼器自動發(fā)現(xiàn)錯誤的檢錯碼,或者能夠糾正刪除錯誤的糾刪碼,任何一類碼按照譯碼方法不同,均可作為檢錯碼,糾錯碼或糾刪碼來使用。交織是糾錯碼中非常重要的一類,既可以用來糾正隨機錯誤又可以用來糾正突發(fā)錯誤,尤其適合于組合信道的糾錯系統(tǒng)。
以下就用第三代通信系統(tǒng)中的具體實例介紹如何實現(xiàn)交織與解交織的過程。根據(jù)3rd Generation Partnership Project(3GPP)1999年12月3G TS25.212v3.1.1文檔描述,頻分復(fù)用(FDD)模式下的下行鏈路信道編碼、復(fù)用和交織流程由如下幾部分組成給每一傳輸塊添加CRC、傳輸塊級聯(lián)/編碼塊分段、信道編碼、速率匹配、DTX標(biāo)識插入、第一次交織(幀間交織)、無線幀劃分、傳輸信道復(fù)用、物理信道分段、第二次交織(幀內(nèi)交織)和物理信道映射。
3GPP的3G TS25.212 v3.1.1規(guī)定第一次交織構(gòu)成如下第一次交織是列間置換,設(shè)輸入數(shù)據(jù)長是Xi,將需要交織的比特順序標(biāo)為xi1,xi2,xi3,…,
,i是傳輸信道編號,Xi是比特的總數(shù)目。表1第一次交織表
以80ms交織深度為例說明實現(xiàn)交織的過程,可分為以下兩步第一步(1)按第一次交織表選擇列數(shù),對于80m的Transmission Time Interval(TTI,傳輸時間間隔),按3GPP規(guī)定確定列數(shù)為8列,行數(shù)為Xi/8,(2)輸入序列逐行寫入Xi/8×8矩形矩陣xi1xi2xi3…xi8xi,(8+1)xi,(8+2)xi,(8+3)…xi,(16).........…...xi,(8(X1/8-1)+1)xi,(8(X1/8-1)+2)xi,(8(X1/8-1)+3)…xi,(8(X1/8-1)+8)]]>第二步(1)查第一次交織表中的交換模式可知,通過列間交換的模式為{0,4,2,6,1,5,3,7}做列間交換,(2)逐列讀出列間交換后的另一個Xi/8×8矩陣,即可完成第一次交織過程。
由于交織是對數(shù)據(jù)塊矩陣的行或列置換,再按逐行或逐列讀取,現(xiàn)有技術(shù)通常是采用硬件交織器,較為復(fù)雜。而如果采用模擬硬件的程序方法實現(xiàn),利用第二步(1)中的列間交換模式得到一個8×8的單位置換矩陣與原始Xi/8×8矩陣相乘得到最終結(jié)果的,即采用
圖1所示的常規(guī)的程序?qū)崿F(xiàn)方法的流程中,可以看到程序的循環(huán)結(jié)構(gòu)比較復(fù)雜,導(dǎo)致循環(huán)多重嵌套,且每次提出一個輸入字節(jié)后要按相應(yīng)位置將每個比特提出并重新組和,耗費時間,在實時系統(tǒng)中運算效率極低,資源消耗也很大。
比如在以下美國專利中6,014,761Convolutional interleaving/de-interleaving method using pointerincrementing across predetermined distances and apparatusfor datatransmission5,995,080 Method and apparatus for interleaving and de-interleaving YUVpixel data;5,991,857 Interleaving and de-interleaving of data in telecommunications;5,978,883 Block interleaving and deinterleaving method and devicetherefor;均對交織提供了相關(guān)的方法。而在現(xiàn)代數(shù)字通信系統(tǒng)特別是第三代通信系統(tǒng)中更多的是強調(diào)滿足實時快速而且盡可能避免軟硬件過多的混合使用的情況。所以以上的這些方法都不適合,甚至無法做到在DSP中采用軟件來實時快速計算來滿足現(xiàn)代數(shù)字通信系統(tǒng)尤其是第三代通信系統(tǒng)的設(shè)計要求。
本發(fā)明的目的是在運算時間要求苛刻,計算量有嚴(yán)格限制的系統(tǒng)中用盡可能少的時間來完成交織過程,從而使得交織運算變得快速和簡單。
本發(fā)明結(jié)合了計算機的寄存器的特點,提出了一種從矩陣的向量乘法的角度實現(xiàn)交織的方法,其特征是第一步1)把輸入數(shù)據(jù)存放在數(shù)據(jù)區(qū)中;存入數(shù)據(jù)時,若交織為列間置換則分別逐行寫入由交織確定的列數(shù)個比特,若交織為行間置換則分別逐列寫入由交織確定的行數(shù)個比特;上述每一行或列存放的位置是在數(shù)據(jù)區(qū)中分別定義了的地址空間;2)將生成交織的單位置換矩陣保存在一組寄存器中;生成交織的單位置換矩陣,若交織為列間置換則為交織確定的列間交換模式對單位矩陣進行相應(yīng)列置換后生成的矩陣,若交織為行間置換則為交織確定的行間交換模式對單位矩陣進行相應(yīng)行置換后生成的矩陣;生成交織的單位置換矩陣,若交織為列間置換則將其逐列保存在一組寄存器中,列數(shù)為交織確定的列數(shù),若交織為行間置換則將其逐行保存在一組寄存器中,行數(shù)為交織確定的行數(shù);第二步1)從數(shù)據(jù)區(qū)中取數(shù),將其存入另一個寄存器中;若交織為列間置換則按輸入數(shù)據(jù)行數(shù)從低到高的順序進行取數(shù),若交織為行間置換則按輸入數(shù)據(jù)列數(shù)從低到高的順序進行取數(shù);2)將寄存器中的數(shù)據(jù)與保存置換矩陣的寄存器分別相與,并判斷每次相與的結(jié)果是否為0,如為0則將0、如為1則將1存放在不同的保存結(jié)果的地址下;3)重復(fù)第二步的1),2)的取數(shù)、寄存、相與、判斷、保存結(jié)果的過程,
直到輸入數(shù)據(jù)塊全部運算結(jié)束;第三步將這不同的保存結(jié)果的地址下的數(shù)據(jù)讀出就是交織的結(jié)果。
本發(fā)明從置換矩陣的角度出發(fā)提出了一種新的交織方法,解決了理論上產(chǎn)生一個點需用矩陣向量的一次點積操作,例如對80ms交織即8對元素相乘再求和,共8次乘法7次加法,而帶來的實現(xiàn)上復(fù)雜的運算困難,很好結(jié)合了寄存器和置換向量的特點后,使得這8次乘法7次加法被用一個與運算完全替代,由此在計算上實現(xiàn)了一次與運算產(chǎn)生出一個交織點的突破,并使得程序的代碼量大大縮減。而且這種方法也適用各類交織模式,有很強的通用性。
以下結(jié)合附圖,并通過實施例具體介紹如何用置換矩陣法在DSP中實現(xiàn)交織圖1是采用常規(guī)方法模擬硬件在DSP中實現(xiàn)80ms交織流程。
圖2是本發(fā)明采用的一種置換矩陣法實現(xiàn)的80ms交織流程。
圖1常規(guī)方法實現(xiàn)交織的流程在背景技術(shù)中已作了介紹。下面以圖2來詳細(xì)描述用置換矩陣法實現(xiàn)80ms交織的過程對于80ms的TTI,按3GPP規(guī)定確定列數(shù)為8列,行數(shù)為Xi/8,列間交換的模式為{0,4,2,6,1,5,3,7},從xi,1開始將XI個比特按行順序?qū)懭隭i/8×8矩陣Axi1xi2xi3…xi8xi,(8+1)xi,(8+2)xi,(8+3)…xi,(16).........…...xi,(8(X1/8-1)+1)xi,(8(X1/8-1)+2)xi,(8(X1/8-1)+3)…xi,(X1)]]>首先,將輸入的數(shù)據(jù)塊A的所有Xi/8行標(biāo)為行向量A(1),A(2),…,A(Xi/8-1),A(Xi/8),并將每行按字節(jié)順序存放在數(shù)據(jù)區(qū)中地址空間ADDR_1到ADDR_Xi/8上,總長度為Xi/8個字節(jié),每字節(jié)8個行比特;A(k)
K=0,1,…,Xi/8-1
又由矩陣論基本知識可以知道將8×8的單位矩陣Er相應(yīng)的列按{0,4,2,6,1,5,3,7}對調(diào)后得到置換矩陣Er’Er′=1000000000001000001000000000001001000000000001000001000000000001]]>將Er’的每列標(biāo)為列向量Er’(I,1),Er’(I,2),…,Er’(I,8),其中I=1,2,…,8表示每列的8個比特元素。Er’(I,1),I=1,2,…,8
Er’(I,2),I=1,2,…,8
Er’(I,3),I=1,2,…,8
Er’(I,4),I=1,2,…,8
Er’(I,5),I=1,2,…,8
Er’(I,6),I=1,2,…,8
Er’(I,7),I=1,2,…,8
Er’(I,8),I=1,2,…,8
分別按順序放入寄存器E1到E8中,總長度為8個字節(jié),每字節(jié)8個列比特;第二步(1)從數(shù)據(jù)區(qū)地址空間為ADDR_n中提取A(n)n=1,并將其放入寄存器A;(2)將A和E1相與操作,相與結(jié)果放入寄存器COND,判斷COND為0否,為0則輸出第一列的第n行的結(jié)果0,不為0則輸出第一列的第n行的結(jié)果1;(3)將A和E2相與操作,相與結(jié)果放入寄存器COND,判斷COND為0否,為0則輸出第二列的第n行的結(jié)果0,不為0則輸出第二列的第n行的結(jié)果1;(4)重復(fù)8次,直到將A和E8相與操作,相與結(jié)果放入寄存器COND,判斷COND為0否,為0則輸出第八列的第n行的結(jié)果0,不為0則輸出第八列的第n行的結(jié)果1為止;(5)從數(shù)據(jù)區(qū)的地址空間為ADDR_n中按n從2到Xi/8的順序提取A(2)…A(Xi/8)放入寄存器A后,重復(fù)步驟(2)到步驟(4);第三步將第二步處理的輸出結(jié)果逐列的讀出,即為交織后的矩陣。
所有交織是都對數(shù)據(jù)塊矩陣進行行或列置換,再按逐行或逐列讀取。用本方法實現(xiàn)交織沒有這種局限性,進行行置換時只是將輸入數(shù)據(jù)以及置換矩陣存放的方式不同和讀取數(shù)據(jù)的方式不同而已,所以本發(fā)明的方法具有相當(dāng)?shù)耐ㄓ眯?,屬于交織的通用方法。對?0,20,40ms的數(shù)據(jù)交織均可以直接應(yīng)用。本方法完全適用GSM、CDMA等數(shù)字通信系統(tǒng)要求的數(shù)據(jù)交織,這對所有需要在DSP中進行實時高速交織的系統(tǒng)具有非常重大的意義。
可以看出,采用本文所提出的新方法來實現(xiàn)信道的交織,完全不同于以往的直接采用硬件或采用軟件模擬硬件的方法,完全是一種新的概念基礎(chǔ)上的應(yīng)用,它使得在數(shù)字通信系統(tǒng)中對所有信道所必需的交織運算大大提高了性能,在DSP實時處理時使得占用了部分主要的系統(tǒng)資源的交織此時僅占用了非常微量甚至可以忽略不計的系統(tǒng)資源,特別能夠滿足具有苛刻的實時性要求的數(shù)字系統(tǒng)。
權(quán)利要求
1一種信道交織的方法,其特征在于第一步1)把輸入數(shù)據(jù)存放在數(shù)據(jù)區(qū)中;2)將生成交織的單位置換矩陣保存在一組寄存器中;第二步1)從數(shù)據(jù)區(qū)中取數(shù),將其存入另一個寄存器中;2)將存放輸入數(shù)據(jù)的寄存器與保存置換矩陣的寄存器分別相與,并判斷每次相與的結(jié)果是否為0,如為0則將0、如為1則將1存放在不同的保存結(jié)果的地址下;3)重復(fù)第二步的1),2)的取數(shù)、寄存、相與、判斷、保存結(jié)果的過程,直到輸入數(shù)據(jù)塊全部運算結(jié)束;第三步將這不同的保存結(jié)果的地址下的數(shù)據(jù)讀出就是信道交織的結(jié)果。
2根據(jù)權(quán)利要求1所述的信道交織的方法,其特征在于第一步中所述的輸入數(shù)據(jù)存入數(shù)據(jù)區(qū)時,若交織為列間置換分別逐行寫入由交織確定的列數(shù)個比特,若交織為行間置換分別逐列寫入由交織確定的行數(shù)個比特。
3根據(jù)權(quán)利要求1或2所述的信道交織的方法,其特征在于第一步中所述的輸入數(shù)據(jù)每一行或列在數(shù)據(jù)區(qū)中存放的位置是分別定義了的地址空間。
4根據(jù)權(quán)利要求1所述的信道交織的方法,其特征在于第一步中所述的生成交織的單位置換矩陣,若交織為列間置換則為交織確定的列間交換模式對單位矩陣進行相應(yīng)列間置換后生成的矩陣,若交織為行間置換則為交織確定的行間交換模式對單位矩陣進行相應(yīng)行間置換后生成的矩陣。
5根據(jù)權(quán)利要求1所述的交織的方法,其特征在于第一步中所述的生成交織的單位置換矩陣,若交織為列間置換則將其逐列保存在一組寄存器中,列數(shù)為交織確定的列數(shù);若交織為行間置換則將其逐行保存在一組寄存器中,行數(shù)為交織確定的行數(shù)。
6根據(jù)權(quán)利要求1所述的信道交織的方法,其特征在于第二步中所述的取數(shù)的順序,若交織為列間置換則按輸入數(shù)據(jù)行數(shù)從低到高的順序進行,若交織為列間置換則按輸入數(shù)據(jù)行數(shù)從低到高的順序進行。
7根據(jù)權(quán)利要求1所述的信道交織的方法,其特征在于第二步2)中保存結(jié)果的地址數(shù)量為交織確定的列數(shù)或行數(shù)。
全文摘要
本發(fā)明公開了一種結(jié)合計算機寄存器,并從同矩陣向量相與的角度實現(xiàn)信道交織的方法;通過對輸入的數(shù)字信號和相應(yīng)的置換矩陣向量分別相與,并將結(jié)果予以保存,最后按系統(tǒng)的要求輸出實現(xiàn)交織。本發(fā)明適用于數(shù)字通信系統(tǒng)中信道的所有的交織方案;這種實現(xiàn)信道交織的方法可以減少大量的運算量,以達(dá)到減輕DSP資源的負(fù)擔(dān);在數(shù)字通信領(lǐng)域特別是第三代移動通信系統(tǒng)中完成實現(xiàn)實時快速處理。
文檔編號H03M13/11GK1325237SQ0011976
公開日2001年12月5日 申請日期2000年8月24日 優(yōu)先權(quán)日2000年8月24日
發(fā)明者白濤, 蒲迎春, 吳曉文 申請人:深圳市中興通訊股份有限公司