Method and device for detecting rate

Information

  • Patent Grant
  • 6560744
  • Patent Number
    6,560,744
  • Date Filed
    Thursday, June 1, 2000
    24 years ago
  • Date Issued
    Tuesday, May 6, 2003
    21 years ago
Abstract
Device for determining the rate of a received communication frame, including a plurality of encoded signal quality estimators, each at a different rate, a decision controller, connected to the encoded signal quality estimators, a decoder connected to the controller and an erasure detection unit connected to the decoder and the controller, wherein each of the quality estimators processes the received encoded frame according to an encoded signal quality criteria, thereby producing a quality value, wherein the controller selects the rate with the best quality value, the decoder decodes the encoded frame according to the selected rate and the erasure detection unit analyzing the decoded frame, thereby determining it as allowed or as erased.
Description




FIELD OF THE INVENTION




The present invention relates to a method and system for detecting and determining the data rate of a received signal, in general and to a method and system for providing an appropriate data rate and erasure decision, in particular.




BACKGROUND OF THE INVENTION




In the art, there are known methods and systems for determining the data rate of a received signal. Communication standards often address problems of variable bandwidth due to interference reflections, speech activity controlling and the like, by providing several modes of transmission, each in a predetermined data rate.




The definition of the basic terms used hereinbelow can be found in “


CDMA—principles of spread spectrum communication”


, by A. J. Viterbi, Addison-Wesly Publishing Company, 1995.




Reference is now made to

FIG. 1

which is a schematic illustrating of a system, referenced


1


, known in the art. System


1


receives an incoming signal, which has been transmitted at a rate, selected from a set of rates. In the present example, the rate set includes four rates. The rates are marked 1, ½, ¼ and ⅛. The maximal volume of information which can be transmitted in rate ½ is half the maximal volume of information which can be transmitted in rate 1. The same applies for rates ¼ and ½, and rates ⅛ and ¼, respectively.




System


1


includes a plurality of decoding and estimating units


2


,


4


,


6


, and


8


for each available rate. Unit


2


includes a decoder


10


and a reception quality estimator


12


, which is connected to the decoder


10


. Unit


4


includes a decoder


14


and a reception quality estimator


16


, which is connected to the decoder


14


. Unit


6


includes a decoder


18


and a reception quality estimator


20


, which is connected to the decoder


18


. Unit


8


includes a decoder


22


and a reception quality estimator


24


, which is connected to the decoder


22


.




System


1


further includes a decision controller


26


which is connected to units


2


,


4


,


6


and


8


.




The received encoded signal is provided to each of the decoding and estimating units


2


,


4


,


6


, and


8


. The decoder


10


decodes the encoded signal according to rate=1 and provides the decoded signal to the reception quality estimator


12


. The reception quality estimator


12


processes the decoded signal so as to produce a quality value and provides it to the decision controller


26


.




The decoder


14


decodes the encoded signal according to rate=½ and provides the decoded signal to the reception quality estimator


16


. The reception quality estimator


16


processes the decoded signal so as to produce a quality value and provides it to the decision controller


26


. The same process is executed by units


6


and


8


so as to produce quality values for rates ¼ and ⅛, respectively.




Then, the decision controller


26


selects the rate which has best quality value and informs the receiver that the received encoded signal is to be processed according to the selected rate. Such systems are described in several U.S. patents.




U.S. Pat. No. 5,230,003 to Dent et al describes a method which decodes a received signal according to two rates, thereby producing two decoded samples, provides a quantitative measurement for each of these decoded samples, compares between the quantitative measurements and selects a rate accordingly.




U.S. Pat. No. 5,566,206 to Butler et al describes a method which decodes a received signal according to plurality of rates, re-encodes all of the decoded samples, counts the number of symbol errors, combines quality estimation and selects the rate accordingly.




U.S. Pat. No. 5,671,255 to Mao Wang et al describes a method which decodes a received signal according to a plurality of rates, calculates detection statistic according to several parameters, such as CRC, symbol error rate and the output quality value of the Viterbi decoder and selects a rate accordingly.




U.S. Pat. No. 5,638,408 to Takaki describes a method which decodes a received signal according to a plurality of rates, compares the four path metric values and selects a rate accordingly.




U.S. Pat. No. 5,509,020 to Iwakiri et al describes a method which decodes a received signal according to a plurality of rates, compares the path metric of the decoder at each rate and selects a rate accordingly.




It will be appreciated by those skilled in the art that decoding a received encoded signal according to all possible rates requires a considerable amount of processing power, thereby increasing power consumption. This is extremely crucial in mobile communication systems such as cellular telephones, since these systems have limited power sources.




IS-95 communication standard (CDMA) provides two sets of communication rates. Rate set 1, which includes 1200, 2400, 4800 and 9600 bits per second and rate set 2, which includes 1800, 3600, 7200 and 14400 bits per second.




Each CDMA information frame can be transmitted at any rate in a given rate set. The present example relates to rate set 1. It will be appreciated by those skilled in the art that an IS-95 frame does not include any specific information indicating the rate, according to which it was transmitted.




A receiver receiving this frame has to estimate the correct rate from the received data incorporated therein, in order to correctly decode the information bits, of that frame. According to the standard, the information bits are encoded in a convolutional encoder, having a rate of ½. Then, they are subjected to symbol repetition, depending on the rate.


















TABLE 1













Rate name




1/8




1/4




½




1







Rate [{fraction (bits/sec)}] (R)




1200




2400




4800




9600







information bits




16




40




80




172







CRC bits




0




0




8




12







encoder tail bits




8




8




8




8







N


b


[{fraction (bits/frame)}]




24




48




96




192







repetitions (rpt)




8




4




2




1







transmitted symbols N


S






384




384




384




384















As will be appreciated by those skilled in the art, the number of transmitted symbols N


s


in each frame is three hundred and eighty four. This number is independent of the rate used for transmitting this frame.




The symbols are arranged in an interleaved format and multiplied first by the user's unique Walsh function, and then by a complex pseudo random (PN) chip sequence. Each symbol is multiplied by sixty four chips, each having a real component I


C


and an imaginary component Q


C


, wherein I


C


and Q


C


are independent. A complex combination of the real component I


C


and the imaginary component Q


C


, given by I


C


+jQ


C


, represents each chip. The complex output signal, which is a result of the multiplication, is then QPSK modulated and transmitted to the channel.




It will be appreciated by those skilled in the art that although the above method provides reasonable rate detection results, the method includes a tremendous amount of calculating operations. Hence, an implementation of this method in software requires high speed processing capabilities, which results in an increased power consumption. An implementation of this method in hardware requires a great number of hardware elements, which are difficult to manufacture and utilize in small size systems.











BRIEF DESCRIPTION OF THE DRAWINGS




The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which:





FIG. 1

is a schematic illustrating of a rate detection system, know in the art;





FIGS. 2A and 2B

which are schematic illustrations of the pwer of user-data signal in CDMA frames;





FIG. 3

is a schematic illustration of transition chart between a plurality of frame states;





FIG. 4

is a schematic illustration of a method for detecting the encoding rate of a received frame using user data power, operative in accordance with a preferred embodiment of the present invention;





FIG. 5

is a schematic illustrating of a rate detection system, constructed and operative according to another preferred embodiment of the present invention;





FIG. 6

is a schematic illustration of a method for operating the system of

FIG. 5

, operative in accordance with a further preferred embodiment of the present invention;





FIG. 7

is a schematic illustration of a rate detecting system constructed and operative in accordance with another preferred embodiment of the invention;





FIG. 8

is a schematic illustration of a method for operating the system of

FIG. 7

, operative in accordance with yet another preferred embodiment of the present invention;





FIG. 9

is a schematic illustration of a system for detecting rate, constructed and operative in accordance with another preferred embodiment of the present invention;





FIG. 10

is a schematic illustration of a method for operating the system of

FIG. 9

, operative in accordance with a further preferred embodiment of the present invention;





FIG. 11

is a schematic illustration of a system for detecting rate, constructed and operative in accordance with another preferred embodiment of the present invention; and





FIG. 12

is a schematic illustration of a method for operating the system of

FIG. 11

, operative in accordance with a further preferred embodiment of the present invention.











DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS




The method of the present invention overcomes the disadvantages of the prior art, by providing a encoded signal likelihood estimating mechanism which reduces and often eliminates the need to decode a signal before attempting to detect its rate.




The method of the present invention provides several simplified rate and erasure decision criteria. The method of the present invention also provides an erasure criterion, which is based on CRC information and on symbol error rate or on accumulated Viterbi metric, or on a combination of the above.




The definition of the basic terms used hereinbelow can be found in “


CDMA—principles of spread spectrum communication”


, by A. J. Viterbi (publ—Addison-Wesly Publishing Company 1995.




i is the index of a transmitted symbol,




j is the index of a transmitted chip within that symbol,




n is the index of a user, and




t is a time variable.




Accordingly, walsh(j) is the value of the Walsh function (a more precise notation is walsh


n


(j); for simplicity the n subscript is omitted),




pn(64·i+j) is the complex PN chip,




sym(i) is the symbol transmitted (more precisely, sym


n


(i)), and




s(·) is the pulse shaping signal.




Hence, tx(t,i,j) (more precisely, tx


n


(t,i,j)), the contribution of the j-th chip of the i-th symbol, transmitted to the n-th user, to the transmitted base-band signal, is given by,








tx


(


t,i,j


)=





sym(


i


)·walsh(


j





pn(


64·


i+j





s


(


t−


(64·


i+j


)


T




c


)






where T


c


is the chip duration.




Similarly, the corresponding contribution to the base-band pilot signal, is given by








tx




0


(


t,i,j


)=


pn


(64·


i+j





s


(


t−


(64·


i+j


)


T




c


)






where c is the ratio of the user-data signal amplitude to the pilot signal amplitude. Hence, for each finger f, the contribution of the j-th chip of the transmitted i-th symbol to the received user and pilot base-band signals, r(t,f,i,j), and r


0


(t,f,i,j) are given by








r


(


t,f,i,j


)=


tx


(


t,i,j





Ae

















r




0


(


t,f,i,j


)=


tx




0


(


t,i,j





Ae













wherein A is the amplitude of the finger and φ is the phase. This method assumes that any additional delay in the finger is known, and hence, can be neglected.




At the receiver end, the user and pilot signals are first processed by the matched filter, and then sampled appropriately. Then, the receiver de-interleaves the resulting samples, multiplies both by the conjugate of the PN sequence and then, multiplies the user signal also by its Walsh chip sequence.




Finally, the receiver integrates by way of summation, the chips of the symbol. The resulting signals, d(f,i) and d


0


(f,i) are given by,






&AutoLeftMatch;





d


(

f
,
i

)


=










j
=
1

64










r
M



(

t
,
f
,
i
,
j

)


·

walsh


(
j
)


·

pn
*




(


64
·
i

+
j

)



+

n


(

f
,
i

)



=














c
·

A
1





sym


(
i
)


·



j





φ




+

n


(

f
,
i

)











d
0



(

f
,
i

)


=









j
=
1

64









r
0
M



(

t
,
f
,
i
,
j

)


·


pn
*



(


64
·
i

+
j

)




=


A
1

·



j





φ


















wherein * denotes a complex conjugate operator, r


M


(t,f,i,j) and r


0




M


(t,f,i,j) denote the sampled user and pilot matched filter outputs and A


1


=128A. n(f,i) is an additive noise term (contributed by signals transmitted to other users by the same transmitter, other transmitters and also by channel noise) which is dependent of the finger f.




The method assumes that the variance σ


2


of n(f,i) is independent of the finger f. It is noted that d


0


(f,i) does not include an additive noise term due to channel tracking (smoothing) operation that is assumed present.




Based on the given measurement data, d(f,i) and d


0


(f,i), of the current frame, the receiver detects the encoded information bits. The rate decision problem is how to make a reliable detection of the rate, according to which the information bits were encoded.




The erasure detection problem is how to make a reliable decision whether the decoded information bits are free of errors. The method of the invention determines a frame as erased, when the output metric of the Viterbi decoder exceeds a predetermined value or when the frame includes more than a predetermined number of errors, or a combination of the above.




According to one aspect of the present invention there is provided a method for estimating a bit sequence, which is operative under the assumption that the transmission rate is unknown.




Further to the definitions made hereinabove,




N


f


is the number of fingers,




bits is the bit sequence encoded at the convolutional encoder of the n-th user, which corresponds to a hypothesis of a selected rate,




l(data) is the log likelihood of the data, and




l(data|syms) is the a-posterior log− likelihood given an hypothesized symbol sequence syms.




rpt is the symbol repetition factor, i.e.






sym(


rpt·


(


j−


1)+1)=sym(


rpt·


(


j−


1)+2)= . . . =sym(


rpt·j


)






 (for notational simplicity we assume that de-interleaving has already been applied on the received symbols).




According to another aspect of the present invention, there are provided several signal rate decision criteria, which determine the rate based on l(data), under the assumption that coding is not present. These criteria are based on the following derivation:






&AutoLeftMatch;





l


(

data
|
syms

)


=





-
1


σ
2







f
=
1


N
f











i
=
1


N
s









&LeftBracketingBar;


d


(

f
,
i

)


-

c
·


d
0



(

f
,
i

)


·

sym


(
i
)




&RightBracketingBar;

2




-

2


N
s



N
f







log


(



π







σ

)




=




2

c


σ
2








v


(
syms
)



+
K






Equation





1














where






&AutoLeftMatch;






v


(
syms
)


=









i
=
1


N
s











f
=
1


N
f








Re


{


d


(

f
,
i

)





d
0
*



(

f
,
i

)



}



sym


(
i
)





=




















j
=
1



N
s

/
rpt









si


(
j
)




sym


(

rpt
·
j

)











si


(
j
)


=








i
=


rpt
·

(

j
-
1

)


+
1



rpt
·
j











f
=
1


N
f








Re


{


d


(

f
,
i

)





d
0
*



(

f
,
i

)



}

























K
=



-

1

σ
2





(


E
u

+


c
2



E
p



)


-

2


N
s



N
f



log


(


π


σ

)












E
u

=





f
=
1


N
f











i
=
1


N
s










&LeftBracketingBar;

d


(

f
,
i

)


&RightBracketingBar;

2







E
p




=




f
=
1


N
f











i
=
1


N
s









&LeftBracketingBar;


d
0



(

f
,
i

)


&RightBracketingBar;

2









Equation





2













The likelihood of the symbol sequence syns is:








l


(syms)=log(½)


N






s






lrpt




=−N




s


log2/


rpt.








Hence,






&AutoLeftMatch;





l


(
data
)


=

log








syms










l


(

data
|
syms

)







l


(
syms
)












=

K
-



N
s

rpt






log





2

+

log








syms









2



cv


(
syms
)


/

σ
2













=

K
-



N
s

rpt






log





2

+

log








syms



exp


{



2

c


σ
2







j
=
1



N
s

/
rpt









si


(
j
)




sym


(

rpt
·
j

)





}



















The summation over syms denotes a summation over all symbol sequences. Using some straight-forward algebraic manipulations the following expression is obtained,






&AutoLeftMatch;








l


(
data
)


=





K
-


N
s


log






2
/
rpt


+















j
=
1



N
s

/
rpt








log


(


exp


{



2

c


σ
2








si


(
j
)



}


+

exp


{




-
2


c


σ
2








si


(
j
)



}



)










Equation





3














The second term −N


s


log2/rpt on the right hand side (RHS) tends to increase as rpt increases, while the third term on the RHS










j
=
1



N
s

/
rpt








log


(


exp


{



2

c


σ
2








si


(
j
)



}


+

exp


{




-
2


c


σ
2








si


(
j
)



}



)



,










monotonically decreases as rpt increases.




To avoid underflows, the last term on the right-hand side of the equation is calculated using,






&AutoLeftMatch;





log


(



x

+



-
x



)


=

{





+
x

+

log


(

1
+




-
2


x



)







if





x

>
0







-
x

+

log


(

1
+




+
2


x



)







if





x

<
0












=


&LeftBracketingBar;
x
&RightBracketingBar;

+

log


(

1
+




-
2



&LeftBracketingBar;
x
&RightBracketingBar;




)






















It will be noted that both c and σ should be estimated from the given data. To estimate c and σ the method provides a ML estimation procedure for the case where neither coding nor repetition are exploited. In this case the likelihood of the data given the symbols is given by










l


(

data
|
syms

)


=




-
1


σ
2







f
=
1


N
f











i
=
1


N
s









&LeftBracketingBar;


d


(

f
,
i

)


-

c
·


d
0



(

f
,
i

)


·

sym


(
i
)




&RightBracketingBar;

2




-

2


N
s



N
f







log


(


π


σ

)








Equation





4













Hence, the ML estimate of sym(i), which is denoted by {overscore (sym(i))} is given by








sym


(
i
)


_

=



arg





max


{

sym


(
i
)


}







f
=
1


N
f








Re


{


d


(

f
,
i

)





d
0
*



(

f
,
i

)



}



sym


(
i
)















(since c>0). Hence,











sym


(
i
)


_

=

sign






f
=
1



N
f




Re


{


d


(

f
,
i

)





d
0
*



(

f
,
i

)



}








Equation  5













The ML estimate of c (ĉ) is obtained by optimizing Equation 4 with respect to c (i.e., setting the respective derivative to 0), and by invoking Equation 5. Using straight-forward algebraic manipulations we obtain,










c


=






i
=
1



N
s




&LeftBracketingBar;





f
=
1



N
f




Re


{


d


(

f
,
i

)





d
0
*



(

f
,
i

)



}



&RightBracketingBar;







i
=
1



N
s








f
=
1



N
f





&LeftBracketingBar;


d
0



(

f
,
i

)


&RightBracketingBar;

2








Equation  6













Similarly, {circumflex over (σ)}, which is the ML estimated value of σ, is obtained by optimizing Equation 4 with respect to σ (i.e., setting the respective derivative to 0). Accordingly,










σ


=



1


N
s



N
f





{






i
=
1



N
s








f
=
1



N
f





&LeftBracketingBar;

d


(

f
,
i

)


&RightBracketingBar;

2



-



c


2







i
=
1



N
s








f
=
1



N
f





&LeftBracketingBar;


d
0



(

f
,
i

)


&RightBracketingBar;

2





}







Equation  7













According to a further aspect of the present invention there are provided generalized signal rate detection criteria, using Equation 3 (note that K is independent of the rate, since the estimates of c and σ are independent of the rate. Hence, K may be ignored, i.e. it may be set to 0) to determine the rate.




For example, l(data) can be calculated according to either of the following expressions:











l


(
data
)


=


c
rate

+

β










j
=
1




N
s

/
rpt








log






(


exp


{



2






c





σ


2




si


(
j
)



}


+

exp


{




-
2







c





σ


2




si


(
j
)



}



)






,




Equation  8





and












l


(
data
)


=


c
rate

+





j
=
1




N
s

/
rpt








log






(


exp


{



2






c







β



σ


2




si


(
j
)



}


+

exp


{




-
2







c



β



σ


2




si


(
j
)



}



)





,




Equation  9













where β is a parameter of the method.




c


rate


is generally a constant which is dependent on the rate, for example:




c


rate


=−N


s


log2/rpt. Accordingly,










l


(
data
)


=



-

N
s



log






2
/
rpt


+

β






j
=
1




N
s

/
rpt








log






(


exp


{



2






c





σ


2




si


(
j
)



}


+

exp


{




-
2







c





σ


2




si


(
j
)



}



)









Equation  10





or











l


(
data
)


=



-

N
s



log






2
/
rpt


+





j
=
1




N
s

/
rpt








log






(


exp


{



2






c



β



σ


2




si


(
j
)



}


+

exp


{




-
2







c







β



σ


2




si


(
j
)



}



)








Equation  11













According to a further aspect of the present invention, there is provided a method for smoothing {circumflex over (σ)}, which is the ML estimated value of σ, given in Equation 7, by calculating an average value across the current and previous frames. For example:

















σ


t
2

_

=






σ



t
-
1

2

_

·
δ

+




σ


t
2

·

(

1
-
δ

)







wherein





0



δ
<
1





Equation





12













To develop the following methods, we invoke an approximation, log(e


x


+e


−x


)≡|x| in Equation 3 to obtain,










l


(
data
)


=

K
-


N
s


log






2
/
rpt


+



2

c


σ
2








j
=
1




N
s

/
rpt








&LeftBracketingBar;

si


(
j
)


&RightBracketingBar;








Equation  13













where K is given by Equation 2. Optimizing Equation 13 with respect to c and σ (i.e., setting the respective derivatives to 0), yields,










c
~

=








j
=
1




N
s

/
rpt








&LeftBracketingBar;

si


(
j
)


&RightBracketingBar;



E
p








σ
~


=



1


N
s



N
f





(


E
u

-



c
~

2



E
p



)








Equation  14













where







E
u

=






f
=
1



N
f

















i
=
1



N
s





&LeftBracketingBar;

d


(

f
,
i

)


&RightBracketingBar;

2






and






E
p



=





f
=
1



N
f












i
=
1



N
s






&LeftBracketingBar;


d
0



(

f
,
i

)


&RightBracketingBar;

2

.














Substituting Equation 14 back into Equation 13 yields (up to a constant additive term)










l


(
data
)


=



-

N
s




N
f



log


(


E
u

-



c
~

2



E
p



)



-




N
s


log





2

rpt

.






Equation  15













According to another aspect of the invention, Equation 14 and Equation 15 are used to determine the rate. In order to enable more flexibility the present invention provides the following expression:











l


(
data
)


=



-
β







N
s



N
f


log






(


E
u

-



c
~

2



E
p



)


+



c
rate

.





c
rate








is   a   constant   which   is  dependent
on  the  rate,  for  example,







&IndentingNewLine;





c
rate

=

-




N
s


log





2

rpt

.




Hence



,






l


(
data
)


=



-
β







N
s



N
f



log


(


E
u

-



c
~

2



E
p



)



-



N
s


log





2

rpt








Equation





16













where β is a parameter of the method.




Note that according to another aspect of the invention, l(data)can be computed using Equation 16. Then, the resulting value is corrected by adding a correction term,









β









j
=
1



N
s

/
rpt








log






(

1
+

exp


{

-

&LeftBracketingBar;



4


c
~




σ
~

2




si


(
j
)



&RightBracketingBar;


}



)







Equation





17













which is the difference between Equation 3 and Equation 13.




According to another aspect of the invention, the rate can be evaluated by incorporating user-data power information. According to CDMA standard IS-95, the rate assigned to a particular frame, determines the amplitude of the user-data in that frame.




Whenever the rate increases, user-data power increases by the same amount, so as to keep the energy of a transmitted information bit constant. The power of the pilot signal does not change as the rate changes.




Hence, the present invention provides a method in which the power of the user-data in each frame is incorporated in the rate detection criteria, so as to determine the rate of that frame.




Reference is now made to

FIGS. 2A and 2B

which are schematic illustrations of the power of user-data signal in CDMA frames.




In

FIG. 2A

, bars


400


,


402


,


404


and


406


, represent the power of the user-data in ⅛, ¼, ½ and full rate frames, respectively. The power


406


of a full rate frame is twice the power


404


of the user-data of a half rate frame, four times the power


402


of the user-data of a ¼ rate frame and eight times the power


400


of the user-data of a ⅛ rate frame.




According to one aspect of the invention, the user-data power of each frame is scaled according to the user-data power of the previous frame. Referring now to

FIG. 2B

, the transition from an ⅛ rate frame


410


to a ½ rate frame


412


yields in a ×4 power ratio (i.e. c


2


/c


1


=4 wherein c


1


is the power of a selected frame and c


2


is the power of the next frame.




Accordingly, the transition from frame


412


to frame


414


yields a ×2 power ratio, the transition from frame


414


to frame


416


yields a :4 power ratio, the transition from frame


416


to frame


418


yields a ×4 power ratio and the transition from frame


418


to frame


420


yields a :8 power ratio.




It will be appreciated that if A


1


and P


1


are the amplitude and power of a first frame, respectively and A


2


and P


2


are the amplitude and power of a second frame, respectively, then,








A
1


A
2


=



(


P
1


P
2


)

2

.











Accordingly, a power transition of ×2 would result in an amplitude transition of ×{square root over (2)}.




Reference is now made to

FIG. 3

, which is a schematic illustration of transition chart between a plurality of frame states.




States


500


,


502


,


504


and


506


, respectively represent a full, half, quarter and eighth rate states of a first frame. States


510


,


512


,


514


and


516


, respectively represent a full, half, quarter and eighth rate states of a second frame. States


520


,


522


,


524


and


526


, respectively represent a full, half, quarter and eighth rate states of a third frame.




Each of the arrows connecting between two states, represents a potential rate transition. Transition


530


represents a rate transition between state


500


and state


510


. Transition


542


represents a rate transition between state


510


and state


522


.




According to the present invention, if the user-data power of the second frame is four times greater than the user-data power of the first frame then the rate transitions which apply are


538


and


539


. Accordingly, the present invention eliminated fourteen transitions.




According to another example, if the user-data power of the second frame is a division by two of the user-data power of the first frame then, the rate transitions which apply are


532


,


572


and


574


. Accordingly, the present invention eliminated thirteen transitions.




According to a further example, if the user-data power of the second frame is equal to the user-data power of the first frame than the rate transitions which apply are


530


,


576


,


578


and


580


. Accordingly, the present invention eliminated twelve transitions. It will be noted that when the rate of the first frame is known then, the rate of the second frame can be precisely obtained from the user-data power measurements.




According to another aspect of the present invention, the transition trail is extended to more than two frames. For example, if the user-data power of the second frame is four times greater than the user-data power of the first frame and the user-data power of the third frame is greater than the user-data power of the second frame by a factor of two, then, the rate transition trail which applies includes transitions


538


and


560


.




In accordance with another aspect of the invention, there is thus provided a rate detection criteria which incorporates user-data power.




Let c


1


, and c


2


be the ratio of the user-data signal amplitude to the pilot signal amplitude in the previous and current frames, respectively, and let γ=c


2


/c


1


. Let the data measurements at the previous and current frames be denoted by data


1


and data


2


, respectively. The likelihood of the data measurements in the previous and current frames (given the rates) is










l


(


data
1

,

data
2


)


=


K
1

-


N
s


log






2
/

rpt
1



+




j
=
1



N
s

/

rpt
1









log


(


exp


{



2


c
1



σ
2





si
1



(
j
)



}


+

exp


{




-
2



c
1



σ
2





si
1



(
j
)



}



)



+

K
2

-


N
s


log






2
/

rpt
2



+




j
=
1



N
s

/

rpt
2









log


(


exp


{



2


c
2



σ
2





si
2



(
j
)



}


+

exp


{




-
2



c
2



σ
2





si
2



(
j
)



}



)








Equation





18













where rpt


1


and rpt


2


are the repetition factors in the previous and current frames. Note that γ={square root over (rpt


1


/rpt


2


)}. In addition,









si
l



(
j
)


=





i
=



rpt
1

·

(

j
-
1

)


+
1




rpt
1

·
j











f
=
1


N
f








Re


{



d
l



(

f
,
i

)





d
0

l
*




(

f
,
i

)



}






l



=
1


,
2






K
l

=




-

1

σ
2





(


E

u
1


+


c
l
2



E

p
1




)


-

2


N
s



N
f


log






(


π


σ

)






l


=
1


,
2










where E


u






1




, E


u






2




are the user-data energies in the previous and current frames. E


P






1




and E


P






2




are the pilot energies in the previous and current frames.




Equation 18 may be simplified by invoking the approximation log(e


x


+e


−x


)≡|x|, yielding










l


(


data
1

,

data
2


)


=


K
1

-


N
s


log






2
/

rpt
1



+



2


c
1



σ
2







j
=
1



N
s

/

rpt
1









&LeftBracketingBar;


si
1



(
j
)


&RightBracketingBar;



+

K
2

-


N
s


log






2
/

rpt
2



+



2


c
2



σ
2







j
=
1



N
s

/

rpt
2









&LeftBracketingBar;


si
2



(
j
)


&RightBracketingBar;








Equation





19













Given the rates of the previous and current frames, and hence γ, c


1


and a are obtained by optimizing Equation 19 with respect to c


1


and σ (i.e. setting the appropriate derivatives to 0). This yields,











c


1

=






j
=
1



N
s

/

rpt
1









&LeftBracketingBar;


si
1



(
j
)


&RightBracketingBar;


+

γ





j
=
1



N
s

/

rpt
2









&LeftBracketingBar;


si
2



(
j
)


&RightBracketingBar;






E

p
1


+


γ
2



E

p
2









Equation





20







σ


=



1

2


N
s



N
f





[


E

u
1


+

E

u
2


-


(


E

p
1


+


γ
2



E

p
2




)




c


1
2



]







Equation





21













Substituting Equation 20 and Equation 21 back into Equation 19 yields,










l


(


data
1

,

data
2


)


=



-
2



N
s



N
f



log




[


E

u
1


+

E

u
2


-



c


1
2



(


E

p
1


+


γ
2



E

p
2




)



]


-



N
s


rpt
1



log





2

-



N
s


rpt
2



log





2






Equation





22













To enable more flexibility, the suggested method is








l


(data


1


,data


2


)=−β


N




s




N




f


log[


E




u






1






+E




u






2






−{haeck over (c)}




1




2


(


E




p






1







2




E




p






2




)]+


c




rate






1






+c




rate






2




  Equation 23






where for example







c

rate
1


=




-

N
s



rpt
1



log





2





and






c

rate
2



=



-

N
s



rpt
2



log





2.












Equation 23 may be improved by adding a correction term such as:










β









j
=
1



N
s

/
rpt








log






(

1
+

exp


{

-

&LeftBracketingBar;



4



c


1




σ


2





si
1



(
j
)



&RightBracketingBar;


}



)




+

β









j
=
1



N
s

/
rpt








log






(

1
+

exp


{

-

&LeftBracketingBar;



4



c


2




σ


2





si
2



(
j
)



&RightBracketingBar;


}



)








Equation





24













wherein {haeck over (c)}


2


=γ·{haeck over (c)}


1






A simple rate decision method may be implemented by calculating l(data


1


,data


2


) for each pair of consecutive frames, for all 16 possibilities of current and previous rates. The estimated current rate is the rate for which the maximal value of l(data


1


,data


2


) is obtained.




We now present an improved rate decision method that is based on dynamic programming. Let l


ij


(data


1


,data


2


) denote the likelihood of the previous and current frames under the assumption that the rate at the previous frame is i, and the rate at the current frame is j. a


j


represents a current accumulated likelihood variable, under the assumption that the current rate is j. Similarly, â


i


represents a previous accumulated likelihood variable, under the assumption that the previous rate is i. a


j


is computed using










a
j

=


max
i



{


ρ



a
^

i


+


(

1
-
ρ

)




l
ij



(
data
)




}






Equation





25













where ρ is some forgetting factor (e.g. 0.7). The estimated current rate is






arg













max
j








a
j

.












Reference is now made to

FIG. 4

which is a schematic illustration of a method for detecting the encoding rate of a received frame using user data power, operative in accordance with yet another preferred embodiment of the present invention. The method includes the following steps:




A. Receiving a frame of encoded signal (step


700


),




B. Detecting user data power information, which is included in the received frame (step


702


);




C. Processing the user data power information of the current received frame with respect to previous frames (step


704


). In this step, the method produces a quality value for each rate and rate transition, which is used later to detect the correct rate, according to which the received frame was encoded.




D. Selecting the rate having the best quality value (step


705


). The method of the present invention further includes additional steps which provide enhanced performance, refining the detection of the correct rate.




E. decoding the received encoded frame according to the selected rate (


706


).




F. Detecting if the frame should be erased (step


708


). It will be noted that any erasure criteria, which is known in the art, is applicable for the present invention.




G. Determining the selected rate as the rate of the encoded received frame, when the frame qualifies the erasure detection (step


710


).




H. Selecting the rate with the next best quality value, when the frame did not qualify the erasure detection (step


712


) and repeating from step


706


for this rate.




It will be noted that the repeating of steps


706


through


712


can be limited for a predetermined number of repetitions, a predetermined limit value for the quality values, and the like.




It will be further noted that the user data power information can be used directly, as described hereinabove, or indirectly, incorporated in encoded signal rate quality value criteria as described in Equation 18, Equation 19,Equation 20, Equation 21, Equation 22, Equation 23, Equation 24 and Equation 25.




Reference is now made to

FIG. 5

which is a schematic illustration of a rate detection system, generally referenced


100


, constructed and operative in accordance with a preferred embodiment of the present invention.




System


100


includes a plurality of encoded signal quality estimating units


102


,


104


,


106


and


108


, a decision controller


110


, connected to units


102


,


104


,


106


and


108


and a decoder


112


, connected to the decision controller.




The estimating unit


102


,


104


,


106


and


108


can be implemented in hardware or software. Each of these estimating units, detects the received signal and processes, according to a quality criteria set forth by the present invention, with respect to a different rate, thereby yielding a quality value




The quality value can be calculated using either Equation 8, with or without the smoothing expression provided in Equation 12, Equation 9, with or without the smoothing expression provided in Equation 12, Equation 16, Equation 16 with the correcting term of Equation 17, Equation 23, Equation 23 with the correcting term of Equation 24 or Equation 25.




The received encoded signal is provided to each of the encoded signal quality estimating units


102


,


104


,


106


and


108


which, in turn, process the encoded signal, each according to a predetermined rate. Estimating units


102


,


104


,


106


and


108


processed the encoded signal according to rate=1, ½, ¼ and ⅛, respectively and produce a quality value accordingly.




Then, the decision controller


110


detects the best quality value, thereby selecting the rate which is most likely for the received signal frame. Finally, the decision controller


110


provides a specific rate decoding command to decoder


112


, which in turn decodes the received signal according to the selected rate.




By eliminating the need to decode the encoded frame at all of the possible rates, system


100


reduces the amount of resources and power required for detecting the correct rate.




Reference is now made to

FIG. 6

which is a schematic illustration of a method for operating system


100


, operative in accordance with another preferred embodiment of the present invention.




In step


150


, the system receives an encoded signal.




In step


152


, the system analyzes the encoded signal at different rates, according to one of the above quality criterion. Then, the system produces a quality value Q(i) for each of the rates i (step


154


).




In step


156


, the system selects the rate which has the best quality value Q(i). It will be noted that, according to the present embodiment, the system reaches a decision for the appropriate rate without decoding the encoded signal at all.




Finally, after determining the appropriate rate, the system decodes the encoded signal according to the selected rate (step


158


) and provides a decoded signal as output for further processing.




Reference is now made to

FIG. 7

which is a schematic illustration of a rate detecting system, generally referenced


300


, constructed and operative in accordance with yet a further preferred embodiment of the invention.




System


300


includes a plurality of encoded signal quality estimating unit


302


,


304


,


306


and


308


, a decision controller


310


connected to units


302


,


304


,


306


and


308


, a decoder


312


, connected to the decision controller


310


and an erasure detection unit


314


connected to the decoder


312


.




Each of the encoded signal quality estimating units


302


,


304


,


306


and


308


analyses the encoded signal frame according to a different rate, processes it according to an encoded quality criterion as described above, produces an encoded quality value Q(i) for each of the hypothesis rates, using either and provides this quality value to the decision controller


310


.




The quality value Q(i) can be calculated using either Equation 8, with or without the smoothing expression provided in Equation 12, Equation 9, with or without the smoothing expression provided in Equation 12, Equation 16, Equation 16 with the correcting term of Equation 17, Equation 23, Equation 23 with the correcting term of Equation 24 or Equation 25.




The decision controller


310


sorts the received encoded likelihood values Q(i), determines the rate with the best encoded likelihood value Q(i) and provides it to the decoder


312


. The decoder


312


decodes the encoded signal frame, according to this rate, thereby producing a decoded signal frame and provides it to the erasure detection unit


314


.




The erasure detection unit


314


analyses the decoded signal frame so as to determine if this frame is to be allowed or erased. If this frame is to be allowed then the erasure detection unit


314


provides it to the transceiver apparatus for further processing according to the selected rate. Otherwise, the erasure detection units


314


informs the decision controller that this frame is not allowed.




The erasure detection unit


314


operates according to an erasure detection criteria which is based on CRC information, bit error rate estimation or accumulated Viterbi metric. It will be noted that the erasure criteria can also be based on a combination of CRC information, bit error rate estimation and accumulated Viterbi metric.




The decision controller


310


then selects the rate with the next best encoded quality value Q(i) and provides it to the decoder


312


. Then, the decoder


312


decodes the encoded signal frame according to this rate, thereby producing a decoded frame and provides it to the erasure detection unit


314


.




The erasure detection unit


314


analyses the frame, according to the next best encoded likelihood value, and determines if this frame is to be erased or allowed. If the erasure detection unit


314


determines that this frame is to be allowed, then it provides it to the transceiver apparatus for further processing according to this rate. Otherwise, the erasure detection unit


314


instructs the rest of the system


300


to proceed to the next encoded signal frame (i.e., the current frame is to be erased).




It will be noted that the operation of repeating decoding and detecting erasure can be performed either for all of the rates, as long as the signal frame fails the erasure test, or end at a predetermined number of quality level (i.e., for example stop after the next best quality value and proceed to the next frame).




Reference is now made to

FIG. 8

which is a schematic illustration of a method for operating system


300


, operative in accordance with yet another preferred embodiment of the present invention.




In step


350


, the system


300


receives a frame of encoded signal.




In step


352


, the system


300


analyses the encoded signal at different rates I, produces an encoded quality value Q(i) for each of the rates i (step


354


).




In step


356


, the system selects the rate with the best encoded quality value Q(i).




In step


358


, the system decodes the encoded signal frame according to the selected rates, having the best encoded quality value Q(i).




In step


360


, the system


300


determines if the decoded frame is to be either allowed or erased. If the frame is to be allowed, then this frame should be further processed according to this rate. Otherwise, the system


300


proceeds to step


364


.




In step


364


, the system selects the rate with the next best encoded quality value Q(i).




In step


366


, the system


300


decodes the encoded signal according to the current selected rate, having the next best encoded likelihood value.




In step


368


, the system determines if this frame is to be either allowed or erased. If the system


300


determines that this frame is to be allowed, then it provides the frame, together with the current selected rate, to a transceiver apparatus, in which system


300


is incorporated, for further processing according to this rate (step


372


). Otherwise, the system rejects (erases) this frame and proceeds to the next frame (step


370


).




It will be noted that steps


364


,


366


,


364


,


370


and


372


, can be duplicated for further levels of detection, for example, for the third best quality value, and the like.




It will be appreciated that the present invention provides several approaches to determine the rate of a received frame without decoding and re-encoding the frame according to all of the possible rate hypotheses. It will be noted that each of these novel and innovative approaches can be combined to produce an enhanced rate detection mechanism.




Reference is now made to

FIG. 9

, which is a schematic illustration of a system for detecting rate, generally referenced


200


, constructed and operative in accordance with another preferred embodiment of the present invention.




System


200


includes a decoded signal quality estimator


202


for rate 9600, an encoded signal quality estimator


204


, for rate 9600, encoded signal quality estimators


206


,


208


and


210


for rates 4800, 2400 and 1200, respectively, a controller


212


, a decoder


214


and an erasure detection unit


216


.




Encoded signal quality estimators


204


,


206


,


208


and


210


are connected to controller


212


and to decoded signal quality estimator


202


. Controller


212


is further connected to decoder


214


and to erasure detection unit


216


, which are further connected therebetween. The erasure detection unit


216


is also connected to a host


220


.




Decoded signal rate quality estimator


202


receives an incoming encoded signal frame, decodes it at a rate of 9600 and calculates quality values which incorporates CRC information, bit error rate and accumulated Viterbi metric or a combination of the above.




If the quality values exceed predetermined threshold values and the decoding process is complete without any CRC errors, then, the decoded signal rate quality estimator


202


provides the decoded signal to the host


220


and proceeds to the next frame. Otherwise, the decoded signal rate quality estimator


202


provides the encoded frame to encoded signal estimators


204


,


206


,


208


and


210


.




The encoded signal estimators


204


,


206


,


208


and


210


, process the encoded signal, thereby producing quality value, each for its predetermined rate and provide these values to the controller


212


. The controller


212


selects the rate with the best quality value and provides it with the encoded frame to the decoder


214


. The decoder


214


decodes the encoded frame and provides it to the erasure detection unit


216


, which in turn processes it according to an erasure criteria as set forth hereinabove.




If the erasure detection unit


216


determines that the frame is to be allowed, then it provides the decoded frame to the host


220


. Otherwise, the erasure detection unit


216


instructs the controller


212


to proceed to the rate with the next best quality value and the process of decoding and erasure detecting is repeated for this rate.




By eliminating the need to decode the encoded frame at all of the possible rates, system


200


reduces the amount of resources and power required for detecting the correct rate.




Reference is now made to

FIG. 10

which is a schematic illustration of a method for operating the system of

FIG. 9

, operative in accordance with a further preferred embodiment of the present invention.




In step


250


, the system


200


(

FIG. 9

) receives a frame of encoded signal. The system


200


processes the frame according to a hypothesis of rate=9600, thereby decoding it and producing a quality value therefore (step


252


.




In step


254


, the system


200


detects if the quality of value exceeds a predetermined threshold and that the decoding of this frame according to rate=9600 is completely without CRC errors. If so, then the system


200


proceeds to step


258


where it provides the decoded frame to a host, connected thereto. Otherwise, the system


200


proceeds to step


256


.




In step


256


, the system


200


produces an encoded signal rate quality value for each of the rates in the rate-set. It will be noted that the encoded quality value for rate=9600 determines if this frame, when predetermined as a speech frame, although probably including CRC errors, may still be used. It will further be noted that this is not possible for a data frame.




In step


260


, the system


200


, detects best quality value (be it maximized, minimized, and the like), selects the rate, associated therewith and decodes the received frame according the selected rate (step


262


).




In step


264


, the system


200


processes the decoded according to an erasure criteria. If the system


200


determines the frame as erased, then, the system


200


selects the rate with the next best quality value and repeats from step


262


. Otherwise, the system proceeds to step


258


.




In step


258


, the system


200


provides the decoded frame to a host, connected thereto.




Reference is made now to

FIG. 11

, which is a schematic illustration of a system for detecting rate, generally referenced


600


, constructed and operative in accordance with another preferred embodiment of the present invention.




System


600


includes a rate-set switch


620


, a plurality of rate estimators


602


,


604


,


606


,


608


and


610


, a plurality of decoders


612


,


614


,


616


and


618


, a controller


622


, a decoder


626


and an erasure detection unit


624


. System


600


is connected to a host


630


.




System


600


is adaptive to operate at two rate-sets, providing a specialized section for each of them. The section operative according to rate-set one includes rate estimators


602


,


604


,


606


,


608


and


610


. The section operative according to rate-set two includes decoders


612


,


614


,


616


and


618


.




Rate-set switch


620


is connected to the host


630


, rate estimator


602


, decoder


612


and to an encoded signal source (not shown). Decoded signal rate quality estimator


602


is further connected to the host


630


and to decoded signal rate quality estimator


604


. Decoded signal rate quality estimator


604


is further connected to encoded signal rate quality estimators


606


,


608


and


610


as well as to the host


630


. encoded signal rate quality estimators


606


,


608


and


610


are further connected to the controller


622


.




Decoder


612


is further connected to decoder


614


and to the host


630


. Decoder


614


is further connected to decoder


616


and to the host


630


. Decoder


616


is further connected to decoder


618


and to the host


630


. Decoder


618


is further connected to the host


630


.




The decoder


626


and the erasure detection unit


624


are connected therebetween, as well as to the controller


622


. The erasure detection unit


624


is further connected to the host


630


.




The host


630


provides a rate-set mode command to the rate-set switch


620


, for operating the system


600


according to one of the rate-sets, rate-set one or rate-set two. The rate-set switch


620


receives an encoded signal frame and provides it to decoded signal rate quality estimator


602


, when operating in rate-set one mode and to decoder


612


, when operating in rate-set two mode.




Decoded signal rate quality estimator


602


decodes the encoded signal frame according to rate=9600 and produces a quality value, associated therewith. If the quality value exceeds a predetermined value and the frame is decoded with no CRC errors, then the decoded signal rate quality estimator


602


provides the decoded frame to the host


630


. Otherwise, the decoded signal rate quality estimator


602


provides the encoded frame to decoded signal rate quality estimator


604


.




Decoded signal rate quality estimator


604


decodes the encoded signal frame according to rate=4800 and produces a quality value, associated therewith. If the quality value exceeds a predetermined value and the frame is decoded with no CRC errors, then the decoded signal rate quality estimator


604


provides the decoded frame to the host


630


. Otherwise, the decoded signal rate quality estimator


604


provides the encoded frame to encoded signal rate quality estimators


606


,


608


and


610


.




Encoded signal rate quality estimators


606


,


608


and


610


process the encoded frame according to rates of 9600, 2400 and 1200, respectively, thereby producing respective quality values and provide them to the controller


622


. The controller


622


selects the best quality value and provides the encoded signal to decoder


626


, along with a command to decode it according to the rate associated with the selected rate.




The decoder


626


produces a decoded frame and provides it to the erasure detection unit


624


, which in turn determines if the frame should be allowed or erased. If the erasure detection unit


624


determines that the frame is to be allowed, it provides it to the host


630


. Otherwise, the erasure detection unit


624


informs the controller


622


that the frame, as encoded according to the selected rate, is not allowed.




Then, the controller


622


selects the next best quality value and provides a command to the decoder


626


, so as to decode the encoded frame according to the rate associated therewith. The process of decoding the frame and detecting erasure is then repeated for this rate and optionally for the third rate until the frame, decoded according to one of the rates is either allowed or finally rejected (erased).




Decoder signal rate quality estimator


612


decodes the encoded signal frame according to rate=14400, produces a 14400 decoded quality value, associated therewith. The 14400 decoded quality value can be calculated according to either CRC information, symbol error rate, accumulated Viterbi metric or on a combination thereof.




If the 14400 decoded quality value exceeds a predetermined threshold value and the respective decoded frame does not include CRC errors, then, the decoder


612


provides the decoded frame to the host


630


. Otherwise, the decoder


612


provides the encoded signal to decoder


614


.




Decoder


614


repeats the same operations performed by decoder


612


, for rate=7200 and produces a 7200 decoded quality value. Accordingly, if the 7200 decoded quality value exceeds a predetermined threshold value and the respective decoded frame does not include CRC errors, then, the decoder


614


provides the respective decoded frame (now decoded according to rate=7200) to the host


630


. Otherwise, the decoder


614


provides the encoded signal to decoder


616


.




Decoder


616


repeats the same operations performed by decoder


614


, for rate=3600 and produces a 3600 decoded quality value. Accordingly, if the 3600 decoded quality value exceeds a predetermined threshold value and the respective decoded frame does not include CRC errors, then, the decoder


616


provides the decoded frame (now decoded according to rate=3600) to the host


630


. Otherwise, the decoder


616


provides the encoded signal to decoder


618


.




Finally, decoder


618


repeats the same operations performed by decoder


616


, for rate=1800 and produces a 1800 decoded quality value. If the 1800 decoded quality value exceeds a predetermined threshold value and the respective decoded frame does not include CRC errors, then, the decoder


618


provides the decoded frame (now decoded according to rate=1800) to the host


630


. Otherwise, the decoder


618


informs the host


630


that the encoded frame failed decoding according to all of the rates in the rate-set and as such should be erased.




By eliminating the need to detect the encoded frame at all of the possible rates, the above cascade structure, provided for system


600


, reduces the amount of resources and power required for detecting the correct rate.




As long as the frame is not allowed, the above process is repeated for the next rate, serially. Finally, if the frame is erased for these rates, then the system


600


proceeds to the next received frame.




Reference is now made to

FIG. 12

which is a schematic illustration of a method for operating the system of

FIG. 11

, operative in accordance with a further preferred embodiment of the present invention.




In step


650


, the system


600


receives a frame of encoded signal and determines, according to a predetermined host command the rate-set, according to which the frame is to be analyzed (step


652


). If the frame is to be analyzed according to rate-set one, then, the system


600


proceeds to step


654


. Otherwise, the system


600


proceeds to step


680


.




In step


654


, the system


600


produces a decoded signal rate quality value, at rate=9600.




In step


656


, the system


600


determines if the decoding quality of the frame according to this rate is high enough, by detecting if the quality value exceeds a predetermined threshold value and by detecting if the decoded frame has no CRC errors. If so, then the system proceeds to step


690


. Otherwise, the system proceeds to steps


658


and


660


, thereby repeating the process of steps


654


and


656


according to rate 4800.




If the quality according to rate=4800 is determined high then, the system proceeds to step


662


, thereby producing an encoded signal rate quality value for rates 9600, 2400 and 1200.




In step


664


, the system


600


selects the best quality value, from the ones produces in step


662


and decodes the encoded frame according to the rate associated therewith (step


666


).




In step


668


, the system


600


determines if the decoded frame, is to be erased or allowed. If the frame is to be erased, then the system


600


determines if the encoded frame is to be further analyzed according to one or two of the remaining rates (step


670


). If so, then the system


600


selects the rate with the next best quality value (step


672


) and repeats steps


666


and


668


for this selected rate.




If the system


600


determines in step


668


that the frame is allowed, then, it provides the decoded frame and rate information to a host connected thereto (step


690


).




In step


680


, the system


600


selects the highest rate in rate-set two, which in the present example (IS-95) is 14400 bits per second.




In step


682


the system


600


produces a decoded signal rate quality value at the selected rate.




In step


684


, the system


600


determines if the quality of the decoding process according to the selected rate is high enough, by detecting if the quality value exceeds a predetermined threshold value and the respective decoded frame has no CRC errors. If the quality is determined high, then, the system


600


proceeds to step


690


, where it provided the decoded frame and rate information to the host, connected thereto.




Otherwise, the system


600


detects if the selected rate is the lowest available. If not, then, the system selects the lower rate (at this stage rate=7200, followed later by rate=3600, which in turn is followed by rate=1800—the lowest rate available) and repeats from


682


.




The above quality evaluation equations are provided under the assumption that puncturing is not present, after symbol repetition. It will be noted that converting these equations for use in an environment which includes puncturing, either power control puncturing or coding puncturing (as in rate-set 2 of IS-95) requires straight forward algebraic modifications.




It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined only by the claims which follow.



Claims
  • 1. A receiver to receive a signal frame encoded at a particular one of a set of rates, the receiver comprising:a combined decoder and rate quality estimator to decode said signal frame at a predetermined rate from said set of rates, to produce a quality value for said predetermined rate, and to provide said decoded signal frame to said receiver when said quality value for said predetermined rate exceeds a predetermined threshold; and two or more rate quality estimators coupled to said combined decoder and rate quality estimator, each of said rate quality estimators having associated therewith a different one of said set of rates which is not said predetermined rate, each able to process said signal frame at its associated rate to produce a quality value for said associated rate without decoding said signal frame, wherein said receiver is able to decode said signal frame at the associated rate whose quality value is best when the quality value for said predetermined rate does not exceed said predetermined threshold.
  • 2. The receiver of claim 1, further comprising:a controller to identify said associated rate whose quality value is best.
  • 3. A receiver to receive a signal frame encoded at a particular one of a set of rates, the receiver comprising:a host; a first decoder to decode said signal frame at a first rate of said set of rates and to provide said decoded signal frame to said host if correctly decoded at said first rate; and a second decoder to receive said signal frame from said first decoder when said first decoder fails to correctly decode said signal frame, to decode said signal frame at a second rate of said set of rates, and to provide said decoded signal frame to said host if correctly decoded at said second rate.
  • 4. A receiver to receive a signal frame encoded at a particular one of a set of rates, the receiver comprising:two or more rate quality estimators each having associated therewith a different one of said set of rates and able to process said signal frame at its associated rate to produce a quality value for said associated rate without decoding said signal frame; a controller coupled to said rate quality estimators and able to select the rate whose quality value is best; a decoder coupled to said controller, said decoder able to decode said signal frame at said selected rate; and an erasure detection unit coupled to said decoder to determine whether said decoded signal frame has been decoded correctly.
  • 5. A method for determining at which of a set of rates a signal frame was encoded, the method comprising:producing a rate quality value by processing said signal frame at one of said set of rates without decoding said signal frame; and if said rate quality value does not exceed a predetermined threshold or if an erasure criteria generated by decoding said frame at said one of said set of rates is not satisfied, producing another rate quality value by processing said signal frame at another one of said set of rates.
  • 6. The method of claim 5, further comprising:decoding said signal frame at said another one of said set of rates.
  • 7. A method comprising:analyzing a signal frame at a set of rates to produce rate quality values, said signal frame encoded at a particular one of said set of rates, said signal frame including user data encoded at a power level associated with said particular rate; and selecting a rate associated with a best of said rate quality values, wherein analyzing said signal frame includes comparing said power level with user data power levels of previously analyzed signal frames.
  • 8. The method of claim 7, further comprising:decoding said signal frame at said selected rate.
  • 9. The method of claim 8, wherein decoding said signal frame comprises:generating erasure information.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 09/012,338 filed Jan. 23, 1998, now U.S. Pat. No. 6,112,325, which is incorporated herein by reference.

US Referenced Citations (38)
Number Name Date Kind
5230003 Dent et al. Jul 1993 A
5287374 Parr Feb 1994 A
5321705 Gould et al. Jun 1994 A
5341401 Farjh et al. Aug 1994 A
5453997 Roney, IV Sep 1995 A
5509020 Iwakiri et al. Apr 1996 A
5537410 Li Jul 1996 A
5544156 Teder et al. Aug 1996 A
5566206 Butler et al. Oct 1996 A
5627845 Asano et al. May 1997 A
5629934 Ghosh et al. May 1997 A
5638408 Takaki Jun 1997 A
5671255 Wang et al. Sep 1997 A
5689511 Shimazaki et al. Nov 1997 A
5710784 Kindred et al. Jan 1998 A
5751725 Chen May 1998 A
5757813 Raith May 1998 A
5757850 Takaki May 1998 A
5771226 Kaku Jun 1998 A
5796757 Czaja Aug 1998 A
5838697 Abe Nov 1998 A
5872775 Saints et al. Feb 1999 A
5878098 Wang et al. Mar 1999 A
5883923 Shimazaki Mar 1999 A
5907586 Katsuragawa et al. May 1999 A
5978414 Nara Nov 1999 A
5978428 Hayashi Nov 1999 A
6005898 Kaewell, Jr. Dec 1999 A
6029268 Kong et al. Feb 2000 A
6094465 Stein et al. Jul 2000 A
6097716 Abrishamkar Aug 2000 A
6108372 Tidemann et al. Aug 2000 A
6108374 Balachandran et al. Aug 2000 A
6111912 Cohen et al. Aug 2000 A
6175590 Stein Jan 2001 B1
6202188 Suzuki et al. Mar 2001 B1
6205130 DeJaco Mar 2001 B1
6222830 Padovani et al. Apr 2001 B1
Non-Patent Literature Citations (2)
Entry
Andrew J. Viterbi, “CDMA—Principles of Spread Spectrum Communication”, Addison-Wesley Publishing Company, 1995, pp. 84-92.
Gutierrez, et al., “A ML Rate Detection Algorithm for IS-95 CDMA”, IEEE, 1999 (3 pages).
Continuations (1)
Number Date Country
Parent 09/012338 Jan 1998 US
Child 09/583900 US