專利名稱:群組位交錯器及其方法
技術領域:
本發(fā)明涉及一種交錯裝置以及其方法,特別是涉及一種群組位交錯裝 置及其方法。
背景技術:
在數(shù)字通信系統(tǒng)中,信息的傳輸都是以位的方式來進行。 一個位是一個二進制的數(shù)據(jù),而這個數(shù)據(jù)可以被視為兩種值,其中一個是'T,而另一 個則是"0"。當一個位在傳送器以一個值被發(fā)送出去,而被接收器接收后 卻解碼得到不同的值時,就是代表一個位錯誤(bit-error)發(fā)生了。這種的 錯誤導因于例如像是噪聲、干擾、衰減或任何上述狀況的組合而產(chǎn)生的信 道損傷。通常,這個噪聲、干擾以及衰減造成的通道損傷會突然的出現(xiàn),并且 造成連續(xù)的多個位的錯誤。當在接收端連續(xù)接收到多個位錯誤,表示產(chǎn)生 了連續(xù)性錯誤(burst-error)。在大多數(shù)的通信系統(tǒng)中,都使用一種前向錯 誤更正(forward error correction,以下均稱為FEC)的方法來片企測并4交正 位錯誤,進而有效提升通信系統(tǒng)的性能。然而,在位錯誤不是連續(xù)發(fā)生的情況下,F(xiàn)EC的校正能力是最好的。也 就是說,單一位錯誤,都可以利用現(xiàn)今的FEC的算法、設備或是裝置而有 效地檢測并校正。但是若是發(fā)生連續(xù)的位錯誤,利用現(xiàn)今的FEC的算法、 設備或是裝置就無法容易地被檢測并校正。而交錯(interleaving)算法則 是在數(shù)字通信中常使用的一種算法,其目的在于使連續(xù)的連續(xù)性錯誤被展 開成為多個孤立的位錯誤。利用合適的FEC機構,再配合上述的交錯算法, 這些被分散開的孤立的位錯誤就可以有效的被校正,使完整的信息可以正 確地被傳送到接收器上。此外,在傳送端,這種執(zhí)行交錯算法的裝置稱為 交錯器(interleave",相對的,在接收端用以執(zhí)行解交錯的裝置則稱為解 交錯器(de-interleaver)。藉由交錯傳送位以及解交錯接收位可以將一 個長的連續(xù)性錯誤展開而成為多個單一的位錯誤或是多個較短的連續(xù)性錯誤。接下來的FEC算法便較有可能校正這些單 一 的位錯誤或是多個較短的連續(xù)性錯誤。請同時參照圖1A、圖1B、圖1C以及圖1D。圖1A示出了寫入數(shù)據(jù)至已 知的交錯器10的順序示意圖,圖1B示出了由已知的交錯器10讀出數(shù)據(jù)的 順序示意圖,圖1C則示出了寫入數(shù)據(jù)至已知的解交錯器11的順序示意圖。 此外,圖1D則示出了由已知的解交錯器ll讀出數(shù)據(jù)的順序示意圖。在此, 交錯器10采用方塊交錯(block-interleaving)算法,而解交錯器11則釆 用方塊解交錯(block-de-inter leaving)算法。如同圖1A以及圖1B所示出了,交錯器10在傳送端交錯輸入數(shù)據(jù)(輸 入至交錯器IO)的多個位。而所接收到的交錯后的位將被以列的順序被寫入 至一個儲存陣列中(通常是存儲器)。而在讀出這個儲存陣列時,則是以行 的順序將其讀出。在圖1A中,輸入數(shù)據(jù)(輸入至交錯器IO)將會以一個固定的方向(參照 圖1A示出了的箭頭方向,為由左到右)被寫入,直至寫滿此列后則更換寫 入至下一列中。在寫完輸入數(shù)據(jù)的所有位后,藉由行的變換就可以完成分 散的排列這些位。也因此,在傳送時的長的連續(xù)性錯誤將會被展開成為多 個單一的位錯誤或是多個散亂且較短的連續(xù)性錯誤。在圖1B中,這些經(jīng)由 行變換的的位則可以依照行的順序被讀出。換言之,在交錯器10中被儲存 并變換的數(shù)據(jù)將會被以另一個方向(參照圖1B示出了的箭頭方向,為由上 往下)一行接著一行被讀出。因此,在傳送端進行的交錯功能,就得以順利 的被完成了。如同圖1C以及圖1D所示出了,接收端上的解交錯器ll相反于傳送端 上的交錯器10。解交錯器11所接收到的要被解交錯的數(shù)據(jù)(符碼(symbols)) 將會被以行的順序被寫入至另 一個儲存陣列中(此儲存陣列的維度 (dimension)與傳送端上的儲存陣列的維度相同),并且,在讀取此儲存陣 列時,則是以列的順序來讀出。在圖1C中,解交錯器11接收傳送端所傳送的數(shù)據(jù),而這個數(shù)據(jù)將會 以行的順序被寫入一個儲存陣列中。接著,解交錯器11進行行的解變換, 這個行的解變換的動作與上一段說明中的交錯器10中所進行的行的變換相 反。而在圖1D中,此被解變換后的儲存數(shù)據(jù)以列的順序被讀出,并由解交 錯器ll輸出為解交錯輸出數(shù)據(jù)。也因此,在接收端上進行的解交錯功能,也就得以順利地被完成了 。如上述的說明,被交錯的數(shù)據(jù)是以位為單位。在傳送端上, 一個位表示一個數(shù)據(jù)(datum)。而當在接收端時,要被解交錯的數(shù)據(jù)則大多以符碼 (symbols)為單位,而一個符碼包括多個位,并藉由其軟值及多層次值的決 策方法來使FEC譯碼器的解碼效果更好。在一些情形下,F(xiàn)EC譯碼器在二進 制的層次下操作,因此被解交錯的數(shù)據(jù)可以以位為單位。所以,在接收端 上, 一個位或多個位都可以表示一個數(shù)據(jù)。一般而言,儲存陣列(例如存儲器)以字符(word)的方式構成者具有最 佳的效率(例如在寬帶碼分多址(Wideband Code Division Multiple Access, WCDMA)系統(tǒng)中,16字節(jié)成一個字符),其中, 一個字符可以包括16、 32或 是64個位。因此,針對利用軟符碼的決策方法的FEC譯碼技術的接收器來 設計一個解交錯器時,可以很直覺地使用一個字符來儲存一個符碼數(shù)據(jù)。然而,當設計一個傳送器的交錯器或利用二進制FEC譯碼器的接收器時,如果利用一個字符來儲存一個位數(shù)據(jù)時,便會發(fā)生存儲器使用效率不足的問題。此外,在這種架構下,存儲器存取所花費的時間也將會過長。由于一個字符僅只包括一個位數(shù)據(jù),存儲器的存取次數(shù)(只考慮寫入的情形 下)將會與數(shù)據(jù)位的數(shù)目一樣多。同時,也將會導致存儲器需要一個很大的地址空間?;旧希阎膮^(qū)塊交錯的實施方式因利用字符為基礎的存儲器,因 此其存儲器使用率較低,處理時間較長且所需的地址空間較大。為了改善 其存儲器的使用率以及存取時間,本發(fā)明的范例提出 一種在數(shù)字通信系統(tǒng) 中具有優(yōu)勢的交錯裝置以及一種利用二進制FEC譯碼器的接收器的解交錯 裝置。發(fā)明內(nèi)容本發(fā)明的范例所提供的群組位交錯器及其方法具有較好的存儲器使用 率、較短的存取時間以及較小的存儲器空間需求。本發(fā)明的范例提供一種群組位交錯器,此群組位交錯器包括群組位單 元以及交錯數(shù)據(jù)儲存單元。群組位單元用以儲存輸入數(shù)據(jù)的N個數(shù)據(jù)位, 并且輸出地址信號。其中各數(shù)據(jù)位依據(jù)對應的位位置被儲存。交錯數(shù)據(jù)儲 存單元耦接至群組位單元,用以依據(jù)地址信號儲存群組位單元的內(nèi)容。根據(jù)本發(fā)明的范例,上述的群組位單元包括地址與位位置計算器以及 儲存單元。地址與位位置計算器用以計算地址信號以及位位置。而儲存單 元耦接至地址與位位置計算器,用以依據(jù)位位置儲存數(shù)據(jù)位。本發(fā)明的范例提供一種群組位交錯方法。首先,依據(jù)對應的位位置,儲存所接收到的輸入數(shù)據(jù)的數(shù)據(jù)位至寄存器組(register bank)中,其中對 應的位位置在儲存動作之前預先被計算好。接著,依據(jù)計算出的地址信號 儲存寄存器組的內(nèi)容至交錯數(shù)據(jù)儲存單元。根據(jù)本發(fā)明的范例,上述的寄存器組已滿或對應的位位置等于默認值 時,會儲存寄存器組的內(nèi)容。本發(fā)明的范例提供另一種群組位交錯器,此種群組位交錯器包括n個 群組位單元以及交錯數(shù)據(jù)儲存單元。各群組位單元用以依據(jù)其位位置來儲 存輸入數(shù)據(jù)的多個數(shù)據(jù)位中的一個位,并產(chǎn)生一個地址信號,其中輸入數(shù) 據(jù)的各數(shù)據(jù)位依據(jù)對應的位位置被儲存。交錯數(shù)據(jù)儲存單元耦接至群組位 單元,并分別依據(jù)地址信號儲存各群組位單元中儲存的內(nèi)容。根據(jù)本發(fā)明的范例,上述的群組位交錯器還包括第一開關、第二開關 以及位反轉次序(bit-reversed-order,簡稱BRO)運算電路。第一開關耦接 至n個群組位單元,并用以依據(jù)第一選擇信號,輸出輸入數(shù)據(jù)的數(shù)據(jù)位中 一個位至其中一個群組位單元。而第二開關耦接至上述的n個群組位單元以及交錯數(shù)據(jù)儲存單元,用以依據(jù)第一選擇信號來輸出其中一個群組位單 元所儲存的內(nèi)容至交錯數(shù)據(jù)儲存單元。位反轉次序操作電路耦接至第一與 第二開關,用以接收計數(shù)信號中的多個最小有效位(Least Significant Bits,簡稱LSB),并且輸出這些最小有效位的位反轉次序。其中這些最小 有效位的數(shù)量由n來決定,并且,上述的第一選擇信號為計數(shù)信號的最小 有效位的位反轉次序。本發(fā)明的范例提供另一種群組位交錯方法,適用在傳送器上。首先, 提供n個N-位寄存器組。接著,提供一個(N-1)-位計數(shù)器,用以計數(shù)輸入 數(shù)據(jù)的數(shù)據(jù)位的位數(shù),數(shù)據(jù)位的數(shù)量為k,且k的最小有效位的值等于m。 接著,分別計算出用以儲存數(shù)據(jù)位的N-位寄存器組的n個位位置,各N-位 寄存器組依據(jù)各位位置儲存各數(shù)據(jù)位。最后,當這些N-位寄存器組被存滿 時或這些位位置等于n個默認值時,計算n個地址信號,并依序儲存N-位 寄存器組的n個內(nèi)容至緩沖器。根據(jù)本發(fā)明的范例,上述的計算出位位置的步驟包括下列的子步驟 首先,針對m進行位反轉次序,m進行位反轉次序后的值為i。接著,提供 n個第一(N-l)-位計數(shù)器,而這些第一(N-l)-位計數(shù)器具有n個不相同的初 始值。最后,指定這些位位置j=SymCount (i) [x: 0] , i為1到n的正整數(shù), 而SymC醒t (i) [x: O]表示第i個第一 (N-l)-位計數(shù)器的計數(shù)數(shù)量的x+l個 最小有效位的值。根據(jù)本發(fā)明的范例,上述的計算出地址信號的步驟包括下列的子步驟 當SymCount(i) [x: O]等于N時,第i個地址信號為基準地址加上 SymCount (i) [N-1: x+l],其中的SymCount (i) [N-l: x+l]表示第i個第一 (N-l)-位計數(shù)器的計數(shù)數(shù)量中的(N-x-l)個最大有效位(Most Significant Bits,簡稱MSB)的值。本發(fā)明的范例所提供的群組位交錯器及其方法采用群組位的設計方式 來完成交錯的功能,因此能有效提升存儲器的使用率。另外,在群組位交 錯器所需使用的存儲器面積也不需要過大,且存儲器的存取時間也隨之減 小。為使本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并結 合附圖詳細說明如下。
圖1A示出了寫入數(shù)據(jù)至已知的交錯器IO的順序示意圖。 圖IB示出了由已知的交錯器10讀出數(shù)據(jù)的順序示意圖。 圖1C示出了寫入數(shù)據(jù)至已知的解交錯器11的順序示意圖。 圖1D示出了由已知的解交錯器ll讀出數(shù)據(jù)的順序示意圖。 圖2示出了群組位交錯器20的一實施范例的基本方塊圖。 圖3示出了群組位交錯的方法的流程圖。圖4示出了依據(jù)技術規(guī)格TS 25. 212的寬帶碼分多址的交錯器40的方 塊圖。圖5示出了圖4提供的交錯器40的動作流程圖。 圖6-9示出了本發(fā)明范例提供的群組位交錯器的交錯流程示意圖。 圖10-15示出了另一種本發(fā)明范例提供的群組位交錯器的交錯流程示 意圖。附圖符號說明 11:解交錯器20:群組位交錯器21:群組位單元22:交錯數(shù)據(jù)儲存單元210:地址與位位置計算器211:儲存單元S30-S36:群組位交錯方法的步驟40:交錯器41:群組單位區(qū)塊410-4In:群組位單元4100:地址計算器4101:計數(shù)器4102:寄存器組4103:位位置計算器420:程序終止電3各421:渦輪回旋TTI緩沖器43:初始值產(chǎn)生器44: BRO運算電路45: 15位計數(shù)器46、 4104:比較器47、 48、 4105:開關 4200:寄存器組 4201:或門S50-S67:群組位交錯方法的步驟 IND:輸入數(shù)據(jù) WADD:地址信號 BP:位位置lstlnterleaver_en:至丈負M言號 StateCtrl:專lr出孑言號BaseAddress: 基準地址WriteAddress:寫入地址信號ReadAddress:讀出地址信號m、 k: 15位計數(shù)器45的輸出OutputWord:開關422的l命出CDB:編碼的數(shù)據(jù)位STEN:開始編碼信號Ei:交錯的總位數(shù)Cl:進行區(qū)塊交錯的總行數(shù)Rl:列的總數(shù)BitP0S:位位置具體實施方式
以下將針對本發(fā)明提出多個實施范例,并佐以圖標,藉以詳細說明本 發(fā)明。并且,圖標中相同及相類似的組件將以相同的標號來表示。請參照圖2,圖2示出了群組位交錯器20的一實施范例的基本方塊圖。 群組位交錯器20包括群組位單元21以及交錯數(shù)據(jù)儲存單元22。群組位單 元21耦接到交錯數(shù)據(jù)儲存單元22。在本實施范例中,交錯數(shù)據(jù)儲存單元 22是一個滿足使用者需求所選定的特定數(shù)據(jù)格式的存儲器。舉例來說,交 錯數(shù)據(jù)儲存單元22可以是一個以字節(jié)(byte)或雙字符組(double words)為 基準的存儲器陣列。群組位單元21依據(jù)位位置來暫存經(jīng)過編碼且將要被交錯的輸入數(shù) 據(jù)IND的多個位,并輸出一個寫入的地址信號WADD。而交錯數(shù)據(jù)儲存單元 22則是用來依據(jù)上述的寫入的地址信號WADD來儲存這些暫存在群組位單元 21的輸入數(shù)據(jù)IND。群組位單元21包括地址與位位置計算器210以及一個提供暫存功 能的儲存單元211。儲存單元211可以由多個寄存器來組成(未示出了)。而 地址與位位置計算器210耦接至儲存單元211以及交錯數(shù)據(jù)儲存單元22。地址與位位置計算器210是用來計算位位置BP以及寫入的地址信號 WADD的。當各編碼的數(shù)據(jù)位被輸入至群組位單元21時,地址與位位置計算 器210計算位位置BP。而接下來,儲存單元211則依據(jù)上述計算出的位位置BP來暫存編碼的各數(shù)據(jù)位。舉一個例子來說明,每個寄存器相當于一個位的存儲器。而位位置BP用來決定使用哪一個寄存器來暫存對應的輸入數(shù) 據(jù)IND的數(shù)據(jù)位。要被交錯的數(shù)據(jù)位是以編碼的數(shù)據(jù)位為單位,且每一個單位都可以被 一個接一個的分別被處理。各個要被交錯的輸入數(shù)據(jù)首先將會被傳送到提 供暫存的儲存單元211,而其中的儲存單元211是由多個寄存器所組成的。 這些寄存器儲存了與交錯數(shù)據(jù)儲存單元22的一個字符相同數(shù)量的位數(shù)(例 如在寬帶碼分多址中, 一個字符包含了 16個位)。 一旦這些寄存器被存滿 了 ,這些寄存器中所儲存的所有內(nèi)容將會依據(jù)地址信號WADD被轉移到交錯 數(shù)據(jù)儲存單元22中。上述的這個程序將會進行至所有要進行交錯的數(shù)據(jù)都 處理過,如此一來便會完成整個交錯程序。在這個應用中,交錯器20更包括其它的群組位單元(未示出了)。這些 其它的群組位單元耦接到交錯數(shù)據(jù)儲存單元22。而這些其它的群組位單元 的功能與上述說明中的群組位單元21是相同的。也就是說,圖2的示出了 僅只是一個實施范例,并不限制本發(fā)明的范圍。圖3示出了群組位交錯的方法的流程圖,請參照圖3。在步驟S30中, 接收一個要被交錯的輸入數(shù)據(jù),此輸入數(shù)據(jù)具有多個位。在步驟S31中, 對應至上述的資料數(shù)據(jù)的位位置藉由地址與位位置計算器被計算出來。在 步驟S32中,輸入數(shù)據(jù)依據(jù)位位置被儲存到儲存單元中。而在步驟S33中, 如果儲存單元被存滿了,則執(zhí)行步驟S34,否則進行步驟S30。在步驟S34 中,地址與位位置計算器將會計算出地址信號。而在步驟S35中,儲存在 儲存單元中的暫存數(shù)據(jù)將會依據(jù)地址信號,被復制到交錯數(shù)據(jù)儲存單元中。 另外,步驟36中,若是所有的資料數(shù)據(jù)都完成交錯了,這個群組位交錯的 方法就完成了。相反的,若未完成所有的數(shù)據(jù)交錯,則重復執(zhí)行步驟S30。在很多的實施方法中,常使用以字符為單位來儲存的儲存單元來作為 暫時或最終儲存交錯數(shù)據(jù)的位置。這個做法可以藉由在以字符為單位存取 交錯數(shù)據(jù)儲存單元之前,群組足夠多的位數(shù)據(jù)(數(shù)據(jù))而成為字符。進而得 到降低地址及儲存空間、簡化控制器的邏輯以及降低存儲器的存取時間等 優(yōu)點。因此對應上述的說明,此種群組位交錯的設計的主要的優(yōu)點就是在 于有效的減低交錯數(shù)據(jù)儲存單元的存取時間,而存儲器的使用也可以更有 效率,且整個工作程序的時間將也會更縮短。這種群組位交錯機制可以很輕易的被使用在寬帶碼分多址(WCDMA)依 據(jù)技術規(guī)格TS 25. 212的基頻第一交錯上。請參照圖4,圖4示出了依據(jù)技 術規(guī)格TS 25. 212的寬帶碼分多址的交錯器40的方塊圖。在這個實行的架 構下,Ei表示要被交錯的總位數(shù),Cl表示進行區(qū)塊交錯的總行數(shù),而Rl 表示列的總數(shù)。行的總數(shù)則與傳送時間間隔(Transmission Time Interval, 以下均稱TTI)相等。列的數(shù)目則選定為所有的Ei個位數(shù)都可以被寫入?yún)^(qū)塊 的最小值。換言之,在一些實施例中,Rl*Cl=Ei。由于超過一個的傳輸信道的數(shù)據(jù)位會被儲存,以下將提出一個基準地 址BaseAddress的參數(shù)。當進行交錯時,進行變更行的行交換動作將會藉 由利用一個位反轉次序的方式來完成。例如,針對一個有八行的區(qū)塊進行 BRO,會使原本的第3行(二進制Oll)轉變成為第6行(二進制110)。也就 是第3行與第6行互相交換。在某些實施例中,沒有任何的行被變動也是 一種可能,而這個BR0的功能在這個發(fā)明的范例中也不是一定必要的。交錯器40包括一個初始值產(chǎn)生器43、 BR0運算電路44、 15位計數(shù)器 45、比較器46、兩個開關47及48、群組單位區(qū)塊41以及交錯數(shù)據(jù)儲存單 元4 2 。群組單位區(qū)塊41包括n+l個群組位單元410-41n,其中的n等于Cl-l。 換言的,群組位單元的數(shù)量等于行的總數(shù)。交錯數(shù)據(jù)儲存單元"包括程序 纟冬止電3各420、開關422以及一個渦4侖回i走(turbo and convolut ional) TTI 緩沖器421。開關422耦接至程序終止電路及渦輪回旋TTI緩沖器Wl。交錯器40藉由致能信號lstlnterleaver —en來致能。交錯器40并在 其被致能時,接收編碼的數(shù)據(jù)位,并執(zhí)行群組位交錯的算法。當初始值產(chǎn)生器43被開始編碼信號STEN觸發(fā)而啟動時,初始值產(chǎn)生 器43產(chǎn)生多個初始值給群組位單元410-41n。群組位單元410的初始值為 0 (0*R1)。而群組位單元411的初始值為Rl (1*R)。依據(jù)這種推_淪,群組 位單元410-41n的初始值可表示為n*Rl。BRO運算電路44接收15位計數(shù)器45的輸出m,并針對m進行位反轉次 序操作。15位計數(shù)器45接收編碼的數(shù)據(jù)位CDB并檢查這些數(shù)據(jù)位是否在新 的編碼符碼中。若檢查的結果為是,15位計數(shù)器45的輸出m以及k則力口 1; 相反的,若是檢查的結果為否,則15位計數(shù)器45的輸出m以及k則保持 原來的值不改變。而上述的15位計數(shù)器45的輸出k為符碼的總數(shù)。而15 位計數(shù)器45的輸出m則為符碼的總數(shù)除以Cl的余數(shù)。如果C1-1, BRO運算電路44不動作,而若Cl-2, BR0運算電路44會 針對m進行l(wèi)位的BRO,其中m有一個位。若是Cl-211, BR0運算電路44將 會針對m進行X位的BRO的運算,其中的m有X個位。此外,BRO運算電路 44的輸出是針對m進行BRO運算后的結果,其中BR0運算電路44的輸出表 示為i-BRO(m)。比較器46針對符碼的總數(shù)k與Ei進行比對。如果k大于或等于Ei, 比較器的輸出信號StateCtrl就被致能。輸出信號StateCtrl用以控制群 組位單元410-41n,用以傳送^是供讀的地址^[言號ReadAddress或寫的地址信 號WriteAddress至渦輪回旋TTI緩沖器421。比較器46的輸出信號 StateCtrl同樣也用以致能程序終止電路420以及控制開關422。開關47及48共同受控于BRO運算電路44的輸出i。換句話說,開關 47依據(jù)BR0運算電路44的輸出i,傳送編碼的數(shù)據(jù)位CDB的其中之一至對 應的群組位單元410-41n中的其中之一。相類似的,開關48也選擇了群組 位單元410-41n中的其中之一來傳送。各群組位單元410-41n被用來產(chǎn)生提供寫的地址信號WriteAddress以 及暫存編碼的數(shù)據(jù)位CDB。這些群組位單元410-41n的結構是相同的。在此, 以群組位單元410來看,群組位單元410包括TTI緩沖器地址計算器4100、 15位計數(shù)器4101、 16位寄存器組4102、位位置計算器4103、比較器41(M 以及開關4105。15位計數(shù)器4101耦接至TTI緩沖器地址計算器410G、 16位寄存器組 4102、位位置計算器4103以及比較器4104。 16位寄存器組4102還耦接至 開關4105以及位位置計算器4103。開關4105則還耦接至比較器4104。15位計數(shù)器4101接收由初始值產(chǎn)生器43產(chǎn)生的多個初始值的其中之 一,來作為其計數(shù)的起始值。15位計數(shù)器4101藉由開關47來接收編碼的 數(shù)據(jù)位CDB,并且檢查這些編碼的數(shù)據(jù)位CDB是否是編碼為新的編碼符碼。 如果是為新的編碼符碼,則15位計數(shù)器4101的輸出值SymCount(O)則加 1 (也就是SymCount (0) = SymCount (0) + 1);如果編碼的數(shù)據(jù)位CDB不是 新的編碼符碼,15位計數(shù)器4101的輸出值SymCount (O)則保持為原值。如 上述的說明,群組位單元41G的初始值為0。位位置計算器4103計算提供16位寄存器組4102使用的位位置BitPOS。 這個位位置BUPOS等于15-j,其中的j為上述的SymCount (O)的4位最小有效位表示成十進制的值(;h SymCount (0) [3:0])。 16位寄存器組410則是 依據(jù)這個位位置來儲存編碼的數(shù)據(jù)位CDB。此外,16位寄存器組4102是利 用16個1位寄存器來組成的。而位位置就是用來指定編碼的數(shù)據(jù)位CDB中 的一個位要被儲存到16位寄存器組4102中哪一個1位寄存器中。比較器4104比較j和15,如果』=15,比較器4104的輸出將被致能; 否則比較器4104的輸出則被禁能。開關4105受控于比較器4104的輸出。 另外,比較器4104也可以比較j與小于16位寄存器組4102的位數(shù)目的正 值。而本實施例中所提到的15僅只是一個范例,并不限制本發(fā)明。當比較器4104的輸出被致能時,16位寄存器組藉由開關422轉存其所 儲存的數(shù)據(jù)位至程序終止電路420以及渦輪回旋TTI緩沖器421。而其中的 寫入與讀出地址信號WriteAddress、 ReadAddress則為外部設定初始化的 基準地址與SymCount (0) [14: 4]的總和。當比較器46的輸出StateCtrl被禁能時,開關422選擇16位寄存器 組4102中所儲存的數(shù)據(jù)位來作為其輸出OutputWord;當比較器46的輸出 StateCtrl被致能時,開關422則選擇程序終止電路420的輸出來作為其輸 出OutputWord。渦輪回旋TTI緩沖器421依據(jù)上述的讀出地址信號 ReadAddress輸出其所儲存的數(shù)據(jù),并且依據(jù)上述的寫入地址信號 WriteAddress來儲存開關422的輸出OutputWord。程序終止電路420包括16位寄存器組4200以及多個或門4201。其中 16位寄存器組4200耦接至或門4201。當比較器46的輸出StateCtrl被致 能,程序終止電路420同時被致能。16位寄存器組4200依據(jù)讀出地址信號 ReadAddress來讀出渦輪回旋TTI緩沖器421所儲存的數(shù)據(jù)?;蜷T4201則 針對開關4105及16位寄存器組4200的輸出進行邏輯的或運算。在上述的說明中,群組位單元410-41n的結構是相同的,而其功能是 相似的。而群組位單元41i與群組位單元410間的不同則是上述說明的 SymCount (O)與SymCount (i)。換句話說,群組位單元41 i與上述說明的群 組位單元410是相同,唯一的不同是利用SymCount (i)來取代SymCount (0)。請參照圖5,圖5示出了圖4提供的交錯器40的動作流程圖。其中步 驟S50中,檢查致能信號lstlnterleaver —en是否為致能,如果致能信號lstlnterleaver-en被致能,則繼續(xù)執(zhí)行步驟S52;否則持續(xù)檢查致能信號 lstlnterleaver_en的禁能或致能的情形。步驟S51在本發(fā)明中則是可選褲,的,其中的參數(shù)R1、 Cl、 Ei以及基準地址BaseAddress可以藉由由外部來 設定,例如使用數(shù)字信號處理(Digital Signal Processing,簡稱DSP)芯 片來設定。另外,在步驟S52中,交錯器40由DSP芯片中讀出上述的參數(shù) 值(R1、 Cl、 Ei以及基準地址BaseAddress),并設定15位計數(shù)器45以作 為其輸出m以及k皆等于0時的輸出參數(shù)。在步驟S53中,藉由初始值產(chǎn) 生器43初始化群組位單元410-41n的15位計數(shù)器,并且清除群組位單元 410-41n的16位寄存器組(TempReg)4102。其中SymCount (i)的初始值為 i*Rl。與上述說相同的,SymCount (i)用以產(chǎn)生寫入地址信號與控制寫入的 時間。在步驟S54中,檢查編碼的數(shù)據(jù)位是否是新的編碼符碼中。若是編碼 的數(shù)據(jù)位在新的編碼符碼中,就執(zhí)行步驟S55;否則持續(xù)執(zhí)行檢查編碼的數(shù) 據(jù)位的步驟54。換言的,若是有新的編碼符碼由FEC送出,步驟55則會被 執(zhí)行。而在步驟55中,針對15位計數(shù)器45的輸出m進行BRO運算,亦即 i=BR0(m),其中m為符碼總數(shù)k除以Cl所得到的余數(shù);j等于 SymCount (i) [3: 0],而此位位置為15-j。并且,編碼的數(shù)據(jù)位依據(jù)位位置, 以單一位的形式被寫入群組位單元41i的16位寄存器組中;最后將m以及 k遞增1 (即m=m+l, k=k+l)。在步驟S56 中,#r查SymCount (i) [3: 0]是否等于 15 。 若 SymCount (i) [3: 0]等于15,則執(zhí)行步驟S57;否則,執(zhí)行步驟S58。在步 驟S57中,將儲存在群組位單元41i的16位寄存器組中的數(shù)據(jù)寫入渦輪回 旋TTI緩沖器421,并且清除群組位單元41i的16位寄存器組。其中寫入 地址信號是基準地址BaseAddress加上SymCount (i) [14: 4]。在步驟S58中, 則對SymCount (i)遞增1 (即SymCount (i)-SymCount (i)+l)。接著,在步驟S59中,;險查k是否與Ei相等。如果k與Ei相等,則執(zhí) 行步驟S60;否則則執(zhí)行步驟S66。而在步驟S66中,檢查m是否大于Cl-l。 若m大于C1-1,則執(zhí)行步驟S67;否則,返回執(zhí)行步驟S54。此外,在步驟 S67中則設定m等于0。在步驟S60中,索引i被設為0。而在步驟S61中,j被指定等于 SymCount (i) [3: 0]。在步驟S62中,檢查j是否等于0。若是j等于0,則 執(zhí)行步驟S64;否則執(zhí)行步驟S63。在步驟S63中,則依據(jù)讀出地址信號讀 出渦輪回旋TTI緩沖器421于讀出地址所儲存的內(nèi)容至來16位寄存器組4200;針對16位寄存器組4200中儲存的數(shù)據(jù)與開關48的輸出進行邏輯的 或運算;最后將或運算的結果依據(jù)寫入位置信號信號寫至渦輪回旋TTI緩 沖器421。這里的讀出地址信號與寫入地址信號是相同的,皆等于基準地址 BaseAddress加上SymC讓t (i) [14: 4]。在步驟S64中,則針對i遞增1 (即 i = i+l)。在步驟S65中,檢查i是否等于Cl,若i等于Cl,此群組位交錯 算法便算完成;否則,回復執(zhí)行步驟S61。在其中之一種實施范例中,步驟S60-S65是由程序終止電路420來執(zhí) 行。程序終止電路420可以改善渦輪回旋TTI緩沖器421的存儲器使用效 率。在一些情況下,渦輪回旋TTI緩沖器421以及BR0運算電路"可以因 為一些需求而被移除,所以圖4-5中所提供的實施范例并非用以限制本發(fā) 明。以下將再提出兩個范例,來說明第一群組位交錯器的工作流程。請參 照圖6-9,圖6-9示出了本發(fā)明范例提供的群組位交錯器的交錯流程示意圖。 在圖6-9中,假定儲存單元的每一個字符有16個位,而有4個群組位單元 被使用。各群組位單元分別具有 一 個16位寄存器組 TempReg(0)-TempReg(3)。舉例來說,當Ei是68、 Cl等于4、 Rl等于7以 及基準地址BaseAddress為0。 " X/Y"表示為編碼的數(shù)據(jù)位60,其中的X 表示數(shù)據(jù)交錯前的輸入順序,而Y表示交錯后的數(shù)據(jù)的輸出順序。在圖6中,編號為0、 2、 1及3的位在交錯前被分別存入16位寄存器 組中TempReg (0) ~ TempReg (3)。在圖7中,存在16位寄存器組TempReg (3) 中編號為3、 7、 11…、51的位被寫至TTI緩沖器61作為字符3。接著,存 在16位寄存器組Te即Reg(2)中編號為1、 5、 9.... 、 53的位被寫至TTI緩 沖器61作為字符2。在圖8中,存在16位寄存器組TempReg (1)中編號為2、 6、 10….、 58的位被寫至TTI緩沖器61作為字符1。而存在16位寄存器組TempReg (0) 中編號為0、 4、 8….、60的位被寫至TTI緩沖器61作為字符0。在圖9中,由于終止程序900被執(zhí)行,因此,TTI緩沖器61的存儲器 使用率也隨的改善。首先,針對16位寄存器組TempReg (0)中編號為64的 位以及數(shù)據(jù)字符G進行邏輯或運算,并且將運算出來的結果寫入TTI緩沖器61成為字符1。這樣一來,數(shù)據(jù)字符1就由編號為64、 2、 6、 10.....58的位所組成的數(shù)據(jù)字符。接著,針對16位寄存器組TempReg(l)中編號為62、 66的位以及數(shù)據(jù)字符2進行邏輯的或運算,并將運算的結果寫入TTI 緩沖器61成為字符2。數(shù)據(jù)字符2就成為由編號為62、 66、 1、 5、 9、 13、....、 53的位所組成的數(shù)據(jù)字符。再接下來,針對儲存在16位寄存器組TempReg(2) 中編號為57、 61、 65的位以及數(shù)據(jù)字符3進行邏輯或運算,并將運算結果 寫入TTI緩沖器61成為字符3。如此,數(shù)據(jù)字符3則為由編號為57、 61、65、 3、 7、 11...... 51的位所組成的數(shù)據(jù)字符。最后,針對儲存在16位寄存器組TempReg (3)中編號為55、 59、 63、 67以及數(shù)據(jù)字符4進行或運算, 并同樣將運算的結果寫入TTI緩沖器61成為字符4。字符4即為由編號為 55、 59、 63、 67的位所組成的ft據(jù)字符。請參照圖10-15,圖10-15示出了另一種本發(fā)明范例提供的群組位交錯 器的交錯流程示意圖。在圖10-15中,假設儲存單中每個字符包括8個位, 而共使用了 4個群組位單元。各群組位單元分別包括具有8位的寄存器組 TempReg (O)-TempReg (3)。在這個例子中,Ei為68、 Cl為4、 Rl為7以及 基準地址BaseAddress等于0。 " X/Y"表示為編碼的數(shù)據(jù)位70,其中的X 表示數(shù)據(jù)交錯前的輸入順序,而Y表示交錯后的數(shù)據(jù)的輸出順序。在圖10中,編號為0、 2、 l及3的位在交錯前被分別存入8位寄存器 組中TempReg (0)-TempReg (3)。在圖ll中,存在8位寄存器組TempReg (3) 中編號為3、 7、 11、 15、 19的位被寫至TTI緩沖器71作為字符6。接著, 存在8位寄存器組TempReg(2)中編號為1、 5、 9、 13、 l7、 H的位被寫至 TTI緩沖器71作為字符4。在圖12中,存在8位寄存器組Te即Reg(1)中編號為2、 6、 10.... 、 26 的位被寫至TTI緩沖器71作為字符2。而存在8位寄存器組TempReg (0)中 編號為0、 4、 8....、 28的位被寫至TTI緩沖器71作為字符0。在圖13中,存在8位寄存器組TempReg(3)中編號為23、 27、….、51 的位被寫至TTI緩沖器71作為字符7。而存在8位寄存器組TempReg (2)中 編號為25、 29、….、53的位被寫至TTI緩沖器71作為字符5。在圖14中,存在8位寄存器組TempReg (1)中編號為30、 34......58的位被寫至TTI緩沖器71作為字符3。而存在8位寄存器組TempReg (0) 中編號為0、 32、 36、….、56的位被寫至TTI緩沖器71作為字符1。在圖15中,由于終止程序被執(zhí)行,因此,TTI緩沖器71的存儲器使用 率也隨的改善。首先,針對8位寄存器組TempReg (O)中編號為64以及數(shù)據(jù)字符2進行邏輯或運算,并且將運算出來的結果寫入TTI緩沖器61成為字符2。這樣一來,數(shù)據(jù)字符2就由編號為64、 2、 6..... 26的位所組成。接著,針對8位寄存器組TempReg(l)中編號為62、 66以及數(shù)據(jù)字符4進行 邏輯的或運算,并將運算的結果寫入TTI緩沖器71成為字符4。數(shù)據(jù)字符 4就成為由編號為62、 66、 1、 5、….、21的位所組成的數(shù)據(jù)字符。再接下 來,針對儲存在8位寄存器組TempReg(2)中編號為57、 61、 65以及數(shù)據(jù)字 符6進行邏輯或運算,并將運算結果寫入TTI緩沖器71成為字符6。如此, 數(shù)據(jù)字符6則為由編號為57、 61、 65、 3、 7、….、19的位所組成。最后, 針對儲存在8位寄存器組TempReg(3)中編號為55、 59、 63、 67以及數(shù)據(jù)字 符8進行或運算,并同樣將運算的結果寫入TTI緩沖器71成為字符8。字 符8即為由編號為55、 59、 63、 67的位所組成的數(shù)據(jù)字符。依據(jù)上述的本發(fā)明的群組位交錯器的多個實施范例所說明的,可以得 知可以有效改善存儲器的使用效率。因此,此種群組位交錯器不需要大面 積的存儲器,并且有效降低存儲器的存取時間。雖然本發(fā)明已以較佳實施例揭示如上,然其并非用以限定本發(fā)明,本 來源的技術人員在不脫離本發(fā)明的精神和范圍的前提下可作若干的更動與 潤飾,因此本發(fā)明的保護范圍以本發(fā)明的權利要求為準。
權利要求
1. 一種群組位交錯器,包括一群組位單元,用以儲存一輸入數(shù)據(jù)的N個數(shù)據(jù)位,并輸出一地址信號,其中各該數(shù)據(jù)位依據(jù)對應的一位位置被儲存;以及一交錯數(shù)據(jù)儲存單元,耦接至該群組位單元,用以依據(jù)該地址信號儲存該群組位單元的內(nèi)容。
2. 如權利要求1所述的群組位交錯器,其中該群組位單元包括 一地址與位位置計算器,用以計算該地址信號以及對應的該位位置;以及一儲存單元,耦接至該地址與位位置計算器,用以依據(jù)該對應位位置 儲存各該數(shù)據(jù)位。
3. 如權利要求2所述的群組位交錯器,其中該儲存單元包括 一N-位寄存器組,用以依據(jù)該位位置儲存所述數(shù)據(jù)位。
4. 如權利要求2所述的群組位交錯器,其中當該交錯數(shù)據(jù)儲存單元已 滿或對應的該位位置等于一默認值,該交錯數(shù)據(jù)儲存單元依據(jù)該地址信號 儲存該儲存單元的內(nèi)容。
5. —種群組位交錯的方法,其步驟包括依據(jù)對應的一位位置,儲存所接收到的 一輸入數(shù)據(jù)的多個數(shù)據(jù)位至一 寄存器組中,其中對應的該位位置在儲存動作之前預先被計算好;以及 依據(jù)計算出的一地址信號儲存該寄存器組的內(nèi)容至一交錯數(shù)據(jù)儲存單元。
6. 如權利要求5所述的群組位交錯的方法,當下列任一條件滿足時, 儲存該寄存器組的內(nèi)容該寄存器組已滿時;以及對應的該位位置等于 一默認值時。
7. —種群組位交錯器,包括n個群組位單元,各該群組位單元用以依據(jù)n個位位置的每一個來儲存 一輸入數(shù)據(jù)的多個數(shù)據(jù)位,并產(chǎn)生n個地址信號,其中該輸入數(shù)據(jù)的各該 數(shù)據(jù)位依據(jù)對應的該位位置被儲存;以及一交錯數(shù)據(jù)儲存單元,耦接至所述群組位單元,分別依據(jù)所述地址信號,儲存各該群組位單元中儲存的內(nèi)容。
8. 如權利要求7所述的群組位交錯器,其中還包括一第一開關,耦接至所述群組位單元,用以依據(jù)一第一選擇信號,輸 出該輸入數(shù)據(jù)的所述數(shù)據(jù)位的其中之一至所述群組位單元的其中之一;一第二開關,耦接至所述群組位單元以及該交錯數(shù)據(jù)儲存單元,用以 依據(jù)該第 一選擇信號輸出所述群組位單元的其中之一所儲存的內(nèi)容至該交 錯數(shù)據(jù)儲存單元;以及一位反轉次序操作電路,耦接至該第一與第二開關,用以接收一計數(shù) 信號的多個最小有效位,并且輸出所述最小有效位的位反轉次序,其中所 述最小有效位的數(shù)量由n來決定;其中該第 一選擇信號為該計數(shù)信號的所述最小有效位的位反轉次序。
9. 如權利要求8所述的群組位交錯器,其中還包括一 N-1位計數(shù)器,耦接至該位反轉次序操作電路,用以輸出該計數(shù)信 號k,其中該計數(shù)信號k為該輸入數(shù)據(jù)的所述數(shù)據(jù)位數(shù);以及一比較器,耦'接至該N-l位計數(shù)器,用以比較一預定值與該計數(shù)信號k, 其中,該預定值為所述數(shù)據(jù)位Ei的總數(shù)。
10. 如權利要求9所述的群組位交錯器,其中各該群組位單元包括 一地址及位位置計算器,用以計算所述地址信號的其中之一以及所述位位置的其中之一;以及一儲存單元,耦接至該地址及位位置計算器,用以儲存該輸入數(shù)據(jù)的 所述數(shù)據(jù)位。
11. 如權利要求9所述的群組位交錯器,其中該儲存單元包括一 N位寄存器組,用以依據(jù)所述位位置的其中之一,來儲存該輸入數(shù) 據(jù)的所述數(shù)據(jù)位。
12. 如權利要求11所述的群組位交錯器,其中該地址及位位置計算器 包括一第一(N-1)位計數(shù)器,由一初始值開始計數(shù),用以計數(shù)輸入該群組位 單元的該數(shù)據(jù)位的 一輸入計數(shù)SymCount;一位位置計算器,耦接至該第一(N-1)位計數(shù)器,用以計算所述位位置 的其中之一j,其中j=15-SymCount
,其中SymCount
為該輸入 計數(shù)SymCount的x+l位的最小有效位的值;一第一比較器,耦接至該位位置計算器,用以比較SymCount
與 一指定值;以及一地址計算器,用以計算所述地址信號的其中之一。
13. 如權利要求12所述的群組位交錯器,其中該交錯數(shù)據(jù)儲存單元還 包括一緩沖器,當該n位位置的其中之一等于n個指定值的其中之一,該 緩沖器儲存對應的該N位寄存器組所儲存的內(nèi)容;以及一程序終止電路,耦接到該緩沖器,用以依據(jù)所述地址信號的其中之 的一,讀取該緩沖器的內(nèi)容,針對該緩沖器的內(nèi)容與所述群組位單元其中 的一的內(nèi)容進行邏輯的或運算,并產(chǎn)生一或運算結果,依據(jù)所述地址信號 的其中的一寫入該或運算結果至該緩沖器;其中,當該計數(shù)信號等于該預 定值時,該程序終止電路被致能。
14. 一種群組位交錯方法,包括 提供n個N-位寄存器組;提供一 (N-l)-位計數(shù)器,用以計數(shù)一輸入數(shù)據(jù)的多數(shù)的數(shù)據(jù)位的一位 數(shù),該數(shù)據(jù)位的數(shù)量為k,且k的最小有效位的值等于ra;分別計算出用以儲存所述數(shù)據(jù)位的所述N-位寄存器組的n個位位置, 各該N-位寄存器組依據(jù)各該位位置儲存各該數(shù)據(jù)位;以及當所述N-位寄存器組被存滿時或所述位位置等于n個默認值時,計算 n個地址信號,并依序儲存所述N-位寄存器組的n個內(nèi)容至一緩沖器。
15. 如權利要求14所述的群組位交錯方法,其中該計算出所述位位置 的步驟包括針對m進行位反轉次序,m進行位反轉次序后的值為i;提供n個第一(N-l)-位計數(shù)器,所述第一(N-l)-位計數(shù)器具有n個不 相同的初始值;以及指定所述位位置j=SymCount(i) [x: 0], i為1到n的正整數(shù),而 SymCount (i) [x: O]表示第第i個群組位單元中的(N-1)-位計數(shù)器的計數(shù)數(shù) 量的x+l個最小有效位的值。
16. 如權利要求15所述的群組位交錯方法,其中計算所述地址信號的 步驟包括當SymCount (i) [x: O]等于N時,第i個地址信號為一基準地址加上SymCount (i) [N-l: x+l],其中的SymCount (i) [N-l: x+l]表示第i個群組 位單元的(N-1)-位計數(shù)器的計數(shù)數(shù)量的(N-x-l)個最大有效位的值。
17.如權利要求15所述的群組位交錯方法,還包括當k等于該輸入數(shù)據(jù)的總位數(shù)時,計算所述地址信號,并將該緩沖器 的n個內(nèi)容依據(jù)所述地址信號被讀出;取得該n個(N-l)-位寄存器組的n個內(nèi)容,藉以與由該緩沖器讀取的n 個內(nèi)容進行邏輯或運算,進而產(chǎn)生n個運算結果;以及依據(jù)所述地址信號寫入所述運算結果。
全文摘要
一種群組位交錯器,包括群組位單元以及交錯數(shù)據(jù)儲存單元。群組位單元用以儲存輸入數(shù)據(jù)的N個數(shù)據(jù)位,并且輸出一個地址信號。其中各數(shù)據(jù)位依據(jù)位位置被儲存。交錯數(shù)據(jù)儲存單元耦接至群組位單元,交錯數(shù)據(jù)儲存單元用以依據(jù)地址信號儲存群組位單元的內(nèi)容。與已知的交錯器比較,此群組位交錯器有較好的存儲器使用率、較低的存取時間及使用較少的存儲器空間。
文檔編號H04L1/00GK101267212SQ20081009954
公開日2008年9月17日 申請日期2008年5月13日 優(yōu)先權日2008年2月14日
發(fā)明者彭起元, 約翰遜·西貝尼 申請人:威盛電子股份有限公司