Title of Invention  "A SOFT DECISION SYNDROMEBASED DECODER AND A METHOD FOR DECODING A DEMODULATED RECEIVED SIGNAL 

Abstract  A softdecision decoder (170) computes a maximum likelihood estimated transmitted code from a demodulated received signal with less complexity compared to a conventional Viterbi softdecision decoder. A symbolbysymbol harddecision detector (210) determines a harddecision vector from a demodulated received signal vector. A syndrome calculator (220) multiplies the harddecision vector by a scalar parity check matrix to calculate a syndrome vector. A syndrome modifier (230) examines the syndrome vector for predetermined syndrome patterns corresponding to isolated errors in the harddecision vector. Syndrome patterns are removed from the syndrome vector to create a modified syndrome vector, and the corresponding error in the harddecision vector is recorded in an estimated error vector. A syndromebased decoder (250) uses the modified syndrome vector to create a simplified error trellis to produce a remaining error vector. Subtracting the estimated error vector and the remaining error vector from the harddecision vector creates a maximum likelihood estimated transmitted code vector. 
Full Text  The present invention relates to a softdecision decoder and a method for decoding a demodulated received signal. CROSS REFERENCE TO RELATED APPLICATIONS This application is related to U.S. patent application serial no. 08/858,280 (attorney docket CE01423R) by inventors Reuven Meidan and Meir Ariel. The related application is filed on even date herewith, is assigned to the assignee of the present application, and is hereby incorporated herein in its entirety by this reference thereto. FIELD OF THE INVENTION This invention relates generally to communication systems, and more particularly to a reducedcomplexity softdecision decoder for use in a receiver of a convolutional code communication system. BACKGROUND OF THE INVENTION Convolutional codes are often used in digital communication systems' to protect transmitted information from error. At the transmitter, an outgoing code vector may be described using a'trellis diagram whose complexity is determined by the constraint length of the encoder. Although computational complexity increases with increasing constraint length, the robustness of the coding also increases with constraint length. At the receiver, a practical softdecision decoder, such as a Viterbi decoder, uses a trellis structure to perform an optimum search for the maximum likelihood transmitted code vector. The Viterbi algorithm, however, is computationally complex, and its complexity increases exponentially with increasing constraint length. This essentially means that a Viterbi decoder requires a significant amount of current and a tremendous millions of instructions per second (MIPS) capability for processing convolutional codes with large constraint lengths. Vocoders for various communications systems, such as Direct Sequence Code Division Multiple Access (DSCDMA) standard IS95 and Global System for Mobile Communications (GSM), have such large constraint lengths. For example, the GSM halfrate constraint length K=7 and the IS95 constraint length K =9. Another disadvantage of Viterbi decoders is that a fixed number of computations must be performed for each code vector, irrespective of the actual number of errors that occurred during transmission errors or no errors at all using the same number of computations as a received signal having many errors. There is a need for soft decision decoder that has a reduced current and MIPS processing requirement for convolution codes with large constraint lengths and communication channels with low error rates. The present invention relates to a softdecision decoder for decoding a demodulated received signal comprising: a symbol by symbol for creating a harddecision vector from a demodulated received signal vector; a syndrome calculator, coupled to the hard decision detector, for computing a syndrome vector from a parity check matrix and the harddecision vector; and a syndrome modifier, coupled to the syndrome calculator, for locating and removing a syndrome pattern from the syndrome vector to create a modified syndrome vector; the syndrome modifier for computing an estimated error vector based on a harddecision vector error pattern associated with the syndrome pattern. The invention also relates to a method for softdecision syndromebased decoding a demodulated received signal said method comprising the steps of: hard decision detecting a demodulated received signal vector to produce a harddecision vector; Multiplying the harddecision vector by a parity check matrix to calculate a syndrome vector; and verifying if the syndrome vector is a zero vector. if the syndrome vector is not a zero vector, locating and removing a syndrome pattern from the syndrome vector to create a modified syndrome vector and an estimated error vector and calculating an estimated transmitted code vector from the harddecision vector. BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS FIG. 1 shows a block diagram of a communication system with a receiver having a softdecision decoder act ording to a preferred embodiment. FIG. 2 shows a block diagram of the softdecision decoder shown in FIG. 1 according to a preferred embodiment. FIG.3 shows a flow chart of the operation of the syndrome modifier shown in fig.2 according to the preferred embodiment. FIG.4 shows a chart of the computational complexity of the softdecision decoder shown in Figure 2 as a percent of the complexity of a conventional Viterbi decoder. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT A softdecision decoder uses a syndrome vector to detect the existence of transmission errors in a convolutional coding communication system. Let r denote a demodulated received signal vector. Then vector r is a vector of real numbers of dimension N. Let v denote the vector obtained by the symbolbysymbol detection of demodulated received signal vector r. If the valid harddecision symbols are binary, then v is a vector of dimension N having element values of either 0 or 1. Let us denote v = c + e. where c is the transmitted code vector. Then e is the transmission error vector. For the convolutional code C there exists a scalar parity check matrix H with M columns and N rows having binary symbols of 0 and 1 as components. The parity check condition that satisfies the transmitted code vector c is expressed by the relationship Hc' = 0, where superscript t denotes vector transposition. In other words, if c is a code vector belonging to convolutional code C (i.e., c is a transmitted code vector and c E C), then Hc' = 0, where H is a matrix having M rows and N columns, c is a row vector of length N, and superscript t denotes vector transposition. A syndrome vector s is a binary vector of dimension M defined as s = Hv*. Because v = c + e, s = H(c+e)', and because He' = 0, then s = He1. When a syndrome vector s = 0, transmission error vector e = 0, and no softdecision maximum likelihood decoding is required. In other words, the symbolbysymbol detected vector v is the maximum likelihood softdecision decoded transmitted code vector c, and softdecision decoding of the received signal vector r is unnecessary. Because zero transmission error is unlikely, the syndrome vector s is usually not equal to 0. A softdecision decoder for convolutional codes computes the maximum likelihood estimated transmitted code vector c, by first computing the maximum likelihood transmission error vector e. The softdecision decoder includes a symbolbysymbol detector, a syndrome calculator, a syndrome modifier, and a syndromebased decoder. A symbolbysymbol detector is a harddecision detector that determines, symbolbysymbol, a harddecision vector v from a demodulated received signal vector r. Harddecision vector v is multiplied by scalar parity check matrix H to create a syndrome vector s. A memory stores syndrome patterns associated with likely transmission error patterns. For example, let ep denote a likely transmission error pattern in the harddecision vector v, such as a singlebit transmission error or a doublebit transmission error. Due to the structure of scalar parity check matrices, there is a limited number of syndrome patterns that correspond to singlesymbol harddecision vector errors. Let sp = Hep', then sp is a complete syndrome vector of length M. Let syndrome pattern p be a segment of sP starting from the first nonzero element in sP and ending with the last nonzero element of s . To ensure optimal decoding, the syndrome pattern can be bracketed by zero bits on both sides. Reducing the number of zeros bracketing the syndrome pattern increases the speed of computation, but may result in a less optimal solution. The syndrome modifier compares the syndrome vector s computed by the syndrome calculator to known syndrome patterns p caused by isolated harddecision vector errors. If a known syndrome pattern is detected, the syndrome modifier updates an estimated error vector e and creates a simplified syndrome vector by subtracting the syndrome pattern from the syndrome vector. The modified syndrome vector is simplified in the sense that it contains more zeros than the original syndrome vector. If the modified syndrome vector is equal to all zeros, the decoding is complete and the estimated error pattern e is subtracted from vector v to form a maximum likelihood softdecision decoded code vector ç. If the modified syndrome vector is not allzero, the syndrome modification process described above is repeated and a new syndrome pattern is fetched from memory and compared with the modified syndrome vector. This process is repeated until all syndrome patterns in memory have been compared to the syndrome vector or until an allzero modified syndrome vector is reached. Estimated error vector e can be used to compute the maximum likelihood transmitted code vector ç;ç = v  ê, where v is the vector output of the symbolbysymbol detector and e is the maximum likelihood transmission error vector. If modified syndrome vector s' = H(v  ë)' = 0, then ê = ç. If modified syndrome vector s' = H(v  ë)t # 0, then maximum likelihood transmission error vector ê = ë + e', where e' is a nonzero remaining error vector that needs to be identified via a search through a simplified error trellis. In this case, the syndromebased decoder takes the modified syndrome vector s' from the syndrome modifier and uses it to make a simplified error trellis for determining remaining error vector e'. The output of the simplified error trellis e' plus the estimated error vector e equals the maximum likelihood transmission error vector e. Once the maximum likelihood transmission error vector e is identified, the maximum likelihood transmitted code vector ç = v  ê. This approach of simplifying a syndrome vector and using it to compute the maximum likelihood transmission error vector e results in reduced processing requirements compared to a Viterbi decoder. FIG. 1 shows a block diagram of a communication system 100 with a receiver 130 having a softdecision decoder 170 according to a preferred embodiment. Receiver 130 is shown as part of a cellular radiotelephone subscriber unit 101, however, the receiver may alternately be part of a facsimile machine, modulatordemodulator (MODEM), twoway radio, or other communication device that receives convolutionally encoded signals. In the subscriber unit 101, a microphone 105 picks up audio signals which are then modulated by a transmitter 110 and broadcast by an antenna 120 through a duplexer 125. The antenna 120 also receives radio frequency (RF) signals from a complementary transmitter in a transceiver 199 such as a cellular base station. An RF front end 140 steps down the received RF signal to an analog baseband signal. An analogtodigital (A/D) converter 146 converts the analog baseband signal to a digital signal. Digital demodulator 150 processes the digital signal to produce a demodulated received signal vector r. The demodulated received signal vector r is connected to a softdecision decoder 170. At the output of the softdecision decoder 170, a digitaltoanalog (D/A) converter 180 converts the maximum likelihood softdecision decoded signal to the analog domain, and an audio amplifier 185 uses operational amplifiers to increase the gain of the recovered signal for reproduction through audio speaker 190. FIG. 2 shows a block diagram of the softdecision decoder 170 shown in FIG. 1 according to the preferred embodiment. A demodulated received signal vector r enters the symbolbysymbol detector 210 which produces a harddecision vector v. The symbolbysymbol detector merely examines the incoming signal and converts it to the closest valid (e.g., binary) symbol without regard for the value of the surrounding symbols. The output harddecision vector v of a symbolbysymbol detector 210 is not necessarily a valid code vector. A syndrome calculator 220 multiplies the harddecision vector v by scalar parity check matrix H to produce a syndrome vector s. In the situation where syndrome vector s = 0, then harddecision vector v is the maximum likelihood estimated transmitted code vector ç, and it is guaranteed that harddecision vector v would be identical to the output of a softdecision decoder such as a Viterbi decoder. If syndrome vector s # 0, the syndrome modifier 230 performs a search through the computed syndrome vector to detect predetermined syndrome patterns p stored in syndrome pattern memory 240, which correspond to specific error patterns ep, such as singleerror syndrome patterns or doubleerror syndrome patterns, in the received harddecision vector v. If a syndrome pattern p is discovered in the syndrome vector, syndrome modifier 230 simplifies the syndrome vector by subtracting the syndrome pattern p and records the found error pattern ep in an estimated error vector e according to the search results. The modified syndrome vector s' is simplified in the sense that it has more zeros than the original syndrome vector s. If s' = 0, then the maximum likelihood transmission error vector ê= ë, and the maximum likelihood estimated transmitted code vector ç = v  ê If modified syndrome vector s' = H(v  ë) # 0 after subtracting a found syndrome pattern p, the syndrome modifier 230 continues to search for syndrome patterns until all of the syndrome patterns in the syndrome pattern memory 240 have been compared with the modified syndrome sector s' or until the modified syndrome vector s' = 0. If, after all of the syndrome patterns in the syndrome pattern memory 240 have been compared to the modified syndrome pattern s', modified syndrome vector s' = H(v  ë) still is not equal to allzeros, then the modified syndrome vector s' is sent to a syndromebased decoder 250 for use in constructing a simplified error trellis which is then used to compute remaining error vector e' based on softdecision principles. Maximum likelihood transmission error vector ê = ë + e'. Once the maximum likelihood error vector e is computed, maximum likelihood estimated transmitted code vector ç = v  ê. The search for the maximum likelihood transmission error vector e that produces the syndrome vector s can be described by a search through an error trellis diagram for the path with the minimum accumulated weight. Meir Ariel & Jakov Snyders, "Soft Syndrome Decoding of Binary Convolutional Codes," 43 IEEE Transactions on Communications 288297 (1995) provide an indepth discussion and detailed examples on how to construct and decode an error trellis. An error trellis that describes the same coset of the convolutional code to which the symbolbysymbol vector v belongs is used to search for the remaining error vector e'. The shape of the error trellis depends only on the value of the computed syndrome vector, and a modified syndrome vector produces a simplified error trellis. An accelerated search through a simplified error trellis is possible due to its irregular structure. Under low biterror rate conditions, the error trellis can be substantially simplified without affecting the optimality of the decoding procedure. In other words, the syndrome modifier 230 simplifies the syndrome vector to promote long strings of zeros, which allows the construction and processing of an error trellis by the syndromebased decoder 250 to be more efficient. FIG. 3 shows a flow chart of the operation of the syndrome modifier 230 and syndromebased decoder 250 shown in FIG. 2 according to the preferred embodiment. The syndrome modifier 230 simplifies the syndrome vector to promote the presence of long strings of successive zero bits. At the start step 301, the estimated transmission error vector e is reset to zero. In step 305, the syndrome vector s is obtained from syndrome calculator 220 (shown in FIG. 2). If the syndrome vector equals zero, as determined by step 310, then maximum likelihood transmission error vector ê = ë = 0 as shown in step 312 and the harddecision vector v is the maximum likelihood estimated transmitted code vector ç as shown in step 315. Once the maximum likelihood estimated transmitted code vector ç is determined, the process ends in step 330. This case, however, is unlikely to occur in practical systems at the first stage of the procedure. If syndrome vector s # 0, the syndrome modifier 230 searches through the syndrome vector for known syndrome patterns p. This search is performed in several iterations, if necessary. Observe that a syndrome vector is a linear combination of the columns of a scalar parity check matrix H and, in the binary case, merely a sum of columns of matrix H. A single error in a harddecision vector v produces a syndrome vector that equals the corresponding column of the scalar parity check matrix H. On the other hand, if multiple harddecision vector errors are clustered, then their corresponding singleerror syndrome patterns will overlap to generate a composite syndrome pattern that can no longer be easily identified. Due to the structure of scalar parity check matrices, there is a limited number of syndrome patterns that correspond to singlesymbol harddecision vector errors. For instance, the scalar parity check matrix of a rate half binary convolutional code contains only two types of syndrome patterns that correspond to singlesymbol harddecision vector errors. In other words, all the columns of this type of scalar parity check matrix are shifted versions of the first two columns. For punctured convolutional codes, the number of different syndrome patterns that correspond to singlesymbol harddecision vector errors is greater than for nonpunctured codes, but still it is usually small enough to enable a relatively simple implementation of a syndrome modifier. Step 340 loads a syndrome pattern p having a bits and its corresponding harddecision vector error pattern ep from a predetermined list in syndrome pattern memory 240 (shown in FIG. 2). Step 350 searches for syndrome pattern p in a portion of the syndrome vector. If syndrome pattern p is identified in a portion of the syndrome vector, step 353 keeps a record of the location of the corresponding isolated harddecision vector error by adding error pattern ep to estimated error vector ë, subtracts the syndrome pattern p from the syndrome vector, and moves the syndrome pattern to the right a bits, which is the length of the syndrome pattern p. If the syndrome pattern p does not match the portion of the syndrome vector, step 355 shifts the syndrome pattern one bit to the right. After a shift step 353, 355, step 360 checks to see if the shifts have exceeded the length M of the syndrome vector. As long as the shifts have not exceeded length M, the syndrome pattern p is compared to succeeding portions of the syndrome vector. When the syndrome pattern p has been compared to each portion of the entire syndrome vector, the syndrome modifier returns to step 310 until either the modified syndrome vector equals zero, or all of the known syndrome patterns in the syndrome vector have been removed. If, at the end of the iterative search as determined by steps 310, 320, modified syndrome vector s' # 0, then syndromebased decoder 250 uses the modified syndrome vector s' to construct an error trellis for computing the remaining error vector e' in step 325. The maximum likelihood transmission error ê = ë + e'. Syndromebased decoder performs step 315 and computes the maximum likelihood estimated transmitted code vector ç by subtracting maximum likelihood transmission error vector ê from harddecision vector v, and end step 330 occurs. The modified syndrome vector s' is more suitable for the construction of an efficient error trellis than the original syndrome vector s. In other words, due to the removal of known syndrome patterns, the pattern of the remaining nonzero syndrome vector bits would correspond to clustered errors in the harddecision vector v. In the desired circumstance, however, the search and elimination of known syndrome patterns will result in an allzero modified syndrome vector at step 310, and construction of an error trellis in step 325 would be unnecessary. If, at any time, the modified syndrome vector s' equals zero as determined by step 310, the maximum likelihood transmission error vector e is equal to the estimated error vector e as shown in step 312. In step 315, syndromebased decoder 250 computes the maximum likelihood estimated transmitted code vector ç by subtracting maximum likelihood transmission error vector e from harddecision vector v, and end step 330 occurs. Generally, removing a syndrome pattern p from the original syndrome vector s results in suboptimum decoding. Nevertheless, the loss in terms of the decoder's performance, in comparison with the optimal case, is controllable and can be reduced to nothing. The biterror rate (BER) performance of the syndrome modifier depends on α, the bit length of syndrome pattern p. Increasing a by adding zero bits to the original syndrome pattern p increases the distance (in bits) between the harddecision vector error pattern ep under consideration and its potential neighboring harddecision vector errors. Consequently, the probability that the identified syndrome pattern p was indeed produced by harddecision vector error pattern ep increases with increasing a. Taking α to correspond to several times the constraint length of the code, but less than the length M of the syndrome vector, is usually sufficient to ensure no actual loss in coding gain, i.e., the BER performance is identical to that of an optimum Viterbi decoder. FIG. 4 shows a chart of the computational complexity of the softdecision decoder shown in FIG. 2 as a proportion of the complexity of a conventional Viterbi decoder. The vertical axis 410 shows the proportion of the softdecision decoder complexity with respect to a conventional Viterbi decoder. The horizontal axis 420 shows the noise figure. The measure of complexity is the number of real additions and comparisons required for the decoding. Here, the bit length a of the syndrome pattern p was chosen to be sixteen, i.e., harddecision symbol errors whose distance from neighboring errors was at least thirtytwo bits were found and eliminated. This bit length a was sufficient to ensure that the BER performance was identical to that of the Viterbi decoder, but with a substantially reduced computational complexity. With a shortened bit length a less that sixteen, the BER performance may be less than optimal, however the computational complexity would be still further reduced. Under moderate BER conditions, the syndrome modifier 230 (shown in FIG. 2) significantly reduces the computational complexity and current drain of the syndromebased decoding procedure without loss of optimality. As an example, for a GSM halfrate vocoder on a Motorola ONYX digital signal processor, the syndrome modifier and syndromebased decoder reduce the machine cycles by 92% compared to conventional Viterbi decoding when the BER of the received signal is 1% as shown by point 455, and the syndrome modifier and the syndromebased decoder reduce the machine cycles by 97% compared to Viterbi decoding when the BER of the received signal is 0.1% as shown by point 475. In summary, a syndrome modifier in conjunction with a syndromebased decoder eliminates or simplifies the construction of an error trellis and reduces the computational complexity of syndromebased decoding of a demodulated received signal vector. In low transmission error situations, the syndrome modifier and syndromebased decoder has a much reduced computational complexity compared to a Viterbi decoder. While specific components and functions of the softdecision syndromebased decoder for convolutional codes are described above, fewer or additional functions could be employed by one skilled in the art within the true spirit and scope of the present invention. The invention should be limited only by the appended claims. We claim: WE CLAIM: 1. A softdecision syndromebased decoder for decoding a demodulated received signal comprising: a harddecision detector (210) for creating a harddecision vector from a demodulated received signal vector; a syndrome calculator (220), coupled to the hard decision detector, for computing a syndrome vector from a parity check matrix and the harddecision vector; and a syndrome modifier (230), coupled to the syndrome calculator, for locating and removing a syndrome pattern from the syndrome vector to create a modified syndrome vector; the syndrome modifier for computing an estimated error vector based on a harddecision vector error pattern associated with the syndrome pattern. 2. A softdecision syndromebased decoder as claimed in claim 1 comprising: a syndrome pattern memory (240), coupled to the syndrome modifier, for storing the syndrome pattern. 3. A softdecision syndromebased decoder as claimed in claim 2 wherein the syndrome pattern memory also stores the harddecision vector error pattern, associated with the syndrome pattern, used for computing an estimated error vector. 4. A softdecision syndromebased decoder as claimed in claim 1 comprising: a syndromebased decoder (250), coupled to the syndrome modifier, for computing a remaining error vector using the modified syndrome vector. 5. A softdecision syndromebased decoder as claimed in claim 4 wherein the syndromebased decoder subtracts the estimated error vector and the remaining error vector from the harddecision vector to produce an estimated transmitted code vector. 6. A method for softdecision syndromebased decoding a demodulated received signal using the decoder as claimed in claim 1 said method comprising the steps of: hard decision detecting a demodulated received signal vector to produce a harddecision vector; multiplying the harddecision vector by a parity check matrix to calculate a syndrome vector; and verifying if the syndrome vector is a zero vector. if the syndrome vector is not a zero vector, locating and removing a syndrome pattern from the syndrome vector to create a modified syndrome vector and an estimated error vector and calculating an estimated transmitted code vector from the harddecision vector. 7. A method for softdecision syndromebased decoding a demodulated received signal according to claim 6 further comprising the steps of: computing a remaining error vector from the modifier syndrome vector; and calculating an estimated transmitted code vector from the harddecision vector, the estimated error vector, and the remaining error vector. 8. A softdecision syndromebased decoder for decoding a demodulated received signal substantially as hereinbefore described with reference to the accompanying drawings. 9. A method for softdecision syndromebased decoding a demodulated received signal substantially as herein before described with reference to the accompanying drawings. 

1356DEL1998Assignment(26122011).pdf
1356del1998complete specification (granted).pdf
1356DEL1998CorrespondenceOthers(26122011).pdf
1356del1998correspondenceothers.pdf
1356del1998correspondencepo.pdf
1356del1998description (complete).pdf
1356DEL1998Form16(26122011).pdf
1356DEL1998GPA(26122011).pdf
1356del1998petition138.pdf
Patent Number  199601  

Indian Patent Application Number  1356/DEL/1998  
PG Journal Number  38/2008  
Publication Date  19Sep2008  
Grant Date  12Sep2007  
Date of Filing  21May1998  
Name of Patentee  MOTOROLA INC.,  
Applicant Address  1303 EAST ALGONQUIN ROAD, SCHAUMBURG, ILLINOIS 60196, UNITED STATES OF AMERICA,  
Inventors:


PCT International Classification Number  G01R 31/28  
PCT International Application Number  N/A  
PCT International Filing date  
PCT Conventions:
