Abstract:
A method for BTFD decoding of signals having at least a message block of k-bit from a length candidate set S={s 1 , s 2 , . . . s i }, wherein the k message bits are encoded by a CRC encoder and processed by an (n, l, m) convolutional encoder to generate encoded data that includes decoding a received frame to form a decoded sequence that includes an s i -bit message and an error correcting code, calculating a δ(s i ) value, comparing δ(s i ) with a threshold value, repeating the decoding and calculating steps if δ(s i ) is greater than the threshold, and updating the threshold to be δ(s i ) if δ(s i ) is less than or equal to the threshold.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The present invention generally relates to data transmission technology for communication systems. More particular, the present invention relates to a system and a method for blind transport format detection with cyclic redundancy check.  
         [0002]     Digital communication utilizes various data transmission methods that convert information such as voice signal into bits of digital message, and transmit the bits of information after conversion. It is common in many communication systems that the length of transmitted message blocks is not fixed, but varies from time to time. Therefore, additional information regarding the length of a transmitted message is required for the receiver so to de-block the message. However, in certain specific applications, the data rate is prohibitively low such that the transmission of additional length information becomes an inefficient burden to the overall system. An example is the AMR 12.2 kbps mode of UMTS WCDMA, in which the transmission overhead for message length may be at a maximum of 3 kbps, which is only about 25% of the 12.2 kbps data rate. Alternatively, some error correcting codes transmitted in accompanying the message bits can be employed to convey the length information. In WCDMA, cyclic redundancy check (CRC) bits affixed to the message bits have been widely applied to detect the length information of a corresponding message block. This is known as Blind Transport Format Detection (BTFD).  
         [0003]      FIG. 1  is a block diagram of a conventional communication system using BTFD. Referring to  FIG. 1 , a message block of k-bit is provided, wherein the message length k is chosen from a length candidate set S={s 1 , s 2 , . . . s i } with a finite set size, wherein i is an integer. The message bits are first CRC-encoded by an l-bit CRC encoder  100  and thereafter processed by an (n, l, m) convolutional encoder  102  to generate encoded data. It is noted that additional m zeros are padded after CRC-encoded message block to terminate the trellis of convolutional codes. An example of a trellis diagram of a convolutional code is illustrated in  FIG. 2 .  
         [0004]     The encoded data are modulated by a modulator  104  to form a modulated frame to be transmitted through a noisy channel  106 . A receiver  108  receives the modulated frame, together with noise, through the noise channel  106 . As shown in  FIG. 1 , the receiver  108  includes a demodulator  110  to demodulate the received frame and generate a corresponding demodulated frame. The receiver  108  further includes a convolutional decoder  112  and a CRC decoder  114  so that the demodulated frame can be decoded and the unknown message length k can be determined accordingly.  
         [0005]     Generally, a message length {circumflex over (k)} is accepted as a legitimate candidate only when the all-zero state on the decoding trellis of the convolutional code gives the smallest path metric among all nodes at the same trellis time index ({circumflex over (k)}+l+m), and meanwhile, the validity test of the CRC bits is performed and verified.  FIG. 2  illustrates an example of a trellis diagram of a convolutional code, wherein the size of length set is 6 and the message length is k=s 4 .  
         [0006]     The candidate message length set S={s 1 , s 2 , . . . } is known to the receiver  108  Referring to  FIG. 2 , if the true message length k equals s i , it is most likely that the correct trellis path of the Viterbi decoder ends at the zero state at trellis time index (s i +l+m). On the other hand, at the incorrect trellis path (s j +l+m) with s j ≠s i , the path metric value at the zero state is smaller than the maximum path metric that belongs to the correct trellis path. After the correct trellis time index (s i +l+m), the input to the Viterbi decoder is purely noise and, therefore, the path metric values become random variables. The variables may be defined as follows:  
                 δ   ⁡     (     s   k     )       =       -   10     ⁢           ⁢     log   ⁡     (           λ   0     ⁡     (     s   k     )       -       λ   min     ⁡     (     s   k     )               λ   max     ⁡     (     s   k     )       -       λ   min     ⁡     (     s   k     )           )           ,           (   1   )             
 
         [0007]     where λ 0 (s k ), λ max (s k ) and λ min (s k ) are respectively zero-state, maximum, minimum path-metric values among all survivors at the targeted trellis time index (s k +l+m). The range of δ(s k ) is 0≦δ(s k )≦+∞ where δ(s k )=0 if λ 0 (s k )=λ max (λ k ) and δ(s k ) Δ +∞ if λ 0 (s k )=λ min (s k ).  
         [0008]     In a noiseless transmission, δ(k) corresponding to the true message length k always equals zero. For other surmised message length candidate, the variables may be expressed as δ(s j ) with s j ≠k, δ(s j )≧0 and δ(s j )=0 with probability 2 −m  for |s j −k|≧m.  
         [0009]     In a noisy transmission, δ(k) is unlikely to equal zero. Accordingly, the test using the information provided by path metrics should be lessened. Otherwise, the probability of detection will not satisfy the system requirements. For message length candidate so, a convention method compares δ(s i ) with a threshold Δ where the threshold Δ is a design parameter. If δ(s i )≦Δ, the test criterion using the information provided by path metrics is considered acceptable. The Viterbi decoder can trace back and output block with (s i +l)-bit for further CRC processing.  
         [0010]      FIG. 3  is a flow chart of a conventional BTFD method described by Y. Okumura and F. Adachi in “Variable-Rate Data Transmission with Blind Rate Detection for Coherent DS-CDMA Mobile Radio,”  IEICE Trans. Commun ., vol. E81-B, No. 7, July, 1998. As shown in  FIG. 3 , i is first reset to one and a threshold Δ is first set to a predetermined and fixed threshold Δ init  at step  300 . The corresponding δ(s i ) value is calculated according to equation (1) above for each length candidate s i  at step  302  and compared to the predetermined threshold Δ init  at step  304 . If the value of the present δ(s i ) is found to be greater than the threshold Δ init  at step  304 , the flow proceeds to step  308  to determine whether an additional length candidate is available. If there is, the flow proceeds to step  312  to increase the value i by one and then returns to step  302 ; otherwise, the decoding process is completed, indicating no message length is found for the received frame. If the value of the present δ(s i ) is found to be less than or equal to the threshold Δ init  at step  304 , a Viterbi decoder traces back the received frame so as to output (s i +l)-bit block at step  306 . The (s i +l)-bit block is thereafter subject to CRC processing by a CRC decoder at step  310 . If the (s i +l)-bit block passes the CRC test, the decoding process is completed, indicating that a legitimate message length is found; otherwise, the flow proceeds to step  308 .  
         [0011]      FIG. 4  is a flow chart of another conventional BTFD method as described in “Multiplexing and channel coding (FDD),” 3GPP Tech. Spec., TS 25,212 V3.9.0, March 2002. In this approach, the decoding process searches from the first length candidate to the last length candidate. If more than one legitimate message lengths are found, the decoder will output the one with the lowest a value.  
         [0012]     As shown in  FIG. 4 , i is first reset to one, δ min  is preset to Δ init  and n end  is reset to zero at step  400 . The corresponding δ(s i ) value is calculated according to equation (1) for each length candidate s i  at step  402  and compared to the predetermined threshold Δ init  at step  404 . If the value of the present δ(s i ) is found to be greater than the threshold Δ init  at step  404 , the flow proceeds to step  408  to determine whether any additional candidate is available. If there is, the flow proceeds to step  418  to increase the value i by one and then returns to step  402 ; otherwise, the flow proceeds to step  416  to determine whether n end  is equal to zero. If n end  is found to be equal to zero, the decoding process is completed, indicating that no message length is found for the received frame; otherwise, a legitimate message length is found to be n end .  
         [0013]     Returning to step  404 , if the value of the present δ(s i ) is found to be less than or equal to the threshold Δ init , a Viterbi decoder traces back the received frame so as to output (s i +l)-bit block at step  406 . The (s i +l)-bit block is thereafter subject to CRC processing by a CRC decoder at step  410 . If the (s i +l)-bit block does not pass the CRC test, the flow proceeds to step  408  for further processing. If the (s i +l)-bit block passes the CRC test at step  410 , the present value of δ(s i ) is compared to δ min  at step  412 . If δ(s i )&lt;δ, a legitimate message length with better δ is found, δ min  is therefore set to the present value of δ(s i ), send is set to s, at step  414  and the flow proceeds to step  408 . If δ(s i ) is found to be not less than δ min  at step  412 , a legitimate message length is found but the present legitimate message length is not better than the previous one, and thus the flow proceeds to step  408 .  
         [0014]     When the legitimate message length is found, the present δ value is compared with the previous one at step  412 . The present δ value is known before returning to previous steps of the flow and CRC decoding. Given one legitimate message block with length s i  and delta value δ(s i ) is found, it is unnecessary for other length candidates with a delta value between Δ init  and δ(s i ) to trace back to earlier steps and provide CRC processing again. Even if the CRC test is passed, the previous message legitimate block with length s i  is still better than the current one.  
       BRIEF SUMMARY OF THE INVENTION  
       [0015]     The present invention is directed to a system and a method for blind transport format detection with cyclic redundancy check that obviate one or more problems resulting from the limitations and disadvantages of the prior art.  
         [0016]     In accordance with an embodiment of the present invention, there is provided a method for BTFD decoding of signals having at least a message block of k-bit from a length candidate set S={s 1 , s 2 , . . . s i }, wherein the k message bits are encoded by a CRC encoder and processed by an (n, l, m) convolutional encoder to generate encoded data, comprising: initializing a value of i; decoding a received frame to form a decoded sequence that includes an s i -bit message and an error correcting code, calculating δ(s i ) values; comparing δ(s i ) with a threshold value; repeating the decoding and calculating steps if δ(s i ) is greater than the threshold; and updating the threshold to be δ(s i ) if δ(s i ) is less than or equal to the threshold.  
         [0017]     In accordance with another embodiment of the present invention, there is provided a method for BTFD signal processing of at least a message block of k-bit from a length candidate set S={s 1 , s 2 , . . . s i }, comprising: encoding the k message bits with a CRC encoder; processing the encoded message bits by an (n, l, m) convolutional encoder; receiving the encoded message; initializing a value of i; decoding a received frame to form a decoded sequence that includes an s i -bit message and an error correcting code, calculating δ(s i ) values; comparing δ(s i ) with a threshold value; repeating the decoding and calculating steps if δ(s i ) is greater than the threshold; and updating the threshold to be δ(s i ) if δ(s i ) is less than or equal to the threshold.  
         [0018]     In accordance with yet another embodiment of the present invention, there is provided a method for BTFD decoding of signals having at least a message block of k-bit from a length candidate set S={s 1 , s 2 , . . . s i }, wherein the k message bits are encoded by a CRC encoder and processed by an (n, l, m) convolutional encoder to generate encoded data, comprising: (a) decoding the received frame to form a decoded sequence that includes an s i -bit message and an error correcting code; (b) calculating δ(s i ) values for all message length candidates within the message length candidate set; (c) sorting a plurality of δ(s i ) values in an order; (d) tracing back the decoded sequence associated with δ(s (j) ); (e) proceeding to step (g) if the decoded sequence is not associated with the error correcting code; (f) setting j to an integer within the integer set other than an earlier integer within an integer set; and (g) repeating steps (d)-(f) until all integers within the integer set, is exhausted.  
         [0019]     In accordance with one other embodiment of the present invention, there is provided a method for BTFD decoding of signals having at least a message block of k-bit from a length candidate set S={s 1 , s 2 , . . . s i }, wherein the k message bits are encoded by a CRC encoder and processed by an (n, l, m) convolutional encoder to generate encoded data, comprising: (a) decoding the received frame to form a decoded sequence that includes an s i -bit message and an error correcting code; (b) calculating δ(s i ) values for all message length candidates within the message length candidate set; (c) sorting all δ(s i ) values in a particular order; (d) setting j to a first integer within an integer set {1, 2, . . . , N}; (e) tracing back the decoded sequence associated with δ(s (j) ); (f) proceeding to step (h) when the decoded sequence is not associated with the error correcting code; (g) setting j to a second integer within the integer set other than the one integer within the integer set; and (h) repeating steps (e)-(g) until all integers within the integer set is exhausted.  
         [0020]     In accordance with a further embodiment of the present invention, there is provided a system for BTFD decoding of signals having at least a message block of k-bit from a length candidate set S={s 1 , s 2 , . . . s i }, wherein the k message bits are encoded by a CRC encoder and processed by an (n, l, m) convolutional encoder to generate encoded data. The system comprises means for setting a threshold Δ to an initial value Δ init , means for decoding the received frame to form a decoded sequence that includes an s i -bit message and an error correcting code, means for calculating δ(s i ) values, means for tracing back the decoded sequence if δ(s i ) is smaller than the threshold, means for checking error correcting code, and means for updating the threshold to be δ(s j ).  
         [0021]     In accordance with a yet further embodiment of the present invention, there is provided a system for processing a received frame. The system comprises means for providing a message length candidate set S={s 1 , s 2 , . . . , s N }, means for decoding the received frame to form a decoded sequence that includes an s i -bit message and an error correcting code, means for calculating δ(s i ) values for all message length candidates within the message length candidate set, means for sorting all δ(s i ) values in a ascending order δ(s (1) )≦δ(s (2) )≦ . . . and s (j)  being the message length candidate corresponding to the j-th smallest a value, means for setting j to one integer within an integer set {1, 2, . . . , N}, means for tracing back the decoded sequence associated with δ(s (j) ), means for checking the error correcting code, means for setting j to another integer within the integer set other than the one integer within the integer set, and means for repeating steps of tracing back the decoded sequence associated with δ(s (j) ), checking the error correcting code and setting j to another integer within the integer set other than the one integer within the integer set until all integers within the integer set is exhausted.  
         [0022]     Additional features and advantages of the present invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.  
         [0023]     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.  
         [0024]     The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one embodiment of the present invention and together with the description, serves to explain the principles of the invention. 
     
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS  
       [0025]     The foregoing summary, as well as the following detailed description of the invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there are shown in the drawings embodiments which are presently preferred. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.  
         [0026]     In the drawings:  
         [0027]      FIG. 1  is a block diagram of a conventional communication system using BTFD;  
         [0028]      FIG. 2  is an example of a trellis diagram of a convolutional code;  
         [0029]      FIG. 3  is a flow chart of a conventional BTFD method;  
         [0030]      FIG. 4  is a flow chart of another conventional BTFD method;  
         [0031]      FIG. 5  is a flow chart of a BTFD method in accordance with one embodiment of the present invention; and  
         [0032]      FIG. 6  is a flow chart of a BTFD method in accordance with another embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0033]     A communication system using BTFD includes at least a message block of k-bit, wherein the message length k is chosen from a length candidate set S={s 1 , s 2 , . . . s} with a finite set size, and i is an integer. The message bits are first CRC-encoded by an t-bit CRC encoder and thereafter processed by an (n, l, m) convolutional encoder to generate encoded data.  
         [0034]      FIG. 5  is a flow chart of a BTFD method in accordance with one embodiment of the present invention. According to the present invention, the decoding process searches from the first length candidate to the last length candidate. If more than one legitimate message lengths are found, the decoder will output the one with the lowest δ value. Referring to  FIG. 5 , the method of the present invention starts at step  500  by resetting i to one, Δ to Δ init  and n end  to zero. The corresponding δ(s i ) value is calculated according to equation (1) described above for each length candidate s, at step  502  and compared to a predetermined threshold Δ at step  504 . If the value of the present δ(s i ) is greater than the threshold Δ, the flow proceeds to step  508  to determine whether more length candidate is available. If there is, the flow proceeds to step  516  to increase the value i by one and then returns to step  502 . Otherwise, the flow proceeds to step  514  to determine whether n end  is equal to zero. If fend is equal to zero, the decoding process is completed, indicating no message length is found for the received frame. Otherwise, a legitimate message length n end  is found.  
         [0035]     Returning to step  504 , if the present value of the δ(s i ) is less than or equal to the threshold Δ, a Viterbi decoder traces back the received frame so as to output (s i +l)-bit block at step  506 . The (s i +l)-bit block is thereafter subject to CRC processing by a CRC decoder at step  510 . If the (s i +l)-bit block does not pass the CRC test, the flow proceeds to step  508  for further processing. If the (s i +l)-bit block passes the CRC test, the threshold Δ is therefore updated to the present value of δ(s i ) and n end  is set to s, at step  512 .  
         [0036]     According to the present invention,  FIG. 5  discloses a system and a method for dynamically adjusting the threshold Δ after the appearance of a legitimate message block. If the legitimate message block with length s i  and delta value δ(s i ) is found, the threshold value Δ is changed to δ(s i ). By dynamically adjusting the threshold Δ, disfavored trace backs and CRC testing are obviated for candidate message block with a δ value between A init  and δ(s i ).  
         [0037]     Referring to  FIG. 6 , a flow chart of a BTFD method in accordance with another embodiment is depicted. In this embodiment, the number of trace backs, or repetitions, in the Viterbi decoder can be further decreased. For all length candidates, the lower the δ value, the more likely the true message block may be. Therefore, in this embodiment, all of the δ values for all length candidates are calculated and stored first, and then all of the δ values are sorted in an order, such as in an ascending order. Trace back from the length candidate with the lowest δ value to the one with the highest δ value until the first legitimate message block is found or all length candidates are exhausted.  
         [0038]     As shown in  FIG. 6 , all δ for all candidate message lengths s i  in the length set S={s 1 , s 2 , . . . } are calculated according to equation (1) and stored in a memory device at step  600 . Referring to step  602 , all δ values are thereafter sorted in an order, such as in an ascending order in the form of δ(s (1) )≦δ(s (2) )≦ . . . , where s (j)  is the message length corresponding to the j-th smallest δ value. The value of the variable j is preset to one at step  604  and a surmised message length s (j)  is provided at step  608 . Next, a Viterbi decoder traces back the received frame so as to output (s (j) +l)-bit block at step  610 . The (s (j) +l)-bit block is thereafter subject to CRC checking by a CRC decoder at step  612 . If the (s (j) +l)-bit block passes the CRC test, the decoding process is completed, indicating that a legitimate message length has been found as s (j) . If, however, the (s (j) +l)-bit block does not pass the CRC test, the flow proceeds to step  614  to determine whether more length candidate is available. If there is, the flow proceeds to step  616  to increase the value j by one and then returns to step  608 . Otherwise, the decoding process is completed, indicating that no message length has been found for the received frame  
         [0039]     Accordingly, the embodiment of  FIG. 6  is able to completely remove the impact of the choice of the initial threshold Δ init , provided additional memory devices are provided to store all computed δ values in the prescribed order. In addition, the block error rate of this embodiment outperforms that of the conventional decoding method under different SNR conditions. Furthermore, the embodiment as depicted in  FIG. 6  requires lesser number of trace backs in the Viterbi decoder such that the computational burden is alleviated accordingly.  
         [0040]     The foregoing disclosure of the preferred embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.  
         [0041]     Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.  
         [0042]     It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed, but it is intended to cover modifications within the spirit and scope of the present invention as defined by the appended claims.