專利名稱:碼分多址移動通信系統(tǒng)中的編碼/解碼設(shè)備和方法
背景技術(shù):
1.發(fā)明領(lǐng)域本發(fā)明一般涉及CDMA(碼分多址)移動通信系統(tǒng)中的編碼/解碼設(shè)備和方法,尤其涉及發(fā)送用在同步移動通信系統(tǒng)中的反向速率指示符信道(R-RICH)的設(shè)備和方法。
2.相關(guān)技術(shù)描述一般說來,反向輔助信息(R-SCH)基本上支持可變速率傳輸方案。在“可變速率傳輸方案”中,移動臺任意改變它的傳輸速率。通常,數(shù)據(jù)速率的改變引起用在構(gòu)造幀中的糾錯碼的代碼率、碼元重復(fù)頻率、和用于擴(kuò)展的Walsh(沃爾什)碼的長度和類型的改變。因此,移動臺應(yīng)該把當(dāng)前發(fā)送的反向輔助信道的數(shù)據(jù)速率通知基站,以便基站接收器能夠正確地接收反向輔助信道。為了這個用途而定義的信道被稱為反向速率指示符信道(R-RICH)。
移動臺可以在反向輔助信道上發(fā)送數(shù)據(jù)的可用數(shù)據(jù)速率的數(shù)量取決于移動臺同時可以使用的可用反向輔助信道的個數(shù)。反向輔助信道的個數(shù)由基站在呼叫建立期間考慮了要在反向鏈路上發(fā)送的數(shù)據(jù)量之后確定下來,然后向移動臺報告。因此,要在反向速率指示符信道上發(fā)送的信息位數(shù)隨反向輔助信道的個數(shù)而改變。也就是說,當(dāng)反向輔助信道的個數(shù)是1時,移動臺利用4個位通知反向數(shù)據(jù)速率。并且,當(dāng)反向輔助信道的個數(shù)是2時,移動臺利用7個位通知反向數(shù)據(jù)速率。由于可同時供移動臺使用的可用反向輔助信道的個數(shù)在從基站接收到單獨(dú)命令之前是不能改變的,因此,移動臺在反向速率指示符信道上發(fā)送4-位信息或7-位信息。也就是說,移動臺決不會發(fā)送4-位信息和7-位信息兩者。傳統(tǒng)上,把(24,4)和(24,7)代碼稱為要用在反向速率指示符信道中的糾錯碼。
圖1顯示了R-RICH發(fā)送器的結(jié)構(gòu)。參照圖1,編碼器100編碼4-位或7-位輸入速率指示符,并且輸出24個編碼碼元。碼元重復(fù)器110重復(fù)編碼器100提供的24個編碼碼元16次。信號映射器120對從碼元重復(fù)器110輸出的編碼碼元進(jìn)行信號映射,把0映射成1和把1映射成-1。擴(kuò)展器130擴(kuò)展經(jīng)信號映射的碼元。
如圖1所示,具有4個位或7個位的速率指示符在發(fā)送之前被編碼成24個編碼碼元。當(dāng)在發(fā)送編碼成編碼碼元的速率指示符期間出現(xiàn)錯誤時,速率指示符可能不正確地指示相應(yīng)反向輔助信道的代碼率、碼元重復(fù)頻率、和擴(kuò)展Walsh碼的長度和類型。結(jié)果是,接收器不能正確地接收分析反向輔助信道。因此,速率指示符應(yīng)該由性能好的(24,4)或(24,7)編碼器來編碼。另外,應(yīng)該盡可能快地解碼速率指示符,以便分析相應(yīng)的輔助信道。
發(fā)明概述因此,本發(fā)明的一個目的是提供一種性能最佳的速率指示符編碼設(shè)備和方法。
本發(fā)明的另一個目的是提供一種復(fù)雜度最低的速率指示符編碼設(shè)備和方法。
本發(fā)明的另一個目的是提供一種通過利用收縮擴(kuò)充一階Reed-Muller(里德-繆勒)碼,以便在解碼過程中進(jìn)行快速Hadamard(哈達(dá)瑪)逆變換的方法,使硬件復(fù)雜度降到最低的設(shè)備和方法。
本發(fā)明的另一個目的是提供一種通過利用收縮擴(kuò)充一階Reed-Muller碼,以便在解碼過程中進(jìn)行快速Hadamard(哈達(dá)瑪)逆變換的方法,使用最佳碼字的設(shè)備和方法。
本發(fā)明的另一個目的是提供一種通過在收縮之前,使正交碼的長度最短,使硬件復(fù)雜度降到最低的設(shè)備和方法。
本發(fā)明的另一個目的是提供一種不僅通過收縮擴(kuò)充正交碼使硬件復(fù)雜度降到最低,而且生成在糾錯性能方面最佳的代碼的設(shè)備和方法。
本發(fā)明的另一個目的是提供一種使硬件復(fù)雜度降到最低,和既能進(jìn)行(24,4)編碼又能(24,7)編碼,以便生成在糾錯性能方面最佳的代碼的設(shè)備和方法。
按照本發(fā)明的一個方面,本發(fā)明提供了在移動通信系統(tǒng)中,接收4個輸入信息位,利用長度為16的不同Walsh碼編碼4個輸入信息位,和利用具有由XOR(異或)運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的16個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼方法。該編碼方法包括重復(fù)具有16個編碼碼元的編碼碼元流一次;和從32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,從而輸出具有24個編碼碼元的編碼碼元流。
按照本發(fā)明的另一個方面,本發(fā)明提供了在移動通信系統(tǒng)中,接收7個輸入信息位,利用長度為32的不同Walsh碼和長度為32的不同掩碼編碼7個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的32個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼方法。該編碼方法包括從32個編碼碼元中收縮第0、4、8、12、16、20、24和28碼元,從而輸出具有24個編碼碼元的編碼碼元流。
按照本發(fā)明的另一個方面,本發(fā)明提供了在移動通信系統(tǒng)中,接收4或7個輸入信息位,利用長度都為16或32的不同Walsh碼或掩碼編碼4或7個輸入信息位,和輸出具有24個編碼碼元的編碼碼元流的編碼設(shè)備。該編碼設(shè)備包括控制器,用于確定輸入信息位數(shù)是4還是7,和根據(jù)確定結(jié)果控制編碼操作;Walsh碼發(fā)生器,用于在控制器的控制下,有選擇地生成長度為16或32的5個不同Walsh碼;掩碼發(fā)生器,用于在控制器的控制下,有選擇地生成長度為16或32的2個不同掩碼;乘法器,用于一一對應(yīng)地將4或7個輸入信息位乘以來自Walsh碼發(fā)生器的Walsh碼和來自掩碼發(fā)生器的掩碼,和輸出每一個具有16或32個編碼碼元的編碼碼元流;XOR運(yùn)算器,用于對來自乘法器的編碼碼元流進(jìn)行異或運(yùn)算,和輸出一個編碼碼元;重復(fù)器,用于在控制器的控制下,重復(fù)來自XOR運(yùn)算器的編碼碼元流預(yù)定次數(shù),和輸出具有32個編碼碼元的編碼碼元流;存儲器,用于存儲與4個信息位相對應(yīng)的8個收縮位置和與7個信息位相對應(yīng)的8個收縮位置;和收縮器,用于從重復(fù)器接收具有32個編碼碼元的編碼碼元流,在控制器的控制下,從32個編碼碼元中收縮從存儲器讀出的8個收縮位置中的編碼碼元,和輸出具有24個編碼碼元的編碼碼元流。
按照本發(fā)明的另一個方面,本發(fā)明提供了在移動通信系統(tǒng)中,接收4或7個輸入信息位,利用長度都為32的不同Walsh碼或掩碼編碼4或7個輸入信息位,和輸出具有24個編碼碼元的編碼碼元流的編碼設(shè)備。該編碼設(shè)備包括控制器,用于確定輸入信息位數(shù)是4還是7,和根據(jù)確定結(jié)果控制編碼操作;Walsh碼發(fā)生器,用于有選擇地生成長度為32的5個不同Walsh碼;掩碼發(fā)生器,用于有選擇地生成長度為32的2個不同掩碼;乘法器,用于一一對應(yīng)地將4或7個輸入信息位乘以來自Walsh碼發(fā)生器的Walsh碼和來自掩碼發(fā)生器的掩碼,和輸出每一個具有32個編碼碼元的編碼碼元流;XOR運(yùn)算器,用于對來自乘法器的編碼碼元流進(jìn)行異或運(yùn)算,和輸出一個編碼碼元;存儲器,用于存儲與4個信息位相對應(yīng)的8個收縮位置和與7個信息位相對應(yīng)的8個收縮位置;和收縮器,用于從XOR接收器接收具有32個編碼碼元的編碼碼元流,在控制器的控制下,從32個編碼碼元中收縮從存儲器讀出的8個收縮位置中的編碼碼元,和輸出具有24個編碼碼元的編碼碼元流。
附圖簡述通過結(jié)合附圖,進(jìn)行如下詳細(xì)描述,本發(fā)明的上面和其它目的、特征和優(yōu)點(diǎn)將更加清楚,在附圖中圖1顯示了一般CDMA移動通信系統(tǒng)中R-RICH(反向速率指示符信道)發(fā)送器的結(jié)構(gòu);圖2顯示了根據(jù)本發(fā)明實(shí)施例的CDMA移動通信系統(tǒng)中最佳(24,4)編碼器的結(jié)構(gòu);圖3顯示了根據(jù)本發(fā)明實(shí)施例的碼字的結(jié)構(gòu);圖4顯示了根據(jù)本發(fā)明實(shí)施例的CDMA移動通信系統(tǒng)中最佳(24,7)編碼器的結(jié)構(gòu);圖5顯示了根據(jù)本發(fā)明實(shí)施例的CDMA移動通信系統(tǒng)中用作最佳(24,4)編碼器和最佳(24,7)編碼器兩者的編碼器的結(jié)構(gòu);圖6顯示了根據(jù)本發(fā)明實(shí)施例的CDMA移動通信系統(tǒng)中解碼器的結(jié)構(gòu);圖7顯示了根據(jù)本發(fā)明實(shí)施例的基于生成矩陣的(24,4)編碼器的結(jié)構(gòu);圖8顯示了根據(jù)本發(fā)明實(shí)施例的基于生成矩陣的(24,7)編碼器的結(jié)構(gòu);和圖9顯示了根據(jù)本發(fā)明實(shí)施例的CDMA移動通信系統(tǒng)中用作最佳(24,4)編碼器和最佳(24,7)編碼器兩者的編碼器的改進(jìn)結(jié)構(gòu)。
優(yōu)選實(shí)施例詳述下文參照附圖描述本發(fā)明的優(yōu)選實(shí)施例。在如下的描述中,對那些眾所周知的功能或結(jié)構(gòu)將不作詳細(xì)描述,否則的話,本發(fā)明的重點(diǎn)將不突出。
一般說來,糾錯碼的碼字的Hamming(漢明)距離分布用作指示線性糾錯碼的性能的量度?!癏amming距離”指的是碼字中非零碼元的個數(shù)。也就是說,對于一定的碼字“0111”,包含在碼字中的“1”的個數(shù)是3,因此,Hamming距離是3。Hamming距離當(dāng)中的最小值被稱為“最小距離dmin”,碼字最小距離的增大提高糾錯碼的糾錯性能。換句話說,“最佳碼”意味著具有最佳糾錯性能的代碼。F.J.Macwilliams和N.J.A.Sloane發(fā)表的論文《糾錯碼理論》詳細(xì)公開了這方面的內(nèi)容(The Theory of Error Correcting Codes,F(xiàn).J.Macwilliams,N.J.A.Sloane,North_Holland)。另外,A.E.Brouwer和Tom Verhoeff發(fā)表的論文《二進(jìn)制線性碼最小距離范圍更新表》(An Updated Table ofMinimum-Distance Bounds for Binary Linear Codes,A.E.Brouwer and TomVerhoeff,IEEE Transactions on information Theory,VOL 39,NO.2,MARCH1993)也公開了取決于與最佳碼有關(guān)的二進(jìn)制線性碼的輸入和輸出值的碼間最小距離。
(24,4)編碼器或(24,7)編碼器通常用作編碼速率指示符的編碼器。根據(jù)上述第二篇論文,接收4個輸入位和輸出24個碼元的(24,4)線性編碼器具有12的最小距離,而接收7個輸入位和輸出24個碼元的(24,7)線性編碼器具有10的最小距離。
首先,對編碼速率指示符的(24,4)編碼器加以描述。
本發(fā)明提供的(24,4)編碼器被構(gòu)造成通過重復(fù)(15,4)單工碼一次,然后,從重復(fù)碼中收縮6個碼元,生成最佳(24,4)代碼。盡管有許多種方式可以創(chuàng)建(24,4)代碼,但是,利用根據(jù)本發(fā)明實(shí)施例收縮一階Reed-Muller碼的方法,不僅可以使硬件復(fù)雜度降到最低,而且可以生成最佳碼字。通過在收縮之前,使單工碼的長度達(dá)到最短,可以使硬件復(fù)雜度降到最低。并且,不僅可以通過收縮單工碼使硬件復(fù)雜度降到最低,而且可以生成在糾錯性能方面最佳的代碼。假設(shè)本發(fā)明的實(shí)施例利用單工碼生成糾錯碼。
(24,4)編碼器輸出通過重復(fù)從(15,4)單工碼發(fā)生器輸出的15個編碼碼元一次,生成長度為30的單工碼碼元,然后,從該單工碼碼元中收縮6個碼元創(chuàng)建的碼字。從長度為30的重復(fù)單工碼碼元中收縮6個碼元的收縮位置的改變引起碼字的最小距離dmin的改變。因此,為了使(24,4)編碼器對(15,4)單工碼具有很好的糾錯性能,計算出可以獲得最大最小距離的收縮位置是非常重要的。
生成最佳(24,4)線性碼所需的6個收縮位置可以通過試驗(yàn)法計算出來。最簡單的收縮模式是{0,1,2,3,4,5}。在這種情況下,利用基于本發(fā)明的編碼/解碼方法傳輸4個信息位的移動通信系統(tǒng)的發(fā)送器和接收器應(yīng)該預(yù)先商定6個收縮位置。通常在通信協(xié)議中定義收縮位置??蛇x地,發(fā)送器可以預(yù)先提供有關(guān)收縮位置的信息。根據(jù)本發(fā)明編碼最佳(24,4)代碼的方法將參照圖2加以描述。
圖2顯示了包含在根據(jù)本發(fā)明實(shí)施例的發(fā)送器中的編碼器的結(jié)構(gòu)。參照圖2,把4個輸入信息位a0、a1、a2和a3施加給(15,4)單工編碼器200。這里,4個輸入信息位a0、a1、a2和a3構(gòu)成一個速率指示符。單工編碼器(或Reed-Muller編碼器)200編碼4個輸入信息位a0、a1、a2和a3,并且輸出長度為15的編碼碼元(或編碼碼元流)。編碼碼元構(gòu)成單工碼。把15個編碼碼元提供給重復(fù)器210。重復(fù)器210通過重復(fù)接收的15個編碼碼元一次,輸出30個編碼碼元。一旦接收到30個編碼碼元,收縮器220就從30個編碼碼元中收縮6個最佳收縮位置中的第0、1、2、3、4和5碼元,輸出24個編碼碼元。
普通代碼理論定義一個生成矩陣,以便示出輸入信息與編碼碼元之間的映射關(guān)系。當(dāng)包括碼元重復(fù)和收縮時,用于最后(24,4)編碼器的生成矩陣由如下方程表示方程1M=101010101101010101010101100110011011001100110011100001111000111100001111011111111000000011111111]]>如果4個輸入信息位當(dāng)中的第1個輸入信息位是1,方程1的生成矩陣選擇第1行中的24個碼元,如果第1個輸入信息位是0,不選擇輸入信息位。如果4個輸入信息位當(dāng)中的第2個輸入信息位是1,生成矩陣選擇第2行中的24個碼元,如果第2個輸入信息位是0,不選擇輸入信息位。如果4個輸入信息位當(dāng)中的第3個輸入信息位是1,生成矩陣選擇第3行中的24個碼元,如果第3個輸入信息位是0,不選擇輸入信息位。如果4個輸入信息位當(dāng)中的第4個輸入信息位是1,生成矩陣選擇第4行中的24個碼元,如果第4個輸入信息位是0,不選擇輸入信息位。
圖7顯示了基于上述生成矩陣的(24,4)編碼器。參照圖7,在其值為0或1的輸入信息位a0-a3中,分別把輸入信息位a0施加給乘法器920,把輸入信息位a1施加給乘法器922,把輸入信息位a2施加給乘法器924,和把輸入信息位a3施加給乘法器926。同時,信號發(fā)生器900把存儲在存儲器中的、構(gòu)成生成矩陣的4個碼元流R1-R4分別提供給乘法器920-926。具體地說,信號發(fā)生器900讀取存儲在存儲器中的、與生成矩陣的第1行相對應(yīng)的長度為24的碼元流R1=1010 1010 1101 0101 0101 0101,并且把讀取的碼元流提供給乘法器920。信號發(fā)生器900讀取存儲在存儲器中的、與生成矩陣的第2行相對應(yīng)的長度為24的碼元流R2=1001 1001 1011 0011 0011 0011,并且把讀取的碼元流提供給乘法器922。信號發(fā)生器900讀取存儲在存儲器中的、與生成矩陣的第3行相對應(yīng)的長度為24的碼元流R3=1000 0111 1000 11110000 1111,并且把讀取的碼元流提供給乘法器924。最后,信號發(fā)生器900讀取存儲在存儲器中的、與生成矩陣的第4行相對應(yīng)的長度為24的碼元流R4=0111 1111 1000 0000 1111 1111,并且把讀取的碼元流提供給乘法器926。然后,乘法器920將碼元流R1的碼元乘以a0,并且把長度為24的碼元流輸出到XOR運(yùn)算器940。乘法器922將碼元流R2的碼元乘以a1,并且把長度為24的碼元流輸出到XOR運(yùn)算器940。乘法器924將碼元流R3的碼元乘以a2,并且把長度為24的碼元流輸出到XOR運(yùn)算器940。乘法器926將碼元流R4的碼元乘以a3,并且把長度為24的碼元流輸出到XOR運(yùn)算器940。然后,XOR運(yùn)算器940以碼元為單位對長度為24的4個碼元流進(jìn)行異或運(yùn)算,并且輸出長度為24的編碼碼元流。
接著,對編碼速率指示符的(24,7)編碼器加以描述。
本發(fā)明提供的(24,7)編碼器被構(gòu)造成通過從把2個掩碼函數(shù)用于(32,5)正交碼(或一階Reed-Muller碼)來擴(kuò)展碼字獲得的擴(kuò)充正交碼中收縮8個碼元,生成最佳(24,7)代碼。
圖3顯示了擴(kuò)充正交碼的結(jié)構(gòu)。參照圖3,當(dāng)M1和M2是如上所述的2個掩碼函數(shù)時,長度為32的32個正交碼字W用作最上面32個碼字,通過對掩碼函數(shù)M1和32個正交碼字W進(jìn)行異或運(yùn)算確定的32個碼字(M1+W)用作接下來的32個碼字。并且,通過對掩碼函數(shù)M2和32個正交碼字W進(jìn)行異或運(yùn)算確定的32個碼字(M2+W)用作再接下來的32個碼字,和通過對掩碼函數(shù)M1、M2和32個正交碼字W進(jìn)行異或運(yùn)算確定的32個碼字(M1+M2+W)用作最后32個碼字。因此,總共27=128個碼字用作擴(kuò)充正交碼。優(yōu)化(24,7)代碼的2個掩碼函數(shù)可以通過試驗(yàn)法來尋找。
例如,2個掩碼函數(shù)M1+M2如下M1=0111 0111 0010 0100 0110 0000 0000 0000
M2=0010 0110 0101 0100 0101 0100 0100 0000盡管有許多種方式可以創(chuàng)建(24,7)線性碼,但是,利用根據(jù)本發(fā)明實(shí)施例收縮擴(kuò)充一階Reed-Muller碼的方法,不僅可以使硬件復(fù)雜度降到最低,而且可以使用最佳碼字。并且,通過在收縮之前,使正交碼的長度達(dá)到最短,可以使硬件復(fù)雜度降到最低。另外,不僅可以通過收縮擴(kuò)充正交碼使硬件復(fù)雜度降到最低,而且可以創(chuàng)建在糾錯性能方面最佳的代碼。假設(shè)本發(fā)明的實(shí)施例利用擴(kuò)充正交碼生成糾錯碼。
(24,7)碼字是通過從(32,7)擴(kuò)充代碼發(fā)生器輸出的32個編碼碼元中收縮8個碼元生成的。從32個擴(kuò)充編碼碼元中收縮8個碼元的收縮位置的改變引起碼字的最小距離dmin的改變。因此,為了使(24,7)編碼器對(32,7)擴(kuò)充正交碼具有很好的糾錯性能,計算出可以獲得最大最小距離的收縮位置是非常重要的。
生成最佳(24,7)線性碼所需的8個收縮位置可以通過試驗(yàn)法計算出來。最簡單的收縮模式是{0,4,8,12,16,20,24,28}。在這種情況下,利用基于本發(fā)明的編碼/解碼方法傳輸7個信息位的移動通信系統(tǒng)的發(fā)送器和接收器應(yīng)該預(yù)先商定8個收縮位置。通常在通信協(xié)議中定義收縮位置??蛇x地,發(fā)送器可以預(yù)先提供有關(guān)收縮位置的信息。
圖4顯示了包含在根據(jù)本發(fā)明實(shí)施例的發(fā)送器中的最佳(24,7)編碼器的結(jié)構(gòu)。參照圖4,把7個輸入信息位a0、a1、a2、a3、a4、a5和a6施加給(32,7)擴(kuò)充正交編碼器400。這里,7個輸入信息位a0、a1、a2、a3、a4、a5和a6構(gòu)成一個速率指示符。擴(kuò)充正交編碼器400編碼7個輸入信息位a0、a1、a2、a3、a4、a5和a6,并且輸出長度為32的編碼碼元(或編碼碼元流)。把從擴(kuò)充正交編碼器400輸出的32個編碼碼元提供給收縮器410。收縮器410從32個編碼碼元中收縮8個最佳收縮位置中的第0、4、8、12、16、20、24和28碼元,輸出24個編碼碼元。
普通代碼理論定義一個生成矩陣來示出輸入信息與編碼碼元之間的映射關(guān)系。當(dāng)包括碼元收縮時,用于最后(24,7)編碼器的生成矩陣由如下方程表示方程2M=101101101101101101101101011011011011011011011011000111000111000111000111000000111111000000111111000000000000111111111111111111010100110000000000010110101100101100100000]]>如果7個輸入信息位當(dāng)中的第1個輸入信息位是1,方程2的生成矩陣選擇第1行中的24個碼元,如果第1個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第2個輸入信息位是1,生成矩陣選擇第2行中的24個碼元,如果第2個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第3個輸入信息位是1,生成矩陣選擇第3行中的24個碼元,如果第3個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第4個輸入信息位是1,生成矩陣選擇第4行中的24個碼元,如果第4個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第5個輸入信息位是1,生成矩陣選擇第5行中的24個碼元,如果第5個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第6個輸入信息位是1,生成矩陣選擇第6行中的24個碼元,如果第6個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第7個輸入信息位是1,生成矩陣選擇第7行中的24個碼元,如果第7個輸入信息位是0,不選擇輸入信息位。當(dāng)以碼元為單位對所有所選的行都進(jìn)行了異或運(yùn)算時,輸出與輸入信息位相對應(yīng)的編碼碼元。
圖8顯示了基于上述生成矩陣的(24,7)編碼器。參照圖8,在其值為0或1的輸入信息位a0-a6中,分別把輸入信息位a0施加給乘法器1020,把輸入信息位a1施加給乘法器1022,把輸入信息位a2施加給乘法器1024,把輸入信息位a3施加給乘法器1026,把輸入信息位a4施加給乘法器1028,把輸入信息位a5施加給乘法器1029,和把輸入信息位a6施加給乘法器1032。同時,信號發(fā)生器1000把存儲在存儲器中的、構(gòu)成生成矩陣的7個碼元流R1-R7分別提供給乘法器1020-1032。具體地說,信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第1行相對應(yīng)的長度為24的碼元流R1=1011 0110 11011011 0110 1101,并且把讀取的碼元流R1提供給乘法器1020。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第2行相對應(yīng)的長度為24的碼元流R2=0110 1101 1011 0110 1101 1011,并且把讀取的碼元流R2提供給乘法器1022。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第3行相對應(yīng)的長度為24的碼元流R3=0001 1100 0111 0001 1100 0111,并且把讀取的碼元流R3提供給乘法器1024。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第4行相對應(yīng)的長度為24的碼元流R4=0000 0011 1111 0000 00111111,并且把讀取的碼元流R4提供給乘法器1926。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第5行相對應(yīng)的長度為24的碼元流R5=00000000 0000 1111 1111 1111,并且把讀取的碼元流R5提供給乘法器1028。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第6行相對應(yīng)的長度為24的碼元流R6=1111 1101 0100 1100 0000 0000,并且把讀取的碼元流R6提供給乘法器1029。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第7行相對應(yīng)的長度為24的碼元流R7=0101 1010 1100 1011 0010 0000,并且把讀取的碼元流R7提供給乘法器1932。然后,乘法器1020將碼元流R1的碼元乘以輸入信息位a0,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1022將碼元流R2的碼元乘以輸入信息位a1,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1024將碼元流R3的碼元乘以輸入信息位a2,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1026將碼元流R4的碼元乘以輸入信息位a3,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1028將碼元流R5的碼元乘以輸入信息位a4,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1029將碼元流R6的碼元乘以輸入信息位a5,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1032將碼元流R7的碼元乘以輸入信息位a6,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。然后,XOR運(yùn)算器1040以碼元為單位對長度為24的7個碼元流進(jìn)行異或運(yùn)算,并且輸出長度為24的編碼碼元流。
取決于收縮位置,可以提高(24,7)編碼器的性能和使(24,7)編碼器的復(fù)雜度降到最低。收縮位置{0,4,8,12,16,20,24,28}具有4的規(guī)則收縮間隔。收縮位置的這種規(guī)則性有助于降低硬件復(fù)雜度。但是,如果收縮位置集中在幀的頭部,利用延遲技術(shù)可以降低硬件復(fù)雜度。因此,如果從性能方面去考慮,讓收縮位置集中在幀的最前面,那么,2個掩碼函數(shù)將具有不同的結(jié)構(gòu)。
下面參照圖3描述具有不同收縮位置的擴(kuò)充正交碼的結(jié)構(gòu)。當(dāng)M1和M2是如上所述的2個掩碼函數(shù)時,長度為32的32個正交碼字W用作最上面32個碼字,通過對掩碼函數(shù)M1和32個正交碼字W進(jìn)行異或運(yùn)算確定的32個碼字(M1+W)用作接下來的32個碼字。并且,通過對掩碼函數(shù)M2和32個正交碼字W進(jìn)行異或運(yùn)算確定的32個碼字(M2+W)用作再接下來的32個碼字,和通過對掩碼函數(shù)M1、M2和32個正交碼字W進(jìn)行異或運(yùn)算確定的32個碼字(M1+M2+W)用作最后32個碼字。因此,總共27=128個碼字用作擴(kuò)充正交碼。優(yōu)化(24,7)代碼的2個掩碼函數(shù)可以通過試驗(yàn)法來尋找。
例如,2個掩碼函數(shù)M1+M2如下M1=0000 0000 1110 1000 1101 1000 1100 0000M2=0000 0000 1100 0000 0111 1110 0010 1000盡管有許多種方式可以創(chuàng)建(24,7)線性碼,但是,利用根據(jù)本發(fā)明實(shí)施例收縮擴(kuò)充一階Reed-Muller碼的方法,不僅可以使硬件復(fù)雜度降到最低,而且可以使用最佳碼字。并且,通過在收縮之前,使正交碼的長度達(dá)到最短,可以使硬件復(fù)雜度降到最低。另外,不僅可以通過收縮擴(kuò)充正交碼使硬件復(fù)雜度降到最低,而且可以創(chuàng)建在糾錯性能方面最佳的代碼。假設(shè)本發(fā)明的實(shí)施例利用擴(kuò)充正交碼生成糾錯碼。
(24,7)碼字是通過從(32,7)擴(kuò)充代碼發(fā)生器輸出的32個編碼碼元中收縮8個碼元生成的。這里,從32個擴(kuò)充編碼碼元中收縮8個碼元的收縮位置的改變引起碼字的最小距離dmin的改變。因此,為了使(24,7)編碼器對(32,7)擴(kuò)充正交碼具有很好的糾錯性能,計算出可以獲得最大最小距離的收縮位置是非常重要的。
生成最佳(24,7)線性碼所需的8個收縮位置可以通過試驗(yàn)法計算出來。最簡單的收縮模式是{0,1,2,3,4,5,6,7}。在這種情況下,利用基于本發(fā)明的編碼/解碼方法傳輸7個信息位的移動通信系統(tǒng)的發(fā)送器和接收器應(yīng)該預(yù)先商定8個收縮位置。通常在通信協(xié)議中定義收縮位置??蛇x地,發(fā)送器可以預(yù)先提供有關(guān)收縮位置的信息。
圖4顯示了包含在根據(jù)本發(fā)明實(shí)施例的發(fā)送器中的最佳(24,7)編碼器的結(jié)構(gòu)。參照圖4,把7個輸入信息位a0、a1、a2、a3、a4、a5和a6施加給(32,7)擴(kuò)充正交編碼器400。這里,7個輸入信息位a0、a1、a2、a3、a4、a5和a6構(gòu)成一個速率指示符。擴(kuò)充正交編碼器400編碼7個輸入信息位a0、a1、a2、a3、a4、a5和a6,并且輸出長度為32的編碼碼元(或編碼碼元流)。把從擴(kuò)充正交編碼器400輸出的32個編碼碼元提供給收縮器410。收縮器410從32個編碼碼元中收縮8個最佳收縮位置中的第0、1、2、3、4、5、6和7碼元,輸出24個編碼碼元。
普通代碼理論定義一個生成矩陣來示出輸入信息與編碼碼元之間的映射關(guān)系。當(dāng)包括碼元收縮時,用于最后(24,7)編碼器的生成矩陣由如下方程表示方程3M=010101010101010101010101001100110011001100110011000011110000111100001111111111110000000011111111000000001111111111111111111010001101100011000000110000000111111000101000]]>如果7個輸入信息位當(dāng)中的第1個輸入信息位是1,方程3的生成矩陣選擇第1行中的24個碼元,如果第1個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第2個輸入信息位是1,生成矩陣選擇第2行中的24個碼元,如果第2個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第3個輸入信息位是1,生成矩陣選擇第3行中的24個碼元,如果第3個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第4個輸入信息位是1,生成矩陣選擇第4行中的24個碼元,如果第4個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第5個輸入信息位是1,生成矩陣選擇第5行中的24個碼元,如果第5個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第6個輸入信息位是1,生成矩陣選擇第6行中的24個碼元,如果第6個輸入信息位是0,不選擇輸入信息位。如果7個輸入信息位當(dāng)中的第7個輸入信息位是1,生成矩陣選擇第7行中的24個碼元,如果第7個輸入信息位是0,不選擇輸入信息位。當(dāng)以碼元為單位對所有所選的行都進(jìn)行了異或運(yùn)算時,輸出與輸入信息位相對應(yīng)的編碼碼元。
圖8顯示了基于上述生成矩陣的(24,7)編碼器。參照圖8,在其值為0或1的輸入信息位a0-a6中,分別把輸入信息位a0施加給乘法器1020,把輸入信息位a1施加給乘法器1022,把輸入信息位a2施加給乘法器1024,把輸入信息位a3施加給乘法器1026,把輸入信息位a4施加給乘法器1028,把輸入信息位a5施加給乘法器1029,和把輸入信息位a6施加給乘法器1032。同時,信號發(fā)生器1000把存儲在存儲器中的、構(gòu)成生成矩陣的7個碼元流R1-R7分別提供給乘法器1020-1032。具體地說,信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第1行相對應(yīng)的長度為24的碼元流R1=0101 01010101 0101 0101 0101,并且把讀取的碼元流R1提供給乘法器1020。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第2行相對應(yīng)的長度為24的碼元流R2=0011 0011 0011 0011 0011 0011,并且把讀取的碼元流R2提供給乘法器1022。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第3行相對應(yīng)的長度為24的碼元流R3=0000 1111 0000 1111 0000 1111,并且把讀取的碼元流R3提供給乘法器1024。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第4行相對應(yīng)的長度為24的碼元流R4=1111 1111 00000000 1111 1111,并且把讀取的碼元流R4提供給乘法器1926。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第5行相對應(yīng)的長度為24的碼元流R5=0000 0000 1111 1111 1111 1111,并且把讀取的碼元流R5提供給乘法器1028。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第6行相對應(yīng)的長度為24的碼元流R6=1110 1000 11011000 1100 0000,并且把讀取的碼元流R6提供給乘法器1029。信號發(fā)生器1000讀取存儲在存儲器中的、與生成矩陣的第7行相對應(yīng)的長度為24的碼元流R7=1100 0000 0111 1110 00101000,并且把讀取的碼元流R7提供給乘法器1932。然后,乘法器1020將碼元流R1的碼元乘以輸入信息位a0,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1022將碼元流R2的碼元乘以輸入信息位a1,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1024將碼元流R3的碼元乘以輸入信息位a2,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1026將碼元流R4的碼元乘以輸入信息位a3,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1028將碼元流R5的碼元乘以輸入信息位a4,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1029將碼元流R6的碼元乘以輸入信息位a5,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。乘法器1032將碼元流R7的碼元乘以輸入信息位a6,并且把長度為24的碼元流輸出到XOR運(yùn)算器1040。然后,XOR運(yùn)算器1040以碼元為單位對長度為24的7個碼元流進(jìn)行異或運(yùn)算,并且輸出長度為24的編碼碼元流。
(24,4)編碼器和(24,7)編碼器的共同之處在于,它們兩者都來源于正交碼的結(jié)構(gòu)。也就是說,用在(24,4)編碼器中的(15,4)單工碼是從(16,4)正交碼中收縮第0行獲得的,用在(24,7)編碼器中的(32,7)擴(kuò)充正交碼是在(32,5)編碼器中利用2個附加碼字,即掩碼函數(shù)作為基擴(kuò)充而成的。因此,根據(jù)(24,4)編碼器和(24,7)編碼器的共同點(diǎn),如下所述的第一實(shí)施例提供了用作具有不同長度的(24,4)編碼器和(24,7)編碼器兩者的編碼器。
第一實(shí)施例(編碼器)圖5顯示了用作具有不同長度的(24,4)編碼器和(24,7)編碼器兩者的編碼器的結(jié)構(gòu)。也就是說,圖5所示的編碼器利用長度為16或32的不同Walsh碼或掩碼編碼4或7個輸入信息位,輸出具有24個編碼碼元的編碼碼元流。
參照圖5,控制器510通過確定輸入信息位數(shù)是4還是7,控制編碼操作。也就是說,當(dāng)輸入信息位數(shù)是4時,控制器510控制Walsh碼發(fā)生器500和掩碼發(fā)生器505,分別生成長度均為16的5個不同Walsh碼和2個不同掩碼。并且,控制器510把重復(fù)器550的重復(fù)頻率設(shè)置成1,和控制收縮器560收縮與4個輸入信息位相對應(yīng)的8個收縮位置中的碼元。但是,當(dāng)輸入信息位數(shù)是7時,控制器510控制Walsh碼發(fā)生器500和掩碼發(fā)生器505,分別生成長度均為32的5個不同Walsh碼和2個不同掩碼。并且,控制器510把重復(fù)器550的重復(fù)頻率設(shè)置成0,和控制收縮器560收縮與7個輸入信息位相對應(yīng)的8個收縮位置中的碼元。
在控制器510的控制下,Walsh碼發(fā)生器500有選擇地生成長度為16或32的不同Walsh碼。例如,一旦接收到4個輸入信息位,Walsh碼發(fā)生器500就在控制器510的控制下,生成長度為16的5個不同Walsh碼。但是,一旦接收到7個輸入信息位,Walsh碼發(fā)生器500就在控制器510的控制下,生成長度為32的5個不同Walsh碼。Walsh碼發(fā)生器500生成的Walsh碼的個數(shù)可以隨輸入信息位的個數(shù)(4或7)而改變。例如,一旦接收到4個輸入信息位,Walsh碼發(fā)生器500就可以生成長度為16的4個不同Walsh碼,而一旦接收到7個輸入信息位,Walsh碼發(fā)生器500就可以生成長度為32的5個不同Walsh碼。
在控制器510的控制下,掩碼發(fā)生器505有選擇地生成長度為16或32的掩碼。例如,一旦接收到4個輸入信息位,掩碼發(fā)生器505就在控制器510的控制下,生成長度為16的2個不同掩碼。但是,一旦接收到7個輸入信息位,掩碼發(fā)生器505就在控制器510的控制下,生成長度為32的2個不同掩碼??蛇x地,可以把掩碼發(fā)生器505設(shè)計成不受控制器510控制地連續(xù)生成2個不同掩碼。圖5顯示了掩碼發(fā)生器505不受控制器510控制的后一種例子。如果掩碼發(fā)生器505在控制器510的控制下進(jìn)行操作,那么,把來自控制器510的控制信號提供給掩碼發(fā)生器505。
乘法器520-532將4或7個輸入信息位與來自Walsh碼發(fā)生器500和掩碼發(fā)生器505的Walsh碼和掩碼一一對應(yīng)地相乘,并且輸出每一個都具有16或32個編碼碼元的編碼碼元流。當(dāng)接收4個輸入位作為輸入信息位時,提供具有值‘0’的輸入位作為其余的輸入信息位a4、a5和a6,以便不影響輸出值。XOR運(yùn)算器540對來自乘法器520-532的編碼碼元流進(jìn)行異或運(yùn)算,輸出具有16或32個編碼碼元的一個編碼碼元流。在控制器510的控制下,重復(fù)器550重復(fù)來自XOR運(yùn)算器540的編碼碼元流預(yù)定次數(shù),輸出具有32個編碼碼元的編碼碼元流。也就是說,一旦接收到具有16個編碼碼元的編碼碼元流,重復(fù)器550就重復(fù)接收的編碼碼元流一次,輸出具有32個編碼碼元的編碼碼元流。但是,一旦接收到具有32個編碼碼元的編碼碼元流,重復(fù)器550就不重復(fù),輸出原樣接收編碼碼元流。存儲器570存儲與4個輸入信息位相對應(yīng)的8個收縮位置、和與7個輸入信息位相對應(yīng)的8個收縮位置。存儲在存儲器570中的、與4個輸入信息位相對應(yīng)的8個收縮位置是第0、1、2、3、4、5、6和16碼元位置,而存儲在存儲器570中的、與7個輸入信息位相對應(yīng)的8個收縮位置是第0、4、8、12、16、20、24和28碼元位置或第0、1、2、3、4、5、6和7碼元位置。
收縮器560從重復(fù)器550接收具有32個編碼碼元的編碼碼元流,在控制器510的控制下,從32個編碼碼元中收縮從存儲器570中讀取的8個收縮位置中的編碼碼元,輸出具有24個編碼碼元的編碼碼元流。也就是說,如果輸入信息位數(shù)是4,收縮器560在控制器510的控制下,從重復(fù)器550輸出的32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,輸出具有24個編碼碼元的編碼碼元流。但是,如果輸入信息位數(shù)是7,收縮器560在控制器510的控制下,從重復(fù)器550輸出的32個編碼碼元中收縮第0、4、8、12、16、20、24和28碼元或第0、1、2、3、4、5、6和7碼元,輸出具有24個編碼碼元的編碼碼元流。
下面參照圖5,針對編碼器用作(24,4)編碼器的一種情況和編碼器用作(24,7)編碼器的另一種情況,分別對編碼器加以描述。這里假設(shè)施加給編碼器的輸入信息位構(gòu)成一個速率指示符。
首先,對編碼器用作(24,7)編碼器的一種情況加以描述。把a(bǔ)0、a1、a2、a3、a4、a5和a6的7-位速率指示符施加給編碼器,同時,把指示把7-位速率指示符施加給編碼器的位信息提供給控制器510。然后,控制器510向Walsh碼發(fā)生器500提供指令它生成長度為32的Walsh碼的控制信號。一旦接收到控制信號,Walsh碼發(fā)生器500就生成長度為32的Walsh碼W1、W2、W4、W8和W16,并且把生成的Walsh碼W1、W2、W4、W8和W16分別提供給相關(guān)乘法器。具體地說,把Walsh碼W1提供給乘法器520,把Walsh碼W2提供給乘法器522,把Walsh碼W4提供給乘法器524,把Walsh碼W8提供給乘法器526,和把Walsh碼W16提供給乘法器528。表1所示的是由Walsh碼發(fā)生器500生成的長度為32的Walsh碼。
表1
同時,掩碼發(fā)生器505生成掩碼M1=0111 0111 0010 0100 0110 0000 00000000和M2=0010 0110 0101 0100 0101 0100 0100 0000,并且把生成的掩碼M1和M2分別提供給乘法器530和532。
同時,把速率指示符的7個輸入信息位分別提供給相關(guān)乘法器。表2所示的是7個輸入信息位與相關(guān)乘法器之間的關(guān)系。
表2
因此,表3所示的是提供給各個乘法器的輸入信息位和Walsh碼或掩碼。
表3
乘法器將如表3所示提供給它的輸入信息位與Walsh碼或掩碼相乘,并且把它們的結(jié)果提供給XOR運(yùn)算器540。
具體地說,乘法器520逐個碼元地(即,以碼元為單位)將輸入信息位a0與Walsh碼W1相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器522逐個碼元地將輸入信息位a1與Walsh碼W2相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器524逐個碼元地將輸入信息位a2與Walsh碼W4相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器526逐個碼元地將輸入信息位a3與Walsh碼W8相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器528逐個碼元地將輸入信息位a4與Walsh碼W16相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器530逐個碼元地將輸入信息位a5與掩碼M1相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器532逐個碼元地將輸入信息位a6與掩碼M2相乘,并且把它的輸出提供給XOR運(yùn)算器540。
然后,XOR運(yùn)算器540以碼元為單位對從乘法器520、522、524、526、528、530和532輸出的長度為32的碼元流進(jìn)行異或運(yùn)算,并且把它的輸出提供給重復(fù)器550。
可以把從XOR運(yùn)算器540輸出的、長度為32的編碼碼元流Ws定義為方程4Ws=(W1×a0)+(W2×a1)+(W4×a2)+(W8×a3)+(W16×a4)+(M1×a5)+(M2×a6)此刻,控制器510把在XOR運(yùn)算器540的輸出端上控制重復(fù)頻率的控制信號提供給重復(fù)器550。在(24,7)編碼器中,由于從XOR運(yùn)算器540輸出的碼元流具有32的長度,重復(fù)器550不進(jìn)行重復(fù)。為此,控制器510向重復(fù)器550提供指令它輸出原樣輸入信號的控制信號。響應(yīng)該控制信號,重復(fù)器550把從XOR運(yùn)算器540輸出的長度為32的原樣碼元流提供給收縮器560。
此時,控制器510向收縮器560提供指令它收縮與(24,7)代碼有關(guān)的收縮位置中的碼元的控制信號??刂破?10可以把速率指示符的長度信息(7個位)作為控制信號提供給收縮器560。然后,收縮器560從存儲器570接收與速率指示符的7個輸入信息位相對應(yīng)的8個收縮位置,并且從重復(fù)器550提供的長度為32的編碼碼元中收縮8個收縮位置中的編碼碼元。也就是說,收縮器560收縮重復(fù)器550提供的長度為32的編碼碼元當(dāng)中,從存儲器570讀取的收縮位置中的8個碼元。例如,當(dāng)來自存儲器570的收縮位置是第0、4、8、12、16、20、24和28碼元位置時,收縮器560從長度為32的編碼碼元中收縮第0、4、8、12、16、20、24和28編碼碼元,輸出24個編碼碼元。
到現(xiàn)在為止,針對編碼器具有收縮模式{0,4,8,12,16,20,24,28}的一種情況描述了(24,7)編碼器的操作?,F(xiàn)在,針對為了降低如上所述的硬件復(fù)雜度,編碼器具有收縮模式{0,1,2,3,4,5,6,7}的另一種情況描述(24,7)編碼器的操作。在這種情況下,當(dāng)把a(bǔ)0、a1、a2、a3、a4、a5和a6的7-位速率指示符施加給編碼器時,把指示把7-位速率指示符施加給編碼器的位信息提供給控制器510。然后,控制器510向Walsh碼發(fā)生器500提供指令它生成長度為32的Walsh碼的控制信號。一旦接收到控制信號,Walsh碼發(fā)生器500就生成長度為32的Walsh碼W1、W2、W4、W8和W16,并且把生成的Walsh碼W1、W2、W4、W8和W16分別提供給相關(guān)乘法器。具體地說,把Walsh碼W1提供給乘法器520,把Walsh碼W2提供給乘法器522,把Walsh碼W4提供給乘法器524,把Walsh碼W8提供給乘法器526,和把Walsh碼W16提供給乘法器528。表4所示的是由Walsh碼發(fā)生器500生成的長度為32的Walsh碼。
表4
同時,掩碼發(fā)生器505生成掩碼M1=0000 0000 1110 1000 1101 1000 11000000和M2=0000 0000 1100 0000 0111 1110 0010 1000,并且把生成的掩碼M1和M2分別提供給乘法器530和532。
同時,把速率指示符的7個輸入信息位分別提供給相關(guān)乘法器。表5所示的是7個輸入信息位與相關(guān)乘法器之間的關(guān)系。
表5
因此,表6所示的是提供給各個乘法器的輸入信息位和Walsh碼或掩碼。
表6
乘法器將如表6所示提供給它的輸入信息位與Walsh碼或掩碼相乘,并且把它們的結(jié)果提供給XOR運(yùn)算器540。
具體地說,乘法器520逐個碼元地將輸入信息位a0與Walsh碼W1相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器522逐個碼元地將輸入信息位a1與Walsh碼W2相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器524逐個碼元地將輸入信息位a2與Walsh碼W4相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器526逐個碼元地將輸入信息位a3與Walsh碼W8相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器528逐個碼元地將輸入信息位a4與Walsh碼W16相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器530逐個碼元地將輸入信息位a5與掩碼M1相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器532逐個碼元地將輸入信息位a6與掩碼M2相乘,并且把它的輸出提供給XOR運(yùn)算器540。
然后,XOR運(yùn)算器540以碼元為單位對從乘法器520、522、524、526、528、530和532輸出的長度為32的碼元流進(jìn)行異或運(yùn)算,并且把它的輸出提供給重復(fù)器550。
可以把從XOR運(yùn)算器540輸出的、長度為32的編碼碼元流Ws定義為方程5Ws=(W1×a0)+(W2×a1)+(W4×a2)+(W8×a3)+(W16×a4)+(M1×a5)+(M2×a6)此刻,控制器510把在XOR運(yùn)算器540的輸出端上控制重復(fù)頻率的控制信號提供給重復(fù)器550。在(24,7)編碼器中,由于從XOR運(yùn)算器540輸出的碼元流具有32的長度,重復(fù)器550的重復(fù)頻率是‘0’。因此,控制器510向重復(fù)器550提供指令它輸出原樣輸入信號的控制信號。響應(yīng)該控制信號,重復(fù)器550把從XOR運(yùn)算器540輸出的長度為32的原樣碼元流提供給收縮器560。
此時,控制器510向收縮器560提供指令它收縮與(24,7)代碼有關(guān)的收縮位置中的碼元的控制信號。然后,收縮器560從存儲器570接收8個收縮位置,并且從重復(fù)器550提供的長度為32的編碼碼元中收縮8個收縮位置中的編碼碼元。也就是說,收縮器560收縮重復(fù)器550提供的長度為32的編碼碼元當(dāng)中,從存儲器570讀取的收縮位置中的8個碼元。例如,當(dāng)來自存儲器570的收縮位置是第0、1、2、3、4、5、6和7碼元位置時,收縮器560從長度為32的編碼碼元中收縮第0、1、2、3、4、5、6和7編碼碼元,輸出24個編碼碼元。
其次,對編碼器用作(24,4)編碼器的另一種情況加以描述。把a(bǔ)0、a1、a2和a3的4-位速率指示符施加給編碼器,并且,把其余輸入信息位a4、a5和a6初始化成‘0’。同時,把指示把4-位速率指示符施加給編碼器的位信息提供給控制器510。然后,控制器510向Walsh碼發(fā)生器500提供指令它生成長度為16的Walsh碼的控制信號。一旦接收到控制信號,Walsh碼發(fā)生器500就生成長度為16的Walsh碼W1、W2、W4、W8和W16,并且把生成的Walsh碼W1、W2、W4和W8分別提供給相關(guān)乘法器。具體地說,把Walsh碼W1提供給乘法器520,把Walsh碼W2提供給乘法器522,把Walsh碼W4提供給乘法器524,和把Walsh碼W8提供給乘法器526。表7所示的是由Walsh碼發(fā)生器500生成的長度為16的Walsh碼。
表7
同時,把速率指示符的4個輸入信息位分別提供給相關(guān)乘法器。表8所示的是4個輸入信息位與相關(guān)乘法器之間的關(guān)系。
表8
因此,表9所示的是提供給各個乘法器的輸入信息位和Walsh碼。
表9
乘法器將如表9所示提供給它的輸入信息位與Walsh碼相乘,并且把它們的結(jié)果提供給XOR運(yùn)算器540。具體地說,乘法器520逐個碼元地將輸入信息位a0與Walsh碼W1相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器522逐個碼元地將輸入信息位a1與Walsh碼W2相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器524逐個碼元地將輸入信息位a2與Walsh碼W4相乘,并且把它的輸出提供給XOR運(yùn)算器540。乘法器526逐個碼元地將輸入信息位a3與Walsh碼W8相乘,并且把它的輸出提供給XOR運(yùn)算器540。
同時,由于乘法器528、530和532接收初始化成‘0’的輸入信息位a4、a5和a6,因此,與來自Walsh碼發(fā)生器500的Walsh碼W16和來自掩碼發(fā)生器505的掩碼M1和M2無關(guān),乘法器528、530和532的輸出不影響XOR運(yùn)算器540的輸出。具體地說,與來自Walsh碼發(fā)生器500的Walsh碼W16的值無關(guān),乘法器528輸出具有均為值‘0’的編碼碼元的編碼碼元流。類似地,與來自掩碼發(fā)生器505的掩碼M1和M2無關(guān),乘法器530和532輸出每一個都具有均為值‘0’的編碼碼元的編碼碼元流。其結(jié)果是,盡管把乘法器528、530和532的輸出提供給XOR運(yùn)算器540,但是,它們不影響XOR運(yùn)算器540的輸出。把輸入信息位a4、a5和a6初始化成‘0’等效于切斷乘法器528、530和532的輸出的切換操作。
然后,XOR運(yùn)算器540以碼元為單位對從乘法器520、522、524、526、528、530和532輸出的長度為16的碼元流進(jìn)行異或運(yùn)算,并且把它的輸出提供給重復(fù)器550。
可以把從XOR運(yùn)算器540輸出的、長度為16的編碼碼元流Ws定義為方程6Ws=(W1×a0)+(W2×a1)+(W4×a2)+(W8×a3)此刻,控制器510把在XOR運(yùn)算器540的輸出端上控制重復(fù)頻率的控制信號提供給重復(fù)器550。在(24,4)編碼器中,由于從XOR運(yùn)算器540輸出的碼元流具有16的長度,重復(fù)器550的重復(fù)頻率是‘1’。因此,控制器510向重復(fù)器550提供指令它重復(fù)輸入信號一次的控制信號。響應(yīng)該控制信號,重復(fù)器550把從XOR運(yùn)算器540輸出的長度為16的碼元流重復(fù)一次,并且把長度為32的碼元流提供給收縮器560。
此時,控制器510向收縮器560提供指令它收縮與(24,4)代碼有關(guān)的收縮位置中的碼元的控制信號。然后,收縮器560接收從存儲器570讀取的8個收縮位置,并且從重復(fù)器550提供的長度為32的編碼碼元中收縮8個收縮位置中的編碼碼元。也就是說,收縮器560收縮重復(fù)器550提供的長度為32的編碼碼元當(dāng)中,從存儲器570讀取的收縮位置中的8個碼元。例如,當(dāng)來自存儲器570的收縮位置是第0、1、2、3、4、5、6和16碼元位置時,收縮器560從長度為32的編碼碼元中收縮第0、1、2、3、4、5、6和16編碼碼元,輸出24個編碼碼元。
第二實(shí)施例(編碼器)圖9顯示了用作具有不同長度的(24,4)編碼器和(24,7)編碼器兩者的編碼器的另一種結(jié)構(gòu)。也就是說,圖9所示的編碼器利用長度為32的不同Walsh碼或掩碼編碼4或7個輸入信息位,輸出具有24個編碼碼元的編碼碼元流。與根據(jù)第一實(shí)施例的編碼器不同,根據(jù)第二實(shí)施例的編碼器不包括碼元重復(fù)器。
參照圖9,控制器1110通過確定輸入信息位數(shù)是4還是7,控制編碼操作。也就是說,控制器1110向收縮器1160提供指令它收縮與輸入信息位相對應(yīng)的8個收縮位置中的碼元的控制信號。Walsh碼發(fā)生器1100生成長度為32的Walsh碼。例如,一旦接收到輸入信息位,Walsh碼發(fā)生器1100就生成長度為32的5個不同Walsh碼。掩碼發(fā)生器1105生成長度為32的掩碼。例如,一旦接收到輸入信息位,掩碼發(fā)生器505就生成長度為32的2個不同掩碼。
乘法器1120-1132將4或7個輸入信息位與來自Walsh碼發(fā)生器1100和掩碼發(fā)生器1105的Walsh碼和掩碼一一對應(yīng)地相乘,并且輸出每一個都具有32個編碼碼元的編碼碼元流。XOR運(yùn)算器1140對來自乘法器1120-1132的編碼碼元流進(jìn)行異或運(yùn)算,輸出具有32個編碼碼元的一個編碼碼元流。存儲器1170存儲與4個輸入信息位相對應(yīng)的8個收縮位置、和與7個輸入信息位相對應(yīng)的8個收縮位置。存儲在存儲器1170中的、與4個輸入信息位相對應(yīng)的8個收縮位置是第0、1、2、3、4、5、6和16碼元位置,而存儲在存儲器1170中的、與7個輸入信息位相對應(yīng)的8個收縮位置是第0、4、8、12、16、20、24和28碼元位置或第0、1、2、3、4、5、6和7碼元位置。
收縮器1160從XOR運(yùn)算器1140接收具有32個編碼碼元的編碼碼元流,在控制器1110的控制下,從32個編碼碼元中收縮從存儲器1170中讀取的8個收縮位置中的編碼碼元,輸出具有24個編碼碼元的編碼碼元流。也就是說,如果輸入信息位數(shù)是4,收縮器1160在控制器1110的控制下,從XOR運(yùn)算器1140輸出的32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,輸出具有24個編碼碼元的編碼碼元流。但是,如果輸入信息位數(shù)是7,收縮器1160在控制器510的控制下,從XOR運(yùn)算器1140輸出的32個編碼碼元中收縮第0、4、8、12、16、20、24和28碼元或第0、1、2、3、4、5、6和7碼元,輸出具有24個編碼碼元的編碼碼元流。
下面參照圖9,針對編碼器用作(24,4)編碼器的一種情況和編碼器用作(24,7)編碼器的另一種情況,分別對編碼器加以描述。這里假設(shè)施加給編碼器的輸入信息位構(gòu)成一個速率指示符。
首先,對編碼器用作(24,7)編碼器的一種情況加以描述。當(dāng)把a(bǔ)0、a1、a2、a3、a4、a5和a6的7-位速率指示符施加給編碼器時,把指示把7-位速率指示符施加給編碼器的位信息提供給控制器1110。然后,Walsh碼發(fā)生器1100生成長度為32的Walsh碼W1、W2、W4、W8和W16。Walsh碼發(fā)生器1100可以在控制器1110的控制下進(jìn)行操作,也可以在沒有獨(dú)立控制的情況下進(jìn)行操作。圖9顯示了Walsh碼發(fā)生器1100在沒有獨(dú)立控制的情況下進(jìn)行操作的例子。把Walsh碼發(fā)生器1100生成的Walsh碼W1、W2、W4、W8和W16分別提供給相關(guān)乘法器。具體地說,把Walsh碼W1提供給乘法器1120,把Walsh碼W2提供給乘法器1122,把Walsh碼W4提供給乘法器1124,把Walsh碼W8提供給乘法器1126,和把Walsh碼W16提供給乘法器1128。表10所示的是由Walsh碼發(fā)生器1100生成的長度為32的Walsh碼。
表10
同時,掩碼發(fā)生器1105生成掩碼M1=0111 0111 0010 0100 0110 00000000 0000和M2=0010 0110 0101 0100 0101 0100 0100 0000,并且把生成的掩碼M1和M2分別提供給乘法器1130和1132。
同時,把速率指示符的7個輸入信息位分別提供給相關(guān)乘法器。表11所示的是7個輸入信息位與相關(guān)乘法器之間的關(guān)系。
表11
因此,表12所示的是提供給各個乘法器的輸入信息位和Walsh碼或掩碼。
表12
乘法器將如表12所示提供給它的輸入信息位與Walsh碼或掩碼相乘,并且把它們的結(jié)果提供給XOR運(yùn)算器1140。具體地說,乘法器1120逐個碼元地將輸入信息位a0與Walsh碼W1相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1122逐個碼元地將輸入信息位a1與Walsh碼W2相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1124逐個碼元地將輸入信息位a2與Walsh碼W4相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1126逐個碼元地將輸入信息位a3與Walsh碼W8相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1128逐個碼元地將輸入信息位a4與Walsh碼W16相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1130逐個碼元地將輸入信息位a5與掩碼M1相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1132逐個碼元地將輸入信息位a6與掩碼M2相乘,并且把它的輸出提供給XOR運(yùn)算器1140。
然后,XOR運(yùn)算器1140以碼元為單位對從乘法器1120、1122、1124、1126、1128、11130和1132輸出的長度為32的碼元流進(jìn)行異或運(yùn)算,并且把它的輸出提供給收縮器1160。
可以把從XOR運(yùn)算器1140輸出的、長度為32的編碼碼元流Ws定義為方程7Ws=(W1×a0)+(W2×a1)+(W4×a2)+(W8×a3)+(W16×a4)+(M1×a5)+(M2×a6)此刻,控制器1110向收縮器1160提供指令它收縮與(24,7)代碼有關(guān)的收縮位置中的碼元的控制信號。然后,收縮器1160從存儲器1170接收8個收縮位置,并且從XOR運(yùn)算器1140提供的長度為32的編碼碼元中收縮8個收縮位置中的編碼碼元。也就是說,收縮器1160收縮XOR運(yùn)算器1140提供的長度為32的編碼碼元當(dāng)中,從存儲器1170讀取的收縮位置中的8個碼元。例如,當(dāng)來自存儲器1170的收縮位置是第0、4、8、12、16、20、24和28碼元位置時,收縮器1160從長度為32的編碼碼元中收縮第0、4、8、12、16、20、24和28編碼碼元,輸出24個編碼碼元。
以上針對編碼器具有收縮模式{0,4,8,12,16,20,24,28}的一種情況描述了(24,7)編碼器的操作?,F(xiàn)在,針對為了降低如上所述的硬件復(fù)雜度,編碼器具有收縮模式{0,1,2,3,4,5,6,7}的另一種情況描述(24,7)編碼器的操作。在這種情況下,當(dāng)把a(bǔ)0、a1、a2、a3、a4、a5和a6的7-位速率指示符施加給編碼器時,把指示把7-位速率指示符施加給編碼器的位信息提供給控制器1110。然后,Walsh碼發(fā)生器1100生成長度為32的Walsh碼W1、W2、W4、W8和W16。把Walsh碼發(fā)生器1100生成的Walsh碼W1、W2、W4、W8和W16分別提供給相關(guān)乘法器。具體地說,把Walsh碼W1提供給乘法器1120,把Walsh碼W2提供給乘法器1122,把Walsh碼W4提供給乘法器1124,把Walsh碼W8提供給乘法器1126,和把Walsh碼W16提供給乘法器1128。表13所示的是由Walsh碼發(fā)生器1100生成的長度為32的Walsh碼。
表13
同時,掩碼發(fā)生器1105生成掩碼M1=0000 0000 1110 1000 1101 10001100 0000和M2=0000 0000 1100 0000 011 11110 0010 1000,并且把生成的掩碼M1和M2分別提供給乘法器1130和1132。
同時,把速率指示符的7個輸入信息位分別提供給相關(guān)乘法器。表14所示的是7個輸入信息位與相關(guān)乘法器之間的關(guān)系。
表14
因此,表15所示的是提供給各個乘法器的輸入信息位和Walsh碼或掩碼。
表15
乘法器將如表15所示提供給它的輸入信息位與Walsh碼或掩碼相乘,并且把它們的結(jié)果提供給XOR運(yùn)算器1140。具體地說,乘法器1120逐個碼元地將輸入信息位a0與Walsh碼W1相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1122逐個碼元地將輸入信息位a1與Walsh碼W2相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1124逐個碼元地將輸入信息位a2與Walsh碼W4相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1126逐個碼元地將輸入信息位a3與Walsh碼W8相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1128逐個碼元地將輸入信息位a4與Walsh碼W16相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1130逐個碼元地將輸入信息位a5與掩碼M1相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1132逐個碼元地將輸入信息位a6與掩碼M2相乘,并且把它的輸出提供給XOR運(yùn)算器1140。
然后,XOR運(yùn)算器1140以碼元為單位對從乘法器1120、1122、1124、1126、1128、1130和1132輸出的長度為32的碼元流進(jìn)行異或運(yùn)算,并且把它的輸出提供給收縮器1160。
可以把從XOR運(yùn)算器1140輸出的、長度為32的編碼碼元流Ws定義為方程8Ws=(W1×a0)+(W2×a1)+(W4×a2)+(W8×a3)+(W16×a4)+(M1×a5)+(M2×a6)此刻,控制器1110向收縮器1160提供指令它收縮與(24,7)代碼有關(guān)的收縮位置中的碼元的控制信號。然后,收縮器1160從存儲器1170接收8個收縮位置,并且從XOR運(yùn)算器1140提供的長度為32的編碼碼元中收縮8個收縮位置中的編碼碼元。也就是說,收縮器1160收縮XOR運(yùn)算器1140提供的長度為32的編碼碼元當(dāng)中,從存儲器1170讀取的收縮位置中的8個碼元。例如,當(dāng)來自存儲器1170的收縮位置是第0、1、2、3、4、5、6和7碼元位置時,收縮器1160從長度為32的編碼碼元中收縮第0、1、2、3、4、5、6和7編碼碼元,輸出24個編碼碼元。
其次,對編碼器用作(24,4)編碼器的另一種情況加以描述。把a(bǔ)0、a1、a2和a3的4-位速率指示符施加給編碼器,并且,把其余輸入信息位a4、a5和a6初始化成‘0’。然后,Walsh碼發(fā)生器1100就生成長度為16的Walsh碼W1、W2、W4和W8,并且把生成的Walsh碼W1、W2、W4和W8分別提供給相關(guān)乘法器。具體地說,把Walsh碼W1提供給乘法器1120,把Walsh碼W2提供給乘法器1122,把Walsh碼W4提供給乘法器1124,和把Walsh碼W8提供給乘法器1126。表7所示的是由Walsh碼發(fā)生器1100生成的長度為32的Walsh碼。
表16
同時,把速率指示符的4個輸入信息位分別提供給相關(guān)乘法器。表17所示的是4個輸入信息位與相關(guān)乘法器之間的關(guān)系。
表17
因此,表18所示的是提供給各個乘法器的輸入信息位和Walsh碼。
表18
乘法器將如表18所示提供給它的輸入信息位與Walsh碼相乘,并且把它們的結(jié)果提供給XOR運(yùn)算器1140。具體地說,乘法器1120逐個碼元地將輸入信息位a0與Walsh碼W1相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1122逐個碼元地將輸入信息位a1與Walsh碼W2相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1124逐個碼元地將輸入信息位a2與Walsh碼W4相乘,并且把它的輸出提供給XOR運(yùn)算器1140。乘法器1126逐個碼元地將輸入信息位a3與Walsh碼W8相乘,并且把它的輸出提供給XOR運(yùn)算器540。
同時,由于乘法器1128、1130和1132接收初始化成‘0’的輸入信息位a4、a5和a6,因此,與來自Walsh碼發(fā)生器1100的Walsh碼W16和來自掩碼發(fā)生器1105的掩碼M1和M2無關(guān),乘法器1128、1130和1132的輸出不影響XOR運(yùn)算器1140的輸出。具體地說,與來自Walsh碼發(fā)生器1100的Walsh碼W16的值無關(guān),乘法器1128輸出具有均為值‘0’的編碼碼元的編碼碼元流。類似地,與來自掩碼發(fā)生器1105的掩碼M1和M2無關(guān),乘法器1130和1132輸出每一個都具有均為值‘0’的編碼碼元的編碼碼元流。其結(jié)果是,盡管把乘法器1128、1130和1132的輸出提供給XOR運(yùn)算器1140,但是,它們不影響XOR運(yùn)算器1140的輸出。把輸入信息位a4、a5和a6初始化成‘0’等效于切斷乘法器1128、1130和1132的輸出的切換操作。
然后,XOR運(yùn)算器1140以碼元為單位對從乘法器1120、1122、1124、1126、1128、1130和1132輸出的長度為16的碼元流進(jìn)行異或運(yùn)算,并且把它的輸出提供給收縮器1160。
然后,可以把從XOR運(yùn)算器1140輸出的、長度為32的編碼碼元流Ws定義為方程9Ws=(W1×a0)+(W2×a1)+(W4×a2)+(W8×a3)此時,控制器1110向收縮器1160提供指令它收縮與(24,4)代碼有關(guān)的收縮位置中的碼元的控制信號。然后,收縮器1160接收從存儲器1170讀取的8個收縮位置,并且從XOR運(yùn)算器1140提供的長度為32的編碼碼元中收縮8個收縮位置中的編碼碼元。也就是說,收縮器1160收縮XOR運(yùn)算器1140提供的長度為32的編碼碼元當(dāng)中,從存儲器1170讀取的收縮位置中的8個碼元。例如,當(dāng)來自存儲器1170的收縮位置是第0、1、2、3、4、5、6和16碼元位置時,收縮器1160從長度為32的編碼碼元中收縮第0、1、2、3、4、5、6和16編碼碼元,輸出24個編碼碼元。
實(shí)施例(解碼器)圖6顯示了與圖5所示的編碼器相對應(yīng)的解碼器的結(jié)構(gòu)。下面針對解碼器用作(24,4)解碼器的一種情況和解碼器用作(24,7)解碼器的另一種情況分別對編碼器加以描述。
首先,對解碼器用作與(24,7)編碼器相對應(yīng)的(24,7)解碼器的情況加以描述。(24,7)解碼器接收由(24,7)編碼器編碼的、具有其值為‘+1’或‘-1’的24個編碼碼元的編碼碼元流。將接收的編碼碼元流施加給零(0)插入器650。
同時,一旦接收到預(yù)定代碼長度信息,控制器630就向(24,7)解碼器提供指令它把‘0’,即‘+1’與‘-1’之間的中值插入與(24,7)編碼器有關(guān)的收縮位置中的控制信號。在控制器630的控制下,零插入器650從存儲器660接收有關(guān)與7個輸入信息位相對應(yīng)的8個收縮位置的信息。例如,與7個輸入信息位相對應(yīng)的收縮位置0、4、8、12、16、20、24和28碼元位置或第0、1、2、3、4、5、6和7碼元位置。
因此,零插入器650把‘0’插入構(gòu)成接收編碼碼元流的24個編碼碼元當(dāng)中存儲器660提供的收縮位置中,并且把具有32個編碼碼元的零插入碼元流提供給碼元累加器600。然后,控制器630向碼元累加器600提供指令它累加重復(fù)了(24,7)編碼器的重復(fù)頻率那么多次的碼元的控制信號。由于(24,7)編碼器沒有進(jìn)行碼元重復(fù),碼元累加器600輸出32個原樣接收碼元把32個接收碼元提供給相關(guān)性計算器620,并且還把它提供給乘法器602、604和606。然后,掩碼發(fā)生器610生成長度均為32的掩碼函數(shù)M1、M2和M1+M2,并且把掩碼函數(shù)M1提供給乘法器602,把掩碼函數(shù)M2提供給乘法器604,和把掩碼函數(shù)M1+M2提供給乘法器606。掩碼函數(shù)隨收縮位置(或收縮模式)而改變。當(dāng)使用收縮位置時,使用用在編碼器中的掩碼函數(shù)。然后,乘法器602以碼元為單元將接收碼元與掩碼函數(shù)M1相乘,和乘法器604以碼元為單元將接收碼元與掩碼函數(shù)M2相乘。此外,乘法器606以碼元為單元將接收碼元與掩碼函數(shù)M1+M2相乘。
在控制器630的控制下,切換器652把從乘法器602輸出的碼元流提供給相關(guān)性計算器622。在控制器630的控制下,切換器654把從乘法器604輸出的碼元流提供給相關(guān)性計算器624。在控制器630的控制下,切換器656把從乘法器606輸出的碼元流提供給相關(guān)性計算器626。然后,相關(guān)性計算器620計算長度為32的接收碼元流與長度為32的Walsh碼之間的所有相關(guān)性,并且向相關(guān)性比較器640提供相關(guān)性最高的Walsh碼序號、相關(guān)值、和指示在前一級沒有使用掩碼函數(shù)的掩碼序號‘0’。
相關(guān)性計算器622計算將長度為32的接收碼元流與掩碼函數(shù)M1相乘確定的碼元流與長度為32的Walsh碼之間的所有相關(guān)性,并且向相關(guān)性比較器640提供相關(guān)性最高的Walsh碼序號、相關(guān)值、和指示在前一級使用了掩碼函數(shù)的掩碼序號‘1’。相關(guān)性計算器624計算將長度為32的接收碼元流與掩碼函數(shù)M1相乘確定的碼元流與長度為32的Walsh碼之間的所有相關(guān)性,并且向相關(guān)性比較器640提供相關(guān)性最高的Walsh碼序號、相關(guān)值、和指示在前一級使用了掩碼函數(shù)的掩碼序號‘2’。相關(guān)性計算器626計算將長度為32的接收碼元流與掩碼函數(shù)M1+M2相乘確定的碼元流與長度為32的Walsh碼之間的所有相關(guān)性,并且向相關(guān)性比較器640提供相關(guān)性最高的Walsh碼序號、相關(guān)值、和指示在前一級使用了掩碼函數(shù)的掩碼序號‘3’。然后,相關(guān)性比較器640選擇從相關(guān)性計算器620、622、624和626接收的值當(dāng)中的最大值,將相應(yīng)Walsh碼序號和掩碼序號連接在一起,并且輸出連接值作為解碼位。
其次,對解碼器用作與(24,4)編碼器相對應(yīng)的(24,4)解碼器的另一種情況加以描述。(24,4)解碼器接收由(24,4)編碼器編碼的、具有其值為‘+1’或‘-1’的24個編碼碼元的編碼碼元流。將接收的編碼碼元流施加給零插入器650。
同時,一旦接收到預(yù)定代碼長度信息,控制器630就生成指令(24,4)解碼器把‘0’,即‘+1’與‘-1’之間的中值插入與(24,4)編碼器有關(guān)的收縮位置中的控制信號,并且把它提供給(24,4)解碼器。在控制器630的控制下,零插入器650從存儲器660接收有關(guān)與4個輸入信息位相對應(yīng)的8個收縮位置的信息。例如,與4個輸入信息位相對應(yīng)的收縮位置是第0、1、2、3、4、5、6和16碼元位置。因此,零插入器650把‘0’插入構(gòu)成接收編碼碼元流的24個編碼碼元當(dāng)中存儲器660提供的收縮位置中,并且把具有32個編碼碼元的零插入碼元流提供給碼元累加器600。然后,控制器630向碼元累加器600提供指令它累加重復(fù)了(24,4)編碼器的重復(fù)頻率那么多次的碼元的控制信號。
由于(24,4)編碼器進(jìn)行了一次碼元重復(fù),碼元累加器600累加兩次32個接收碼元當(dāng)中重復(fù)位置中的碼元,并且輸出長度為16的碼元流。把從累加器600輸出的16個接收碼元提供給相關(guān)性計算器620,并且還把它提供給乘法器602、604和606。在控制器630的控制下,與乘法器602、604和606的輸出節(jié)點(diǎn)相連接的切換器652、654和656斷開,致使乘法器602、604和606的輸出不起作用。然后,控制器630向相關(guān)性計算器620提供指令它計算接收碼元流與長度相同的Walsh碼(即長度為16的Walsh碼)之間的相關(guān)性的控制信號。相關(guān)性計算器620計算長度為16的接收碼元流與長度為16的Walsh碼之間的所有相關(guān)性,并且向相關(guān)性比較器640提供相關(guān)性最高的Walsh碼序號、相關(guān)值、和指示掩碼序號的值。相關(guān)性比較器640將從相關(guān)性計算器620接收的Walsh碼序號和掩碼序號連接在一起,并且輸出連接值作為解碼位。
如上所述,本發(fā)明不僅實(shí)現(xiàn)了性能最佳,以及復(fù)雜度最低的速率指示符編碼設(shè)備和方法,而且通過利用收縮擴(kuò)充一階Reed-Muller碼的設(shè)備和方法,使用了最佳碼字。并且,本發(fā)明利用收縮擴(kuò)充一階Reed-Muller碼的設(shè)備和方法,致使把快速Hadamard逆變換用在解碼過程中,從而可以使硬件復(fù)雜度降到最低,和生成在糾錯性能方面最佳的代碼。最后,本發(fā)明支持(24,4)編碼器和(24,7)編碼器,因此保證了有效的編碼。
雖然通過參照本發(fā)明的某些優(yōu)選實(shí)施例,已經(jīng)對本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對其作各種各樣的改變,而不偏離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1.在移動通信系統(tǒng)中,接收4個輸入信息位,利用長度為16的不同Walsh碼編碼4個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的16個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼方法,該編碼方法包括下列步驟重復(fù)具有16個編碼碼元的編碼碼元流一次;和從32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,從而輸出具有24個編碼碼元的編碼碼元流。
2.在移動通信系統(tǒng)中,接收7個輸入信息位,利用長度為32的不同Walsh碼和長度為32的不同掩碼編碼7個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的32個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼方法,該編碼方法包括下列步驟從32個編碼碼元中收縮第0、4、8、12、16、20、24和28碼元,從而輸出具有24個編碼碼元的編碼碼元流。
3.根據(jù)權(quán)利要求2所述的編碼方法,其中,掩碼包括‘0111 0111 00100100 0110 0000 0000 0000’和‘0010 0110 0101 0100 0101 0100 0100 0000’。
4.在移動通信系統(tǒng)中,接收4個輸入信息位,利用長度為16的不同Walsh碼編碼4個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的16個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼設(shè)備,該編碼設(shè)備包括重復(fù)器,用于重復(fù)具有16個編碼碼元的編碼碼元流一次,從而輸出具有32個編碼碼元的編碼碼元流;和收縮器,從編碼碼元流的32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,從而輸出具有24個編碼碼元的編碼碼元流。
5.根據(jù)權(quán)利要求4所述的編碼設(shè)備,還包括存儲器,用于存儲要被收縮器收縮的收縮位置,其中,收縮位置是第0、1、2、3、4、5、6和16碼元位置。
6.在移動通信系統(tǒng)中,接收7個輸入信息位,利用長度為32的不同Walsh碼和長度為32的不同掩碼編碼7個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的32個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼設(shè)備,該編碼設(shè)備包括收縮器,用于從來自XOR運(yùn)算器的32個編碼碼元中收縮第0、4、8、12、16、20、24和28碼元,從而輸出具有24個編碼碼元的編碼碼元流。
7.根據(jù)權(quán)利要求6所述的編碼設(shè)備,還包括存儲器,用于存儲要被收縮器收縮的收縮位置,其中,收縮位置是第0、4、8、12、16、20、24和28碼元位置。
8.根據(jù)權(quán)利要求7所述的編碼設(shè)備,其中,掩碼包括‘0111 0111 00100100 0110 0000 0000 0000’和‘0010 0110 0101 0100 0101 0100 0100 0000’。
9.在移動通信系統(tǒng)中,接收4或7個輸入信息位,利用長度均為16或32的不同Walsh碼或掩碼編碼4或7個輸入信息位,和輸出具有24個編碼碼元的編碼碼元流的編碼設(shè)備,該編碼設(shè)備包括控制器,用于確定輸入信息位數(shù)是4還是7,和根據(jù)確定結(jié)果控制編碼操作;Walsh碼發(fā)生器,用于在控制器的控制下,有選擇地生成長度為16或32的5個不同Walsh碼;掩碼發(fā)生器,用于在控制器的控制下,有選擇地生成長度為16或32的2個不同掩碼;數(shù)個乘法器,用于一一對應(yīng)地將4或7個輸入信息位乘以來自Walsh碼發(fā)生器的Walsh碼和來自掩碼發(fā)生器的掩碼,和輸出每一個具有16或32個編碼碼元的編碼碼元流;XOR運(yùn)算器,用于對來自乘法器的編碼碼元流進(jìn)行異或運(yùn)算,和輸出一個編碼碼元;重復(fù)器,用于在控制器的控制下,重復(fù)來自XOR運(yùn)算器的編碼碼元流預(yù)定次數(shù),和輸出具有32個編碼碼元的編碼碼元流;存儲器,用于存儲與4個信息位相對應(yīng)的8個收縮位置和與7個信息位相對應(yīng)的8個收縮位置;和收縮器,用于從重復(fù)器接收具有32個編碼碼元的編碼碼元流,在控制器的控制下,從32個編碼碼元中收縮從存儲器讀出的8個收縮位置中的編碼碼元,和輸出具有24個編碼碼元的編碼碼元流。
10.根據(jù)權(quán)利要求9所述的編碼設(shè)備,其中,當(dāng)輸入信息位數(shù)是4時,控制器控制Walsh碼發(fā)生器和掩碼發(fā)生器生成長度為16的7個不同Walsh碼和掩碼,把重復(fù)器的重復(fù)頻率設(shè)置成‘1’,和控制收縮器收縮與4個輸入信息位相對應(yīng)的8個收縮位置中的編碼碼元。
11.根據(jù)權(quán)利要求9所述的編碼設(shè)備,其中,當(dāng)輸入信息位數(shù)是7時,控制器控制Walsh碼發(fā)生器和掩碼發(fā)生器生成長度為32的7個不同Walsh碼和掩碼,把重復(fù)器的重復(fù)頻率設(shè)置成‘0’,和控制收縮器收縮與7個輸入信息位相對應(yīng)的8個收縮位置中的編碼碼元。
12.根據(jù)權(quán)利要求10所述的編碼設(shè)備,其中,存儲在存儲器中的、與4個輸入信息位相對應(yīng)的8個收縮位置是第0、1、2、3、4、5、6和16碼元位置。
13.根據(jù)權(quán)利要求11所述的編碼設(shè)備,其中,存儲在存儲器中的、與7個輸入信息位相對應(yīng)的8個收縮位置是第0、4、8、12、16、20、24和28碼元位置。
14.根據(jù)權(quán)利要求11所述的編碼設(shè)備,其中,存儲在存儲器中的、與7個輸入信息位相對應(yīng)的8個收縮位置是第0、1、2、3、4、5、6和7碼元位置。
15.根據(jù)權(quán)利要求13所述的編碼設(shè)備,其中,掩碼包括‘0111 0111 00100100 0110 0000 0000 0000’和‘0010 0110 0101 0100 0101 0100 0100 0000’。
16.根據(jù)權(quán)利要求14所述的編碼設(shè)備,其中,掩碼包括‘0000 0000 11101000 1101 1000 1100 0000’和‘0000 0000 1100 0000 0111 1110 0010 1000’。
17.在移動通信系統(tǒng)中,接收4或7個輸入信息位,利用長度均為16或32的不同Walsh碼或掩碼編碼4或7個輸入信息位,和輸出具有24個編碼碼元的編碼碼元流的編碼方法,該編碼方法包括如下步驟(a)確定輸入信息位數(shù)是4還是7;(b)當(dāng)輸入信息位數(shù)是4時,利用長度為16的不同Walsh碼編碼4個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的16個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流;和(c)當(dāng)輸入信息位數(shù)是7時,利用長度為32的不同Walsh碼編碼7個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的32個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流。
18.根據(jù)權(quán)利要求17所述的編碼方法,其中,步驟(b)包括如下步驟重復(fù)一次具有16個編碼碼元的編碼碼元流,和輸出具有32個編碼碼元的編碼碼元流;和從32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,和輸出具有24個編碼碼元的編碼碼元流。
19.根據(jù)權(quán)利要求17所述的編碼方法,其中,步驟(c)包括如下步驟從32個編碼碼元中收縮第0、4、8、12、16、20、24和28碼元,和輸出具有24個編碼碼元的編碼碼元流。
20.根據(jù)權(quán)利要求17所述的編碼方法,其中,步驟(c)包括如下步驟從32個編碼碼元中收縮第0、1、2、3、4、5、6和7碼元,和輸出具有24個編碼碼元的編碼碼元流。
21.在移動通信系統(tǒng)中,接收7個輸入信息位,利用長度為32的不同Walsh碼和長度為32的不同掩碼編碼7個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的32個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼方法,該編碼方法包括如下步驟從32個編碼碼元中收縮第0、1、2、3、4、5、6和7碼元,和輸出具有24個編碼碼元的編碼碼元流。
22.根據(jù)權(quán)利要求21所述的編碼方法,其中,掩碼包括‘0111 0111 00100100 0110 0000 0000 0000’和‘0010 0110 0101 0100 0101 0100 0100 0000’。
23.在移動通信系統(tǒng)中,接收7個輸入信息位,利用長度為32的不同Walsh碼和長度為32的不同掩碼編碼7個輸入信息位,和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的32個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼設(shè)備,該編碼設(shè)備包括收縮器,用于從來自XOR運(yùn)算器的32個編碼碼元中收縮第0、1、2、3、4、5、6和7碼元,和輸出具有24個編碼碼元的編碼碼元流。
24.根據(jù)權(quán)利要求23所述的編碼設(shè)備,還包括存儲器,用于存儲要被收縮器收縮的收縮位置,其中,收縮位置是第0、1、2、3、4、5、6和7碼元位置。
25.根據(jù)權(quán)利要求23所述的編碼設(shè)備,其中,掩碼包括‘0111 0111 00100100 0110 0000 0000 0000’和‘0010 0110 0101 0100 0101 0100 0100 0000’。
26.在移動通信系統(tǒng)中,接收4或7個輸入信息位,利用長度都為32的不同Walsh碼或掩碼編碼4或7個輸入信息位、和輸出具有24個編碼碼元的編碼碼元流的編碼設(shè)備,該編碼設(shè)備包括控制器,用于確定輸入信息位數(shù)是4還是7,和根據(jù)確定結(jié)果控制編碼操作;Walsh碼發(fā)生器,用于有選擇地生成長度為32的5個不同Walsh碼;掩碼發(fā)生器,用于有選擇地生成長度為32的2個不同掩碼;數(shù)個乘法器,用于一一對應(yīng)地將4或7個輸入信息位乘以來自Walsh碼發(fā)生器的Walsh碼和來自掩碼發(fā)生器的掩碼,和輸出每一個具有32個編碼碼元的編碼碼元流;XOR運(yùn)算器,用于對來自乘法器的編碼碼元流進(jìn)行異或運(yùn)算,和輸出一個編碼碼元;存儲器,用于存儲與4個信息位相對應(yīng)的8個收縮位置和與7個信息位相對應(yīng)的8個收縮位置;和收縮器,用于從XOR接收器接收具有32個編碼碼元的編碼碼元流,在控制器的控制下,從32個編碼碼元中收縮從存儲器讀出的8個收縮位置中的編碼碼元,和輸出具有24個編碼碼元的編碼碼元流。
27.根據(jù)權(quán)利要求26所述的編碼設(shè)備,其中,當(dāng)輸入信息位數(shù)是4時,收縮器收縮與4個輸入信息位相對應(yīng)的第0、1、2、3、4、5、6和16碼元。
28.根據(jù)權(quán)利要求26所述的編碼設(shè)備,其中,當(dāng)輸入信息位數(shù)是7時,收縮器收縮與7個輸入信息位相對應(yīng)的第0、4、8、12、16、20、24和28碼元。
29.根據(jù)權(quán)利要求26所述的編碼設(shè)備,其中,當(dāng)輸入信息位數(shù)是7時,收縮器收縮與7個輸入信息位相對應(yīng)的第0、1、2、3、4、5、6和7碼元。
30.在移動通信系統(tǒng)中,接收4或7個輸入信息位,利用長度為32的不同Walsh碼或掩碼編碼4或7個輸入信息位,和輸出具有24個編碼碼元的編碼碼元流的編碼方法,該編碼方法包括如下步驟確定輸入信息位數(shù)是4還是7;一旦接收到4或7個輸入信息位數(shù),就利用長度為32的不同Walsh碼或掩碼編碼4或7個輸入信息位,和輸出具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的32個編碼碼元的編碼碼元流;一旦接收到基于4個輸入信息位的編碼碼元流,就從構(gòu)成編碼碼元流的32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,輸出具有24個編碼碼元的編碼碼元流;和一旦接收到基于7個輸入信息位的編碼碼元流,就從構(gòu)成編碼碼元流的32個編碼碼元中收縮第0、4、8、12、16、20、24和28碼元,輸出具有24個編碼碼元的編碼碼元流。
31.在移動通信系統(tǒng)中,接收4或7個輸入信息位,利用長度為32的不同Walsh碼或掩碼編碼4或7個輸入信息位,和輸出具有24個編碼碼元的編碼碼元流的編碼方法,該編碼方法包括如下步驟確定輸入信息位數(shù)是4還是7;一旦接收到4或7個輸入信息位數(shù),就利用長度為32的不同Walsh碼或掩碼編碼4或7個輸入信息位,和輸出具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的32個編碼碼元的編碼碼元流;一旦接收到基于4個輸入信息位的編碼碼元流,就從構(gòu)成編碼碼元流的32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,輸出具有24個編碼碼元的編碼碼元流;和一旦接收到基于7個輸入信息位的編碼碼元流,就從構(gòu)成編碼碼元流的32個編碼碼元中收縮第0、1、2、3、4、5、6和7碼元,輸出具有24個編碼碼元的編碼碼元流。
全文摘要
本發(fā)明提供了在移動通信系統(tǒng)中,接收4個輸入信息位、利用長度為16的不同Walsh碼編碼4個輸入信息位、和利用具有由XOR運(yùn)算器對編碼輸入信息位進(jìn)行異或運(yùn)算獲得的16個編碼碼元的編碼碼元流,輸出具有24個編碼碼元的編碼碼元流的編碼方法。該編碼方法包括重復(fù)具有16個編碼碼元的編碼碼元流一次,從而輸出具有32個編碼碼元的編碼碼元流;和從32個編碼碼元中收縮第0、1、2、3、4、5、6和16碼元,從而輸出具有24個編碼碼元的編碼碼元流。
文檔編號H03M7/30GK1461529SQ02801195
公開日2003年12月10日 申請日期2002年3月20日 優(yōu)先權(quán)日2001年3月20日
發(fā)明者金宰烈, 崔虎圭, 張在成, 金尹善 申請人:三星電子株式會社