專利名稱:用于遞歸運(yùn)算數(shù)據(jù)的電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一個(gè)電路,該電路基于第一數(shù)據(jù)集運(yùn)算第二數(shù)據(jù)集,由至少一個(gè)運(yùn)算設(shè)備運(yùn)算得到第一數(shù)據(jù)集,該運(yùn)算設(shè)備能夠在預(yù)先定義的時(shí)鐘周期內(nèi)運(yùn)算一個(gè)數(shù)據(jù),上述運(yùn)算設(shè)備有一個(gè)輸入和一個(gè)輸出。
本發(fā)明還涉及一個(gè)系統(tǒng),用于運(yùn)算一個(gè)交錯(cuò)器(interleaver)的列內(nèi)置換元素,一個(gè)包含該系統(tǒng)的解碼電路,一個(gè)包含該解碼電路的電子設(shè)備和一個(gè)通信網(wǎng)絡(luò)。
本發(fā)明生成一個(gè)應(yīng)用,例如,在一個(gè)衛(wèi)星通信系統(tǒng)或者一個(gè)采用UMTS(UMTS=通用移動(dòng)電信系統(tǒng))標(biāo)準(zhǔn)的系統(tǒng),諸如一個(gè)第三代移動(dòng)電話。
背景技術(shù):
某些數(shù)據(jù)處理系統(tǒng)執(zhí)行一個(gè)數(shù)據(jù)的遞歸運(yùn)算,其運(yùn)算一個(gè)數(shù)據(jù)集需要基于另外一個(gè)數(shù)據(jù)集。例如可以執(zhí)行一個(gè)數(shù)據(jù)bj[i]的運(yùn)算,其中i和j為系數(shù),i從0變化到n,j從0變化到m,m和n為非零整數(shù)。這在冪矩陣的運(yùn)算中是典型的運(yùn)算。
圖1為這樣一個(gè)處理系統(tǒng)要運(yùn)算的數(shù)據(jù)的一個(gè)例子。在本例子中,整數(shù)m為9,整數(shù)n為4。要運(yùn)算5個(gè)數(shù)據(jù)集,b0
到b9
,b0[1]到b9[1],b0[2]到b9[2],b0[3]到b9[3],b0[4]到b9[4]。處理系統(tǒng)分別運(yùn)算b0
到b9
,然后是b0[1]到b9[1],依此類推。一個(gè)數(shù)據(jù)集是基于在前的數(shù)據(jù)集。例如,b0[1]是關(guān)于b0
的一個(gè)函數(shù)fb0[1]=f(b0
)類似地,b1[1]=f(b1
),b2[1]=f(b2
),依此類推。一般地bi[i+1]=f(bj[i])圖2示出了執(zhí)行上述運(yùn)算的一個(gè)電路。該電路包括一個(gè)存儲(chǔ)器21,一個(gè)控制器22和一個(gè)運(yùn)算設(shè)備23。以下例子敘述了基于第一數(shù)據(jù)集b0[1]到b9[1]運(yùn)算第二數(shù)據(jù)集b0[2]到b9[2]。在本例子中,采用運(yùn)算設(shè)備23運(yùn)算一個(gè)數(shù)據(jù)需要一個(gè)時(shí)鐘周期。第一數(shù)據(jù)集b0[1]到b9[1]的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器21中。在一個(gè)時(shí)鐘周期中,將b0[1]發(fā)送到運(yùn)算設(shè)備23,該設(shè)備則運(yùn)算b0[2]。然后將該數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器21中。在下一個(gè)時(shí)鐘周期,將b1[1]發(fā)送到運(yùn)算設(shè)備23,該設(shè)備則運(yùn)算b1[2]。然后將該數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器21中。電路類似地處理從b2[2]到b9[2]的運(yùn)算。
控制器22控制將第一數(shù)據(jù)集的數(shù)據(jù)發(fā)送到運(yùn)算設(shè)備23用于運(yùn)算第二數(shù)據(jù)集的數(shù)據(jù)。為了實(shí)現(xiàn)該控制,控制器22從存儲(chǔ)器21中生成保存上述第一數(shù)據(jù)集數(shù)據(jù)的一個(gè)地址。存儲(chǔ)器21是一個(gè)RAM存儲(chǔ)器(RAM=隨機(jī)存取存儲(chǔ)器)。當(dāng)存儲(chǔ)器21從控制器22收到一個(gè)地址時(shí),就將存儲(chǔ)在該地址中的數(shù)據(jù)發(fā)送到運(yùn)算設(shè)備23。
因此該電路需要一個(gè)隨機(jī)存取存儲(chǔ)器和一個(gè)控制器。該存儲(chǔ)器和該控制器占據(jù)大量硅表面并且采用大量電流。這是它的一個(gè)缺點(diǎn),特別是在諸如移動(dòng)電話等的便攜式電子設(shè)備中。事實(shí)上,在便攜式電子設(shè)備中,有效的硅表面是有限的。而且,此類設(shè)備是用電池供電的,為了避免頻繁的對(duì)電池充電,低電流消耗是必要的。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供一種基于第一數(shù)據(jù)集運(yùn)算第二數(shù)據(jù)集的電路,上述電路占用較少的硅平面,并且有較低的電流消耗。
根據(jù)本發(fā)明和在開始段中所敘述的電路有如下特征,它包括在若干個(gè)時(shí)鐘周期內(nèi),將第一數(shù)據(jù)集從上述運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵说膫鬏斣O(shè)備,該時(shí)鐘周期數(shù)量依賴于第一數(shù)據(jù)集的數(shù)據(jù)數(shù)量和預(yù)先定義的運(yùn)算一個(gè)數(shù)據(jù)所必須的周期數(shù)量,在每個(gè)時(shí)鐘周期,有一個(gè)數(shù)據(jù)通過上述傳輸設(shè)備進(jìn)行傳輸。
當(dāng)運(yùn)算設(shè)備運(yùn)算第一數(shù)據(jù)集的一個(gè)數(shù)據(jù)并且?guī)讉€(gè)時(shí)鐘周期后利用該數(shù)據(jù)進(jìn)行運(yùn)算第二數(shù)據(jù)集的數(shù)據(jù)時(shí),該第一數(shù)據(jù)集的數(shù)據(jù)通過傳輸設(shè)備傳輸?shù)竭\(yùn)算設(shè)備的輸入端,該操作僅由上述時(shí)鐘控制。傳輸裝置是在運(yùn)算設(shè)備要用到該第一數(shù)據(jù)集的數(shù)據(jù)時(shí),該數(shù)據(jù)到達(dá)上述運(yùn)算設(shè)備的輸入端。因此,電路不需要隨機(jī)存取存儲(chǔ)器和控制器,這樣就降低了這種電路的功耗和所占用的硅表面。
有利的是,傳輸裝置包括用于調(diào)節(jié)將一個(gè)數(shù)據(jù)從上述運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵怂仨毜闹芷跀?shù)的調(diào)節(jié)裝置。因此該電路有很大的靈活性。事實(shí)上,該電路所處理的數(shù)據(jù)集中的數(shù)據(jù)量是變化的。將一個(gè)數(shù)據(jù)從運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵怂仨毜闹芷跀?shù)還依賴于數(shù)據(jù)集的數(shù)據(jù)量。由于此調(diào)節(jié)裝置,就可以按照要處理的數(shù)據(jù)集的數(shù)據(jù)量的一個(gè)函數(shù),調(diào)節(jié)將一個(gè)數(shù)據(jù)從運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵怂仨毜闹芷跀?shù)。因此,該電路可以用于處理具有不同數(shù)據(jù)數(shù)量的數(shù)據(jù)集。
在一個(gè)優(yōu)選的實(shí)施例中,傳輸裝置包括至少一個(gè)時(shí)鐘觸發(fā)寄存器,上述寄存器能夠每一時(shí)鐘周期存儲(chǔ)一個(gè)新數(shù)據(jù)。根據(jù)本實(shí)施例,傳輸裝置僅僅包括能夠存儲(chǔ)一個(gè)數(shù)據(jù)的寄存器。這種寄存器占用的硅表面少并且電流消耗小。該電路還容易設(shè)計(jì),該類寄存器的數(shù)量對(duì)應(yīng)于將一個(gè)數(shù)據(jù)從上述運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵怂仨毜闹芷跀?shù)。
參考以下實(shí)施例,通過沒有局限性的例子,可以清晰的說明本發(fā)明的這些方面和其他方面。
在圖中圖1示出了要運(yùn)算的數(shù)據(jù)的一個(gè)例子;圖2是一個(gè)方框圖,示出了運(yùn)算圖1的數(shù)據(jù)的現(xiàn)有技術(shù)的電路;圖3是一個(gè)方框圖,示出了根據(jù)本發(fā)明的一個(gè)電路;圖4是一個(gè)方框圖,示出了根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的電路;圖5示出了根據(jù)本發(fā)明的用于相乘累加的一個(gè)電路;圖6示出了包含根據(jù)本發(fā)明的電路的一個(gè)通信網(wǎng)絡(luò);圖7示出了交錯(cuò)矩陣的和一個(gè)交錯(cuò)塊的運(yùn)算;圖8示出了根據(jù)本發(fā)明的一個(gè)電路,該電路用于運(yùn)算一個(gè)交錯(cuò)器的列間置換元素。
具體實(shí)施例方式
圖3示出了根據(jù)本發(fā)明的一個(gè)電路。該電路包括一個(gè)具有一個(gè)輸入端311和一個(gè)輸出端312的運(yùn)算設(shè)備31,和一個(gè)傳輸裝置32。在該例子中,傳輸裝置包括9個(gè)寄存器321-329。運(yùn)算設(shè)備31還接收附加數(shù)據(jù)34,例如系數(shù)。
以下所述的例子示出了通過圖3中電路的設(shè)備是如何基于第一數(shù)據(jù)集運(yùn)算第二數(shù)據(jù)集的。該例子應(yīng)用于圖1中的第二數(shù)據(jù)集b0[2]到b9[2]和第一數(shù)據(jù)集b0[1]到b9[1]。
首先,基于對(duì)應(yīng)于圖1中的數(shù)據(jù)集b0
到b9
的初始數(shù)據(jù)運(yùn)算第一數(shù)據(jù)集的數(shù)據(jù)。這些數(shù)據(jù)以附加數(shù)據(jù)34的形式發(fā)送到運(yùn)算設(shè)備31。在第一個(gè)時(shí)鐘周期內(nèi),發(fā)送數(shù)據(jù)b0
到運(yùn)算設(shè)備31。然后運(yùn)算設(shè)備31運(yùn)算數(shù)據(jù)b0[1],并將其存儲(chǔ)到寄存器321中。應(yīng)該注意的是,數(shù)據(jù)b0[1]可以并行存儲(chǔ)在一個(gè)存儲(chǔ)設(shè)備中,其在圖1中沒有示出。在第二個(gè)時(shí)鐘周期內(nèi),發(fā)送數(shù)據(jù)b1
到運(yùn)算設(shè)備31。然后運(yùn)算設(shè)備31運(yùn)算數(shù)據(jù)b1[1],并將其代替b0[1]存儲(chǔ)到寄存器321中,將b0[1]發(fā)送到寄存器322中。事實(shí)上,寄存器321到329是由時(shí)鐘觸發(fā)的,這就是說,在每個(gè)時(shí)鐘周期,在一個(gè)寄存器中的數(shù)據(jù)離開該寄存器。
數(shù)據(jù)b2[1]到b9[1]的運(yùn)算采用了同樣的操作。在第十個(gè)時(shí)鐘周期,存儲(chǔ)在寄存器329中的數(shù)據(jù)b1
被發(fā)送到運(yùn)算設(shè)備31的輸入端311,然而數(shù)據(jù)b9[1]被運(yùn)算設(shè)備31運(yùn)算并且被發(fā)送到寄存器321中。
在第十一個(gè)時(shí)鐘周期,運(yùn)算設(shè)備31基于數(shù)據(jù)b0[1]運(yùn)算第二數(shù)據(jù)集的數(shù)據(jù)b0[2]。然后將該數(shù)據(jù)b0[2]存儲(chǔ)在寄存器321中。在第十一個(gè)時(shí)鐘周期,將存儲(chǔ)在寄存器329中的數(shù)據(jù)b1[1]發(fā)送到運(yùn)算設(shè)備31的輸入端311。在第十二個(gè)時(shí)鐘周期,運(yùn)算設(shè)備31運(yùn)算數(shù)據(jù)b1[2]并將其存儲(chǔ)在寄存器321中。執(zhí)行相同的操作用于運(yùn)算數(shù)據(jù)b2[2]到b9[2]。
在該例子中,假定運(yùn)算設(shè)備31運(yùn)算一個(gè)數(shù)據(jù)需要一個(gè)時(shí)鐘周期。對(duì)于該運(yùn)算也可以需要多個(gè)時(shí)鐘周期。例如,假設(shè)該運(yùn)算需要三個(gè)時(shí)鐘周期。
在第一個(gè)時(shí)鐘周期,將數(shù)據(jù)b0
發(fā)送到運(yùn)算設(shè)備31。在第二個(gè)時(shí)鐘周期,將數(shù)據(jù)b1
發(fā)送到運(yùn)算設(shè)備31。在第三個(gè)時(shí)鐘周期,將數(shù)據(jù)b2
發(fā)送到運(yùn)算設(shè)備31。由于一個(gè)數(shù)據(jù)的運(yùn)算需要三個(gè)時(shí)鐘周期,因此在該第三個(gè)時(shí)鐘周期運(yùn)算數(shù)據(jù)b0[1]。然后將該數(shù)據(jù)存儲(chǔ)到寄存器321中。在第十個(gè)時(shí)鐘周期,將數(shù)據(jù)b9
發(fā)送到運(yùn)算設(shè)備31。然后,數(shù)據(jù)b0[1]是位于寄存器327中,并且被發(fā)送到運(yùn)算設(shè)備31,從而初始化第二數(shù)據(jù)集的數(shù)據(jù)b0[2]的運(yùn)算。因此,傳輸裝置32僅僅需要七個(gè)寄存器321到327。
因此,將一個(gè)數(shù)據(jù)從運(yùn)算設(shè)備31的輸出端傳輸?shù)捷斎攵怂枰臅r(shí)鐘周期數(shù)依賴于數(shù)據(jù)集的數(shù)據(jù)數(shù)量和運(yùn)算一個(gè)數(shù)據(jù)所必須的時(shí)鐘周期數(shù)量。通常,如果數(shù)據(jù)集包括k個(gè)數(shù)據(jù)并且如果運(yùn)算一個(gè)數(shù)據(jù)所必須的時(shí)鐘周期數(shù)為1,則將一個(gè)數(shù)據(jù)從運(yùn)算設(shè)備31的輸出端傳輸?shù)捷斎攵怂枰臅r(shí)鐘周期數(shù)為(k-1)。在圖3的例子中,這就意味著傳輸裝置需要(k-1)個(gè)由時(shí)鐘觸發(fā)的寄存器。
在上述例子中,還假設(shè)了運(yùn)算為流水線型的,也就是說,在每個(gè)時(shí)鐘周期,發(fā)送一個(gè)數(shù)據(jù)到運(yùn)算設(shè)備31。顯然,根據(jù)本發(fā)明的電路包括了各種運(yùn)算設(shè)備,也可能并不是每個(gè)時(shí)鐘周期都發(fā)送一個(gè)數(shù)據(jù)到運(yùn)算設(shè)備31。如果在這種情況下,將一個(gè)數(shù)據(jù)從一個(gè)運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵怂枰臅r(shí)鐘周期數(shù)還是依賴于數(shù)據(jù)集的數(shù)據(jù)數(shù)量和運(yùn)算一個(gè)數(shù)據(jù)所必須的時(shí)鐘周期數(shù)量,如圖5所詳細(xì)敘述的。
圖4示出了根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的一個(gè)電路。除了圖3所述的元件外,該電路還包括調(diào)節(jié)裝置,用于以多路復(fù)用器35的形式調(diào)節(jié)將一個(gè)數(shù)據(jù)從上述運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵怂仨毜闹芷跀?shù)。多路復(fù)用器35被圖4中沒有示出的一個(gè)控制電路控制,可以將存儲(chǔ)在寄存器323或者寄存器327或者寄存器329中的數(shù)據(jù)發(fā)送到運(yùn)算設(shè)備31的輸入端311。因此,可以調(diào)節(jié)將一個(gè)數(shù)據(jù)從運(yùn)算設(shè)備31的輸出端傳輸?shù)捷斎攵怂枰闹芷跀?shù)。事實(shí)上,如果存儲(chǔ)在寄存器323中的數(shù)據(jù)被選擇發(fā)送到運(yùn)算設(shè)備31的輸入端,則將一個(gè)數(shù)據(jù)從運(yùn)算設(shè)備31的輸出端傳輸?shù)捷斎攵怂枰闹芷跀?shù)為3。如果存儲(chǔ)在寄存器327中的數(shù)據(jù)被選擇發(fā)送到運(yùn)算設(shè)備31的輸入端,則將一個(gè)數(shù)據(jù)從運(yùn)算設(shè)備31的輸出端傳輸?shù)捷斎攵怂枰闹芷跀?shù)為7。
因此,該電路可以用于處理具有數(shù)據(jù)量變化的數(shù)據(jù)集。例如,在假定運(yùn)算為流水線型并且運(yùn)算設(shè)備31處理一個(gè)數(shù)據(jù)要求一個(gè)時(shí)鐘周期時(shí),要處理包含四個(gè)數(shù)據(jù)的數(shù)據(jù)集,則存儲(chǔ)在寄存器323中的數(shù)據(jù)被選擇發(fā)送到運(yùn)算設(shè)備31的輸入端311。要處理包含九個(gè)數(shù)據(jù)的數(shù)據(jù)集,則選擇存儲(chǔ)在寄存器327中的數(shù)據(jù)。要處理包含十個(gè)數(shù)據(jù)的數(shù)據(jù)集,則選擇存儲(chǔ)在寄存器329中的數(shù)據(jù)。
顯然,調(diào)節(jié)裝置被設(shè)計(jì)為可以從寄存器321到329的每一個(gè)存儲(chǔ)器中選擇數(shù)據(jù)。因此,在運(yùn)算設(shè)備31處理一個(gè)數(shù)據(jù)要求一個(gè)時(shí)鐘周期時(shí),可以處理包括數(shù)量為2到10之間的數(shù)據(jù)的數(shù)據(jù)集。
圖5示出了根據(jù)本發(fā)明用于乘積累加運(yùn)算的一個(gè)電路。該電路包含四個(gè)運(yùn)算設(shè)備41到44。這些運(yùn)算設(shè)備都是加法器。四個(gè)運(yùn)算設(shè)備41到44中的每一個(gè)都分別與一個(gè)乘法器410到440連接。每個(gè)運(yùn)算設(shè)備都分別與三個(gè)寄存器連接,分別為411到413,421到423,431到433,和441到443。
圖5中的電路基于十六個(gè)數(shù)據(jù)d1到d16和十六個(gè)系數(shù)c1到c16,計(jì)算相乘累加MAC1到MAC4的四個(gè)結(jié)果。
MAC1=c1*d1+c5*d5+c9*d9+c13*d13MAC2=c2*d2+c6*d6+c10*d10+c14*d14MAC3=c3*d3+c7*d7+c11*d11+c15*d15MAC4=c4*d4+c8*d8+c12*d12+c16*d16
在例如解碼濾波器中使用該電路用于以MP3格式傳輸數(shù)據(jù)。以數(shù)據(jù)帶的形式傳輸數(shù)據(jù),每個(gè)帶分成多個(gè)子帶。圖5中的電路由時(shí)鐘控制。在每個(gè)時(shí)鐘周期有一個(gè)數(shù)據(jù)到達(dá)電路并被發(fā)送到乘法器410到440中的一個(gè)。數(shù)據(jù)d1發(fā)送到乘法器410,數(shù)據(jù)d2發(fā)送到乘法器420,數(shù)據(jù)d3發(fā)送到乘法器430,數(shù)據(jù)d4發(fā)送到乘法器440,數(shù)據(jù)d5發(fā)送到乘法器410,依此類推。
在第一個(gè)時(shí)鐘周期,系數(shù)c1發(fā)送到乘法器410,計(jì)算數(shù)據(jù)c1*d1,然后由運(yùn)算設(shè)備41對(duì)其加上一個(gè)數(shù)值零。然后將數(shù)據(jù)c1*d1發(fā)送到寄存器411。在第二個(gè)時(shí)鐘周期,系數(shù)c2發(fā)送到乘法器420,計(jì)算數(shù)據(jù)c2*d2,然后由運(yùn)算設(shè)備42對(duì)其加上一個(gè)數(shù)值零。然后將數(shù)據(jù)c2*d2發(fā)送到寄存器421。執(zhí)行類似的操作來計(jì)算c3*d3和c4*d4的值,并分別將其發(fā)送到寄存器431和441。數(shù)據(jù)c1*d1,c2*d2,c3*d3和c4*d4形成第一數(shù)據(jù)集。
在第五個(gè)時(shí)鐘周期,系數(shù)c5發(fā)送到乘法器410,計(jì)算數(shù)據(jù)c5*d5,然后由運(yùn)算設(shè)備41對(duì)其加上數(shù)據(jù)c1*d1。事實(shí)上,數(shù)據(jù)c1*d1在第二,三,四個(gè)時(shí)鐘周期經(jīng)過了寄存器411,412和413,然后在第四個(gè)時(shí)鐘周期,該數(shù)據(jù)被發(fā)送到運(yùn)算設(shè)備41。然后,將運(yùn)算設(shè)備41計(jì)算得到的數(shù)據(jù)c1*d1+c5*d5發(fā)送到寄存器411。在第六、七和八個(gè)時(shí)鐘周期執(zhí)行類似的操作,以便計(jì)算數(shù)據(jù)c2*d2+c6*d6,c3*d3+c7*d7和c4*d4+c8*d8。數(shù)據(jù)c1*d1+c5*d5,c2*d2+c6*d6,c3*d3+c7*d7和c4*d4+c8*d8是基于第一數(shù)據(jù)集計(jì)算得到的第二數(shù)據(jù)集。
圖6示出了包括根據(jù)本發(fā)明的電路的一個(gè)通信網(wǎng)絡(luò)。該網(wǎng)絡(luò)包括一個(gè)編碼設(shè)備ENC,一個(gè)傳輸信道CHAN和一個(gè)解碼電路DEC。在編碼設(shè)備ENC端,第一個(gè)系統(tǒng)遞歸編碼器61對(duì)要傳輸?shù)臄?shù)據(jù)矢量S1進(jìn)行編碼,從而生成第一個(gè)奇偶矢量P1。與之并行,第一個(gè)交錯(cuò)器62對(duì)數(shù)據(jù)矢量S1的數(shù)據(jù)進(jìn)行交錯(cuò),第二個(gè)系統(tǒng)遞歸編碼器63對(duì)交錯(cuò)后得到的矢量進(jìn)行編碼,生成第二個(gè)奇偶矢量P2。一個(gè)矢量數(shù)據(jù)的交錯(cuò)包括用一個(gè)預(yù)先定義的次序改變矢量中元素的順序,從而獲得另外一個(gè)矢量。以下,為了簡(jiǎn)化描述,將會(huì)簡(jiǎn)單敘述一個(gè)矢量中的數(shù)據(jù)的交錯(cuò)或者說是矢量交錯(cuò)。
隨后,將數(shù)據(jù)矢量S1、第一個(gè)奇偶矢量P1和第二個(gè)奇偶矢量P2通過傳輸信道CHAN發(fā)送到一個(gè)接收器(未在圖6中示出)。這是由發(fā)射器(未在圖6中示出)進(jìn)行的。然后將數(shù)據(jù)矢量S11、第一個(gè)奇偶矢量P1和第二個(gè)奇偶矢量P2發(fā)送到解碼電路DEC。
解碼電路DEC包括第一個(gè)解碼器64,第二個(gè)解碼器66,第二個(gè)交錯(cuò)器65,第三個(gè)交錯(cuò)器67和解交錯(cuò)器(de-interleaver)68。在圖1的例子中,解碼器64和66為軟輸入-軟輸出解碼器(SISO)。
該解碼電路DEC以迭代方式運(yùn)行。在一次迭代中,第一個(gè)解碼器64基于所接收的數(shù)據(jù)矢量S1、所接收的第一個(gè)奇偶矢量P1和一個(gè)來自第二個(gè)解碼器66的外部數(shù)據(jù)矢量,計(jì)算第一個(gè)外部輸出數(shù)據(jù)矢量。如果還沒有來自第二個(gè)解碼器66的外部數(shù)據(jù)矢量,就用一個(gè)預(yù)先定義的矢量代替它,例如用一個(gè)單位矢量。在解碼的第一次迭代時(shí)這是可能的。
由第二個(gè)交錯(cuò)器65對(duì)第一個(gè)外部輸出數(shù)據(jù)矢量進(jìn)行交錯(cuò),從中得到的矢量被發(fā)送到第二個(gè)解碼器66。然后,第二個(gè)解碼器66基于第二個(gè)奇偶矢量P2、來自第三個(gè)交錯(cuò)器67的一個(gè)矢量S2和來自第二個(gè)交錯(cuò)器65的矢量,計(jì)算第二個(gè)外部輸出數(shù)據(jù)矢量,該第三個(gè)交錯(cuò)器67對(duì)于其輸入端具有數(shù)據(jù)矢量S1。然后解交錯(cuò)器68對(duì)第二個(gè)外部輸出數(shù)據(jù)矢量進(jìn)行解交錯(cuò),從中得到的矢量被發(fā)送到第一個(gè)解碼器64。然后可以執(zhí)行一個(gè)新的迭代。
該解碼電路可以用在一個(gè)電子設(shè)備中,例如一個(gè)第三代移動(dòng)電話。
數(shù)據(jù)的交錯(cuò)需求計(jì)算列內(nèi)置換元素,如參考圖7進(jìn)行的描述。由一個(gè)包含根據(jù)本發(fā)明的電路的一個(gè)系統(tǒng)執(zhí)行該列內(nèi)置換元素的計(jì)算,如參考圖8進(jìn)行的描述。
圖7示出了交錯(cuò)矩陣的和一個(gè)交錯(cuò)塊的運(yùn)算,該運(yùn)算由圖6所示的通信網(wǎng)絡(luò)的一個(gè)交錯(cuò)器執(zhí)行。以下所述的例子用于符合“3GGP TS 25.212V3.9.0(2002-03)”標(biāo)準(zhǔn)的一個(gè)交錯(cuò)器。
該交錯(cuò)器的一個(gè)目的是改變包含在一個(gè)有K個(gè)比特的數(shù)據(jù)矢量中的數(shù)據(jù)的次序,K是40到5114之間的一個(gè)整數(shù)。交錯(cuò)器根據(jù)一個(gè)由一個(gè)R行和C列的交錯(cuò)矩陣預(yù)先定義的交錯(cuò)方案,將數(shù)據(jù)矢量變換為一個(gè)交錯(cuò)數(shù)據(jù)矢量。
圖7中的例子示出了該交錯(cuò)矩陣是如何定義的和如何對(duì)一個(gè)數(shù)據(jù)矢量的位進(jìn)行交錯(cuò)。在該例子中,對(duì)一個(gè)包含25個(gè)比特的數(shù)據(jù)矢量B進(jìn)行交錯(cuò),得到交錯(cuò)數(shù)據(jù)矢量B’。應(yīng)該注意的是,該例子的目的是,以一種簡(jiǎn)單的方式說明如何獲得交錯(cuò)數(shù)據(jù)矢量B’。更具體的說,該例子并不符合“3GGP TS 25.212 V3.9.0(2002-03)”標(biāo)準(zhǔn),在該標(biāo)準(zhǔn)中,數(shù)據(jù)矢量的長(zhǎng)度K在40到5114之間。
在該例子中,數(shù)據(jù)矢量B的每一位都由0到24之間的一個(gè)標(biāo)識(shí)符進(jìn)行標(biāo)識(shí)。標(biāo)識(shí)符逐行寫入第一個(gè)矩陣M1中。然后,根據(jù)一個(gè)列內(nèi)置換方案,在矩陣M1中執(zhí)行列內(nèi)置換,得到一個(gè)矩陣M2。然后,根據(jù)一個(gè)列間置換方案,在矩陣M2中執(zhí)行列間置換,得到一個(gè)矩陣M3。矩陣M3為一個(gè)交錯(cuò)矩陣。
然后,可以通過逐列讀取該交錯(cuò)矩陣的標(biāo)識(shí)符,獲得交錯(cuò)數(shù)據(jù)矢量B’的位的標(biāo)識(shí)符。在該例子中,在數(shù)據(jù)矢量B中的第一個(gè)位置找到的由標(biāo)識(shí)符《0》標(biāo)識(shí)的位,其在交錯(cuò)數(shù)據(jù)矢量B’中位于第二十四位置。在數(shù)據(jù)矢量B中由標(biāo)識(shí)符《5》標(biāo)識(shí)的位,其在交錯(cuò)數(shù)據(jù)矢量B’中位于第二位置,依次類推。
對(duì)于K的每個(gè)值,都定義一個(gè)交錯(cuò)方案。為了實(shí)現(xiàn)該目的,定義了一個(gè)列內(nèi)置換方案和一個(gè)列間置換方案。上述標(biāo)準(zhǔn)規(guī)定了四個(gè)列間置換方案,如表格1定義的。例如,數(shù)字1標(biāo)識(shí)的列間置換方案代替矩陣M2的第一行,該行標(biāo)識(shí)為《0》,矩陣M2的第二十行標(biāo)識(shí)為《19》,第二行對(duì)應(yīng)第十行,依次類推。
表1列間置換方案交錯(cuò)矩陣的行數(shù)和列間置換方案依賴于數(shù)據(jù)矢量的長(zhǎng)度K,如表格2所示。該表格存儲(chǔ)在存儲(chǔ)器中,和已知長(zhǎng)度K,交錯(cuò)器確定要采用的交錯(cuò)矩陣的行數(shù)R和列間置換方案。因此,由于預(yù)先確定了這些參數(shù),對(duì)一個(gè)給定長(zhǎng)度K的數(shù)據(jù)矢量進(jìn)行交錯(cuò),交錯(cuò)器不需要計(jì)算交錯(cuò)矩陣的行數(shù)也不需要列間置換方案。
相反地,對(duì)每一個(gè)可能的列數(shù)C不可能存儲(chǔ)列間置換方案。事實(shí)上,列數(shù)C可以取2到256之間的任意整數(shù)值。因此,對(duì)每一個(gè)可能的列數(shù)C存儲(chǔ)列間置換方案需要特大量的存儲(chǔ)能力。因此,在每次對(duì)有一個(gè)新的長(zhǎng)度K的數(shù)據(jù)矢量進(jìn)行交錯(cuò)時(shí),計(jì)算列內(nèi)置換方案。
表2列內(nèi)置換方案和關(guān)于K的函數(shù)R為了計(jì)算給定長(zhǎng)度K的列間置換方案,要確定下述的參數(shù)。
在第一個(gè)位置,確定一個(gè)素?cái)?shù)p。數(shù)字p為使(p-1)-K/R≥0的最小素?cái)?shù)。
然后,確定行數(shù)C。行數(shù)C為在整數(shù)集{(p-1),p,(p+1)}中使K≤R*C的最小整數(shù)。
然后,確定本原根v(primitive root),它是關(guān)于素?cái)?shù)p的一個(gè)函數(shù),如表3所示。
表2本原根v為關(guān)于素?cái)?shù)p的一個(gè)函數(shù)接著,計(jì)算最小素?cái)?shù)的一個(gè)序列q。該序列由R的值組成,按如下被構(gòu)成q
=1對(duì)于j>0,q[j]為滿足下列條件的最小素?cái)?shù)q[j]和(p-1)之間的最大公約數(shù)為1q[j]>6q[j]>q[j-1]然后,使用列間置換方案Tr[T[j]]=q[j],計(jì)算一個(gè)最小素?cái)?shù)置換序列r。
然后,計(jì)算基本序列s。該序列包括p-1個(gè)值,按如下被構(gòu)成s
=1s[i]=(v*s[i-1])mod p,這里“mod p”指執(zhí)行模p乘法。
最后,為每列j計(jì)算一個(gè)列內(nèi)置換方案。對(duì)于一個(gè)給定的列j,對(duì)應(yīng)下面的計(jì)算模型,在C=p時(shí),計(jì)算C列內(nèi)置換元素UjUj[i]=s[(i*r[j])mod(p-1)]i=0,1,.......,p-2Uj[p-1]=0可以證明表達(dá)式Uj[i]=s[(i*r[j])mod(p-1)]等于Uj[i+1]=(v’[j]*Uj[i])mod p,這里v’[j]是一個(gè)等于vr[j]的一個(gè)新的本原根。事實(shí)上表達(dá)式s[i]=(v*s[i-1])mod p等于以下表達(dá)式s[i]=(vi*s
)mod p=vimod p.
接著,表達(dá)式Uj[i]=s[(i*r[j])mod(p-1)]等于表達(dá)式Uj[i]=v(I*r[j])mode(p-1)mod p.
如果,有a=v并且i*r[j]=babmod p=[an(p-1)][abmod(p-1)]mod p,這里n為b=n(p-1)+bmod(p-1).
因此abmod p=[an(p-1)mod p][abmod(p-1)]mod p=[(a(p-1))nmod p][abmod(p-1)]mod p
=[a(p-1)mod p]n[abmod(p-1)]mod p如果p為一個(gè)素?cái)?shù),并且如果a和p之間的最大公約數(shù)為1,則a(p-1)mod p=1。在該例子中,a=v并且v從不等于p,這意味著a和p之間的最大公約數(shù)為1。因此[a(p-1)mod p]n=1。從而,abmod p=abmod(p-1)mod p如果,在該表達(dá)式中用v代替a,用i*r[j]代替b,得到vi*r[j]mod p=v(i*r[j])mod(p-1)mod p=Uj[i]該表達(dá)式等于表達(dá)式Uj[i]=(v’[j])imod p,這里v’[j]=vr[j]用一個(gè)遞歸方式使用該表達(dá)式,得到Uj[i+1]=(v’[j]*Uj[i])mod p圖8示出了包括根據(jù)本發(fā)明的一個(gè)電路的系統(tǒng),該電路用于運(yùn)算上述的列間置換元素。
該系統(tǒng)包括一個(gè)運(yùn)算設(shè)備800和一個(gè)傳輸裝置801。運(yùn)算設(shè)備包括十五個(gè)寄存器R1-R15,七個(gè)模p移位單元SMP1-SMP7,八個(gè)乘法器MUX1-MUX8,七個(gè)模p加法器AMP2-AMP8。傳輸裝置801包括十二個(gè)寄存器R16-R27。系統(tǒng)還包括為一個(gè)乘法器MUX9的形式的調(diào)節(jié)裝置。
運(yùn)算設(shè)備800能夠執(zhí)行在小于p的兩個(gè)數(shù)據(jù)x和y之間的模p乘法。假設(shè)x和y用八比特的二進(jìn)制表示,從最低有效位到最高有效位寫出x=x(0)x(1)x(2)x(3)x(4)x(5)x(6)x(7)y=y(tǒng)(0)y(1)y(2)y(3)y(4)y(5)y(6)y(7)在級(jí)81,將數(shù)據(jù)x發(fā)送到模p移位單元SMP1。由于有乘法器MUX1,如果位y(0)的值為1,則將值x拷貝到寄存器R8。如果位y(0)的值為0,將值0拷貝到寄存器R8。
模p移位單元將數(shù)據(jù)x左移并且將得到的數(shù)據(jù)與p進(jìn)行比較。得到的數(shù)據(jù)為x(1)x(2)x(3)x(4)x(5)x(6)x(7)0如果該得到的數(shù)據(jù)大于p,則對(duì)該得到的數(shù)據(jù)進(jìn)行模p運(yùn)算,并將運(yùn)算的結(jié)果寫入寄存器R1。如果該得到的數(shù)據(jù)小于p,則將其拷貝到寄存器1。
在級(jí)82,將存儲(chǔ)在寄存器R1中的數(shù)據(jù)發(fā)送到模p移位單元SMP2和乘法器MUX2。每一步都需要一個(gè)用于觸發(fā)寄存器的時(shí)鐘周期。如果第二位y(1)的值為1,則將存儲(chǔ)在寄存器R1中的數(shù)據(jù)發(fā)送到模p加法器AMP2。如果第二位y(1)的值為0,則將值0發(fā)送到模p加法器AMP2。存儲(chǔ)在寄存器R8中的數(shù)據(jù)也發(fā)送到模p加法器AMP2。模p加法器AMP2對(duì)兩個(gè)輸入值執(zhí)行模p加法并將結(jié)果發(fā)送到寄存器R9。
在級(jí)83到88期間執(zhí)行類似操作,在模p加法器AMP8的輸出端得到在x和y之間的模p乘法的結(jié)果。
在后面敘述由圖8中的電路對(duì)列內(nèi)置換元素進(jìn)行運(yùn)算。
如果交錯(cuò)矩陣的行數(shù)R的值為10或者20,則新的本原根v’[j]和列內(nèi)置換元素被寫入八個(gè)比特,如果R的值為5,則被寫入五個(gè)比特。
假定新的本原根v’[j]和列內(nèi)置換元素被寫入八個(gè)比特。在該情況下,在一個(gè)新的本原根v’[j]和一個(gè)列內(nèi)置換元素之間的模p乘法需要8個(gè)時(shí)鐘周期。
在級(jí)81,將列內(nèi)置換元素U0
發(fā)送到模p移位單元SMP1和乘法器MUX1,以計(jì)算列內(nèi)置換元素U0[1]。在第一個(gè)時(shí)鐘周期之后,在第二個(gè)時(shí)鐘周期執(zhí)行級(jí)82。在第二個(gè)時(shí)鐘周期,將列內(nèi)置換元素U1
發(fā)送到模p移位單元SMP1和乘法器MUX1,以執(zhí)行在v’[1]和U1
之間的第一模p乘法級(jí),否則,執(zhí)行在v’
和U0
之間的模p乘法的第二級(jí)。
圖8示出了在第八個(gè)時(shí)鐘周期執(zhí)行的運(yùn)算。執(zhí)行在v’
和U0
之間的模p乘法的第八級(jí),其中乘法器MUX8確認(rèn)新的本原根v’
的第八位v’
(7)的值是否為1。執(zhí)行在v’[1]和U1
之間的模p乘法的第七級(jí),其中乘法器MUX7確認(rèn)新的本原根v’[1]的第七位v’[1](6)的值是否為1,依次類推。執(zhí)行在v’[7]和U7
之間的模p乘法的第一級(jí),其中乘法器MUX1確認(rèn)新的本原根v’[7]的第一位v’[7](0)的值是否為1。
在第八個(gè)時(shí)鐘周期的末端,計(jì)算列內(nèi)置換元素U0[1]并將其存儲(chǔ)在寄存器R15中。假設(shè)交錯(cuò)矩陣有20行。對(duì)于每一列,都要計(jì)算二十個(gè)列內(nèi)置換元素。因此計(jì)算列內(nèi)置換元素U0[1]到U19[1],然后基于U0[1]計(jì)算U0[2],基于U1[1]計(jì)算U1[2],依次類推。其后,在已經(jīng)計(jì)算完之后的十二個(gè)時(shí)鐘周期,運(yùn)算設(shè)備800再次使用由其計(jì)算得到的每個(gè)列內(nèi)置換元素。傳輸裝置801包含十二個(gè)寄存器R16到R27,它在十二個(gè)時(shí)鐘周期內(nèi)將一個(gè)數(shù)據(jù)從運(yùn)算設(shè)備800的輸出端傳輸?shù)捷斎攵恕?br>
假設(shè)交錯(cuò)矩陣有10行。對(duì)于每一列j,都要計(jì)算十個(gè)列內(nèi)置換元素。其后,在已經(jīng)計(jì)算完之后的兩個(gè)時(shí)鐘周期,運(yùn)算設(shè)備800再次使用由其計(jì)算得到的每個(gè)列內(nèi)置換元素。由于乘法器MUX9,可以在寄存器R17的輸出端選擇數(shù)據(jù),從而在兩個(gè)時(shí)鐘周期內(nèi)將該數(shù)據(jù)從運(yùn)算設(shè)備800的輸出端傳輸?shù)捷斎攵恕?br>
動(dòng)詞“包含”和它的變化詞可以從廣義方式進(jìn)行解釋,也就是說,不排除在所述動(dòng)詞后所列舉的元件之外存在其它元件,還包括該動(dòng)詞后已經(jīng)涉及的眾多元件和由單詞“一個(gè)”所修飾的元件。
權(quán)利要求
1.一種電路,該電路基于由至少一個(gè)運(yùn)算設(shè)備(31)運(yùn)算得到的第一數(shù)據(jù)集運(yùn)算第二數(shù)據(jù)集,該運(yùn)算設(shè)備能夠在預(yù)先定義的多個(gè)時(shí)鐘周期內(nèi)運(yùn)算一個(gè)數(shù)據(jù),所述運(yùn)算設(shè)備具有一個(gè)輸入端(311)和一個(gè)輸出端(312),所述電路的特征在于,它包括傳輸裝置(32),用于在多個(gè)時(shí)鐘周期內(nèi)將第一數(shù)據(jù)集的一個(gè)數(shù)據(jù)從所述運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵?,該時(shí)鐘周期數(shù)量取決于第一數(shù)據(jù)集的數(shù)據(jù)數(shù)量和預(yù)先定義的運(yùn)算一個(gè)數(shù)據(jù)所必須的時(shí)鐘周期數(shù)量,在每個(gè)時(shí)鐘周期有一個(gè)數(shù)據(jù)通過所述傳輸裝置進(jìn)行傳輸。
2.權(quán)利要求1所述的電路,其特征在于傳輸裝置包括調(diào)節(jié)裝置(35),用于調(diào)節(jié)將一個(gè)數(shù)據(jù)從所述運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵怂仨毜闹芷跀?shù)量。
3.權(quán)利要求1或2所述的電路,其特征在于傳輸裝置包括至少一個(gè)時(shí)鐘觸發(fā)寄存器(321),該寄存器能夠在每個(gè)時(shí)鐘周期存儲(chǔ)一個(gè)新的數(shù)據(jù)。
4.一種用于計(jì)算一個(gè)交錯(cuò)器的列內(nèi)置換元素的系統(tǒng),該系統(tǒng)包括一個(gè)權(quán)利要求1所述的電路。
5.一種包括一個(gè)權(quán)利要求4所述系統(tǒng)的解碼電路。
6.一種包括一個(gè)權(quán)利要求5所述解碼電路的電子設(shè)備。
7.一個(gè)通信網(wǎng)絡(luò),包括能夠發(fā)送信號(hào)的至少一個(gè)發(fā)射器,一個(gè)傳輸信道,一個(gè)能夠接收所述信號(hào)的接收器和一個(gè)權(quán)利要求5所述的解碼電路。
全文摘要
本發(fā)明涉及一個(gè)電路,該電路基于由至少一個(gè)運(yùn)算設(shè)備(31)運(yùn)算得到的第一數(shù)據(jù)集運(yùn)算第二數(shù)據(jù)集,該運(yùn)算設(shè)備能夠在預(yù)先定義的多個(gè)時(shí)鐘周期內(nèi)運(yùn)算一個(gè)數(shù)據(jù)。該運(yùn)算設(shè)備具有一個(gè)輸入端(311)和一個(gè)輸出端(312)。該電路包括傳輸裝置(32),用于在多個(gè)時(shí)鐘周期內(nèi)將第一數(shù)據(jù)集的一個(gè)數(shù)據(jù)從所述運(yùn)算設(shè)備的輸出端傳輸?shù)捷斎攵耍摃r(shí)鐘周期數(shù)量取決于第一數(shù)據(jù)集的數(shù)據(jù)數(shù)量和預(yù)先定義的運(yùn)算一個(gè)數(shù)據(jù)所必須的時(shí)鐘周期數(shù)量。在每個(gè)時(shí)鐘周期有一個(gè)數(shù)據(jù)通過所述傳輸裝置進(jìn)行傳輸。
文檔編號(hào)H03M13/27GK1685620SQ03822737
公開日2005年10月19日 申請(qǐng)日期2003年9月10日 優(yōu)先權(quán)日2002年9月25日
發(fā)明者S·查潘蒂爾, Y·塔巴科夫 申請(qǐng)人:皇家飛利浦電子股份有限公司