專利名稱:算術設備的制作方法
技術領域:
本發明涉及一種設置在移動通信設備中的算術設備以及其中設置有該算術設備的數字處理器和諸如移動無線臺和基地無線臺的無線臺設備,特別是涉及一種能夠有效執行維特比(Viterbi)譯碼處理的結構。
近年來,數字信號處理器(此后稱之為“DSP”)已經在移動通信領域中的數字化移動中被廣泛地用做處理器而置在諸如便攜式電話等設備中。由于經過移動無線通信線路進行的數據通信中頻繁地產生誤碼,所以,必須執行糾錯處理。可以使用這樣一種校正方法來作為糾錯的方法,在該方法中,在接收機側利用維特比譯碼對由一個輸入位產生的卷積碼譯碼。糾錯處理是采用DSP進行的。
通過重復諸如加法、比較和選擇等簡單處理和執行用于最終譯碼數據的回溯操作(trace back)執行維特比譯碼,從而實現一個卷積碼的最大似然譯碼。下面將簡要地敘述該維特比譯碼。
通過使一個輸入位和在該輸入位之前的預定數量的位彼此模2相加以產生卷積碼,從而產生與一個輸入位對應的多個編碼數據項。影響該編碼數據的輸入信息位的數量被稱做“約束長度k”,這個數與用于執行該模2相加的移位寄存器的長度相同。
利用該輸入位和在前的(k-1)個輸入位的狀態來確定編碼數據。當提供一個新的信息位時,在前的狀態被變換(執行一個變換)到一個新的狀態。其中被執行了一個變換的狀態確定這個新的輸入位是1還是0。由于(k-1)位中的每一位都可以是1或0,所以,狀態的數量是2k-1。
維特比譯碼被安排得可以觀察到一個接收到的編碼數據串和能夠根據可能發生的所有狀態變換來預測最可能的狀態。每當獲得與一個信息位對應的編碼數據(所接收到的數據串)時,計算此時每個狀態下來自路徑的信號距離(量度)。在其中具有較小路徑量度的一個路徑被保留作為幸存路徑的每一個路徑中連續重復該操作。
圖17示出了在具有約束長度k的傳統編碼器中的一個狀態,在該約束長度k中,兩個路徑中的每一個都指示對某個瞬間處某個狀態S[2n]從超前于狀態S[2n]一個狀態的狀態S[n]和S[n+2k-2]的狀態變換程度(n為正整數)。下面將敘述其中k=3的一個例子。當n=1時,能夠執行從S[1]即狀態S01,和S3即狀態S11,到S[2]即狀態S10(在前兩個位以“1”和“0”的順序輸入的狀態)的變換。在n=2的情況下,能夠執行從S[2]即狀態S10,和S[4]即狀態S00,到S[4]即狀態S00(利用兩個較低位表示的狀態)的變換。
路徑量度a是輸入給狀態S[2n]的一個路徑輸出符號和所接收數據串的信號間距離(支路量度x)以及路徑量度A的和,路徑量度A是到超前于狀態S[2n]的狀態S[n]的幸存路徑的支路量度的總和。
同樣,路徑量度b是輸入給狀態S[2n]的一個路徑輸出符號和所接收數據串的信號間距離(支路量度y)以及路徑量度B的和,路徑量度B是到超前于狀態S[2n]的狀態S[n+2k-2]的幸存路徑的支路量度的總和。
輸入給狀態S[2n]并被如此獲得的路徑量度a和b被進行比較以選擇一個較小的路徑量度作為幸存路徑。
維特比譯碼被構造成每次對2k-1個狀態均進行用于獲得該路徑量度的加法、路徑量度的比較和路徑量度的選擇。
此外,路徑選擇結果的履歷必須被作為路徑選擇信號PS[i][i=0到2k-1-1]存儲。如果超前于所選擇路徑的該狀態的后綴(例如,n)小于超前于未被選擇路徑的該狀態的后綴(n+2k-2),則PS[i]=0。如果前面的后綴較大,則PS[i]=1。由于在圖17所示的情況下n<(n+2k-2),所以,如果a≥b,則選擇狀態S[n+2k-2],從而使PS[S2n]=1。如果a<b,則選擇狀態S[n],從而使PS[S2n]=0。
當利用回溯最終執行譯碼時,根據路徑選擇信號在回溯幸存路徑的同時對數據譯碼。
將參考圖18簡述該回溯處理。圖18示出了根據路徑選擇信號PS[2n]回溯從狀態S[2n](n是正整數)到在前時間處的狀態S[n]或狀態S[n+2k-2]的路徑的狀態。
通常,在使用狀態S[i]和路徑選擇信號PS[i]的情況下,在前狀態被表示為S[i/2+PS[i]×2k-2]。如果使用在尾端位處結束的卷積碼,當在前時間處的編碼數據是0時,路徑選擇信號是0。當在前時間處的編碼數據是1時,路徑選擇信號是1。因此,在前路徑選擇信號可以被用做編碼數據。
如圖15所示,在DSP中用于執行維特比譯碼的卷積算術單元包括用于存儲路徑量度、路徑選擇信號和編碼數據的數據存儲器1;用于移位從數據存儲器1中讀出的數據的桶形移位器3;連接到數據存儲器1以提供數據和傳輸卷積結果的第一總線2;用于存儲被桶形移位器3移位的位數的第一寄存器23;用于執行算術邏輯運算的算術邏輯電路(此后稱之為“ALU”)26;用于暫存ALU 26左手輸入值的第一鎖存器24;用于暫存ALU 26右邊輸入值的第二鎖存器25;用于暫存該計算結果的第二寄存器27和28;和用于從寄存器27或寄存器28提供數據的第二總線12。
被桶形移位器3移位的位數以二進制補碼制表示。當該值是一個正數時,執行右移。當該值是一個負數時,執行左移。
下面將敘述由上述算術單元執行的回溯操作,該回溯操作是當對通過卷積編碼獲得的編碼數據進行維特比譯碼時執行并在尾端位結束的。
假設此時的狀態為卷積碼的約束長度是k,編碼信息位的數量是n,在數據存儲器1、第一總線2、第二總線12、第一鎖存器24、第二鎖存器25、ALU 26以及第二寄存器27和28的每一個中的位寬是2k-1位。
在時間t處的路徑選擇信號PSt[i](t=0到{(n-1)+(k-1)},i=0到{2k1-1})被作為路徑存儲器PM[t]={PSt[2k-1-1],PSt[2k-1-2],...,PSt[1],PSt
}裝入到一個字中,從而形成PM[t](t=0到{(n-1)+(k-1)})并被存儲到數據存儲器1中。
譯碼數據Y[i](i=0到{n-1})以一位作為一個字的形式存儲在數據存儲器1中。
回溯操作以下述方式執行,即從數據存儲器1中讀出PM[t];桶形移位器3將被選擇的路徑選擇信號移位到最低有效位(LSB);和然后提取LSB并將其變成譯碼數據。利用所選擇狀態馮二進制補碼獲得移位量。由于在前卷積碼被構造成在尾端位處結束,所以,操作從狀態0開始。通過計算[i/2+PS[i]×2k-2]獲得在前狀態。根據所獲得到的狀態獲得當下一個路徑選擇信號被移位到LSB時所需要的移位量。重復前述過程以獲得譯碼的代碼串。
下面描述回溯操作的步驟。
步驟1為了從狀態0開始操作,在第二鎖存器25中存儲一個固定值“0”。如所示,ALU 26將在第二鎖存器25中的值存儲到第二寄存器27中。
從下一個步驟2到步驟10,在將i值從{(n-1)+(k-1)}減小到(k-1)的同時重復該操作n次。
步驟2第二寄存器27中的值經過第二總線12被存儲到第一鎖存器24中。ALU 26在第一鎖存器24中獲得該值的二進制補碼以將所獲得的值存儲到第二寄存器28中。
步驟3第二寄存器28中的值經過第一總線2被存儲到第一寄存器23中。如此,該值是用于選擇下一個路徑選擇信號的位移數量。
步驟4從數據存儲器1中讀出路徑存儲器PM[i],然后,利用桶形移位器3將其移位由第一寄存器23指示的量。然后,該值被存儲在第二鎖存器25中。ALU 26將第二鎖存器25中的值存儲到第二寄存器28中。如此,被選擇的路徑選擇信號接近最低有效位[LSB]。
步驟5將第二寄存器28中的值經過第二總線12存儲到第一鎖存器24中,然后,固定值“1”被存儲到第二鎖存器25中。ALU 26獲得第一鎖存器24和第二鎖存器25的邏輯積以將結果存儲到第二寄存器28中(只提取LSB)。
步驟6將第二寄存器28中的值作為譯碼數據存儲在數據存儲器1中(該LSB被作為譯碼數據)。
步驟7將固定值“k”存儲在第一寄存器23中。
步驟8將第二寄存器27中的值經過第二總線12存儲到第一鎖存器24中。然后,第二寄存器28中的值經過第一總線2被輸出給桶形移位器3。桶形移位器3將所提供的值移位由第一寄存器23指示的移位量,以便將其輸出存儲到第二鎖存器25中。ALU 26獲得第一鎖存器24和第二鎖存器25的邏輯和以便將結果存儲到第二寄存器28中。
步驟9將固定值“-1”存儲到第一寄存器23中。
步驟10桶形移位器3將第二寄存器28中的值移位由第一寄存器23指示的移位量,從而獲得一個輸出并將其存儲在第二鎖存器25中。ALU 26將第二鎖存器25中的值存儲到第二寄存器27中(步驟7到步驟10允許計算一個在前狀態)。
如上所述,傳統算術單元被構成為通過桶形移位器3和ALU 26的相組合來執行計算,從而在(9n+1)個步驟中完成用于對n位信息位進行維特比譯碼的回溯操作。
但是,上述傳統算術單元存在一個問題,即必須執行大量的執行步驟才能完成回溯操作。在例如未審查的日本專利文本6-112848中公開了一種能夠克服上述問題的算術單元。
如圖16所示的上述算術單元包括用于存儲路徑量度、路徑選擇信號等的數據存儲器1;被連接到數據存儲器1并用于提供數據和傳輸計算結果的總線2;用于將從數據存儲器1讀出的路徑存儲器數據的被選擇路徑選擇信號移位到最高有效位(MSB)的桶形移位器3;用于經過總線2移位接收由桶形移位器3輸出的MSB和來自數據存儲器1的加載數據或將數據存儲到數據存儲器1中的移位寄存器4;和用于將移位寄存器4中預定多個位位置的值反相以將該值作為移位量提供給桶形移位器3的反相器29。
由桶形移位器3移位的位數量由二進制補碼表示。當該值是正數時,執行右移。當該值是負數時,執行左移。移位寄存器4被構造成它的移位輸入側是MSB。
下面描述由上述算術單元執行的回溯操作,該回溯操作當對通過卷積編碼獲得的編碼數據進行維特比譯碼時執行并在一個尾端位結束。
假設此時的條件為卷積碼的約束長度是k,編碼信息位的數量是n和在數據存儲器1、總線2和移位寄存器4中每一個內的位寬是2k-1位。從桶形移位器3輸出的MSB被提供給移位寄存器4的移位輸入端。第二寄存器28將移位寄存器4中的(k-1)個較高位反相,和然后輸出作為移位數量的k個位,該k個位是通過將“0”加到從移位寄存器4輸出的(k-1)位的MSB上所獲得的和。
與上述單元類似,路徑選擇信號PSt[i](t=0到{(n-1)+(k-1)},i=0到{2k-1-1})被作為路徑存儲器PM[t]={PSt[2k-1-1],PSt[2k-1-2],...,PSt[1],PSt
}裝入到一個字,從而形成PM[t](t=0到{(n-1)+(k-1)})和存儲到數據存儲器1中。譯碼數據Y[i](i=0到{n-1})被以一位作為一個字的形式存儲在數據存儲器1中。
回溯操作是以如下方式執行的從數據存儲器1中讀出的路徑存儲器被桶形移位器3移位,以使必須被選擇的路徑選擇信號被移位到MSB。然后,被移位的路徑選擇信號被提供給移位寄存器4。此時,移位寄存器4中的(k1)個較高位指示一個在前狀態。因此,通過將(k-1)個較高位反相可以獲得下一個移位數。利用反相器29產生在前移位數。然后,在下一個路徑存儲器中必須被選擇的路徑選擇信號被移位到從桶形移位器3輸出的MSB,以向移位寄存器4提供被移位的路徑選擇信號。
重復上述操作以使用做譯碼數據的被選擇路徑選擇信號被連續存儲在移位寄存器4中。每當存儲預定量的位時,它們被存儲在數據存儲器1中。
下面描述回溯操作的步驟步驟1為了從狀態0開始操作,一個固定值為“0”的數據被存儲到移位寄存器4中。
從下一個步驟2和3,在將1值從{(n-1)+(k-1)}減小到(k-1)的同時重復的上述操作n次。
步驟2從數據存儲器1中讀出路徑存儲器PM[i],然后,利用桶形移位器3使其移位由從反相器29輸出的k位指示的移位量。然后,從桶形移位器3輸出的MSB被移位輸入移位寄存器4。然后,前述操作使得必須被選擇的路徑選擇信號接近最高有效位[MSB]。在這種情況下,已經進行移位輸入端的移位寄存器4的[k-1]個較高位指示該在前狀態。[k-1]個較高位的反相信號是用于選擇下一個路徑選擇信號的移位量的基礎。
步驟3每當2k-1位被譯碼一次時,移位寄存器4的內容被存儲到數據存儲器1中,由此,所選擇并存儲在移位寄存器4中的路徑選擇信號被變換成譯碼數據。
如上所述,上述單元被構成為在步驟2執行路徑選擇信號的選擇和在前狀態的計算。因此,可以在{n+(n/2k-1)+1 }個步驟中完成在n位信息位維特比譯碼中的回溯處理。
但是,上述傳統算術單元是構成為處于數據存儲器和總線的位寬是2k- 1(k是譯碼所需卷積碼的約束長度)或更大的條件下。因此就出現了一個問題,即k值的放大需要放大數據路徑中的位寬。
本發明能夠克服上述問題,本發明的一個目的是提供一種算術設備,該設備即使是在2k-1的值大于數據路徑中的位寬的情況下也能夠迅速和有效地執行維特比譯碼中的回溯處理。本發明的另一個目的是提供一種具有上述算術設備的數字信號處理器和無線臺設備。
因此,根據本發明的算術設備以如下方式構成在同一時間處的路徑選擇信號被分成多個組,然后存儲在一個數據存儲器中。此外,利用由地址產生裝置輸出的地址和在被順序提供被選擇路徑選擇信號的移位寄存器中的規定位位置的值相結合來產生用于讀出該組的地址。
因此,即使是在該位寬小于2k-1位的情況下也能夠執行在維特比譯碼中的回溯處理。由此,可以執行高速和有效的計算。
根據本發明,所提供的一種算術單元包括用于存儲路徑選擇信號的數據存儲器;用于移位從數據存儲器讀出的數據的桶形移位器;用于接收由桶形移位器移位到MAB的一個位的移位寄存器;和用于通過對在該移位寄存器中規定位位置處置位的數據進行轉換以執行用于產生由該移位寄存器執行的移位量的維特比譯碼處理來產生由該桶形移位器執行的移位量的數據轉換裝置;其中,同一時間的路徑選擇信號被分成多個組,然后被存儲在數據存儲器中,并且該算術設備包括用于輸出數據存儲器中的地址的地址產生裝置;和用于根據從該地址產生裝置輸出的地址和在該移位寄存器中規定位位置的值產生必須被從數據存儲器中讀出的組地址的地址轉換裝置。因此,可以利用小于2k-1位的位寬來執行維特比譯碼中的回溯處理。
另外,在該算術設備中,路徑選擇信號被分成多個組,以便使分別被提供給路徑選擇信號的多個后綴在該組中持續,并且地址轉換裝置使用從地址產生裝置輸出的地址和包括位于移位寄存器輸入端處一個位在內的預定數量位的位置值來產生該組地址。在k=6的示例情況下,在時間t處總量為32位的路徑選擇信號被以兩個字的形式存儲,其中的每一個字均包括PSt
到PSt[15]和PSt[16]到PSt[31],并且兩個字中的每一個都具有16位寬度。
另外,在該算術設備中,數據轉換裝置對除移位寄存器一個輸入端處的一個位外的預定數量位的位置值進行反相,以便產生由該桶形移位器執行的移位量。假設存儲在數據存儲器中的路徑選擇信號的每個字的位寬是n,移位寄存器中除MSB外的log2n個較高位被反相,從而產生由該桶形移位器執行的移位量。
此外,在該算術設備中,路徑選擇信號被分成多個組,以便使分別被提供給該路徑選擇信號的多個后綴保持該組中的預定差,并且地址轉換裝置使用從地址產生裝置輸出的地址和除該移位寄存器一個輸入端處的一個位外的預定數量位位置的值來產生該組的地址。在k=6的情況下,路徑選擇信號被分成包括路徑選擇信號PSt
、PSt[2]、...、PSt[30]并具有偶數后綴的一個組以及包括路徑選擇信號PSt[1]、PSt[3]、...、PSt[31]并具有奇數后綴的一個組。
此外,在該算術設備中,數據轉換裝置將包括位于該移位寄存器一個輸入端處的一個位在內的預定數量位的位置值反相,以產生由該桶形移位器執行的移位量。由此,移位寄存器中包括該MSB的log2n個較高位被反相,以產生由該桶形移位器執行的移位量。
此外,在該算術設備中,地址轉換裝置從移位寄存器中一個位的預定位置處和在從數據存儲器中讀出超前于該組的一個組的時間處獲得用于產生該組地址所需的并從該移位寄存器提供的值。由此,可以執行具有流水線結構的回溯處理。
再有,該算術設備還包括一個用于在維特比譯碼處理中執行加法、比較和選擇操作的ACS(加,比較和選擇)處理裝置,其中,從該ACS處理裝置輸出的路徑選擇信號被順序地存儲在該移位寄存器中,在該組的選擇信號被存儲在該移位寄存器中之后,該路徑選擇信號位于每個組中,并被移位以存儲在該數據存儲器中。因此,使用回溯處理機構能夠有效地存儲路徑選擇信號組。
另外,該算術設備還包括用于在維特比譯碼中執行加法、比較和選擇操作的ASC處理裝置,其中,從ASC處理裝置輸出的路徑選擇信號被順序存儲在包括該移位寄存器的多個移位寄存器中,并且在該組的路徑選擇信號被存儲在該移位寄存器中之后,該路徑選擇信號位于每個組中,并被移位以存儲在數據存儲器中。因此,使用該回溯處理機構能夠有效地存儲路徑選擇信號組。
再有,在該算術設備中,ACS處理裝置具有一個包括多個全加器的加法裝置,并允許執行向下一個全加器傳送從部分全加器輸出的進位信號,從而允許將該加法裝置用做一個或多個累加器。
此外,根據本發明,提供了一種數字信號處理器(DSP),該DSP中包括上述算術設備,從而使該DSP能夠迅速和有效地執行維特比譯碼中的回溯處理。此外,根據本發明,提供了一種其中設置了上述算術設備的無線臺設備。
參照附圖對本發明的詳細描述,本發明的特點和目的將變得更加清楚,附圖中圖1的框圖示出了根據本發明第一實施例的算術設備的結構;圖2示出了根據本發明第一實施例的算術設備數據轉換部分的結構;圖3A和3B示出了存儲在根據本發明的算術設備數據存儲器中的數據結構;圖4示出了根據本發明實施例的算術設備桶形移位器的操作;
圖5示出了根據第一實施例的算術設備地址轉換部分的結構;圖6的框圖示出了根據本發明第二實施例的算術設備的結構;圖7A和7B示出了存儲在根據本發明第二實施例的算術設備數據存儲器中的數據結構;圖8的時序圖示出了由根據第二實施例的算術設備執行的流水線操作;圖9示出了根據第二實施例的算術設備地址轉換部分的結構;圖10的框圖示出了根據本發明第三實施例的算術設備的結構;圖11的框圖示出了根據本發明第三和第四實施例的算術設備ACS計算部分的結構;圖12的框圖示出了根據本發明第四實施例的算術設備的結構;圖13的框圖示出了根據本發明第五實施例的算術設備ACS計算部分的結構;圖14的框圖示出了根據本發明第五實施例的算術設備加法器的結構;圖15的框圖示出了一個傳統算術設備的結構;圖16的框圖示出了另一個傳統算術設備的結構;圖17示出了一個在維特比譯碼中使用的卷積編碼器狀態轉換路徑的狀態轉換圖(格構圖);圖18示出了一個當執行用于維特比譯碼的回溯操作時回溯路徑操作的狀態轉換圖(格構圖);圖19的框圖示出了使用根據本發明的算術設備的一個數字信號處理器;圖20的框圖示出了根據本發明的一個無線移動臺設備;圖21的框圖示出了根據本發明的另一個無線移動臺設備;圖22的框圖示出了根據本發明的一個無線基地臺設備;和圖23的框圖示出了根據本發明的另一個無線基地臺設備。
下面,結合附圖描述本發明的實施例。
如圖1所示,根據本發明第一實施例的算術設備包括用于存儲路徑量度和路徑選擇信號等的數據存儲器1;連接到數據存儲器1并用于提供數據和傳送計算結果的總線2;用于使從數據存儲器1經過總線2讀出的數據移位的桶形移位器3;用于向地址轉換部分7輸出MSB并將從數據存儲器1經過總線2提供的數據加載到數據存儲器1的移位寄存器4;用于使移位寄存器4中的預定多個位位置的值反相以向桶形移位器3提供作為移位量的反相值的數據轉換部分5;用于產生提供給數據存儲器1的地址的地址產生部分10;以及用于對由地址產生裝置10和移位寄存器4提供的值進行轉換并將其作為數據存儲器1的地址而輸出的地址轉換裝置7。地址產生部分10具有用于存儲提供給數據存儲器1的地址的地址寄存器6、用于存儲必須被加到地址寄存器6上的增量值的增量寄存器9、和用于將增量寄存器9中的值加到地址寄存器6中的值上以便將加法結果存儲到地址寄存器6中的加法器8。
桶形移位器3中的移位量由二進制補碼制表示。當該值是一個正數時,執行左邊移位。當該值是一個負數時,執行右邊移位。移位寄存器4被以移位輸入側是最高有效位(MSB)的方式設置。
下面結合圖1、2、3、4和5描述當執行具有以其尾端位結束的約束長度k=6的卷積碼的維特比譯碼時所執行的回溯處理。這里假設編碼信息位的數量是n。另一個假設是用于數據存儲器1、總線2、桶形移位器3、移位寄存器4、地址寄存器6等的數據路徑的位寬m是16位(m=16)。因此,與傳統結構不同,2k-1(=32)大于數據路徑的位寬。
如圖2所示的數據轉換部分5包括一個反相器21。數據轉換部分5接收通過從移位寄存器45中的5個較高位中減去MSB而獲得的4個位。然后,反相器21將所提供的該4個位(log2m)的值反相。通過將值“0”加到由反相器21輸出的4個位的MSB上所獲得的5個位的值被輸出給桶形移位器3以作為指示移位量的控制信號。
圖4示出了桶形移位器3的操作情況,桶形移位器3被設置如下在從數據轉換部分5輸出的5位控制信號之后執行用于使一個輸入信號移位的移位操作,如圖4所示。
地址轉換部分7具有圖5所示的結構,以便接收從地址寄存器6輸出的16位和移位寄存器4中的MSB。地址轉換部分7輸出從地址寄存器6輸出的15個較高位并選擇由地址寄存器6輸出的LSB以及移位寄存器4中的MSB,以便將所選擇值作為被提供給數據存儲器1的地址的LSB輸出。
圖3A和3B示出了一種狀態,在該狀態下,路徑選擇信號已經被存儲在具有16位寬的數據存儲器1中。如圖3A所示,在時間t數量為32位的路徑選擇信號PSt[i](i=0到31)被填入到兩個字中并存儲在具有16位寬的數據存儲器1中。即PSt[150]被存儲在地址“2t+0”處,而PSt[3116]被存儲在地址“2t+1”處。
必須要注意的一個事實是當指示一個狀態的數字i的值由5位二進制數表示且它的MSB是0(當i=0到15時)時,相應的PSt[i]被存儲在數據存儲器1中的地址“2t+0”處。當它的MSB=1(當i=16到31時)時,相應的PSt[i]被存儲在數據寄存器1中的地址“2t+1”處。為何根據這個實施例移位寄存器4中的MSB被提供給地址轉換部分7的原因在于前述事實。如在下面將要描述的,指示一個狀態的數字i在回溯處理期間被存儲在移位寄存器4中的5個較高位內。移位寄存器4中的MSB提供用于指示地址“2t”的“+0”或“+1”的地址信息。
對譯碼數據Y[j](j=0到{n-1})是這樣處理的,即,使16位被填入到一個字中,然后被存儲到數據存儲器1中。
以地址產生部分10輸出被存儲在地址寄存器6中的值的方式執行該回溯處理。這樣,由增量寄存器9實現的增量被加到該輸出值上,以便再次存儲到地址寄存器6中。由于重復上述操作,所以順序輸出與“2t+0”對應的地址。當移位寄存器4中的MSB是0時,地址轉換部分7向數據存儲器1提供“2t+0”以用做該地址,并當移位寄存器4中的MSB是1時提供“2t+1”。
根據從地址轉換部分7輸出的地址,數據存儲器1讀該路徑存儲器。在前路徑存儲器被提供給桶形移位器3。然后,桶形移位器3根據由數據轉換部分5提供的控制信號將路徑存儲器中的被選擇路徑選擇信號移位到MSB。該MSB被提供給移位寄存器4。
此時存儲在移位寄存器4中的5個較高位指示一個在前被選擇狀態。5個較高位的MSB被輸出給地址轉換部分7,以指示下一個地址的“+0”或“+1”。4個剩余位被輸出給數據轉換部分5以被反相。在路徑存儲器被分成兩個字并被如上所存儲的一個字中,反相的4個位的值指示用于使路徑選擇信號移位到與在前被選擇狀態對應的MSB所需的移位量。
重復上述過程,從而使將被變換成譯碼數據的被選擇路徑選擇信號順序地存儲在移位寄存器4中。當已經存儲路徑選擇信號的預定數量位時,它們被傳輸給數據存儲器1。
下面將描述回溯操作的步驟。
步驟1“0”作為初始值被存儲在地址寄存器6中。
步驟2固定值“2”被存儲在增量寄存器9中。
步驟3為了從狀態0開始,固定值“0”被加載并被存儲到移位寄存器4中。
步驟4和步驟5以j的值從{(n-1)+5}減少到5的方式被重復n次。
步驟4地址產生裝置10將地址寄存器6中的值輸出給地址轉換部分7,和使加法器8將地址寄存器6中的值加到增量寄存器9中的值上,以再次將該值存儲到地址寄存器6中從而執行修正。地址轉換部分7將由地址寄存器6提供的值的15個較高位輸出給數據存儲器1。此外,地址轉換部分7選擇移位寄存器4中MSB的值,以將其作為被提供給數據存儲器1的該地址的LSB輸出。數據存儲器1從由地址轉換部分7輸出的地址讀出路徑存儲器PM[i],并經過總線2將它輸出給桶形移位器3。桶形移位器3執行由數據轉換部分7輸出的5位指示的移位量的移位,以便將從桶形移位器3輸出的MSB移位輸入給移位寄存器4(所選擇的路徑選擇信號接近該最高有效位[MSB]。此時,在已經執行移位輸入的移位寄存器4中的(k-1)個較高位(=5位)指示一個在前狀態。此外,[k-1]個較高位的反相是用于選擇下一個路徑選擇信號的移位量的基礎)。
步驟5每當對16位進行譯碼時,移位寄存器4中的內容被一次存儲到數據存儲器1中(被選擇和存儲在移位寄存器4中的路徑選擇信號被變換成譯碼數據)。
如上所述,根據這個實施例的算術設備能夠在{n+(n/2k-1)+3}個步驟中完成在n位信息位的維特比譯碼中的回溯處理。由于地址寄存器6和地址轉換部分7在步驟4向數據存儲器1提供與移位寄存器4中的值對應的地址,所以,即使是在時間t處的路徑選擇信號PSt[i]在數據存儲器1中被分成多個字,也能夠有效執行回溯處理,如圖3所示。
雖然已經描述了其中移位寄存器4中5個較高位的MSB被輸出給地址轉換部分7和4個剩余位被輸出給數據轉換部分5的結構,還可以使用另一種結構,在該結構中,移位寄存器4中的5個較高位被輸出給地址轉換部分7;地址轉換部分7向地址轉換部分7輸出5個位的MSB,然后,將4個剩余位反相,并將0加到該MSB上。
雖然所描述的實施例具有其約束長度是6的結構,但是,通過執行所需的變化,本發明可以被應用到其它具有另外約束長度的結構。例如在約束長度k=7的情況下,在時間t處的路徑選擇信號PSt[i]被分成如圖3B所示的4個字并被存儲在數據存儲器1中。在這種情況下,移位寄存器4中6個較高位內的兩個較高位被用于規定該地址,而4個剩余位被作為用于選擇下一個路徑選擇信號的移位量的基礎。
根據第二實施例的算術設備具有適用于執行流水線結構計算處理的結構。
根據這個實施例的單元具有如圖6所示的結構。根據這個實施例的結構在下述三個結構方面不同于根據第一實施例的結構(見圖1)。
第一個差別在于數據轉換部分5和移位寄存器4之間的連接關系。該結構是這樣構成的,包括移位寄存器4中該MSB的4個較高位(log2m)被以不同于第一實施例的方式提供給數據數據轉換部分5。
第二個差別是地址轉換部分7和移位寄存器4之間的連接關系。這個實施例被構造成使從MSB計數的第四位即位12的值被提供給地址轉換部分7以代替移位寄存器4的MSB供應。
第三個差別是存儲在數據存儲器1中的路徑選擇信號的位位置。在數據存儲器1中,在時間t處的32位路徑選擇信號PSt[i](i=0到31)的PSt[i](i=偶數)被存儲在地址“2t+0”處,而PSt[i=奇數]被存儲在地址“2t+1”處,如圖7A所示。
必須注意的一個事實是當指示一個狀態的數字i的值由5位二進制數表示和它的LSB是0(i=一個偶數)以代替MSB時,相應的PSt[i]被存儲在數據存儲器1的地址“2t+0”處。當它的LSB是1(i=一個奇數)時,相應的PSt[i]被存儲在數據存儲器1的地址“2t+1”處。為何根據這個實施例移位寄存器4中的MSB不被提供給地址轉換部分7的原因在于上述事實。
為何以從移位寄存器4的MSB開始計數的第四位數據被提供給地址轉換部分7以取代第五位數據的供應的方式來建立該連接關系的原因在于下述事實。
如圖8所示,根據本實施例的算術設備執行流水線結構操作。例如,為了在周期n+1處執行移位以遵循命令#1,在周期n的前沿處必須預先將一個地址提供給數據存儲器1以訪問該存儲器。由于在加載有必須在周期n+1處被移位的數據的數據存儲器1中的地址的LSB是在已經執行周期n的時間處從移位寄存器4中的MSB開始計數的第五位的移入值,所以它被置位于在周期n的前沿端從MSB開始計數的第四位處。所以,代替第五位的從移位寄存器4中的MSB開始計數的第四位被連接到地址轉換部分7。
存儲在移位寄存器4中的5個較高位指示一個在前選擇狀態。通過將5個較高位的4個較高位反相而得到的值位于路徑選擇信號被分成一個偶數組和一個奇數組并被存儲的路徑存儲器中的一個字中,它指示使對應于在前被選擇路徑信號的路徑選擇信號移位到MSB所需的移位量。
處理譯碼數據Y[j](j=0到{m-1}),從而使16位被填入到一個字,然后存儲在數據存儲器1中。
當執行圖8所示的流水線結構計算操作時,根據這個實施例的具有上述結構的單元能夠利用類似于根據第一實施例的處理步驟來執行回溯處理。
下面描述回溯處理的步驟。
步驟1“0”被作為初始值存儲在地址寄存器6中。
步驟2固定值“2”被存儲在增量寄存器9中。
步驟3為了開始狀態0,固定值“0”被存儲在移位寄存器4中。
當將相鄰值從{(n-1)+5}減小到5時,下一個步驟4和步驟5被重復n次。
步驟4地址產生部分10將地址寄存器6中的值輸出給地址轉換部分7,并使加法器8將地址寄存器6中的值加到增量寄存器9中的值上,以再次將結果存儲到地址寄存器6中從而更新該值。地址轉換部分7將由地址寄存器6提供的15個高位值輸出給數據存儲器1。此外,地址轉換部分7選擇從移位寄存器4中的MSB開始計數的第4位值以將其作為提供給數據存儲器1的地址的LSB輸出。數據存儲器1從由地址轉換部分7輸出的地址中讀出路徑存儲器PM[i],并將其存儲在內部鎖存器(未示出)中。
步驟4′數據存儲器1經過總線2向桶形移位器3輸出內部鎖存器(未示出)中的值。桶形移位器3執行由數據轉換部分5輸出的5個位指示的移位量的移位,以向移位寄存器4移位輸入由桶形移位器3輸出的MSB(必須被選擇的路徑選擇信號接近最高有效位[MSB]。被執行移位輸入的移位寄存器4中的[k-1]個較高位(=5位)指示一個在前狀態。此外,[k-1]個較高位的反相是用于選擇下一個路徑選擇信號的移位量的基礎。)。
步驟5每當執行16位譯碼時,移位寄存器4中的內容被一次存儲到數據存儲器1中(被選擇和存儲在移位寄存器4中的路徑選擇信號被變換成譯碼數據)。
由于步驟4和步驟4′分別對應于圖8所示流水線結構的存儲器訪問周期和移位執行周期,前述處理被認為好象是在一個步驟中執行的。
由于根據這個實施例的算術設備被如上所述地構成為32位路徑選擇信號PSt[i](i=0到31)被分成一個偶數組和一個奇數組并被存儲在數據存儲器1中,所以,即使是以流水線方式執行該計算處理,必須被讀出的路徑存儲器的字可以在在前周期時間處被指示。因此,通過與第一實施例類似的處理步驟,能夠有效地執行回溯處理的流水線處理。
地址轉換部分7和移位寄存器4之間連接關系的設計可以被改變以適應流水線結構。此外,存儲在數據存儲器1中的路徑選擇信號的位位置可以根據卷積碼約束長度k的值改變。例如,如果約束長度k=7,該位置必須使指示該狀態的數字i值的兩個較低位確定存儲地址,如圖7B所示,地址轉換部分7可以以這樣一種方式設計,即提供移位寄存器4中對應的兩個位值以對地址進行轉換,如圖9所示。
如上所述,根據這個實施例的結構可以被不同地設計以適應必須被譯碼的卷積碼的約束長度k和算術設備的流水線操作。
根據第三實施例的算術設備能夠有效地執行ACS(加法、比較和選擇)計算,即加法、比較和選擇操作以及維特比譯碼中的回溯處理。
如圖10所示,根據這個實施例的單元包括與第一實施例(見圖1)相同的元件1到10,還包括與數據存儲器1一起在維特比譯碼處理中使用的用于存儲路徑量度值的數據存儲器11;用于存儲支路量度值的寄存器堆20;用于使用存儲在數據存儲器1和11中的路徑量度值以及存儲在寄存器堆20中的支路量度值來執行在維特比譯碼處理中的ACS處理的ACS計算部分13;和連接到數據存儲器1用于傳輸數據的總線12。
如圖11所示,ACS的計算部分13具有用于使輸出給總線2和12的路徑量度值與從寄存器堆20輸出給另一個的支路量度值相加的加法器14和15;用于將分別從加法器14和15輸出的加法結果進行比較以向移位寄存器4和后面將要描述的選擇器19輸出表示比較結果的一位控制信號的比較器16;用于暫存分別從加法器14和15的輸出的加法結果的寄存器17和18;以及根據從比較器16輸出的控制信號來選擇存儲在寄存器17和18中的加法結果中的一個較小加法結果以將該較小加法結果輸出給總線2或12的選擇器19。
下面描述根據這個實施例的用于執行ACS處理的單元的操作。
數據存儲器1存儲包括圖17所示路徑量度A的值在內的路徑量度值。數據存儲器11存儲包括圖17所示的路徑量度B的值在內的路徑量度值,寄存器堆20存儲包括支路量度x和y在內的轉換量度值。
ACS計算部分13的加法器14使從數據存儲器1經過總線2讀出的路徑量度A的值和從寄存器堆20讀出的支路量度x的值彼此相加,以向比較器16輸出加法結果,并將該結果存儲在寄存器18中。加法器15使從數據存儲器11經過總線12輸出的路徑量度B的值和支路量度y的值彼此相加,以向比較器16輸出加法結果,并將該結果存儲在寄存器17中。
比較器16向移位寄存器4和選擇器19輸出一個一位控制信號,當從加法器14輸出的加法結果小于從另一個加法器15輸出的值時,這個一位控制信號是“0”,而當從加法器15輸出的加法結果小于從另一個加法器14輸出的值時,這個一位控制信號是“1”當該控制信號的值是“0”時,選擇器19選擇寄存器18,當該控制信號的值是“1”時,選擇器19選擇寄存器17,以將存儲在每個寄存器中的值經過總線2或12存儲到數據存儲器1或11中。
移位寄存器4移動一位存儲從比較器16輸出的控制信號,即路徑選擇信號。
上述操作用于一次ACS計算。
在必須被譯碼的卷積碼約束長度k=6的示例情況下,上述處理被重復32次,從而能夠執行對被接收串一個字符的ACS計算。此時,選擇器19在存儲器1中存儲它的輸出,直到在第一階段內的16次操作完成為止。存儲在移位寄存器4中的路徑選擇信號經過總線2被存儲到數據存儲器1。下一個16次ACS計算被執行,從而使選擇器19將它的輸出經過總線12存儲到數據存儲器11。存儲在比較器16中的較后部分中的路徑選擇信號的16位被經過總線2存儲在數據存儲器1中。
其結果如圖3A所示,路徑選擇信號被存儲在數據存儲器1中。對被接收串的n個字符重復上述對被接收串一個字符的ACS計算。
然后,根據在第一實施例中所描述的過程執行回溯處理,以便執行維特比譯碼處理。
如上所述,根據這個實施例的算術設備具有當執行ACS計算時移位寄存器4每次一位地順序存儲從ACS計算部分13輸出的路徑選擇信號的結構。因此能夠有效地執行ACS計算和回溯處理。由于移位寄存器4能夠在ACS計算和回溯處理中被共用,因此可減小LSI的面積,如果采用LSI來實現該算術設備的話,單元成本即可降低。由于減少了執行步驟,可以降低運行頻率。因此,可以減少整個算術設備的耗電。
根據第四實施例的算術設備被構造成在維特比譯碼中執行一個ACS計算以使圖7A所示路徑選擇信號能夠被存儲。
如圖12所示,根據這個實施例的單元具有用于存儲從ACS計算部分13輸出的路徑選擇信號的第二移位寄存器21。其它的結構與第三實施例(見圖10)相同。
除了用于存儲路徑選擇信號的處理以外,根據這個實施例的單元執行與根據第三實施例的單元相同的操作。用于存儲路徑選擇信號的處理如下執行。
在必須被譯碼的卷積碼的約束長度k=6的情況下,在第三實施例中描述的ACS計算操作被重復32次。此時,從ACS計算部分13輸出的路徑選擇信號被交替地并每次一位地存儲在移位寄存器4和移位寄存器21中。即,當執行偶數操作時,路徑選擇信號被存儲在移位寄存器4中。當執行奇數操作時,路徑選擇信號被存儲在移位寄存器21中。在ACS計算被執行32次之后,最終存儲在移位寄存器4和21中的路徑選擇信號被經過總線2順序存儲在數據存儲器1中。
此時,路徑選擇信號被如圖7A所示地存儲。因此,對被接收串的n個字符重復對被接收串一個字符的ACS計算,然后根據在第二實施例中所描述的過程來執行回溯處理,從而執行維特比譯碼處理。
如上所述,根據這個實施例的算術設備是這樣構成的,即當執行ACS計算時,移位寄存器4和移位寄存器21交替地和每次一位地存儲從ACS計算部分13輸出的路徑選擇信號。因此,在第二實施例中描述并具有流水線結構的處理器能夠有效執行ACS計算以及回溯處理。
由于移位寄存器4能夠在ACS計算和回溯處理中共用,所以,當該單元由一個LSI形成時,該LSI芯片的面積可以被減少,從而降低了成本。由于可減少執行步驟,所以,運行頻率能夠被降低。因此,整個算術設備的功耗可以被降低。
雖然在這個實施例中提供了移位寄存器4和21,但可以增加移位寄存器的數量。如果提供例如4個移位寄存器,執行當必須被譯碼的卷積碼約束長度k=7時執行的ACS計算,從而將路徑選擇信號的每一位順序地存儲到移位寄存器中;并最終將相同的內容順序地存儲到數據存儲器1中。在這種情況下,路徑選擇信號被如圖7B所示地存儲。
根據第五實施例的算術設備是通過對根據第三和第四實施例的ACS計算部分的加法器作出改進而構成的。
根據這個實施例的單元是這樣構成的,即ACS使計算部分13具有兩個寬度為32位的加法器22,從而執行4個數據項的加法,以同時和并行地執行較高部分的相加和較低部分的相加。因此,可以實現與由圖11所示結構執行的操作類似的操作。即根據本發明的加法器能夠用做兩個16位的加法器。
如圖14所示,加法器22包括32個全加器。其中的每個全加器執行0到31的相應位的加法。用于位0的全加器使輸入X
和輸入Y
彼此相加以輸出沒有進位的和O
以及進位信號Ci
,用于位31的全加器使輸入X[31]、Y[31]和在前進位信號Ci[30]彼此相加以輸出沒有進位的和O[31],用于位1到位30的每個全加器使輸入X、輸入Y以及在前進位信號Ci彼此相加以輸出沒有進位的和0以及進位信號Ci。
只有從用于位1 5的全加器輸出的進位信號Co[15]被提供給一個與電路,以便被作為進位信號Ci[15]經過該與電路輸出給用于位16的下一個全加器。該與電路還接收由一個控制部分(未示出)提供的控制信號。因此,控制信號禁止該進位信號向下一個加法器的傳送。
從功能的角度來看,用于位0到15的全加器對應于圖11所示的加法器14。用于位16到位31的全加器對應于圖11所示的加法器15。
當執行ACS計算時,提供給該與電路的控制信號的值是0,從而使由用于位15的全加器輸出的進位信號的傳送被禁止。在這個狀態下,可以通過與第三或第四實施例相同的操作來執行維特比譯碼。
當該控制信號是1時,加法器22被用做普通32位加法器。通常,DSP上設有一個作為累加器使用的位寬大于32位的加法器。加法器22可以被用做該累加器。
如上所述,根據這個實施例的算術設備能夠有效執行ACS計算處理以及回溯處理。此外,所安裝的加法器22能夠被共用于執行維特比譯碼和累加。
因此,當利用一個LSI形成一個算術設備時,該LSI芯片的面積被減小,因此單元成本也被降低。
圖19的框圖示出了使用根據上述第一到第五實施例中一個的算術設備的數字信號處理器(DSP)。根據第六實施例,DSP 60包括根據如前所述第一到第五實施例中一個的算術設備61;連接到算術設備61上的乘法-累加計算部分62;連接到算術設備61上用于從/向外部輸入和輸出數據的輸入-輸出部分63;和用于控制算術設備61、乘法-累加計算部分62和輸入-輸出部分63的控制部分64。
根據第六實施例,該DSP能夠在不需要放大數據存儲器和總線的位寬的情況下迅速和有效地執行用于維特比譯碼的回溯處理。
圖20的框圖示出了使用其中包括上述第一到第五實施例中一個的算術設備的數字信號處理器的無線移動臺設備。
在圖20中,無線移動臺設備包括天線部分710;無線電部分720;具有用于對信號編碼和譯碼的DSP 740的基帶信號處理部分730;控制部分760;揚聲器751;麥克風752,數據輸入-輸出部分753;顯示部分754;和操作部分755。無線電部分720包括用于從天線部分710接收一個接收信號并將該接收信號傳輸給基帶信號處理部分730的接收部分721;和用于接收來自該基帶信號處理部分的發射信號并將該發射信號傳輸給天線部分710的發射部分722。基帶信號處理部分730包括用于對來自接收部分721的接收信號解調的解調部分731;用于對發射信號進行調制的調制部分735;和用于執行編碼和譯碼的DSP 740。DSP 740包括時序控制部分741;維特比譯碼部分742;卷積譯碼部分743;和聲音編譯碼器部分744。
控制部分760控制電線部分710、無線電部分720、基帶信號處理部分730、顯示部分754和操作部分755等,從而使控制部分760控制該無線移動臺設備的總體操作。例如,控制部分760進行控制以使從自操作部分755輸入的信號顯示在顯示部分754上,并響應從告操作部分輸入的信號,用于執行呼叫發射和接收操作的控制信號被根據通信順序輸出給天線部分710、無線電部分720、基帶信號處理部分730等。
在上述無線移動臺設備700中,利用根據第一到第五實施例的處理單元或根據第六實施例的DSP可以實現該基帶信號處理部分的至少一部分。
下面將描述上述無線移動臺設備的發射部分的操作。
當執行聲音通信時,從麥克風輸入的聲音信號被進行模擬-數字轉換(未示出),然后由DSP 740的編譯碼器部分744譯碼。譯碼數據被輸入給卷積譯碼部分743。當執行數據通信時,從外部輸入的數據經過數據輸入-輸出部分753輸入給卷積編碼部分743。
卷積編碼部分743對輸入數據進行卷積編碼并輸出編碼數據。
時序控制部分741重新排列輸入數據并調節發射輸出時序以向調制部分735輸出結果。
在調制部分735被進行了數字調制的數據被進行數字-模擬轉換。然后,輸出給無線電部分720的發射部分722。
發射部分722將該信號轉換成無線電信號,以將該信號發射給該天線部分,從而使該信號被作為無線電波發射。
下面描述接收部分。由天線部分710接收的電波被無線電部分720的接收部分721接收,并進行模擬-數字轉換以向該基帶信號處理部分的解調部分731輸出。由解調部分731解調的數據被重新排列并被輸入給維特比譯碼部分742。
當執行聲音通信時,由維特比譯碼部分742譯碼的數據在聲音編譯碼器744中被聲音譯碼,然后被進行數字-模擬轉換以經過揚聲器751作為聲音輸出。另一方面,當執行數據通信時,數據經過數據輸入-輸出部分753被輸出給外部。
圖21示出了根據本發明無線移動臺設備的變型。在這個無線移動臺設備中,在調制部分735中提供了一個擴展(spreading)部分737,和在解調部分73 1中提供了一個解擴(despreading)部分733。由于擴展部分735和解擴部分733的提供,CDMA(code division multiple acess碼分多址)通信變得可能。
圖22的框圖示出了使用其中包括根據上述第一到第五實施例中一個的算術設備的數字信號處理器(DSP)的無線基地臺設備。
圖22所示的無線基地臺設備具有基本相同的結構。其包括天線部分810;無線電部分820;具有用于對信號進行編碼和譯碼的DSP 840的基帶信號處理部分830;控制部分860;和數據輸入-輸出部分853。
無線基地臺設備的天線部分810包括只用于接收的接收天線811和只用于發射的發射天線812。
圖23示出了根據本發明無線基地臺設備的改進。在這個無線基地臺設備中,在調制部分835中提供了一個擴展部分837,和在解調部分831中提供了一個解擴部分833。由于提供了擴展部分837和解擴部分833,所以,CDMA(碼分多址)通信變得可能。
從上面的敘述可以看出,根據本發明的算術設備能夠迅速和有效地執行用于維特比譯碼的回溯處理而不必放大數據存儲器和總線的位寬。
此外,一種用于向它的移位寄存器輸入通過ACS計算獲得的路徑選擇信號的單元在避免電路尺寸放大的同時能夠有效地和以互聯方式執行ACS計算和用于維特比譯碼的回溯處理。
能夠使用于累加中的ACS計算中的加法器共用的單元有效地使用該電路。
當使用LSI形成該單元時,上述單元能夠減少芯片的面積。因此,能夠實現降低成本和減少耗電。
此外,上述算術設備能夠被用于形成一個DSP。此外,如果這個DSP處理器被用做糾錯電路以形成無線移動臺設備或無線基地臺設備,它能夠迅速和有效地執行用于信號處理和通信中維特比譯碼的回溯處理。
權利要求
1.一種算術設備,包括數據存儲器,用于以同一時間處的路徑選擇信號被分成多個組的方式存儲路徑選擇信號;桶形移位器,用于移位從所述數據存儲器中讀出的數據;移位寄存器,用于接收由所述桶形移位器移位到MSB的一個位;數據轉換裝置,用于通過對在所述移位寄存器中規定位位置處置位的數據進行轉換以執行用于產生由所述桶形移位器執行的移位量的維特比譯碼處理來產生由所述桶形移位器執行的移位量;地址產生裝置,用于輸出所述數據存儲器中的地址;和地址轉換裝置,用于根據從所述地址產生裝置輸出的地址和所述移位寄存器中規定位位置的值來產生從所述數據存儲器中讀出的所述組的地址。
2.根據權利要求1所述的算術設備,其中所述路徑選擇信號被分成多個組,以便使分別被提供給所述路徑選擇信號的多個后綴在所述組中持續,和所述地址轉換裝置使用從所述地址產生裝置輸出的地址和包括位于所述移位寄存器一個輸入端處的一個位在內的預定數量位的位置值來產生所述組的地址。
3.根據權利要求2所述的算術設備,其中所述數據轉換裝置將除了位于所述移位寄存器一個輸入端處的一個位以外的預定數量位的位置值反相。
4根據權利要求1所述的算術設備,其中所述路徑選擇信號被分成多個組,以便使分別被提供給所述路徑選擇信號的多個后綴保持所述組的預定差,和所述地址轉換裝置使用從所述地址產生裝置輸出的地址和除了位于所述移位寄存器一個輸入端處的一個位以外的預定數量位的位置值來產生所述組的地址。
5.根據權利要求4所述的算術設備,其中所述數據轉換裝置將包括位于所述移位寄存器一個輸入端處的一個位在內的預定數量位的位置值反相以產生由所述桶形移位器執行的移位量。
6.根據權利要求4所述的算術設備,其中所述地址轉換裝置從所述移位寄存器中一個位的預定位置和在超前于所述組的一個組被從所述數據存儲器中讀出的時候獲得產生所述組地址所需的并由所述移位寄存器提供的值。
7.根據權利要求2所述的算術設備,還包括用于執行維特比譯碼中的加法、比較和選擇操作的ACS處理裝置,其中從所述ACS處理裝置輸出的路徑選擇信號被順序地存儲在所述移位寄存器中,并在所述組的路徑選擇信號已經被存儲在所述移位寄存器中之后,所述路徑選擇信號位于每個組中,并被移位和存儲到所述數據存儲器中。
8.根據權利要求4所述的算術設備,還包括用于執行維特比譯碼中的加法、比較和選擇操作的ACS處理裝置,其中從所述ACS處理裝置輸出的路徑選擇信號被順序地存儲在包括所述移位寄存器的多個移位寄存器中,并在所述組的路徑選擇信號已經被存儲在所述移位寄存器中之后,所述路徑選擇信號位于每個組中,并被移位和存儲在所述數據存儲器中。
9.根據權利要求7所述的算術設備,其中所述ACS處理裝置具有由多個全加器組成的加法裝置,并允許從所述全加器的一部分輸出的進位信號傳送給下一個全加器,從而允許所述加法裝置被用做一個或多個累加器。
10.根據權利要求8所述的算術設備,其中所述ACS處理裝置具有由多個全加器組成的加法裝置,并允許從所述全加器的一部分輸出的進位信號傳送給下一個全加器,從而允許所述加法裝置被用做一個或多個累加器。
11.一種數字信號處理器,包括算術設備;乘法-累加計算部分,其連接到所述算術設備上;輸入輸出部分,其連接到所述算術設備上,用于從和向外部輸入和輸出數據;和控制部分,用于控制所述算術設備、所述乘法-累加計算部分和所述輸入輸出部分;其中所述算術設備包括數據存儲器,用于以同一時間處的路徑選擇信號被分成多個組的方式存儲路徑選擇信號;桶形移位器,用于移位從所述數據存儲器讀出的數據;移位寄存器,用于接收由所述桶形移位器移位到MSB的一個位;數據轉換裝置,用于通過對在所述移位寄存器中規定位位置處置位的數據進行轉換以執行用于產生由所述桶形移位器執行的移位量的維特比譯碼處理來產生由所述桶形移位器執行的移位量;地址產生裝置,用于輸出所述數據存儲器中的地址;和地址轉換裝置,用于根據從所述地址產生裝置輸出的地址和所述移位寄存器中規定位位置的值來產生從所述數據存儲器讀出的所述組的地址。
12.一種無線臺設備,包括天線部分,用于接收和發射信號;無線電部分,包括用于接收來自所述天線部分的接收信號的接收部分,和用于向所述天線部分傳送發射信號的發射部分;基帶信號處理部分,包括用于對來自所述接收部分的接收信號進行解調的解調部分、用于對發射信號進行調制的調制部分、和用于執行編碼和譯碼的數字信號處理器;控制部分,用于控制所述天線部分,所述無線電部分和所述基帶信號處理部分;和輸入-輸出部分,用于從和向外部輸入和輸出所述信號;其中所述基帶信號處理部分包括一個算術設備,所述算術設備包括數據存儲器,用于以在相同時間處的路徑選擇信號被分成多個組的方式存儲路徑選擇信號;桶形移位器,用于移位從所述數據存儲器讀出的數據;移位寄存器,用于接收由所述桶形移位器移位到MSB的一個位;數據轉換裝置,用于通過對在所述移位寄存器中規定位位置處置位的數據進行轉換以執行用于產生由所述桶形移位器執行的移位量的維特比譯碼處理來產生由所述桶形移位器執行的移位量;地址產生裝置,用于輸出所述數據存儲器中的地址;和地址轉換裝置,用于根據從所述地址產生裝置輸出的地址和所述移位寄存器中規定位位置的值來產生從所述數據存儲器讀出的所述組的地址。
13.根據權利要求12所述的無線臺設備,其中所述調制部分具有一個擴展部分,和所述解調部分具有一個解擴部分;和其中所述無線臺執行CDMA(碼分多址)通信。
14.根據權利要求12所述的無線臺設備,其中經過所述輸入-輸出部分輸入或輸出的所述信號是聲音信號,和所述輸入輸出部分包括用于將聲音信號轉換成電信號和將所述電信號轉換成聲音信號的轉換裝置,和所述無線臺設備是無線移動臺設備。
15.根據權利要求12所述的無線臺設備,其中所述無線臺設備是無線基地臺設備。
全文摘要
一種算術設備,包括用于存儲路徑選擇信號的存儲器、用于移位從該存儲器讀出的數據的桶形移位器、用于接收由桶形移位器移位到MSB的一個位的移位寄存器、用于通過對在移位寄存器中規定位位置處置位的數據進行轉換來產生由桶形移位器執行的移位量的裝置、用于輸出地址的地址產生裝置、用于通過該地址和在移位寄存器中規定位位置的值相結合而產生必須被讀出的組的地址。因此,在維特比譯碼中的回溯處理可以用小位寬執行。
文檔編號H03M13/41GK1182909SQ9712257
公開日1998年5月27日 申請日期1997年10月15日 優先權日1996年10月15日
發明者石川利広, 鈴木秀俊 申請人:松下電器產業株式會社