[go: up one dir, main page]

TWI491178B - Tail-biting convolutional decoder and decoding method - Google Patents

Tail-biting convolutional decoder and decoding method Download PDF

Info

Publication number
TWI491178B
TWI491178B TW101103607A TW101103607A TWI491178B TW I491178 B TWI491178 B TW I491178B TW 101103607 A TW101103607 A TW 101103607A TW 101103607 A TW101103607 A TW 101103607A TW I491178 B TWI491178 B TW I491178B
Authority
TW
Taiwan
Prior art keywords
state
characters
candidate
coded
states
Prior art date
Application number
TW101103607A
Other languages
Chinese (zh)
Other versions
TW201322647A (en
Inventor
Richard Lane
Mark Murphy
Cyril Valadon
Francesc Boixadera
Original Assignee
Mstar Semiconductor Inc
Mstar Software R&D Shenzhen
Mstar France Sas
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mstar Semiconductor Inc, Mstar Software R&D Shenzhen, Mstar France Sas filed Critical Mstar Semiconductor Inc
Publication of TW201322647A publication Critical patent/TW201322647A/en
Application granted granted Critical
Publication of TWI491178B publication Critical patent/TWI491178B/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Description

去尾迴旋碼之解碼器及解碼方法Decoded decoder and decoding method

本發明與無線通訊裝置相關,並且尤其與用以減少無線通訊裝置中之解碼錯誤的技術相關。The present invention relates to wireless communication devices and, more particularly, to techniques for reducing decoding errors in wireless communication devices.

在接收裝置中,維特比解碼器(Viterbi decoder)常被用來將以順向錯誤更正(forward error correction,FEC)編碼的迴旋碼(convolutional code)解碼。由於接收器並不知道原本傳送端發出的信號為何,且原始信號已被無線通道的性質(例如雜訊、衰減、雨水等因素)影響而改變,因此稱原始信號中的位元為被隱藏。In a receiving device, a Viterbi decoder is often used to decode a convolutional code encoded with forward error correction (FEC). Since the receiver does not know the signal sent by the original transmitting end, and the original signal has been changed by the nature of the wireless channel (such as noise, attenuation, rain, etc.), the bit in the original signal is said to be hidden.

維特比演算法的概念是找出隱藏狀態的最可能序列,例如找出隱藏式馬可夫模型(hidden Markov model)之狀態的最可能序列(關於馬可夫模型,可參考Forney等人於Proceedings of the IEEE刊物第61卷第3期第268-278頁發表的「The Viterbi algorithm」,1973年3月)。The concept of the Viterbi algorithm is to find the most likely sequence of hidden states, such as finding the most likely sequence of the state of the hidden Markov model (for the Markov model, see Forney et al. in Proceedings of the IEEE publication). "The Viterbi algorithm", Vol. 61, No. 3, pp. 268-278, March 1973).

順向錯誤更正和維特比解碼器特別適用於接收端執行錯誤更正程序時,或是自接收端至傳送端之反饋為不可行時。維特比解碼器被廣泛應用在無線通訊領域,例如蜂巢式電話與衛星間的通訊、語音辨識、儲存確認等等。第三代合作夥伴計畫(3rd generation partnership project,3GPP)提出的長期進化(long term evolution,LTE)行動通訊系統便是採用迴旋碼來改善控制頻道的解碼可靠度(可參考第三代合作夥伴計畫第36.212號技術文件)。Forward error correction and Viterbi decoders are particularly useful when the receiver is performing error correction procedures, or when feedback from the receiver to the transmitter is not feasible. Viterbi decoders are widely used in wireless communications, such as cellular and satellite communications, voice recognition, storage confirmation, and more. The long term evolution (LTE) mobile communication system proposed by the 3rd generation partnership project (3GPP) uses the whirling code to improve the decoding reliability of the control channel (refer to the third generation partner). Plan technical document No. 36.212).

在無線通訊接收器中,使用偵測器負責產生提供至維特比解碼器的信號。維特比解碼器必須決定該信號中的位元是零或一。該信號可能為二進位信號或一機率值,前者適用於硬式決定(hard decision),後者適用於軟式決定(soft decision)。硬式決定是藉由比較信號強度來達成,軟式決定則是以或然率模型為根據。In a wireless communication receiver, a detector is used to generate a signal that is provided to the Viterbi decoder. The Viterbi decoder must determine whether the bit in the signal is zero or one. The signal may be a binary signal or a probability value, the former being applied to a hard decision and the latter being applied to a soft decision. The hard decision is made by comparing the signal strength, and the soft decision is based on the likelihood model.

針對每個可能的狀態,維特比解碼器會記錄與迴旋碼相關之格式結構(trellis)中可能性最高的路徑,藉此為傳送端發出的信號產生一最大似然序列估計(maximum likelihood sequence estimate,簡稱為MLSE)。這些可能性最高的路徑也被稱為存活序列,並且被用以產生解碼後的位元序列。產生這些序列的方法有兩種:暫存器交換法和追溯法(可參考Feygin,G.等人於IEEE Transactions on Communications刊物第41卷第3期第425-429頁發表的「Architectural tradeoffs for survivor sequence memory management in Viterbi decoders」)。暫存器交換法的概念較單純,但需要較大的記憶體存取量;追溯法因此較常被採用。For each possible state, the Viterbi decoder records the most probable path in the trellis associated with the convolutional code, thereby generating a maximum likelihood sequence estimate for the signal sent by the transmitting end. , referred to as MLSE). These most probable paths are also referred to as surviving sequences and are used to generate decoded bit sequences. There are two ways to generate these sequences: the scratchpad exchange method and the traceback method (refer to Feygin, G. et al., IEEE Transactions on Communications, Vol. 41, No. 3, pp. 425-429, "Architectural tradeoffs for survivor". Sequence memory management in Viterbi decoders"). The concept of the scratchpad exchange method is simpler, but requires a larger memory access; the traceback method is therefore more commonly used.

為了協助維特比解碼程序的進行,迴旋碼編碼器的狀態常被存入數值0,以強迫維特比格式結構(Viterbi trellis)處理程序中的起始狀態等於0,並初始化與不同狀態相關的路徑指標。相似地,藉由在訊息尾端加上複數個位元0,編碼器的最終狀態也常被強制設定為0。To assist the Viterbi decoding process, the state of the whirling code encoder is often stored in the value 0 to force the start state of the Viterbi trellis handler to equal 0 and initialize the paths associated with the different states. index. Similarly, by adding a plurality of bits 0 to the end of the message, the final state of the encoder is also often forced to zero.

由於解碼器能利用此資訊決定要選擇哪一個存活序列來產生解碼位元,強制將編碼器的最終狀態設定為0可提昇效能。迫使編碼器之最終狀態為0所需要的額外位元數量,等於編碼器的記憶體長度或編碼器本身的長度限制。易言之,編碼器被「注滿」位元0。將編碼器注滿已知數值的迴旋碼被稱為「有尾」迴旋碼。Since the decoder can use this information to determine which survival sequence to select to generate the decoded bit, forcing the final state of the encoder to zero improves performance. The number of extra bits required to force the final state of the encoder to zero is equal to the memory length of the encoder or the length limit of the encoder itself. In other words, the encoder is "filled" with bit 0. A convolutional code that fills the encoder with a known value is called a "tailed" convolutional code.

由於訊息中被加入額外的位元,利用有尾迴旋碼提升效能的代價是頻譜效率會降低。若訊息長度較長,則頻譜效率的下降較小且可忽略;但當訊息長度較短時,頻譜效率降低造成的影響就會變得明顯。Since extra bits are added to the message, the cost of using tailed convolution to improve performance is that spectral efficiency is reduced. If the message length is long, the spectral efficiency degradation is small and negligible; but when the message length is short, the effect of the spectral efficiency reduction becomes obvious.

因此,當訊息長度較短,就必須避免迫使編碼器的最終狀態為0或其他固定值。若希望避免頻譜效率降低,可採用去尾迴旋碼(tail-biting convolutional code,可參考Ma等人於IEEE Transactions on Communications刊物第34卷第2期第104-111頁發表的「On Tail Biting Convolutional Codes」)。去尾迴旋碼並未強迫將編碼器之初始和最終狀態設定為預設值,而是保證這兩個狀態一致。更明確地說,去尾迴旋碼係以訊息本身的最後幾個位元來初始化編碼器的狀態。Therefore, when the message length is short, it is necessary to avoid forcing the final state of the encoder to be 0 or other fixed value. If you want to avoid the degradation of the spectrum efficiency, you can use the tail-biting convolutional code (refer to Ma et al., IEEE Transactions on Communications, Vol. 34, No. 2, pp. 104-111, "On Tail Biting Convolutional Codes". "). The tail-to-tail revolving code does not force the initial and final states of the encoder to be set to a preset value, but ensures that the two states are identical. More specifically, the truncated convolutional code initializes the state of the encoder with the last few bits of the message itself.

去尾迴旋碼提供了與有尾迴旋碼相近的效能表現,又不會造成頻譜效率降低。因此,去尾迴旋碼常被用於較短訊息的編碼,亦被用於保護某些控制頻道,例如3GPP LTE標準中定義的實體廣播頻道(physical broadcast channel,簡稱為PBCH)或是實體下行控制頻道(physical downlink control channel,簡稱為PDCCH)。The tail-to-tail spin code provides similar performance to the tailed spin code without causing spectral efficiency degradation. Therefore, the deciphering convolutional code is often used for the encoding of shorter messages, and is also used to protect certain control channels, such as the physical broadcast channel (PBCH) or physical downlink control defined in the 3GPP LTE standard. The physical downlink control channel (referred to as PDCCH).

然而,去尾迴旋碼的編碼複雜度較高。例如,去尾迴旋碼的最大似然偵測器(maximum likelihood detector,簡稱為MLD)需要進行S次維特比解碼運算,則每一次都必須假設編碼器的初始和最終狀態,其中S代表與迴旋碼相關之格式結構中的狀態總數量。S種不同可能性中的最佳路徑會被用以產生解碼位元(詳情可參考Shao等人於IEEE Transactions on Communications刊物第51卷第10期第1658-1665頁發表的「Two Decoding Algorithms for Tailbiting Codes」)。目前也有些效果略差但複雜度較低的解碼演算法,可參考Cox等人於IEEE Transactions on Vehicular Technology刊物第3卷第1期第57-68頁發表的「An Efficient Adaptive Circular Viterbi Algorithm for Decoding Generalized Tailbiting Convolutional Codes」,以及2009年Zhang等人於International Forum on Information Technology and Applications刊物第2卷第303-306頁發表的「Research on An-Based Decode of tail-biting convolutional codes and Their Performance Analyses Used in LTE System」。However, the coding complexity of the de-spinning code is higher. For example, the maximum likelihood detector (MLD) of the tail-reversal code needs to perform S-dimensional Viterbi decoding operations, and each time the initial and final states of the encoder must be assumed, where S represents and maneuvers. The total number of states in the code-dependent format structure. The best of the S different possibilities will be used to generate the decoding bit (for details, see "Two Decoding Algorithms for Tailbiting" by Shao et al., IEEE Transactions on Communications, Vol. 51, No. 10, No. 1658-1665. Codes)). At present, there are some decoding algorithms with less effect but lower complexity. For details, please refer to "An Efficient Adaptive Circular Viterbi Algorithm for Decoding" published by Cox et al., IEEE Transactions on Vehicular Technology, Vol. 3, No. 1, pp. 57-68. "Generalized Tailbiting Convolutional Codes", and "Research on An-Based Decode of tail-biting convolutional codes and Their Performance Analyses Used in 1999, by Zhang et al., International Forum on Information Technology and Applications, Vol. 2, pp. 303-306. LTE System".

本發明提出的技術方案係利用接收器收到之資料流中先前不曾被迴旋解碼器使用或取得的資訊為去尾迴旋碼解碼,例如循環冗餘檢查(cyclic redundancy check,CRC)資訊或其他傳送端和接收端都知道的資訊。此外,單一平行追溯被用以降低實現此方案的複雜度。再者,在順向處理程序中做出的最不可靠決定可被保留,以產生額外的候選編碼字元。本發明提出的技術方案能減少誤判率(false detection rate,簡稱為FDR)及/或偵測錯誤率(detection error rate,簡稱為DER)。The technical solution proposed by the present invention uses the information in the data stream received by the receiver that has not been used or obtained by the gyro decoder to decode the tail-back gyro code, such as cyclic redundancy check (CRC) information or other transmission. Information that both the terminal and the receiver know. In addition, a single parallel trace is used to reduce the complexity of implementing this solution. Again, the least reliable decision made in the forward processing procedure can be preserved to generate additional candidate coded characters. The technical solution proposed by the invention can reduce the false detection rate (FDR) and/or the detection error rate (DER).

於根據本發明之一具體實施例中,通訊裝置所接收之資料包含以去尾迴旋碼編碼之一訊息。首先,該資料被偵測,以找出具有一特定資料長度之一編碼區塊。隨後,該編碼區塊被施以一次或多次順向處理疊代,以產生代表一狀態圖之資訊以及辨認該狀態圖中由多個結束狀態到多個起始狀態的複數個路徑。代表該狀態圖之該資訊對應於一編碼器編碼該訊息時可能產生之複數個狀態轉換。In an embodiment in accordance with the invention, the data received by the communication device includes a message encoded with a tail-back convolutional code. First, the data is detected to find a block of code having a specific data length. Subsequently, the code block is subjected to one or more forward processing iterations to generate information representative of a state diagram and to identify a plurality of paths from the plurality of end states to the plurality of start states in the state diagram. The information representing the state map corresponds to a plurality of state transitions that may be generated by an encoder when encoding the message.

接著,針對該狀態圖,自複數個結束狀態沿著被辨認出之該複數個路徑,一單一平行追溯運算被執行,以決定該狀態圖之一特定路徑中何時至少一結束狀態與一起始狀態相符。隨後,當該單一平行追溯運算找出一起始狀態與相對應之一結束狀態相符,一個或多個第一候選編碼字元被產生。接著,一個或多個正確編碼字元自該一個或多個第一候選編碼字元中被辨認出。隨後,該訊息係根據一個或多個正確編碼字元產生。Then, for the state diagram, a single parallel traceback operation is performed from the plurality of end states along the identified plurality of paths to determine when at least one end state and a start state are in a particular path of the state diagram. Match. Subsequently, when the single parallel traceback operation finds that an initial state coincides with a corresponding one of the end states, one or more first candidate coded characters are generated. Next, one or more correctly encoded characters are identified from the one or more first candidate coded characters. The message is then generated based on one or more correctly encoded characters.

該訊息亦可被施以循環冗餘檢查編碼。當一第一候選編碼字元通過一循環冗餘檢查條件時,一個或多個正確編碼字元被辨認。該循環冗餘檢查條件可為已知的編碼器所採用的循環冗餘檢查遮罩。This message can also be applied with a cyclic redundancy check code. When a first candidate coded character passes a cyclic redundancy check condition, one or more correctly coded characters are recognized. The cyclic redundancy check condition can be a cyclic redundancy check mask used by known encoders.

於另一範例中,該方法進一步為每一個第一候選編碼字元計算一品質度量指標(quality metrics,簡稱為QM),且該一個或多個正確編碼字元係根據該一個或多個品質度量指標所選擇。In another example, the method further calculates a quality metrics (QM) for each of the first candidate coded characters, and the one or more correctly encoded characters are based on the one or more qualities. The metric is selected.

在執行一次或多次順向處理疊代時,可包含追蹤該狀態圖中對應於一個或多個最不可靠狀態轉換決定之一個或多的位置。相對應地,在該單一平行追溯運算期間,可藉由反轉該狀態圖中一或更多之該一個或多個最不可靠狀態轉換決定,以產生一個或多個第二候選編碼字元。此外,該方法可進一步為每一個第二候選編碼字元計算一品質度量指標,並根據該一個或多個品質度量指標選擇該一個或多個正確編碼字元。When performing one or more forward processing iterations, it may include tracking one or more locations in the state map that correspond to one or more of the least reliable state transition decisions. Correspondingly, during the single parallel traceback operation, one or more of the least reliable state transition decisions may be reversed by inverting one or more of the state diagrams to generate one or more second candidate coded characters. . Moreover, the method can further calculate a quality metric for each of the second candidate coded characters and select the one or more correctly encoded characters based on the one or more quality metrics.

該資訊可包含一已知位元資訊。在順向處理疊代期間,該狀態表中之狀態轉換可被強迫符合該已知位元資訊。或者,該已知位元資訊可被用以排除狀態不符合對應於該已知位元資訊之一或多個狀態之一個或多個候選編碼字元。The information can include a known bit information. During the iterative processing of iterations, the state transitions in the state table can be forced to conform to the known bit information. Alternatively, the known bit information can be used to exclude one or more candidate coded characters that do not conform to one or more states corresponding to the known bit information.

關於本發明的優點與精神可以藉由以下發明詳述及所附圖式得到進一步的瞭解。The advantages and spirit of the present invention will be further understood from the following detailed description of the invention.

請參閱圖一,圖一中繪示的無線通訊系統100包含一基地台110及複數個行動裝置120(1)-120(Z)。基地台110可連接至其他有線資料網路設施(未繪示)並做為一閘道器或存取點,使行動裝置120(1)-120(Z)能藉此連接至該等有線資料網路設施。Referring to FIG. 1, the wireless communication system 100 illustrated in FIG. 1 includes a base station 110 and a plurality of mobile devices 120(1)-120(Z). The base station 110 can be connected to other wired data network facilities (not shown) and used as a gateway or access point to enable the mobile devices 120(1)-120(Z) to connect to the wired data. Internet facilities.

基地台110包含多個天線140(1)-140(M),行動裝置120(1)-120(Z)包含多個天線130(1)-130(N)。基地台110可利用頻寬遠大於同調頻寬的寬頻無線通訊協定,與行動裝置120(1)-120(Z)個別進行無線通訊。The base station 110 includes a plurality of antennas 140(1)-140(M), and the mobile devices 120(1)-120(Z) include a plurality of antennas 130(1)-130(N). The base station 110 can wirelessly communicate with the mobile devices 120(1)-120(Z) individually using a broadband wireless communication protocol having a bandwidth much greater than the coherence bandwidth.

舉例而言,該寬頻無線通訊協定可以是分時同步分碼多重存取(time division-synchronous code division multiple access,TD-SCDMA)通訊協定,或分時長期進化(time division long term evolution,簡稱為TD-LTE)通訊協定。For example, the broadband wireless communication protocol may be a time division-synchronous code division multiple access (TD-SCDMA) communication protocol, or a time division long term evolution (referred to as time division long term evolution, referred to as TD-LTE) communication protocol.

本發明提供的技術能幫助無線通訊裝置(例如基地台或行動裝置)利用維特比及循環冗餘檢查(cyclic redundancy check,簡稱為CRC)解碼器將自其他無線通訊裝置收到的訊息解碼。舉例而言,若圖一中的基地台110傳送一訊息至行動裝置120(1),行動裝置120(1)可利用以下介紹的技術將收到的訊息解碼,隨後亦可傳送一回應給基地台110。The techniques provided by the present invention can assist a wireless communication device (e.g., a base station or mobile device) to decode messages received from other wireless communication devices using Viterbi and a cyclic redundancy check (CRC) decoder. For example, if base station 110 in FIG. 1 transmits a message to mobile device 120(1), mobile device 120(1) can decode the received message using the techniques described below, and can then transmit a response to the base. Taiwan 110.

請參閱圖二所繪示的維特比及循環冗餘檢查編碼器。訊息210被送入訊息產生器220。訊息產生器220的輸出隨後被提供至循環冗餘檢查編碼器230;循環冗餘檢查編碼器230可採用一循環冗餘檢查遮罩235。在循環冗餘檢查完成後,循環冗餘檢查編碼器230的輸出被提供至迴旋編碼器240,再遞送到傳送器250。本發明所屬技術領域中具有通常知識者可瞭解,插入其他不會對下述程序造成影響的中間程序是有可能的,例如在迴旋編碼器240和傳送器250之間加入速率匹配程序。為了減少誤判率(false detection rate,簡稱為FDR)及/或偵測錯誤率(detection error rate,簡稱為DER),訊息210可具有傳送端和接收端都知道的資料欄位。Please refer to the Viterbi and Cyclic Redundancy Check Encoder shown in Figure 2. The message 210 is sent to the message generator 220. The output of the message generator 220 is then provided to a cyclic redundancy check encoder 230; the cyclic redundancy check encoder 230 can employ a cyclic redundancy check mask 235. After the cyclic redundancy check is completed, the output of the cyclic redundancy check encoder 230 is supplied to the cyclotron encoder 240 and then to the transmitter 250. It will be appreciated by those of ordinary skill in the art that it is possible to insert other intermediate programs that do not affect the following procedures, such as adding a rate matching program between the cyclotron encoder 240 and the transmitter 250. In order to reduce the false detection rate (FDR) and/or the detection error rate (DER), the message 210 may have a data field known to both the transmitting end and the receiving end.

順向錯誤更正(forward error correction,簡稱為FEC)編碼器採用的迴旋碼係由兩個參數定義:碼率(code rate)和限制長度。The forward error correction (FEC) encoder uses a convolutional code system defined by two parameters: code rate and limit length.

所謂碼率是指在一編碼週期中,迴旋編碼器240的輸入位元數量除以輸出之頻道符碼數量的比值。碼率小表示冗餘程度高,也就是以較大的編碼後資料頻寬為代價,提供較佳的錯誤控制。舉例而言,若輸入位元序列Ck通過三個編碼路徑後,每個編碼路徑各產生一個輸出位元,則編碼器的碼率為1/3。The code rate refers to the ratio of the number of input bits of the whirling encoder 240 divided by the number of output channel symbols in one coding cycle. A small code rate indicates a high degree of redundancy, which provides better error control at the expense of a larger encoded data bandwidth. For example, if the input bit sequence Ck passes through three encoding paths, and each encoding path produces one output bit, the encoder has a code rate of 1/3.

於此範例中,位元序列Ck 在時脈信號的控制下,依序通過迴旋編碼器240中的六個位元延遲器260(1)-260(6)。此外,位元序列Ck 也被輸入至一連串的互斥或(exclusive-OR,簡稱為XOR)閘(以符號⊕表示)。在編碼路徑280(1)中,輸入位元依序和位元延遲器260(2)、260(3)、260(5)、260(6)的輸出信號被施以互斥或運算,此編碼過程被定義為函式G0 。編碼函式G0 也可被表示為多項式G0= 1+x2 +x3 +x5 +x6 ,其中的後四個項次分別對應於位元延遲器260(2)、260(3)、260(5)、260(6),令第一項次為1是通則。In this example, the bit sequence Ck is sequentially passed through the six bit delays 260(1)-260(6) in the whirling encoder 240 under the control of the clock signal. In addition, the bit sequence C k is also input to a series of exclusive-OR (XOR) gates (represented by the symbol ⊕). In the encoding path 280(1), the input bit sequentially and the output signals of the bit delays 260(2), 260(3), 260(5), 260(6) are subjected to a mutually exclusive OR operation. The encoding process is defined as the function G 0 . The coding function G 0 can also be expressed as a polynomial G 0= 1+x 2 +x 3 +x 5 +x 6 , wherein the last four terms correspond to the bit delays 260(2), 260(3, respectively. ), 260(5), 260(6), making the first item 1 is a general rule.

為了便於解說,此迴旋編碼被拆解為三個階段。在時間點270(1)和270(2)間,編碼路徑280(1)中沒有對應於位元延遲器260(1)的互斥或閘,只有對應於位元延遲器260(2)、260(3)的互斥或閘。如果用0表示沒有經過對應之互斥或閘的位元延遲器、用1表示有經過對應之互斥或閘的位元延遲器,此階段的延遲可以二進位表示為011b或是以八進位表示為38For ease of explanation, this convolutional code is broken down into three phases. Between time points 270(1) and 270(2), there is no exclusive or gate corresponding to bit delay 260(1) in encoding path 280(1), only corresponding to bit delay 260(2), 260 (3) mutual exclusion or gate. If 0 is used to indicate a bit delay without a corresponding mutex or gate, and 1 is a bit delay with a corresponding mutex or gate, the delay at this stage can be represented as 011b or octal. Expressed as 3 8 .

在時間點270(1)和270(2)之間,編碼路徑280(2)中經過了三個分別對應於位元延遲器260(1)、260(2)、260(3)的互斥或閘,因此被表示為111b或78 。編碼路徑280(3)中沒有經過對應於位元延遲器260(3)的互斥或閘,只有對經過應於位元延遲器260(1)、260(2)的互斥或閘,因此被表示為110b或68 。同理,在時間點270(2)和270(3)之間,上述三個編碼路徑的位元延遲,可被分別表示為011b或38 、001b或18 ,以及101b或58Between time points 270(1) and 270(2), three mutually exclusive transitions corresponding to bit delays 260(1), 260(2), 260(3), respectively, in encoding path 280(2) Or gate, so it is represented as 111b or 7 8 . There is no mutual exclusion or gate corresponding to the bit delay 260(3) in the encoding path 280(3), and only the pair passes through the mutual exclusion or gate corresponding to the bit delays 260(1), 260(2), It is expressed as 110b or 6 8 . Similarly, between time points 270(2) and 270(3), the bit delays of the above three encoding paths can be represented as 011b or 3 8 , 001b or 1 8 , and 101b or 5 8 , respectively .

因此,函式G0 也可被簡化為1338 ,其中的1代表方程式中的第一項次。相似地,函式G1 =1+x1 +x2 +x3 +x6 可被簡化為1718 ,函式G2 =1+x1 +x2 +x4 +x6 可被簡化為1658 。此類型的迴旋編碼器可參見第三代合作夥伴計畫第36.212號技術文件中的章節5.1.3.1。Therefore, the function G 0 can also be reduced to 133 8 , where 1 represents the first term in the equation. Similarly, the function G 1 =1+x 1 +x 2 +x 3 +x 6 can be reduced to 171 8 , and the function G 2 =1+x 1 +x 2 +x 4 +x 6 can be simplified to 165 8 . This type of cyclotron encoder can be found in section 5.1.3.1 of the third generation partner project technical document No. 36.212.

位元延遲器260(1)-260(6)實際上可為互補正反器(flip-flop)。每經過一個時脈週期,下一個輸入位元Ck 會被提供至位元延遲器260(1)。同時,位元延遲器260(1)原先的輸入位元會被送入位元延遲器260(2),依此類推。在各個時脈週期內,位元延遲器260(1)-260(6)中的位元數值即代表編碼器的狀態。由於有六個位元延遲器,迴旋編碼器240有26種(也就是64種)可能狀態,等同於一個有限狀態機(finite state machine)。根據多項式函式G0 、G1 、G2 ,在每個時脈週期中,編碼器的狀態和目前的輸入位元被用以產生輸出位元dk (0) 、dk (1) 和dk (2) 。接收端的解碼器須根據收到的位元重新產生編碼器於編碼時的狀態。從解碼器的角度來說,編碼器的可能狀態可被表示為一格式結構(trellis)圖。由於解碼器不知道編碼器的狀態,解碼器必須根據收到的位元序列,假設編碼器中在產生該序列時,可能發生的狀態轉換。Bit delays 260(1)-260(6) may actually be complementary flip-flops. The next input bit Ck is supplied to the bit delay 260(1) every time a clock cycle elapses. At the same time, the original input bit of bit delay 260(1) will be sent to bit delay 260(2), and so on. The bit values in the bit delays 260(1)-260(6) represent the state of the encoder during each clock cycle. Since there are six bit delays, the cyclotron encoder 240 has 26 (i.e., 64) possible states, equivalent to a finite state machine. According to the polynomial functions G 0 , G 1 , G 2 , in each clock cycle, the state of the encoder and the current input bits are used to generate output bits d k (0) , d k (1) and d k (2) . The decoder at the receiving end shall regenerate the state of the encoder at the time of encoding based on the received bit. From the perspective of the decoder, the possible states of the encoder can be represented as a trellis diagram. Since the decoder does not know the state of the encoder, the decoder must assume a state transition that may occur in the encoder when the sequence is generated, based on the received sequence of bits.

請參閱圖三(A),一長期進化迴旋碼之格式結構被表示為二進位蝴蝶圖310(1)-310(32)。這三十二個蝴蝶圖包含多組成對的狀態,結合後成為解碼器的六十四個狀態。此格式結構係為儲存於解碼器記憶體中之資訊的示意圖。須說明的是,為便於讀者觀看,圖三(A)中的格式結構已經過簡化,並非意圖精確描述各蝴蝶圖間的狀態連結或實際解碼時的狀態數量。Referring to Figure 3(A), the format structure of a long-term evolutionary convolutional code is represented as a binary butterfly diagram 310(1)-310(32). These thirty-two butterfly diagrams contain multiple pairs of states that, when combined, become the sixty-four states of the decoder. This format structure is a schematic diagram of the information stored in the decoder memory. It should be noted that the format structure in FIG. 3(A) has been simplified for the convenience of the reader, and it is not intended to accurately describe the state connection between the butterfly patterns or the number of states when actually decoding.

由圖二可看出,迴旋碼的一個優點為其結構具有高度重複性,因此能提供一個對稱的碼樹(code tree)。此對稱特性可減少在找尋對應於資料序列(例如Ck )之可能路徑時需要評估的狀態數量。此外,在將對稱碼解碼時,就這六十四個可能的編碼器狀態中的每一個狀態來說,只有可能性最高的路徑(也就是存活路徑)會被考量,其他路徑將被忽略。As can be seen from Figure 2, one advantage of the whirling code is that its structure is highly repetitive, thus providing a symmetrical code tree. This symmetry feature reduces the number of states that need to be evaluated when looking for a possible path corresponding to a sequence of data (eg, Ck ). In addition, when decoding a symmetric code, for each of the sixty-four possible encoder states, only the most probable path (ie, the surviving path) will be considered, and the other paths will be ignored.

依照這些編碼特性運作的維特比解碼器如同存在有限組狀態轉換的有限狀態機。解碼器能假設每個可能的編碼器狀態,並且根據接收到的帶有雜訊的編碼資料串,來決定編碼器由某個狀態轉換到另一個狀態的或然率。Viterbi decoders operating in accordance with these coding characteristics are like finite state machines with finite set state transitions. The decoder can assume each possible encoder state and determine the probability of the encoder transitioning from one state to another based on the received encoded data string with noise.

圖三(A)的格式結構呈現了一個處理特定數量之狀態的編碼區塊範例。在步驟330中,維特比解碼程序起始於一個或多個順向處理步驟。順向處理於圖中被繪示為由左向右進行,且可起始於收到一組包含特定數量之符碼(symbol)的符碼資料時。The format structure of Figure 3(A) presents an example of a coded block that handles a certain number of states. In step 330, the Viterbi decoding process begins with one or more forward processing steps. The forward processing is illustrated as being performed from left to right in the figure and may begin when a set of symbol data containing a particular number of symbols is received.

因此,最左邊的狀態為起始狀態,最右邊的狀態為結束狀態。在順向處理的過程中,於格式結構的多個路徑被找出,且對應於這些路徑的度量指標(metrics)會被儲存。該度量指標可包含路徑度量指標(path metrics,簡稱為PM)、路徑歷史、分枝(branch metrics,簡稱為BM)度量指標、品質度量指標(quality metrics,簡稱為QM),以及最不可靠之分枝決定的位置(決定方式容後詳述)。Therefore, the leftmost state is the start state and the rightmost state is the end state. In the process of forward processing, multiple paths to the format structure are found, and metrics corresponding to these paths are stored. The metric can include path metrics (PM), path history, branch metrics (BM) metrics, quality metrics (QM), and the least reliable. The location of the branch decision (decision method is detailed later).

在步驟340中,追溯(trace-back)處理起始於一單一平行追溯(single parallel trace-back)。平行追溯係根據該等已儲存的度量指標,沿著格式結構,自多個結束狀態分別由右向左向後追溯。In step 340, the trace-back process begins with a single parallel trace-back. Parallel traceability is traced back to right from left to left, depending on the stored metrics, along the format structure, from multiple end states.

對迴旋碼而言,平行追溯會找出多個起始狀態。對去尾迴旋碼而言,由於編碼器係採用訊息的結尾位元做為起始,起始狀態必定與結束狀態相同。起始狀態不同於結束狀態的追溯路徑將被忽略。追溯處理的輸出包含一個或多個候選編碼字元,以及更新後的品質度量指標。For a whirling code, parallel tracing will find multiple starting states. For the tail-to-tail spin code, since the encoder uses the trailing bit of the message as the start, the start state must be the same as the end state. A traceback path with a different starting state than the ending state will be ignored. The output of the traceback process contains one or more candidate coded characters, as well as updated quality metrics.

於此範例中,追溯處理找出起始狀態和結束狀態相同的可能路徑320。如圖三(A)下方所標示,上述順向處理及追溯處理在此統稱為:維特比順向處理及平行追溯程序900a。維特比順向處理及平行追溯程序900a的介紹會與圖三(B)、圖四、圖五、圖六、圖七(A)、圖七(B)、圖八相關,並且會在圖九(A)中被詳細說明。In this example, the traceback process finds a possible path 320 that is the same as the start state and the end state. As indicated below in Figure 3(A), the forward processing and the traceback processing are collectively referred to herein as Viterbi forward processing and parallel traceability procedure 900a. The introduction of Viterbi's forward processing and parallel tracing program 900a will be related to Figure 3 (B), Figure 4, Figure 5, Figure 6, Figure 7 (A), Figure 7 (B), Figure 8, and Figure 9 (A) is described in detail.

在步驟350中,選擇編碼字元程序開始,且被虛線框標示為編碼字元選擇程序900b。藉由執行平行追溯運算,可得到的候選編碼字元會比一般迴旋碼所產生的候選編碼字元多。候選編碼字元數量的上升會改善錯失偵測率(missed detection rate,簡稱為MDR),然而也會增加誤判率(false detection rate,簡稱為FDR),造成錯誤的解碼結果。In step 350, the selection of the code character program begins and is indicated by the dashed box as the code character selection program 900b. By performing a parallel traceback operation, the available candidate codewords will be more than the candidate codewords produced by the general cyclotron code. The increase in the number of candidate code characters will improve the missed detection rate (MDR), but it will also increase the false detection rate (FDR), resulting in erroneous decoding results.

為了緩和誤判率的增長,編碼字元選擇程序900b採用多種技術來減少候選編碼字元的數量。編碼字元選擇程序900b的介紹會與圖三(B)及圖八相關,並且會在圖九(B)中被詳細說明。To mitigate the increase in false positive rate, the code character selection procedure 900b employs a variety of techniques to reduce the number of candidate coded characters. The introduction of the code character selection program 900b will be related to FIG. 3(B) and FIG. 8, and will be described in detail in FIG. 9(B).

圖三(B)係用以呈現圖三(A)中之蝴蝶圖360的細節。蝴蝶圖360以標準的蝴蝶圖標示呈現分枝度量指標和路徑度量指標之選擇。將從一狀態轉換到另一狀態的或然率被量化表示,稱為度量指標。度量指標與相似度比例對數(log-likehood ratio,簡稱為LLR,於軟式決定中採用)可能成比例。度量指標愈高,發生的機率愈大。路徑度量指標(PM)代表符碼被傳送後通過一特定狀態之相對機率。分枝度量指標(BM)代表從一特定原始狀態轉換至一特定目標狀態的條件機率(假設原始狀態是正確的)。Figure 3 (B) is used to present the details of the butterfly chart 360 in Figure 3 (A). Butterfly Map 360 presents a selection of branch metrics and path metrics in a standard butterfly icon. The probability of transitioning from one state to another is quantized and referred to as a metric. Metrics and similarity logarithms (log-likehood ratios, referred to as LLRs, used in soft decisions) may be proportional. The higher the metric, the greater the chance of occurrence. The path metric (PM) represents the relative probability that a symbol is transmitted through a particular state. The branch metric (BM) represents the conditional probability of transitioning from a particular original state to a particular target state (assuming the original state is correct).

在任何時間k對任何狀態S而言,維特比演算法會計算兩個同樣導向狀態S之路徑度量指標PM,據此決定何者為存活路徑;在維特比順向處理及平行追溯程序900a中,存活路徑及其度量指標會被儲存。這種做法等同於為每個目標狀態儲存相對應之原始狀態。At any time k for any state S, the Viterbi algorithm calculates two path metrics PM of the same steering state S, thereby determining which is the survival path; in the Viterbi forward processing and parallel tracing procedure 900a, The survival path and its metrics are stored. This is equivalent to storing the corresponding original state for each target state.

在追溯處理期間,用來產生存活路徑所需要的資訊通常會被儲存在路徑歷史(path history,簡稱為PH)記憶體中,其中一個位元代表一種狀態,以指出兩個可能狀態中的哪一個被選擇。維特比順向處理及平行追溯程序900a可利用一相加-比較-選擇(add-compare-select,簡稱為ACS)單元來執行這些運算。該相加-比較-選擇單元負責計算該等狀態度量指標值,並藉由分枝度量指標找出目標狀態和原始狀態間的關係。During the traceback process, the information needed to generate the survival path is usually stored in the path history (PH) memory, where a bit represents a state to indicate which of the two possible states. One was chosen. The Viterbi forward processing and parallel trace program 900a can perform these operations using an add-compare-select (ACS) unit. The add-compare-select unit is responsible for calculating the values of the state metrics, and finding the relationship between the target state and the original state by using the branch metric.

除了分枝度量指標BM和路徑度量指標PM,蝴蝶圖還引用了兩個新的參數:最不可靠度量指標(least reliable metrics,簡稱為LRM)和最不可靠位置(least reliable position,簡稱為LRP)。類似於路徑度量指標,在每個發生狀態轉換的時刻k,這兩個參數都會被更新。In addition to the branch metric BM and the path metric PM, the butterfly diagram also references two new parameters: the least reliable metrics (LRM) and the least reliable position (LRP). ). Similar to the path metric, both parameters are updated at each time k at which the state transition occurs.

在順向處理期間,每次轉換時,每個路徑的最不可靠位置都會被更新而作為「最不可靠決定」的位置。最不可靠度量指標被當作是與最不可靠決定相關的可信度,並且會在順向處理期間被更新。與每個狀態有關的這組可信度首先被初始化為一個很大的值,此值被設定為大於對應於一單一合併狀態之路徑度量指標的最大差異D之絕對值(利用已知的、有關於迴旋碼的格式結構和輸入的相似度比例對數LLR值的最大振幅,此數值可預先被推導出來)。最不可靠決定位置值被設定為等於對應於維特比順向處理之起始的一個初始值。During forward processing, the least reliable location of each path is updated as the "most unreliable decision" position for each conversion. The least reliable metric is considered to be the credibility associated with the least reliable decision and will be updated during forward processing. The set of credibility associated with each state is first initialized to a large value that is set to be greater than the absolute value of the maximum difference D of the path metric corresponding to a single merge state (using known, Regarding the format structure of the convolutional code and the similarity of the input, the maximum amplitude of the logarithmic LLR value, which can be derived in advance). The least reliable decision position value is set equal to an initial value corresponding to the start of the Viterbi forward processing.

在第一次維特比順向處理轉換後,這組最不可靠決定位置和可信度以下列方式被更新。如圖三(B)所示,對每個狀態來說,兩個領先狀態所對應的候選路徑度量指標之間的差異絕對值可根據下列方式計算:After the first Viterbi forward processing conversion, this set of least reliable decisions on location and confidence was updated in the following manner. As shown in Figure 3 (B), for each state, the absolute value of the difference between the candidate path metrics corresponding to the two leading states can be calculated as follows:

D=|(BM0-BM1)+(PM(2s,k)-PM(2s+1,k))|。D=|(BM0-BM1)+(PM(2s,k)-PM(2s+1,k))|.

如果此差異絕對值D大於獲勝的領先狀態之最不可靠決定的可信度,此狀態之新的最不可靠決定資訊,將被設定為等於該獲勝領先狀態的最不可靠決定資訊。If the absolute value D of this difference is greater than the credibility of the least reliable decision of the winning lead state, the new least reliable decision information for this state will be set to the least reliable decision information equal to the winning lead state.

相對地,若此路徑度量指標差異絕對值D小於獲勝的領先狀態之可信度,新的最不可靠決定可信度會被設定為等於路徑度量指標差異絕對值D,且新的最不可靠決定位置被設定為等於正在處理中的轉換之位置所對應之一指標,如圖三(B)右上角的虛擬程式碼所示。這些處理階段會被持續重複,直到維特比順向處理程序結束。In contrast, if the absolute value D of the path metric difference is less than the credibility of the winning lead state, the new least reliable decision credibility will be set equal to the path metric difference absolute value D, and the new most unreliable The decision position is set to be equal to one of the indicators corresponding to the position of the transition being processed, as shown by the virtual code in the upper right corner of Figure 3 (B). These processing stages are repeated until the Viterbi forward processing program ends.

請參閱圖四,圖四係繪示根據本發明之一格式結構圖,用以說明順向及反向(追溯)程序。於此實施例中,同一個編碼區塊被重複順向解碼處理三次。每重複一次代表一疊代,在每一次的順向處理疊代(forward processing iteration)後,解碼器所收到的符碼和格式結構中對應於不同狀態的度量指標都會被更新。在所有順向處理疊代完成後,將執行單一平行追溯。單一平行追溯減少了實現的複雜度,也可以產生更多候選編碼字元而提升錯失偵測率的表現。平行追溯係繪示於圖五。Referring to FIG. 4, FIG. 4 is a block diagram showing a format of a forward and reverse (trace) procedure according to the present invention. In this embodiment, the same code block is repeatedly decoded in the forward direction three times. Each iteration represents a generation, and after each forward processing iteration, the metrics corresponding to the different states in the symbol and format structure received by the decoder are updated. A single parallel traceback will be performed after all forward processing iterations are completed. Single parallel tracing reduces the complexity of implementation and can also generate more candidate coded characters to improve the performance of missed detection rates. Parallel traceability is shown in Figure 5.

請參閱圖五,整個編碼區塊由右至左被施以單一平行追溯。在階段500,追溯開始於多個結束狀態。此追溯持續進行直至抵達一個或多個起始狀態。結束狀態510-540對應不同候選路徑以尋找可能的編碼字元。然而,其中只有結束狀態510和結束狀態530具有相符的起始狀態550、560(位於編碼區塊的開頭)。此時,編碼字元選擇程序900b必須從兩個候選編碼字元中選擇較正確的那一個。為達成此目標,編碼字元選擇程序900b可包含一次或多次循環冗餘檢查。循環冗餘檢查之執行可採用一個或多個循環冗餘檢查遮罩235。Referring to Figure 5, the entire coding block is subjected to a single parallel trace from right to left. At stage 500, the traceback begins with multiple end states. This traceback continues until one or more initial states are reached. End states 510-540 correspond to different candidate paths to find possible coded characters. However, only the end state 510 and the end state 530 have matching start states 550, 560 (located at the beginning of the coded block). At this time, the code character selection program 900b must select the more correct one of the two candidate code characters. To achieve this goal, the code character selection program 900b may include one or more cyclic redundancy checks. Execution of the cyclic redundancy check may employ one or more cyclic redundancy check masks 235.

針對不同的行動裝置、不同的行動裝置群組,或是特定的訊息類型,可使用不同的循環冗餘檢查遮罩。解碼器可針對收到的資訊位元執行一循環冗餘檢查,再對產生的循環冗餘檢查和收到的循環冗餘檢查執行互斥或(XOR)程序,藉此得到候選遮罩。根據候選遮罩與已知遮罩的比較,可以進一步決定目前受測的編碼字元是否正確。於另一範例中,解碼器係根據傳送來的資訊得知訊息類型,進而判斷循環冗餘檢查遮罩為何。Different cyclic redundancy check masks can be used for different mobile devices, different mobile device groups, or specific message types. The decoder may perform a cyclic redundancy check on the received information bits, and then perform a mutual exclusion or (XOR) procedure on the generated cyclic redundancy check and the received cyclic redundancy check, thereby obtaining a candidate mask. Based on the comparison of the candidate mask with the known mask, it can be further determined whether the currently tested code character is correct. In another example, the decoder knows the type of the message based on the transmitted information, and then determines why the cyclic redundancy check mask.

循環冗餘檢查的次數被限制為小於可能的去尾編碼字元之最大數量。接受循環冗餘檢查的N個去尾編碼字元被依序選擇,該次序只相關於對應每一個編碼字元的狀態之位置。藉由避免複雜的排序運算,這種做法降低了實現複雜度。為了隨機化被選擇的去尾編碼字元之狀態,可以使用隨著解碼型態變動的一組圖樣。接受循環冗餘檢查的去尾編碼字元之最大數量可被設計為與解碼型態相關,而能在誤判率和錯失偵測率之間取得平衡。The number of cyclic redundancy checks is limited to less than the maximum number of possible tail-out coded characters. The N de-tailed coded characters that accept the cyclic redundancy check are sequentially selected, and the order is only related to the position of the state corresponding to each of the coded characters. This approach reduces implementation complexity by avoiding complex sorting operations. To randomize the state of the selected truncated coded character, a set of patterns that vary with the decoding pattern can be used. The maximum number of truncated coded characters that accept cyclic redundancy checks can be designed to be associated with the decoded type, while balancing the false positive rate with the missed detection rate.

於另一範例中,針對每一個候選編碼字元,將計算得出一個品質度量指標QM,且品質度量指標QM將被用來選擇輸出的編碼字元。品質度量指標QM之計算依據可為不同狀態的最後路徑度量指標。舉例而言,可依下列方程式計算品質度量指標:In another example, for each candidate coded character, a quality metric QM will be calculated and the quality metric QM will be used to select the output coded character. The quality metric QM can be calculated based on the final path metrics for different states. For example, quality metrics can be calculated using the following equation:

QM=(PMSTATE -PMMIN )/(PMMAX -PMMIN )。QM=(PM STATE -PM MIN )/(PM MAX -PM MIN ).

其中PMSTATE 、PMMIN 、PMMAX 代表不同狀態下之路徑度量指標(path metrics)。候選編碼字元可能被要求具有符合或超過一預定門檻值的品質度量指標。或者,品質度量指標可被用以評量候選編碼字元並據此評等選擇一個或多個輸出編碼字元。Among them, PM STATE , PM MIN , and PM MAX represent path metrics in different states. Candidate coded characters may be required to have quality metrics that meet or exceed a predetermined threshold. Alternatively, quality metrics may be used to evaluate candidate coded characters and select one or more output coded characters based on the ratings.

圖六為說明在順向處理期間執行「位元強迫(bit forcing)」的範例。在階段600,編碼字元中的位元資訊為已知。舉例而言,3GPP LTE規格中定義的實體廣播頻道PBCH或實體下行控制頻道PDCCH頻道可使用解碼器已知的資料欄位。在順向處理期間,解碼器能強迫符合已知位元欄位的格式結構轉換。或者,根據已知位元欄位資訊所對應之狀態,程序900可在追溯期間濾除狀態不符合的候選編碼字元。Figure 6 is an illustration of an example of performing "bit forcing" during forward processing. At stage 600, the bit information in the encoded character is known. For example, the physical broadcast channel PBCH or the physical downlink control channel PDCCH channel defined in the 3GPP LTE specification may use a data field known by the decoder. During forward processing, the decoder can force a format structure conversion that conforms to a known bit field. Alternatively, based on the status of the known bit field information, the program 900 may filter out candidate coded characters that do not match the status during the traceback period.

須說明的是,與傳送資訊相關的已知資訊,也可以是與不正確序列相關的知識,而不一定會是傳送訊息中之某些位元須為特定數值的知識。舉例而言,若一訊息包含串接的多個欄位,欄位之正確值數量有可能低於能以位元欄位表示之序列數量(舉例而言,正確項目的數量低於2的次方,次方數為欄位中之位元數量)。在這種狀況下,可藉由排除未對應於任一個可能傳送序列的序列,來濾除不正確的候選編碼字元。It should be noted that the known information related to the transmission of information may also be knowledge related to the incorrect sequence, and it is not necessarily the knowledge that certain bits in the transmitted message must be specific values. For example, if a message contains multiple fields in series, the correct number of fields may be lower than the number of sequences that can be represented by the bit field (for example, the number of correct items is less than 2) Square, the number of powers is the number of bits in the field). In this case, incorrect candidate codewords can be filtered out by excluding sequences that do not correspond to any of the possible transmission sequences.

於又一實施例中,已知位元欄位資訊可被用以限制可能的起始狀態。舉例而言,如果已知位元的數量大於或等於編碼器之記憶體長度,已知位元欄位資訊所對應的位置之格式結構狀態將為接收器所知。因此,藉由自已知位元欄位的位置開始進行格式結構處理,可強迫起始狀態等於對應於此位元欄位的狀態或此位元欄位的一部分(若已知位元的數量大於編碼器記憶體),且追溯程序只需針對對應於此位元欄位的結束狀態進行即可。In yet another embodiment, the known bit field information can be used to limit the possible starting state. For example, if the number of known bits is greater than or equal to the memory length of the encoder, the format structure state of the location corresponding to the known bit field information will be known to the receiver. Therefore, by performing format structure processing from the position of the known bit field, the initial state can be forced to be equal to the state corresponding to the bit field or a part of the bit field (if the number of known bits is greater than Encoder memory), and the trace program only needs to be done for the end state corresponding to this bit field.

值得注意的是,由於去尾迴旋碼之格式結構是循環式的,格式結構處理可以從位元序列之任意位置開始。若已知位元的數量絕對小於編碼器記憶體,則起始/結束狀態非完全已知,不過,仍可以排除不符合已知位元欄位資訊狀態。It is worth noting that since the format structure of the deciphering code is cyclic, the format structure processing can start from any position of the bit sequence. If the number of known bits is absolutely smaller than the encoder memory, the start/end state is not completely known, however, it is still possible to exclude the state of the information that does not conform to the known bit field.

請參閱圖七(A)和圖七(B)所繪示之維特比順向處理及平行追溯程序900a的另一實施例,用以說明如何追溯最不可靠決定。最不可靠決定是指兩個路徑度量指標相當接近(亦即路徑度量指標差異很小)時的決定;因此,兩個狀態被選擇的機會相當,類似於丟銅板出現正面和反面的機率相當。當兩者或然率相近,一狀態決定就很可能是不正確的,也就是較不可靠。Please refer to another embodiment of the Viterbi forward processing and parallel traceability procedure 900a illustrated in Figures 7(A) and 7(B) to illustrate how to trace the least reliable decision. The least reliable decision is the decision when the two path metrics are fairly close (ie, the path metrics are very small); therefore, the chances of the two states being selected are comparable, similar to the chances of a positive and negative face loss. When the probability of the two is similar, a state decision is likely to be incorrect, that is, less reliable.

在階段700,順向處理開始。在階段710,一最不可靠決定被辨認且其位置被儲存(如上所述)。在執行多次維特比順向處理疊代的情況下,最不可靠決定資訊的產生可被限制在最後一次疊代。At stage 700, the forward processing begins. At stage 710, a least reliable decision is identified and its location is stored (as described above). In the case of performing multiple Viterbi forward processing iterations, the generation of the least reliable decision information can be limited to the last iteration.

透過追溯,對應於每一個狀態的最不可靠位置被用以產生替代的路徑。請參閱圖七(B),在階段720,利用追溯程序找出起始和結束狀態不相符的不正確路徑。最不可靠決定資訊於階段710被儲存,因此編碼字元選擇程序900b能推翻並反轉在順向處理期間做的決定。在階段730,該狀態分枝決定被反轉,其係基於儲存於路徑歷史的決定位元和如今已形成的起始和結束狀態相符之路徑,藉此提高找出正確編碼字元的機會。Through tracing, the least reliable location corresponding to each state is used to generate an alternate path. Referring to Figure 7(B), in stage 720, a trace program is used to find an incorrect path that does not match the start and end states. The least reliable decision information is stored in stage 710, so the code character selection program 900b can override and reverse the decision made during the forward processing. At stage 730, the state branch decision is reversed based on the path of the decision bit stored in the path history that coincides with the established start and end states, thereby increasing the chances of finding the correct coded character.

為了簡化圖面,圖七(B)只呈現一個決定反轉;應被理解的是,最不可靠決定的反轉可於多次平行追溯運算中的每一次都被執行,因此平行追溯的次數最多可達狀態數量的兩倍。In order to simplify the drawing, Figure 7(B) only presents a decision inversion; it should be understood that the inversion of the least reliable decision can be performed in each of the multiple parallel traceback operations, so the number of parallel traces Up to twice the number of states.

為了降低複雜度及/或誤判率,最不可靠決定反轉之執行可僅針對S個狀態中的特定幾個狀態。舉例而言,反轉之執行只針對最不可靠決定度量指標低於一特定門檻值的狀態。或者,最不可靠決定反轉也可僅針對度量指標最低的L個狀態進行(L小於S)。In order to reduce the complexity and/or false positive rate, the most unreliable decision to perform the inversion may be for only a few of the S states. For example, the execution of the inversion is only for the state that the least reliable decision metric is below a certain threshold. Alternatively, the least reliable decision to reverse can also be performed only for the L states with the lowest metric (L is less than S).

當採用品質度量指標選擇輸出編碼字元,可針對利用最不可靠決定反轉產生之候選輸出編碼字元產生品質度量指標。如果以QM=(PMSTATE -PMMIN )/(PMMAX -PMMIN )代表對應於一特定狀態的品質度量指標,可根據下列方程式計算利用最不可靠決定反轉產生的候選輸出編碼字元之品質度量指標值:When the quality metric is used to select the output coded character, a quality metric can be generated for the candidate output coded character that is generated using the least reliable decision inversion. If QM=(PM STATE -PM MIN )/(PM MAX -PM MIN ) represents a quality metric corresponding to a particular state, the candidate output coded characters generated by the least reliable decision inversion may be calculated according to the following equation: Quality metric value:

QM=(PMSTATE -PMMIN -LRMSTATE )/(PMMAX -PMMIN )。QM = (PM STATE - PM MIN - LRM STATE ) / (PM MAX - PM MIN ).

或者,可根據下列方程式決定此度量指標:Alternatively, this metric can be determined according to the following equation:

max{(PMSTATE -PMMIN -LRMSTATE )/(PMMAX -PMMIN ),0}。Max{(PM STATE -PM MIN -LRM STATE )/(PM MAX -PM MIN ), 0}.

如上所述,這些度量指標可被用來選擇輸出編碼字元。或者,也可為兩個根據同一狀態產生的候選編碼字元採用相同的品質度量指標,並且在選擇編碼字元時,不使用最不可靠決定反轉。As mentioned above, these metrics can be used to select output coded characters. Alternatively, the same quality metric may be used for two candidate codewords generated according to the same state, and the least reliable decision inversion is not used when selecting the coded character.

須說明的是,最不可靠決定反轉的做法,可進一步被延伸為:令候選編碼字元之產生,不僅只根據對應於一特定結束狀態之最不可靠決定,而是根據對應於此狀態的M個最不可靠決定。It should be noted that the least reliable decision to reverse can be further extended to: the generation of candidate codewords, not only based on the least reliable decision corresponding to a particular end state, but according to the corresponding state The M most unreliable decisions.

在追溯期間,藉由為每個結束狀態反轉多個不可靠決定所候選編碼字元數量之增加會提升錯失偵測率表現。這種做法會提高誤判率,但此缺點可藉由本發明提出的幾個方案來消除,亦即針對候選編碼字元執行進一步的檢查。During the traceback period, the increase in the number of candidate coded characters by inverting multiple unreliable decisions for each end state increases the miss detection rate performance. This approach increases the false positive rate, but this disadvantage can be eliminated by several solutions proposed by the present invention, that is, performing further checks on candidate coded characters.

以下將以M=2的情況說明「最不可靠決定反轉」的延伸做法。根據這個範例,本發明所屬技術領域中具有通常知識者即可了解M>2的其他情況。The following is an extension of the "most unreliable decision reversal" with the case of M=2. According to this example, those of ordinary skill in the art to which the present invention pertains can understand other cases of M>2.

假設針對每個狀態產生三個候選編碼字元:對應於最可能路徑之一編碼字元,及兩個對應於最不可靠決定反轉的編碼字元。對每一個狀態Ss 、每一個轉換k,以下四個度量指標被計算:It is assumed that three candidate coded characters are generated for each state: one of the most likely paths to the coded character, and two of the coded characters that correspond to the most unreliable decision. For each state S s , each conversion k, the following four metrics are calculated:

●LRM0(Ss ,k):與最不可靠決定相關的度量指標● LRM0 (S s , k): metrics related to the least reliable decision

●LRM1(Ss ,k):與第二最不可靠決定相關的度量指標● LRM1 (S s , k): metrics related to the second least reliable decision

●LRP0(Ss ,k):最不可靠決定的位置,對應於指出在格式結構中最不可靠決定之轉換指標的一個數值• LRP0(S s , k): the most unreliable decision position, corresponding to a value indicating the most unreliable conversion indicator in the format structure

●LRP1(Ss ,k):第二最不可靠決定的位置。在某些情況下,第二最不可靠決定可能是對應於最可能路徑的一個分歧;度量指標LRP1(Ss ,k)可根據單一轉換指標產生。或者,第二最不可靠決定可根據兩個對應於最可能路徑的決定之反轉產生。在這些情況下,度量指標LRP1(Ss ,k)之產生依據是為了產生第三最可能路徑所產生的兩個決定反轉之轉換指標。● LRP1 (S s , k): The second most unreliable location. In some cases, the second least reliable decision may be a divergence corresponding to the most probable path; the metric LRP1(S s , k) may be generated from a single conversion indicator. Alternatively, the second least reliable decision may result from the inversion of two decisions corresponding to the most probable path. In these cases, the metric LRP1(S s , k) is generated based on the two conversion inversions generated by the third most probable path.

後面將說明如何為狀態Ss 產生度量指標LRM0(Ss ,k+1)、LRM1(Ss ,k+1)、LRP0(Ss ,k+1)及LRP1(Ss ,k+1)。兩個被合併為狀態Ss 的狀態被標示為Sl0 和Sl1 。在不喪失通則性的狀況下,假設在用以計算PM(Ss ,n+1)的路徑度量指標比較過程中,狀態Sl0 被選為領先狀態。在單次反轉情況中,如圖三(B)所繪示,最不可靠決定度量指標LRM0(Ss ,k+1)及相對應的位置LRP0(Ss ,k+1)被計算。首先,一度量指標D被計算得出,藉以量化最新路徑度量指標之選擇中所做的決定之可靠度:How to generate metrics LRM0(S s ,k+1), LRM1(S s ,k+1), LRP0(S s ,k+1) and LRP1(S s ,k+1) for state S s will be described later. . The two states that are merged into state S s are labeled as S l0 and S l1 . General without loss of condition, the path is assumed to calculate PM (S s, n + 1 ) metrics of the comparison process, is selected as the state with the state of S l0. In the single inversion case, as shown in FIG. 3(B), the least reliable determination metric LRM0(S s , k+1) and the corresponding position LRP0(S s , k+1) are calculated. First, a metric D is calculated to quantify the reliability of the decisions made in the selection of the latest path metrics:

D=|(BM0-BM1)+(PM(Sl0 ,k)-PM(Sl1 ,k))|。D=|(BM0-BM1)+(PM(S l0 ,k)-PM(S l1 ,k))|.

此度量指標D被拿來和LRM0(Sl0 ,k)比較。可根據下列方程式計算LRM0(Ss ,k+1)及LRP0(Ss ,k+1):This metric D is compared to LRM0 (S l0 , k). LRM0(S s ,k+1) and LRP0(S s ,k+1) can be calculated according to the following equation:

If(D<LRM0(Sl0 ,k)){ If (D <LRM0 (S l0 , k)) {

LRM0(Ss ,k+1)=DLRM0(S s ,k+1)=D

LRP0(Ss ,k+1)=k+1}LRP0(S s ,k+1)=k+1}

Else{Else{

LRM0(Ss ,k+1)=LRM0(Sl0 ,k)LRM0(S s ,k+1)=LRM0(S l0 ,k)

LRP0(Ss ,k+1)=LRP0(Ss ,k)}LRP0(S s ,k+1)=LRP0(S s ,k)}

LRM1(Ss ,k+1)及LRP1(Ss ,k+1)之計算隨後係相關於上述兩個測試何者勝出。The calculation of LRM1(S s , k+1) and LRP1(S s , k+1) is then related to which of the above two tests wins.

首先描述在第一種狀況D<LRM0(Sl0 ,k+1)下的計算。第二最不可靠決定之度量指標可被計算如下:First, the calculation in the first condition D < LRM0 (S l0 , k+1) will be described. The second most unreliable metric can be calculated as follows:

If(LRM0(Sl0 ,k)<f(D,LRM0(Sl1 ,k))){If(LRM0(S l0 ,k)<f(D,LRM0(S l1 ,k))){

LRM1(Ss ,k+1)=LRM0(Sl0 ,k)LRM1(S s ,k+1)=LRM0(S l0 ,k)

LRP1(Ss ,k+1)=LRP0(Sl1 ,k)}LRP1(S s ,k+1)=LRP0(S l1 ,k)}

Else{Else{

LRM1(Ss ,k+1)=f(D,LRM0(Sl1 ,k))LRM1(S s ,k+1)=f(D,LRM0(S l1 ,k))

LRP1(Ss ,k+1)={k+1,LRP0(Sl1 ,k)}LRP1(S s ,k+1)={k+1, LRP0(S l1 ,k)}

函式f(x,y)係以兩個可靠度度量指標x、y的結合來產生一個可靠度度量指標。本發明所屬技術領域中具有通常知識者可瞭解,函式f(x,y)的可能性有很多種。舉例而言,函式f(x,y)可為f(x,y)=x+y或者是f(x,y)=log(exp(x)+exp(y))。The function f(x, y) is a combination of two reliability metrics x, y to produce a reliability metric. Those of ordinary skill in the art to which the present invention pertains will appreciate that there are many possibilities for the function f(x, y). For example, the function f(x, y) can be f(x, y) = x + y or f(x, y) = log(exp(x) + exp(y)).

以下將說明針對第二種狀況(產生最不可靠決定度量指標),度量指標LRM1(Ss ,k+1)及LRP1(Ss ,k+1)之計算。度量指標LRM1(Ss ,k+1)和LRP1(Ss ,k+1)被計算如下:The calculation of the metrics LRM1(S s , k+1) and LRP1(S s , k+1) for the second case (generating the least reliable decision metric) will be explained below. The metrics LRM1(S s ,k+1) and LRP1(S s ,k+1) are calculated as follows:

If(D<LRM1(Sl0 ,k)){If(D<LRM1(S l0 ,k)){

LRM1(Ss ,k+1)=DLRM1(S s ,k+1)=D

LRP1(Ss ,k+1)=k+1}LRP1(S s ,k+1)=k+1}

Else{Else{

LRM1(Ss ,k+1)=LRM1(Sl0 ,k)LRM1(S s ,k+1)=LRM1(S l0 ,k)

LRP1(Ss ,k+1)=LRP1(Sl0 ,k)}LRP1(S s ,k+1)=LRP1(S l0 ,k)}

請參閱圖八,其係說明維特比及編碼字元選擇方法的一個無線通訊裝置(例如基地台110或行動裝置120)之方塊圖。圖八係以行動裝置120(1)為範例來實現維特比及循環冗餘檢查解碼方案;須說明的是,基地台110亦可實行此方案。Please refer to FIG. 8, which is a block diagram illustrating a wireless communication device (eg, base station 110 or mobile device 120) for Viterbi and code character selection methods. FIG. 8 illustrates the Viterbi and cyclic redundancy check decoding scheme by taking the mobile device 120(1) as an example; it should be noted that the base station 110 can also implement this scheme.

行動裝置120(1)包含傳送器820、接收器830與控制器840。控制器840係用以將欲發送的資料提供至傳送器820,並處理接收器830收到的信號。Mobile device 120(1) includes a transmitter 820, a receiver 830, and a controller 840. Controller 840 is operative to provide the data to be transmitted to transmitter 820 and to process the signals received by receiver 830.

此外,控制器840亦負責其他傳送和接收的控制功能。傳送器820和接收器830的部份功能可利用一數據機來實現;傳送器820和接收器830的其他功能可用射頻傳送器和射頻收發電路實現。須說明的是,在各信號路徑中,設有用以轉換類比信號和數位信號的類比至數位轉換器,以及數位至類比轉換器。In addition, controller 840 is also responsible for other control functions for transmission and reception. Some of the functions of transmitter 820 and receiver 830 can be implemented using a data machine; other functions of transmitter 820 and receiver 830 can be implemented with radio frequency transmitters and radio frequency transceiver circuits. It should be noted that in each signal path, an analog to digital converter for converting an analog signal and a digital signal, and a digital to analog converter are provided.

傳送器820可包含多個傳送電路,各自將升頻後信號提供至多個天線130(1)-130(N)中的一個天線發送。接收器830包含一偵測器860,用以偵測天線130(1)-130(N)收到的信號,並將偵測結果(例如相似度比例對數資料)提供至控制器840。Transmitter 820 can include a plurality of transmit circuits, each providing an up-converted signal to one of a plurality of antennas 130(1)-130(N) for transmission. The receiver 830 includes a detector 860 for detecting signals received by the antennas 130(1)-130(N) and providing detection results (such as similarity proportional logarithmic data) to the controller 840.

須說明的是,接收器830可包含多個接收電路,每一個各自對應多個天線130(1)-130(N)中之一天線。這些個別的接收電路並未繪示。控制器840包含一記憶體850或其他資料儲存區塊,用來儲存本技術方案所需要之資料。記憶體850可獨立於控制器840之外,也可以被包含於控制器840內。用以執行維特比順向處理及平行追溯程序900a及編碼字元選擇程序900b的指令,可被儲存於記憶體850,供控制器840執行。It should be noted that the receiver 830 may include a plurality of receiving circuits, each corresponding to one of the plurality of antennas 130(1)-130(N). These individual receiving circuits are not shown. The controller 840 includes a memory 850 or other data storage block for storing the data required by the technical solution. The memory 850 can be external to the controller 840 or can be included in the controller 840. The instructions for executing the Viterbi forward processing and parallel trace program 900a and the encoded character selection program 900b may be stored in the memory 850 for execution by the controller 840.

控制器840的功能可利用一個或多個有形而非暫態媒體(例如特定應用積體電路等嵌入式邏輯、數位信號處理器指令、能由處理器執行之軟體)中的編碼後邏輯來實現。記憶體850中儲存有前述各種運算所需之資料(及/或儲存實現上述運算之軟體或處理器指令)。維特比順向處理及平行追溯程序900a及編碼字元選擇程序900b可利用固定式邏輯電路或可程式化邏輯電路來實現(例如由處理器執行的軟體/電腦指令)。The functionality of controller 840 can be implemented using one or more tangible, rather than transient, media (eg, embedded logic for a particular application integrated circuit, digital signal processor instructions, software that can be executed by the processor). . The memory 850 stores data required for the various operations described above (and/or stores software or processor instructions that implement the above operations). The Viterbi forward processing and parallel trace program 900a and the code character selection program 900b can be implemented using fixed logic or programmable logic circuitry (eg, software/computer instructions executed by the processor).

請參閱圖九(A),以下將說明維特比順向處理及平行追溯程序900a。步驟910為接收包含以去尾迴旋碼編碼之訊息的資料。此訊息可經過循環冗餘檢查編碼;此循環冗餘檢查編碼可使用複數個已知循環冗餘檢查遮罩中之一遮罩。步驟920為偵測該資料,以找出具有一特定資料長度之一編碼區塊。在步驟930中,編碼區塊被施以一次或多次順向處理疊代,以產生代表一狀態圖之資訊,並辨認該狀態圖中由多個結束狀態到多個起始狀態的路徑。該狀態圖對應於一編碼器產生該訊息時可能產生之複數個狀態轉換。Referring to Figure 9(A), the Viterbi forward processing and parallel traceability procedure 900a will be described below. Step 910 is to receive data containing a message encoded with a deciphering convolutional code. This message can be encoded by a cyclic redundancy check; this cyclic redundancy check code can use one of a plurality of known cyclic redundancy check masks. Step 920 is to detect the data to find a coded block having a specific data length. In step 930, the coded block is subjected to one or more forward processing iterations to generate information representative of a state diagram and to identify paths from the plurality of end states to the plurality of start states in the state diagram. The state diagram corresponds to a plurality of state transitions that may be generated when an encoder generates the message.

步驟940為自複數個結束狀態沿著相對應之路徑,針對該狀態圖執行一單一平行追溯運算,以決定該狀態圖之一特定路徑中何時至少一結束狀態與一起始狀態相符。步驟950為於當該單一平行追溯運算找出一起始狀態與相對應之一結束狀態相符時,產生一個或多個第一候選編碼字元。Step 940 is to perform a single parallel traceback operation on the state diagram from the plurality of end states along the corresponding path to determine when at least one of the end states in the particular path of the state diagram matches an initial state. Step 950 is to generate one or more first candidate coded characters when the single parallel traceback operation finds that an initial state matches a corresponding one of the end states.

請參閱圖九(B),以下將說明編碼字元選擇程序900b。步驟960為自該一個或多個第一候選編碼字元中辨認一個或多個正確編碼字元。在步驟970中,當一第一候選編碼字元通過一循環冗餘檢查條件或是符合品質度量指標標準,一個或多個正確編碼字元可進一步自該一個或多個第一候選編碼字元中被選取。Referring to FIG. 9(B), the code character selection program 900b will be described below. Step 960 is to identify one or more correctly encoded characters from the one or more first candidate coded characters. In step 970, when a first candidate coded character passes a cyclic redundancy check condition or conforms to a quality metric criterion, one or more correct coded characters may be further derived from the one or more first candidate coded characters. Was selected.

如上所述,該循環冗餘檢查條件可利用多個已知循環冗餘檢查遮罩中的一個。編碼字元選擇程序900b亦可利用品質度量指標和位元強迫技術來減少候選編碼字元。步驟980為根據一個或多個正確編碼字元產生該訊息。As described above, the cyclic redundancy check condition can utilize one of a plurality of known cyclic redundancy check masks. The coded character selection program 900b may also utilize quality metrics and bit force techniques to reduce candidate coded characters. Step 980 is to generate the message based on one or more correctly encoded characters.

為了平衡錯失偵測率/誤判率表現,本發明所揭露的各種技術方案可被結合。前述某些方案,例如自多個結束狀態開始平行追溯、強迫位元符合已知位元以符合順向處理決定,以及根據最不可靠決定產生候選編碼字元,係以誤判率之上升為代價來改善錯失偵測率表現。In order to balance the miss detection rate/false positive rate performance, various technical solutions disclosed by the present invention can be combined. Some of the foregoing schemes, such as parallel traceability from multiple end states, forcing a bit to conform to a known bit to conform to a forward processing decision, and generating a candidate coded character based on the least reliable decision, at the expense of a false positive rate To improve the performance of missed detection rates.

此外,使用品質度量指標或不正確欄位值來排除候選編碼字元則是以較差的錯失偵測率表現為代價來降低誤判率。因此,接收器可根據期望的誤判率/錯失偵測率和傳輸狀況來決定採行哪些程序。舉例而言,當接收器使用多種循環冗餘檢查遮罩來執行循環冗餘檢查時,誤判率會隨著受測資料中之遮罩數量的增加而上升。In addition, the use of quality metrics or incorrect field values to exclude candidate coded characters reduces the false positive rate at the expense of poor miss detection rate performance. Therefore, the receiver can decide which programs to adopt based on the expected false positive rate/missing detection rate and transmission status. For example, when the receiver uses multiple cyclic redundancy check masks to perform cyclic redundancy checks, the false positive rate increases as the number of masks in the measured data increases.

因此,當循環冗餘檢查遮罩的數量較大,接收程序可被設計為採行可降低誤判率的程序。或者,對某些頻道來說,錯過一正確接收的代價可能高於解碼產生一正確訊息的代價。在這樣的情況中,可選擇能降低錯失偵測率的程序,即使將導致誤判率上升。Therefore, when the number of cyclic redundancy check masks is large, the receiving program can be designed to adopt a program that reduces the false positive rate. Or, for some channels, the cost of missing a correct reception may be higher than the cost of decoding to produce a correct message. In such a case, a program that can reduce the miss detection rate can be selected, even if the false positive rate is increased.

以上較佳具體實施例之詳述,係希望能清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。The above description of the preferred embodiments is intended to be illustrative of the nature and spirit of the invention and is not intended to limit the scope of the invention. On the contrary, the intention is to cover various modifications and equivalents within the scope of the invention as claimed.

100...無線通訊系統100. . . Wireless communication system

110...基地台110. . . Base station

120(1)-120(Z)...行動裝置120(1)-120(Z). . . Mobile device

130(1)-130(N)...天線130(1)-130(N). . . antenna

140(1)-140(M)...天線140(1)-140(M). . . antenna

210...訊息210. . . message

220...訊息產生器220. . . Message generator

230...循環冗餘檢查編碼器230. . . Cyclic redundancy check encoder

235...循環冗餘檢查遮罩235. . . Cyclic redundancy check mask

240...迴旋編碼器240. . . Cyclotron encoder

250...傳送器250. . . Transmitter

260(1)-260(6)...位元延遲器260(1)-260(6). . . Bit delay

270(1)-270(3)...時間點270(1)-270(3). . . Time point

280(1)-280(3)...編碼路徑280(1)-280(3). . . Encoding path

310(1)-310(32)、360...蝴蝶圖310(1)-310(32), 360. . . Butterfly illustration

320‧‧‧可能路徑320‧‧‧ possible path

330‧‧‧順向處理330‧‧‧ Forward processing

340‧‧‧追溯處理340‧‧‧Retrospective processing

350、900b‧‧‧編碼字元選擇程序350, 900b‧‧‧ Code character selection procedure

900a‧‧‧維特比順向處理及平行追溯程序900a‧‧‧ Viterbi forward processing and parallel traceability procedures

500、700、710、720、730‧‧‧追溯處理階段500, 700, 710, 720, 730 ‧ ‧ trace processing stage

510-540‧‧‧結束狀態510-540‧‧‧End status

550、560‧‧‧起始狀態550, 560‧‧‧ starting status

600‧‧‧順向處理階段600‧‧‧ Forward processing stage

820‧‧‧傳送器820‧‧‧transmitter

830‧‧‧接收器830‧‧‧ Receiver

840‧‧‧控制器840‧‧‧ Controller

850‧‧‧記憶體850‧‧‧ memory

910-980‧‧‧流程步驟910-980‧‧‧ Process steps

圖一係繪示包含有基地台及行動裝置之一無線通訊系統方塊圖範例。FIG. 1 is a block diagram showing an example of a wireless communication system including a base station and a mobile device.

圖二係繪示根據本發明之一維特比及循環冗餘檢查編碼程序方塊圖範例。FIG. 2 is a block diagram showing an example of a Viterbi and cyclic redundancy check coding procedure according to the present invention.

圖三(A)係繪示包含路徑和分枝度量指標之一格式結構圖範例。Figure 3 (A) shows an example of a format structure diagram containing path and branch metrics.

圖三(B)係用以呈現圖三(A)之格式結構圖的一部分之放大圖。Figure 3 (B) is an enlarged view of a portion of the format structure diagram of Figure 3 (A).

圖四為一格式結構圖範例,用以說明根據本發明之順向及追溯程序。Figure 4 is an example of a block diagram showing the direction and traceability procedure in accordance with the present invention.

圖五為一格式結構圖範例,用以說明根據本發明之追溯程序。Figure 5 is an example of a format chart illustrating the traceability procedure in accordance with the present invention.

圖六為一格式結構圖範例,用以說明根據本發明之位元強迫技術。Figure 6 is an example of a format structure diagram illustrating the bit forced technique in accordance with the present invention.

圖七(A)係繪示根據本發明之一格式結構圖範例,用以說明如何在順向處理期間追溯最不可靠決定。Figure 7(A) is a diagram showing an example of a format structure diagram in accordance with the present invention to illustrate how to trace the least reliable decision during forward processing.

圖七(B)係繪示根據本發明之一格式結構圖範例,用以說明如何在一最不可靠決定節點轉換格式結構狀態。Figure 7(B) is a diagram showing an example of a format structure diagram in accordance with the present invention for explaining how to convert a format structure state at a least reliable decision node.

圖八係說明維特比及編碼字元選擇方法的一個無線通訊裝置之方塊圖。Figure 8 is a block diagram showing a wireless communication device for Viterbi and code character selection methods.

圖九(A)和圖九(B)係繪示根據本發明之維特比及循環冗餘檢查解碼程序的流程圖範例。9(A) and 9(B) are diagrams showing an example of a flow chart of a Viterbi and cyclic redundancy check decoding program according to the present invention.

310(1)-310(32)、360...蝴蝶圖310(1)-310(32), 360. . . Butterfly illustration

320...可能路徑320. . . Possible path

330...順向處理330. . . Forward processing

340...追溯處理340. . . Retrospective processing

350、900b...選擇編碼字元程序350, 900b. . . Select code character program

900a...維特比順向處理及平行追溯程序900a. . . Viterbi forward processing and parallel traceability procedures

Claims (17)

一種解碼方法,用於將一通訊裝置所接收之一資料解碼,該資料包含以去尾迴旋碼(tail-biting convolutional code)編碼之一訊息,該解碼方法包含以下步驟:偵測該資料,以找出具有一特定資料長度之一編碼區塊;針對該編碼區塊執行一次或多次順向處理疊代,以產生代表一狀態圖之資訊以及辨認該狀態圖中由多個結束狀態到多個起始狀態的複數個路徑,並追蹤該狀態圖中對應於一個或多個最不可靠狀態轉換決定之一個或多的位置,其中代表該狀態圖之資訊係對應於一編碼器編碼該訊息時可能產生之複數個狀態轉換;針對該狀態圖,自複數個結束狀態沿著被辨認出之該複數個路徑,執行一單一平行追溯運算,以決定該狀態圖之一特定路徑中何時至少一結束狀態與一起始狀態相符;當該單一平行追溯運算找出一起始狀態與相對應之一結束狀態相符,產生一個或多個第一候選編碼字元;在該單一平行追溯運算的期間,藉由反轉該狀態圖中一個或多個之該一個或多個最不可靠狀態轉換決定,產生一個或多個第二候選編碼字元;自該一個或多個第一候選編碼字元中辨認出一個或多個正確編碼字元;以及根據該一個或多個正確編碼字元產生該訊息。 A decoding method for decoding a data received by a communication device, the data comprising a message encoded by a tail-biting convolutional code, the decoding method comprising the steps of: detecting the data to Finding a coded block having a specific data length; performing one or more forward processing iterations on the coded block to generate information representing a state diagram and identifying the plurality of end states in the state map to at most a plurality of paths in the initial state, and tracking one or more locations in the state map corresponding to one or more least reliable state transition decisions, wherein the information representing the state map corresponds to an encoder encoding the message a plurality of state transitions that may be generated; for the state diagram, a single parallel traceback operation is performed from the plurality of end states along the identified plurality of paths to determine when at least one of the particular paths of the state map The end state corresponds to a start state; when the single parallel traceback operation finds that an initial state coincides with a corresponding one end state, a Or a plurality of first candidate coded characters; generating one or more of the one or more least reliable state transition decisions by inverting one or more of the one or more of the state diagrams during the single parallel traceback operation Two candidate coded characters; identifying one or more correctly encoded characters from the one or more first candidate coded characters; and generating the message based on the one or more correctly encoded characters. 如申請專利範圍第1項所述之解碼方法,其中該訊息係進一步被施以一循環冗餘檢查編碼,而辨認出正確編碼字元之步驟包含:當一第一候選編碼字元通過一循環冗餘檢查條件 時,辨認一或多個正確編碼字元。 The decoding method of claim 1, wherein the message is further subjected to a cyclic redundancy check code, and the step of identifying the correct code character comprises: when a first candidate code character passes through a loop Redundancy check condition Identify one or more correct coded characters. 如申請專利範圍第2項所述之解碼方法,其中辨認出正確編碼字元之步驟包含:當一第一候選編碼字元通過該循環冗餘檢查條件,辨認出一個或多個正確編碼字元,其中該循環冗餘檢查編碼使用複數個已知循環冗餘檢查遮罩中之一。 The decoding method of claim 2, wherein the step of recognizing the correct coded character comprises: identifying a one or more correct coded characters when the first candidate coded character passes the cyclic redundancy check condition , wherein the cyclic redundancy check code uses one of a plurality of known cyclic redundancy check masks. 如申請專利範圍第1項所述之解碼方法,進一步包含以下步驟:為該一個或多個第一候選編碼字元中的每一個第一候選編碼字元,計算一品質度量指標(quality metrics,簡稱為QM);其中辨認出正確編碼字元之步驟包含:根據該一個或多個品質度量指標,選擇該一個或多個正確編碼字元。 The decoding method of claim 1, further comprising the step of: calculating a quality metric for each of the first candidate coded characters of the one or more first candidate coded characters. Referred to as QM); wherein the step of identifying the correct coded character comprises: selecting the one or more correct coded characters based on the one or more quality metrics. 如申請專利範圍第4項所述之解碼方法,其中為每一個第一候選編碼字元計算該品質度量指標之步驟係包含進行下列計算:QM=(PMSTATE -PMMIN )/(PMMAX -PMMIN ),其中PMSTATE 、PMMIN 、PMMAX 代表不同狀態下之路徑度量指標(path metrics)。The decoding method of claim 4, wherein the step of calculating the quality metric for each of the first candidate coded characters comprises performing the following calculation: QM = (PM STATE - PM MIN ) / (PM MAX - PM MIN ), where PM STATE , PM MIN , and PM MAX represent path metrics in different states. 如申請專利範圍第1項所述之解碼方法,進一步包含:為該一個或多個第二候選編碼字元中的每一個第二候選編碼字元計算一品質度量指標;其中辨認出正確編碼字元之步驟包含:根據該一個或多個品質度量指標自該一個或多個第二候選編碼字元中選擇該一個或多個正確編碼字元。 The decoding method of claim 1, further comprising: calculating a quality metric for each of the one or more second candidate coded characters; wherein the correct coded word is recognized The step of encoding includes selecting the one or more correct encoding characters from the one or more second candidate encoding characters based on the one or more quality metrics. 如申請專利範圍第1項所述之解碼方法,其中該資料包含一已知位元資訊,且該順向處理疊代進一步包含:強迫該狀態圖中之狀態轉換符合該已知位元資訊。 The decoding method of claim 1, wherein the data includes a known bit information, and the forward processing iteration further comprises: forcing a state transition in the state diagram to conform to the known bit information. 如申請專利範圍第1項所述之解碼方法,其中該資料包含一已知位元資訊,且該解碼方法進一步包含以下步驟:於該單一平行追溯運算的期間,排除個別狀態不符合對應於該已知位元資訊之一或多個狀態之一個或多個第一候選編碼字元。 The decoding method of claim 1, wherein the data includes a known bit information, and the decoding method further comprises the step of: during the single parallel traceback operation, excluding individual states that do not conform to the corresponding One or more first candidate coded characters of one or more states of the bit information are known. 一種通訊裝置,包含:一接收器,用以接收一資料,該資料包含以去尾迴旋碼編碼之一訊息;以及一控制器,耦接至該接收器並係用以:偵測該資料,以找出具有一特定資料長度之一編碼區塊;針對該編碼區塊執行一次或多次順向處理疊代,以產生代表一狀態圖之資訊以及辨認該狀態圖中由多個結束狀態到多個起始狀態的複數個路徑,並追蹤該狀態圖中對應於一個或多個最不可靠狀態轉換決定之一個或多的位置,其中代表該狀態圖之該資訊對應於一編碼器編碼該訊息時可能產生之複數個狀態轉換;針對該狀態圖,自複數個結束狀態沿著被辨認出之該複數個路徑,執行一單一平行追溯運算,以決定該狀態圖之一特定路徑中何時至少一結束狀態與一起始狀態相符; 當該單一平行追溯運算找出一起始狀態與相對應之一結束狀態相符時,產生一個或多個第一候選編碼字元;在該單一平行追溯運算的期間,藉由反轉該狀態圖中之一或更多之該一個或多個最不可靠狀態轉換決定,產生一個或多個第二候選編碼字元;自該一個或多個第一候選編碼字元中,辨認出一個或多個正確編碼字元;以及根據該一個或多個正確編碼字元產生該訊息。 A communication device comprising: a receiver for receiving a data, the data comprising a message encoded by a tail-to-tail code; and a controller coupled to the receiver for detecting the data, Finding a coded block having a specific data length; performing one or more forward processing iterations on the coded block to generate information representing a state diagram and identifying the end state from the plurality of end states to a plurality of paths of a plurality of initial states, and tracking one or more locations of the state map corresponding to one or more least reliable state transition decisions, wherein the information representative of the state map corresponds to an encoder encoding a plurality of state transitions that may be generated by the message; for the state diagram, a single parallel traceback operation is performed from the plurality of end states along the identified plurality of paths to determine when at least one of the particular paths in the state map is An end state coincides with an initial state; Generating one or more first candidate coded characters when the single parallel traceback operation finds that an initial state coincides with a corresponding one of the end states; during the single parallel traceback operation, by inverting the state diagram One or more of the one or more least reliable state transition decisions, generating one or more second candidate coded characters; identifying one or more from the one or more first candidate coded characters Correctly encoding the character; and generating the message based on the one or more correctly encoded characters. 如申請專利範圍第9項所述之通訊裝置,其中該訊息進一步被施以一循環冗餘檢查編碼,而該控制器係於一第一候選編碼字元通過一循環冗餘檢查條件時,辨認該一個或多個正確編碼字元。 The communication device of claim 9, wherein the message is further subjected to a cyclic redundancy check code, and the controller recognizes when a first candidate code character passes a cyclic redundancy check condition. The one or more correctly encoded characters. 如申請專利範圍第9項所述之通訊裝置,其中該控制器進一步被用以:為該一個或多個第一候選編碼字元中的每一個第一候選編碼字元計算一品質度量指標;以及根據該一個或多個品質度量指標選擇該一個或多個正確編碼字元。 The communication device of claim 9, wherein the controller is further configured to: calculate a quality metric for each of the one or more first candidate coded characters; And selecting the one or more correct encoding characters based on the one or more quality metrics. 如申請專利範圍第11項所述之通訊裝置,其中該控制器利用下列方程式為一個第一候選編碼字元計算該品質度量指標:QM=(PMSTATE -PMMIN )/(PMMAX -PMMIN ),其中PMSTATE 、PMMIN 、PMMAX 代表不同狀態下之路徑度量指標(path metrics)。The communication device of claim 11, wherein the controller calculates the quality metric for a first candidate code character using the following equation: QM = (PM STATE - PM MIN ) / (PM MAX - PM MIN ), where PM STATE , PM MIN , and PM MAX represent path metrics in different states. 如申請專利範圍第9項所述之通訊裝置,其中該 控制器進一步被用以:為該一個或多個第二候選編碼字元中的每一個第二候選編碼字元,計算一品質度量指標;以及根據該一個或多個品質度量指標,自該一個或多個第二候選編碼字元中,選擇該一個或多個正確編碼字元。 The communication device of claim 9, wherein the communication device The controller is further configured to: calculate a quality metric for each of the one or more second candidate coded characters; and derive the quality metric from the one or more quality metrics The one or more correctly encoded characters are selected from the plurality of second candidate coded characters. 如申請專利範圍第9項所述之通訊裝置,其中該資料包含一已知位元資訊,且該控制器被進一步用以強迫該狀態表中之狀態轉換符合該已知位元資訊。 The communication device of claim 9, wherein the data includes a known bit information, and the controller is further configured to force the state transition in the state table to conform to the known bit information. 如申請專利範圍第9項所述之通訊裝置,其中該資料包含一已知位元資訊,且該控制器被進一步用以於該單一平行追溯運算的期間,排除個別狀態不符合對應於該已知位元資訊之一或多個狀態之一個或多個第一候選編碼字元。 The communication device of claim 9, wherein the data includes a known bit information, and the controller is further used for the single parallel traceback operation, excluding individual states that do not conform to the corresponding One or more first candidate coded characters of one or more states of the bit information. 一種處理器可讀取儲存媒體,其中所儲存之指令被一處理器執行時,會令該處理器:接收一資料,該資料包含以去尾迴旋碼編碼之一訊息;偵測該資料,以找出具有一特定資料長度之一編碼區塊;針對該編碼區塊執行一次或多次順向處理疊代,以產生代表一狀態圖之資訊以及辨認該狀態圖中由多個結束狀態到多個起始狀態的複數個路徑,並追蹤該狀態圖中對應於一個或多個最不可靠狀態轉換決定之一個或多的位置,其中代表該狀態圖之該資訊係對應於一編碼器編碼該訊息時,可能產生之複數個狀態轉換; 針對該狀態圖,自複數個結束狀態沿著被辨認出之該複數個路徑,執行一單一平行追溯運算,以決定該狀態圖之一特定路徑中何時至少一結束狀態與一起始狀態相符;當該單一平行追溯運算找出一起始狀態與相對應之一結束狀態相符,產生一個或多個第一候選編碼字元;在該單一平行追溯運算的期間,藉由反轉該狀態圖中一或更多之該一個或多個最不可靠狀態轉換決定,產生一個或多個第二候選編碼字元;自該一個或多個第一候選編碼字元中辨認出一個或多個正確編碼字元;以及根據該一個或多個正確編碼字元產生該訊息。 A processor readable storage medium, wherein when the stored instructions are executed by a processor, the processor is configured to: receive a data, the data includes a message encoded by a tail-to-tail code; and detect the data to Finding a coded block having a specific data length; performing one or more forward processing iterations on the coded block to generate information representing a state diagram and identifying the plurality of end states in the state map to at most a plurality of paths of the initial state, and tracking one or more locations of the state map corresponding to one or more least reliable state transition decisions, wherein the information representative of the state map corresponds to an encoder encoding a plurality of state transitions that may occur during a message; For the state diagram, a single parallel traceback operation is performed from the plurality of end states along the identified plurality of paths to determine when at least one of the end states of the state map corresponds to a start state; The single parallel traceback operation finds that an initial state coincides with a corresponding one of the end states, and generates one or more first candidate coded characters; during the single parallel traceback operation, by inverting one of the state diagrams And the one or more least reliable state transition decisions, generating one or more second candidate coded characters; identifying one or more correct coded characters from the one or more first candidate coded characters And generating the message based on the one or more correctly encoded characters. 如申請專利範圍第16項所述之處理器可讀取儲存媒體,其中該訊息被施以一循環冗餘檢查編碼,用以令該處理器辨認正確編碼字元之複數指令包含一指令,用以令該處理器於一第一候選編碼字元通過一循環冗餘檢查條件時,辨認出該一個或多個正確編碼字元。The processor of claim 16, wherein the processor is readable by a storage medium, wherein the message is subjected to a cyclic redundancy check code, and the plurality of instructions for the processor to recognize the correct coded character include an instruction. The one or more correct coded characters are identified when the processor passes a cyclic redundancy check condition on a first candidate coded character.
TW101103607A 2011-11-16 2012-02-03 Tail-biting convolutional decoder and decoding method TWI491178B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP11018931 2011-11-16

Publications (2)

Publication Number Publication Date
TW201322647A TW201322647A (en) 2013-06-01
TWI491178B true TWI491178B (en) 2015-07-01

Family

ID=49032557

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101103607A TWI491178B (en) 2011-11-16 2012-02-03 Tail-biting convolutional decoder and decoding method

Country Status (1)

Country Link
TW (1) TWI491178B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019223B2 (en) * 2015-09-03 2018-07-10 Shure Acquisition Holdings, Inc. Soft decision audio decoding system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1928094A1 (en) * 2006-11-30 2008-06-04 Broadcom Corporation Method and system for UMTS HSDPA shared control channel processing
US20090041166A1 (en) * 2007-08-09 2009-02-12 Mbit Wireless, Inc. Method and apparatus to improve information decoding when its characteristics are known a priori
EP2362549A2 (en) * 2010-02-26 2011-08-31 Research In Motion Limited Low-latency viterbi survivor memory architecture and method using register exchange, trace-back, and trace-forward

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1928094A1 (en) * 2006-11-30 2008-06-04 Broadcom Corporation Method and system for UMTS HSDPA shared control channel processing
US20090041166A1 (en) * 2007-08-09 2009-02-12 Mbit Wireless, Inc. Method and apparatus to improve information decoding when its characteristics are known a priori
EP2362549A2 (en) * 2010-02-26 2011-08-31 Research In Motion Limited Low-latency viterbi survivor memory architecture and method using register exchange, trace-back, and trace-forward

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R.Y. Shao, Shu Lin, Marc P.C. Fossorier, "Two decoding algorithms for tailbiting codes", IEEE Transactions on Communication, Vol. 51, No.10, October 2003. *

Also Published As

Publication number Publication date
TW201322647A (en) 2013-06-01

Similar Documents

Publication Publication Date Title
CN103117753B (en) Decoder and the coding/decoding method of convolution code truncate
JP5296796B2 (en) Complexity reduced decoding algorithm for tail-biting convolutional codes
CN107911195B (en) CVA-based tail-biting convolutional code channel decoding method
JP4806673B2 (en) Decoding device and decoding method
CN107645297B (en) Method, computing device and mobile device for controlling decoding process
CN101425869B (en) Decoding method and apparatus
CN114430279B (en) List Viterbi decoding method, device, decoder and storage medium
US8843811B2 (en) Apparatus and method for decoding in communication system
JP2005294898A (en) Viterbi decoding method, decoding apparatus, mobile station radio apparatus, base station radio apparatus, and mobile communication system
CN104796160B (en) Interpretation method and device
CN110324111B (en) Decoding method and device
TWI491178B (en) Tail-biting convolutional decoder and decoding method
JP5169771B2 (en) Decoder and decoding method
CN102142848B (en) Decoding method and decoder of tail-biting convolutional code
CN102832954A (en) Turbo code iterative decoding stopping method based on soft information average minimum value
Abubeker et al. Maximum likelihood DE coding of convolutional codes using viterbi algorithm with improved error correction capability
JP4758765B2 (en) Transport format detection apparatus and transport format detection method
CN114499548B (en) A decoding method, device and storage medium
Kim et al. A new list decoding algorithm for short-length TBCCs with CRC
JPWO1995001008A1 (en) Error detection method, device and identification method
JP2008118327A (en) Viterbi decoding method
Zhu et al. An improved decoding of tail-biting convolutional codes for LTE systems
KR102338852B1 (en) Apparatus and method for decoding a signal in wireless communication system
CN110460339B (en) Method and device for detecting convolutional code decoding, storage medium and electronic equipment
Chen et al. FPGA implementation of trellis coded modulation decode on SDR communication system

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees