Method and apparatus for determining the rate of received data in a variable rate communication system
10 claims: 2 independent, 8 dependent
- 1A method for determining a current transmission rate of a signal in a communication system having a transmitter (16) and a receiver (22), said transmitter (16) transmitting a signal at a current rate, wherein said current rate corresponds to one of a plurality of rates, and wherein said receiver (22) generates a plurality of error check values and error rate values each based on whether said signal has one of said plurality of rates, said method comprising the steps of:determining (102) that only first and second error check values of first and second rates favorably check, wherein said first and second rates are from said plurality of rates;comparing (110;124) a first error rate value to a second error rate value plus a weighting value based on a predetermined relationship, wherein weighting values are determined for each combination of first and second rates, and said weighting value used for the comparison corresponds to said first and second rates, wherein said first and second error rate values correspond to said first and second rates;and determining (112, 114;128, 134) that said current rate of said signal is said second rate if said first error rate value has said predetermined relationship to said second error rate value plus a weighting value, and otherwise determining that said current rate is said first rate.
- 5A receiver (4) for a communication system having means for transmitting (16) a signal at a current transmission rate, wherein said current transmission rate corresponds to one of a plurality of rates, said receiver (4) comprising:means for generating a plurality of error check values each based on whether said current rate is one of said plurality of rates, wherein only first and second check values of first and second rates favorably check, and wherein said plurality of rates includes said first and second rates;means for generating a plurality of error rate values each based on whether said current rate is one of said plurality of rates, wherein first and second error rate values correspond to said first and second rates;means (30), coupled to said means for generating a plurality of error check values and said means for generating a plurality of error rate values, for comparing said first error rate value to said second error rate value plus a weighting value based on a predetermined relationship, wherein weighting values are determined for each combination of first and second rates, and said weighting value used for the comparison corresponds to said first and second rates;and means (30), coupled to said means for comparing, for determining that said current rate is said second rate if said first error rate value has said predetermined relationship to said second error rate value plus a weighting value, and otherwise determining that said current rate is said first rate.
Independent claims2
54 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
I. Field of the Invention
0001The present invention relates to communications. More particularly, the present invention relates to a method and apparatus for determining transmission rate in a variable rate transmission system.
II. Description of the Related Art
0002The use of code division multiple access (CDMA) modulation techniques is one of several techniques for facilitating communications in which a large number of system users are present. Although other techniques such as time division multiple access (TDMA), frequency division multiple access (FDMA), and AM modulation schemes such as amplitude companded single sideband (ACSSB) are known, CDMA has significant advantages over these other techniques. The use of CDMA techniques in a multiple access communication system is disclosed in <patcit id="pcit0001" dnum="US4901307A"><text>U.S. Patent No. 4,901,307</text></patcit>, entitled "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS," published on February 13, 1990 and assigned to the assignee of the present invention.
0003The use of CDMA techniques in a multiple access communication system is further disclosed in <patcit id="pcit0002" dnum="US5103459A"><text>U.S. Patent No. 5,103,459</text></patcit>, entitled "SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM", assigned to the assignee of the present invention and published on April 7, 1992.
0004CDMA by its inherent nature of being a wideband signal offers a form of frequency diversity by spreading the signal energy over a wide bandwidth. Therefore, frequency selective fading affects only a small part of the CDMA signal bandwidth. Space or path diversity is obtained by providing multiple signal paths through simultaneous links from a mobile user through two or more cell-sites. Furthermore, path diversity may be obtained by exploiting the multipath environment through spread spectrum processing by allowing a signal arriving with different propagation delays to be received and processed separately. Examples of path diversity are illustrated in <patcit id="pcit0003" dnum="US5101501A"><text>U.S. Patent No. 5,101,501</text></patcit> entitled "METHOD AND SYSTEM FOR PROVIDING A SOFT HANDOFF IN COMMUNICATIONS IN A CDMA CELLULAR TELEPHONE SYSTEM", and <patcit id="pcit0004" dnum="US5109390A"><text>U.S. Patent No. 5,109,390</text></patcit> entitled "DIVERSITY RECEIVER IN A CDMA CELLULAR TELEPHONE SYSTEM", both assigned to the assignee of the present invention.
0005CDMA systems often employ a variable rate vocoder to encode data so that the data rate can be varied from one data frame to another. An exemplary embodiment of a variable rate vocoder is described in <patcit id="pcit0005" dnum="US5414796A"><text>U.S. Pat. No. 5,414,796</text></patcit>, entitled "VARIABLE RATE VOCODER," assigned to the assignee of the present invention. The use of a variable rate communications channel reduces mutual interference by eliminating unnecessary transmissions when there is no useful speech to be transmitted. Algorithms are utilized within the vocoder for generating a varying number of information bits in each frame in accordance with variations in speech activity. For example, a vocoder with a rate set of four may produce 20 millisecond data frames containing 20, 40, 80, or 160 bits, depending on the activity of the speaker. It is desired to transmit each data frame in a fixed amount of time by varying the transmission rate of communications. Additional details on the formatting of the vocoder data into data frames are described in <patcit id="pcit0006" dnum="US5511073A"><text>U.S. Pat. No. 5,511,073</text></patcit>, entitled "METHOD AND APPARATUS FOR THE FORMATTING OF DATA FOR TRANSMISSION," assigned to the assignee of the present invention.
0006One technique for the receiver to determine the rate of a received data frame is described in <patcit id="pcit0007" dnum="US5566206A"><text>U.S. patent No. 55 66 206</text></patcit>, entitled "METHOD AND APPARATUS FOR DETERMINING DATA RATE OF TRANSMITTED VARIABLE RATE DATA IN A COMMUNICATIONS RECEIVER," issued on October 15, 1996, assigned to the assignee of the present invention. Another technique is described in <patcit id="pcit0008" dnum="WO9508888A"><text>WO 9508888</text></patcit>, entitled "MULTIRATE SERIAL VITERBI DECODER FOR CODE DIVISION MULTIPLE ACCESS SYSTEM APPLICATIONS," published on March 30, 1995 assigned to the assignee of the present invention. According to these techniques, each received data frame is decoded at each of the possible rates. Error metrics, which describe the quality of the decoded symbols for each frame decoded at each rate, are provided to a processor. The error metrics may include Cyclic Redundancy Check (CRC) results, Yamamoto Quality Metrics, and Symbol Error Rates. These error metrics are well-known in communications systems. The processor analyzes the error metrics and determines the most probable rate at which the incoming symbols were transmitted.
0007Attention is drawn to the document <patcit id="pcit0009" dnum="WO9501032A"><text>WO 95/01032</text></patcit>, which describes s system for determining the rate at which data has been encoded in the receiver of a variable-rate communications system. The data is received in symbols that are grouped in frames. When data is transmitted at full rate, the frame is filled with symbols. When the data is transmitted at less than full rate, symbols are repeated within a frame until the frame is full or the symbols are spaced apart within a frame. At an encoding rate of one fourth the full rate, for example, each symbol in the frame is repeated four times or data is transmitted one quarter of the time. The incoming frames are decoded and re-encoded, for example by encoder, at each possible data rate: A comparator compares the re-encoded symbols with the originally received symbols and a counter counts the number of symbol errors. Each decoding process produces an indication of the quality of the decoding process which may include Cyclic Redundancy Check (CRC) results or Yamamoto Quality Metrics. The counted errors and the quality indication comprise an error metric which is passed to a processor. The processor analyzes the error metric for each data rate and determines the most probable rate at which the incoming symbols were encoded.
SUMMARY OF THE INVENTION
0008In accordance with the present invention a method for determining a current transmission rate of a signal, as set forth in claim 1, and a receiver, as set forth in claim 5, are provided. Embodiments of the invention are claimed in the dependent claims.
0009The present invention provides a novel and improved apparatus and method for decoding data. The apparatus and method are employed in a communications system having a transmitter and a receiver, where the receiver determines at which of several rates individual frames in a signal has been transmitted by the transmitter. For example, if the transmitter employs four transmission rates, the receiver decodes each frame of the received signal based on the four rates to produce four cyclic redundancy check (CRC) bits, four symbol error rate (SER) values and one or more Yamamoto check values. If the CRC checks for only two rates, then the receiver compares to each other the SER values for those two rates to determine at which of the two rates a current frame was transmitted. If the CRC checks for only one rate, then the SER value for that rate is compared with a maximum SER threshold for that rate. Additionally, SER values for the other rates can be compared to minimum SER thresholds. Furthermore, the Yamamoto check values can be analyzed to determined whether looser or tighter minimum and maximum SER thresholds should be employed if the Yamamoto values check for the current rate, or do not check, respectively.
0010Broadly stated, the present invention embodies a method for use in a communication system having a transmitter and a receiver. The transmitter transmits a signal at a current rate, wherein the current rate corresponds to one of a plurality of rates. The receiver generates a plurality of check error values and error rate codes, and at least one decoding code, each based on whether the signal has one of the plurality of rates. The method determines the current rate of the signal and includes the steps of: (a) determining if only a first check value of a selected rate favorably checks, wherein the selected rate is one of the plurality of rates; (b) determining if the selected rate corresponds to a predetermined rate; (c) if the selected rate corresponds to the predetermined rate, comparing a selected decoding code to a selected value; (d) if the selected rate does not correspond to the predetermined rate, comparing a selected error rate code to a first value based on a predetermined operational relationship, wherein the selected rate code corresponds to the selected rate; (e) if the selected decoding code corresponds to the selected value, comparing the selected error rate code to a second value based on the predetermined operational relationship; (f) if the selected decoding code does not correspond to the selected value, comparing the selected error rate code to a third value based on the predetermined operational relationship; and (g) determining that the current rate of the signal is the selected rate if the selected error rate code has the predetermined operational relationship to the first, second or third values.
0011Broadly stated, the present invention also embodies a method for determining the current rate of the signal having the steps of: (a) determining that only first and second error check values of first and second rates favorably check, wherein the first and second rates are from the plurality of rates; (b) comparing a first error rate code to a second error rate code plus a first value based on a predetermined operational relationship, wherein the first and second error rate codes correspond to the first and second rates; and (c) determining that the current rate of the signal is the second rate if the first error rate code has the predetermined operational relationship to the second error rate code plus a first value, and otherwise determining that the current rate is the first rate.
BRIEF DESCRIPTION OF THE DRAWINGS
0012The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein: <ul id="ul0001" list-style="none" compact="compact"><li><figref idref="f0001">FIG. 1</figref> is a block diagram of the communication system of the present invention;</li><li><figref idref="f0002">FIG. 2</figref> is a flowchart illustrating a method for selecting the decoded frame when the CRC checks for two different rates;</li><li><figref idref="f0003">FIG. 3</figref> is a flowchart illustrating an alternative method for selecting the decoded frame when the CRC checks for two different rates;</li><li><figref idref="f0004">FIG. 4</figref> is a flowchart illustrating a method for selecting the decoded frame when the CRC checks for one rate;</li><li><figref idref="f0005">FIG. 5</figref> is a flowchart illustrating an alternative method for selecting the decoded frame when the CRC checks for one rate; and</li><li><figref idref="f0006">FIG. 6</figref> is a plot of rate decision regions for symbol error rates i and j where the CRC checks for both rates i and j.</li></ul>
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
0013Referring to <figref idref="f0001">FIG. 1</figref>, a remote transmission system <b>2</b> transmits data to a remote receiving system <b>4.</b> In an exemplary embodiment, the present invention is implemented in a wireless communication system which communicates using spread spectrum modulation signals. Communication using spread spectrum communication systems is described in detail in the aforementioned <patcit id="pcit0010" dnum="US4901307A"><text>U.S. Patents 4,901,307</text></patcit> and <patcit id="pcit0011" dnum="US5103459A"><text>5,103,459</text></patcit>.
0014A variable rate data source <b>6</b> provides variable rate data frames for transmission to a Cyclic Redundancy Check (CRC) and Tail Bit Generator <b>8.</b> In the exemplary embodiment, the data source <b>6</b> is a variable rate vocoder for encoding speech information at four variable rates as described in detail in the aforementioned <patcit id="pcit0012" dnum="US5414796A"><text>U.S Patent No. 5,414,796</text></patcit>. When used, for example, in a cellular telephone environment, the signal is transmitted at the full rate to transmit speech (<i>i</i>.<i>e</i>., when a user is talking) and is transmitted at the eighth rate to transmit silence (<i>i</i>.<i>e</i>., when the user is not talking). The eighth rate saves on the number of bits transmitted, and thereby saves on power. In general, 90% of the signals transmitted by the transmitter <b>2</b> to the receiver <b>4</b> are either at the full or one-eighth rate. The one-half and one-quarter rates represent transitional rates between the full and eighth rates.
0015The generator <b>8</b> generates a set of CRC bits to provide for error detection at the receiver as is well known in the art. In addition, the generator <b>8</b> appends a sequence of tail bits to the frame. In the exemplary embodiment, the generator <b>8</b> generates the set of CRC and tail bits in accordance with the Telecommunications Industry Association's <u style="single">TIA/EIA/IS-95-A Mobile Stations-Base Station Compatibilty Standard for Dual-Mode Wideband Spread Spectrum Cellular System.</u>
0016The data frame is provided by the generator <b>8</b> to an encoder <b>10</b> which encodes the data as symbols for error correction and detection at the receiver. In the exemplary embodiment, the encoder <b>10</b> is a rate 1/2 convolutional encoder. The encoded symbols are provided to an interleaver <b>12,</b> which reorders the encoded symbols in accordance with a predetermined interleaving format. In the exemplary embodiment, the interleaver <b>12</b> is a block interleaver, the design and implementation of which is well known in the art.
0017The reordered frame is then provided to a modulator <b>14</b> which modulates the frame for transmission. In the exemplary embodiment, the modulator <b>14</b> is a CDMA modulator, the implementation of which is described in detail in the aforementioned <patcit id="pcit0013" dnum="US4901307A"><text>U.S. Patents 4,901,307</text></patcit> and <patcit id="pcit0014" dnum="US5103459A"><text>5,103,459</text></patcit>. The modulated data frame is provided to a transmitter (TMTR) <b>16.</b> The transmitter <b>16</b> upconverts and amplifies the signal for transmission through an antenna <b>18.</b>
0018The transmitted signal is received by an antenna <b>20</b> of a remote station <b>4</b>, such as a cellular phone, and provided to a receiver (RCVR) <b>22</b> which down converts and amplifies the received signal. The received signal is then provided to a demodulator (DEMOD) <b>24</b> which demodulates the signal. In the exemplary embodiment, the demodulator <b>24</b> is a CDMA demodulator <b>24,</b> the implementation of which is described in detail in the aforementioned <patcit id="pcit0015" dnum="US4901307A"><text>U.S. Patents 4,901,307</text></patcit> and <patcit id="pcit0016" dnum="US5103459A"><text>5,103,459</text></patcit>.
0019The demodulated signal is then provided to a diversity combiner <b>26.</b> The diversity combiner <b>26</b> combines the demodulated signal from the demodulator <b>24</b> with demodulated signals from other demodulators (not shown) which demodulate the same signal except provided on a different propagation path. The design and implementation of the diversity combiner <b>26</b> is described in detail in the aforementioned <patcit id="pcit0017" dnum="US5109390A"><text>U.S. Patent No. 5,109,390</text></patcit>. The diversity combined signal is provided to a de-interleaver <b>28</b> which re-orders the symbols in the frame in accordance with a predetermined re-ordering format as is well known in the art.
0020The re-ordered frame is then provided to a multi-rate decoder <b>30,</b> which provides error correction on the frame of symbols. The decoder <b>30</b> decodes the data based on a predetermined set of rate hypotheses. In the exemplary embodiment, the decoder <b>30</b> is a multi-rate Viterbi decoder as is described in detail in the aforementioned <patcit id="pcit0018" dnum="WO9508888A"><text>WO 9508888</text></patcit>.
0021In the exemplary embodiment, the decoder <b>30</b> decodes the symbols for each of the four possible rates to provide four separately decoded frames of data, each of which is provided to a CRC check detector <b>32.</b> The CRC check detector <b>32</b> determines under conventional techniques whether the cyclic redundancy check bits for each frame are correct for the decoded data. The CRC check detector <b>32</b> performs a CRC check for the CRC bits in the four decoded frames to help determine whether the currently received frame was transmitted at the full, half, quarter or eighth rates. As a result, the CRC check detector <b>32</b> provides four check bits, C<sub>1</sub>, C<sub>2</sub>, C<sub>4</sub> and C<sub>8</sub>, where a binary value of "1" for a given CRC check bit can indicate that the CRC check matched or checked, while a binary value of "0" can indicate that the CRC bits did not check. As used generally herein, the subscript or indication "1" corresponds to the full rate, "2" corresponds to the half rate, "4" corresponds to the quarter rate and "8" corresponds to the eighth rate.
0022In addition, the decoder <b>30</b> provides the decoded data to a symbol error rate (SER) check detector <b>34.</b> The SER detector <b>34</b> receives the decoded bits and an estimate of the received symbol data from the decoder <b>30.</b> As is known, the SER detector <b>34</b> re-encodes the decoded bits, and compares them to the estimate of the received symbol data from the decoder <b>30.</b> The SER is a count of the number of discrepancies between the re-encoded symbol data and the received symbol data. Therefore, the SER detector <b>34</b> generates four SER values: SER<sub>1</sub>, SER<sub>2</sub>, SER<sub>4</sub> and SER<sub>8</sub>. For processing efficiency, the SER detector <b>34</b> provides SER values having a maximum value of <b>255.</b> In addition to the CRC bits, the SER values help provide a determination of the rate of the current frame transmitted by the transmitter <b>2,</b> and whether the frame has errors.
0023Furthermore, the decoder <b>30</b> provides information to a Yamamoto check detector <b>36</b> which provides a confidence metric based on the difference between the selected path through a trellis and the next closest path through the trellis. While the CRC check is dependent on the bits in each of the four decoded frames, the Yamamoto check is dependent on the decoding process of the receiver <b>4.</b> The Yamamoto detector <b>36,</b> as with the detectors <b>32</b> and <b>34,</b> provides four Yamamoto values for each of the four possible rates: Y<sub>1</sub>, Y<sub>2</sub>, Y<sub>4</sub> and Y<sub>8</sub>. Although the detectors <b>32,34</b> and <b>36</b> are shown as separate elements, the detectors can be incorporated within the hardware of the decoder <b>30</b>.
0024A control processor receives the CRC check bits, SER values and Yamamoto values from the detectors <b>32, 34</b> and <b>36,</b> respectively. The processor then determines at which of the four rates the currently received frame was sent. The decoder <b>30</b> provides four decoded frames for storage in a decoded frame buffer, where each of the four frames is decoded under one of the four rates. Based on the rate determined by the processor, the control processor provides a signal to the decoded frame buffer, which in response thereto, outputs the stored frame decoded at the determined rate or outputs no frame if an erasure is declared. In an alternative embodiment, decoder frame buffer outputs a signal indicative of a frame erasure if an erasure is declared.
0025Under the communication system of <figref idref="f0001">FIG. 1</figref>, the signal transmitted by the transmitter <b>2</b> to the receiver <b>4</b> can rapidly change between the four rates. As a result, the transmitter <b>2</b> does not include within the transmitted signal an actual indication as to the rate at which the signal is currently being transmitted. To do so would require unnecessary bandwidth. Therefore, the transmitter <b>2</b> transmits a frame at a current rate (selected from one of the four rates), and a control processor and the decoder <b>30</b> of the receiver <b>4,</b> under routines described below, determine at which of the four rates the currently received frame was sent or whether an erasure should be declared (<i>i</i>.<i>e</i>., whether the current frame was sent at the full, half, quarter or eighth rate). The decoder <b>30</b> then decodes the one of the four decoded frames which has the determined rate and outputs a decoded signal. The appropriately decoded signal can then be input to, for example, a vocoder, amplifier and speaker (not shown) to output a voice signal to be heard by a user of the receiver <b>4.</b>
0026The control processor, coupled to at least the decoder 30, operates in conjunction with the methods illustrated in the flow diagrams of <figref idref="f0002 f0003 f0004 f0005">FIGS. 2-5</figref> to select the appropriate decoded frame to be output or provided to the user, or to declare the current frame an erasure condition. While the control processor and decoder <b>30</b> are shown as separate elements, the control processor and decoder can be incorporated together to form a single decoder.
0027Referring to <figref idref="f0002">FIG. 2</figref>, an exemplary routine <b>100</b> performed by the processor first determines in step 102 whether the CRC checks for two of the four rates. For example, if the processor determines that the CRC for the full and eighth rates check (<i>i</i>.<i>e</i>., bits C<sub>1</sub> = C<sub>8</sub> = 1), but the CRCs do not check for the half and quarter rates (<i>i</i>.<i>e</i>., bits C<sub>2</sub> = C<sub>4</sub> =0), then the processor 38 determines that step <b>102</b> is satisfied. If the CRCs for exactly two rates check in step <b>102,</b> then the current frame can have three possible interpretations: it could be erased, it could have been transmitted at a first rate i corresponding to the first rate that checked its CRC, or it could have been transmitted at a second rate j corresponding to the second rate that checked its CRC.
0028However, if the CRCs for less than two or greater than two of the rates check, then in step <b>104,</b> the processor determines whether the CRC for exactly one rate checks. If so, then in step <b>108,</b> the processor performs a one CRC check routine as described below. However, if the CRCs for none of the rates check, or if the CRCs for three or four rates check, then in step 106, the processor declares the currently received frame an erasure. In general, if the CRCs for none of the rates check, then the current frame is erased. Alternatively, if the CRCs for three or four of the rates check, then, while the processor could still determine the current rate of the currently received frame, such a determination is computationally difficult, can have a higher probability of error, and generally requires too much processing overhead to rapidly and accurately determine the rate for the current frame. Therefore, it is simply easier for the processor to declare the current frame an erasure.
0029If the CRCs for two rates check in step <b>102,</b> then in step <b>110,</b> the processor compares the SER values for the two rates that checked in step <b>102.</b> For example, if the CRCs for the full and eighth rates check in step <b>102,</b> then the processor in step <b>110</b> determines whether the SER value for the full rate (SER<sub>1</sub>) is greater than or equal to the SER value for the eighth rate (SER<sub>8</sub>) plus a weighting value W determined based on the full and eighth rates (W<sub>1,8</sub>). In general, the processor under step <b>110</b> compares the SERs based on the following equation: <maths id="math0001"><math display="block"><msub><mi>SER</mi><mi mathvariant="normal">i</mi></msub><mo>≥</mo><msub><mi>SER</mi><mi mathvariant="normal">j</mi></msub><mo>+</mo><msub><mi mathvariant="normal">W</mi><mrow><mi mathvariant="normal">i</mi><mo>,</mo><mi mathvariant="normal">j</mi></mrow></msub><mo>,</mo></math><img file="EP1478144B1_D0001.tif" /></maths> where i and j refer to the two rates corresponding to the two rates that checked under step <b>102.</b>
0030The weighting or scaling value W can have one of six possible values, since i and j can have one of four possible values based on the four rates (<i>i</i>.<i>e</i>., W<sub>1,2</sub>, W<sub>1,4</sub>, W<sub>1,8</sub>, W<sub>2,4</sub>, W<sub>2,8</sub>, and W<sub>4,8</sub>). Additionally, the weighting value W can have a value ranging from -255 to +255 since the SER values have a maximum value of <b>255.</b> The weighting value W is generally necessary because, fof the different probability densities of the SERs for the possible rates, and the differences in the chances of the CRC checking given the different actual frame rates from the transmitter. The weighting value W is preferably established based on empirical data provided through experimentation. By establishing a target acceptable error rate, and testing the response of the communication system of <figref idref="f0001">FIG. 1</figref> under the four rates, empirical data resulting therefrom is used to determine a weighting value W for each of the six combination of rates.
0031In general, the weighting value W provides an increased level of confidence as to which of the two rates the currently received frame was transmitted. Simply determining that the current rate is equal to the rate having the lower SER can result in incorrectly determining the rate of the current frame. Therefore, the SER<sub>i</sub> value must be less than the SER<sub>j</sub> value plus a weighting factor for the processor to determine that the rate of the currently received frame is equal to the rate I.
0032Sometimes, it is less desirable to decode a current frame at an incorrect rate than to declare a current frame an erasure. This is accomodated in the present invention. If a current frame is decoded at the wrong rate, the decoder <b>30</b> will output a noisy signal that can be amplified and broadcast to a user's ear. Such a noisy signal can be perceptually undesirable to a user. As a result, the present invention sacrifices a little higher frame erasure rate, in exchange for not decoding a current frame at the wrong rate. Nevertheless, the receiver <b>4</b> preferably attempts to maintain a frame erasure rate of less than 1%. Preferably, the probability of the wrong rate being determined under the routines described herein are less than or equal to 10<sup>-5</sup>.
0033If the SER<sub>i</sub> value is greater than or equal to the SER<sub>j</sub> value plus the weighting value W<sub>i,j</sub>, then in step <b>112,</b> the processor determines that the rate of the current frame received from the transmitter <b>2</b> is at the rate i. Alternatively, if the SER<sub>i</sub> value is less than the SER<sub>j</sub> value plus W<sub>i,j</sub>, then in step <b>114,</b> the processor determines that the rate of the current frame received from the transmitter <b>2</b> is equal to the rate j. In the above example, where i and j correspond to the full and eighth rates, respectively, if the SER<sub>1</sub> value is greater than or equal to the SER<sub>8</sub> value plus the weighting value W<sub>1,8</sub>, then the rate of the currently received frame is equal to the full rate under step <b>112,</b> otherwise, the rate is equal to the one-eighth rate under step <b>114.</b> After determining the rate of the current frame, the processor provides an appropriate signal to the buffer, which in response thereto, outputs the frame decoded corresponding to the determined rate or no frame if an erasure is declared.
0034An alternative embodiment according to the present invention for determining the received signal rate where two of the four rates check is shown in <figref idref="f0003">FIG. 3</figref> as a routine <b>120.</b> This and other alternative embodiments described below are similar to their corresponding previously described embodiment, and common steps are identified by the same reference numerals. Only the significant differences in operation are described in detail.
0035Referring to <figref idref="f0003">FIG. 3</figref>, the routine <b>120</b> performs the same steps <b>102,104, 106</b> and <b>108</b> as described above with respect to the routine <b>100.</b> In step <b>124,</b> if the CRCs for two of the rates check under step <b>102,</b> then the processor employs a more accurate comparison between the SER values for the two rates identified under step <b>102</b> to further ensure that the current frame is decoded under the appropriate rate. Specifically, the processor in step <b>124</b> employs a multiplicative factor k<sub>i,j</sub> in equation (1) above, to provide the following comparative function: <maths id="math0002"><math display="block"><msub><mi>SER</mi><mi mathvariant="normal">i</mi></msub><mo>≥</mo><msub><mi mathvariant="normal">k</mi><mrow><mi mathvariant="normal">i</mi><mo>,</mo><mi mathvariant="normal">j</mi></mrow></msub><mo>*</mo><msub><mi>SER</mi><mi mathvariant="normal">j</mi></msub><mo>+</mo><msub><mi mathvariant="normal">W</mi><mrow><mi mathvariant="normal">i</mi><mo>,</mo><mi mathvariant="normal">j</mi></mrow></msub><mn>.</mn></math><img file="EP1478144B1_D0002.tif" /></maths> As with the weighting value W, the multiplicative factor k<sub>i,j</sub> is preferably determined through experimentation based on empirical data for the four transmission rates. Therefore, six possible multiplicative factors are possible based on the four transmission rates (<i>i</i>.<i>e</i>., k<sub>1,2</sub>, k<sub>1,4</sub>, k<sub>1,8</sub>, k<sub>2,4</sub>, k<sub>2,8</sub>, and k<sub>4,8</sub>). The multiplicative factor k can simply be a normalization factor so that, for example, if i is equal to full and j is equal to half, then k<sub>1,2</sub> would be equal to two to normalize the half rate SER<sub>2</sub> value with respect to the SER<sub>1</sub> value. Alternatively, the multiplicative factor k can include not only a normalization factor, but compensate for differences between the different transmission rates, as described below.
0036Referring to <figref idref="f0006">FIG. 6</figref>, a simplified diagram is shown of rate decision regions for SER values SER<sub>i</sub> and SER<sub>j</sub>, where CRCs for rates i and j check. In general, a line SER<sub>i</sub> = k<sub>i,j</sub> * SER<sub>j</sub> + W<sub>i,j</sub> separates an SER<sub>i</sub> region <b>140</b> from an SER<sub>j</sub> region <b>142.</b> As a result, the multiplicative factor k<sub>i,j</sub> determines the slope of the line, while the weighting value W<sub>i,j</sub> determines its offset from the origin (its Y-axis intercept). In general, the multiplicative factor k and weighting value W vary the decision range for areas <b>140</b> and <b>142.</b> If, for example, the SER<sub>i</sub> value for the current frame is less than the SER<sub>j</sub> value, this frame provides a point above the line SER<sub>i</sub> = k<sub>i,j</sub> * SER<sub>j</sub> + W<sub>i,j</sub> and in the SER<sub>j</sub> region <b>142.</b> Under such an example, the rate of the received frame is then likely equal to j.
0037One can build probability density curves based on the empirical data collected through experimentation and define a target acceptable error rate. Thereafter, one can integrate under a portion of the probability density curves, below the target acceptable error rate, to determine minimum and maximum SER threshold values (discussed below), for each rate. The empirical data can be input to spreadsheets and known numerical analysis techniques can be employed under the spreadsheets to provide optimized values below the target acceptable error rate. In sum, one can determine through experimentation the probabilities that the current rate is i based on given SER values, where these probabilities are then plotted based on the SER<sub>i</sub> value and the SER values for the other rates (<i>e</i>.<i>g</i>., SER<sub>j</sub>).
0038In general, the routine <b>120</b> and the other routines described herein employ functions based on two rates and two SERs, SER<sub>i</sub>, SER<sub>j</sub> (i.e. f(i, j, SER<sub>i</sub>, SER<sub>j</sub>). Under the exemplary embodiment, the present invention employs linear equations such as equation (2) above, and as represented in <figref idref="f0006">FIG. 6</figref>. The weighting value W, the multiplicative factor k, and the maximum and minimum SER thresholds (discussed below) are preferably stored in memory as a look-up table (not shown) to be accessed by the processor.
0039In step <b>124,</b> the processor essentially determines on which side of the line in <figref idref="f0006">FIG. 6</figref> a point defined by the two SER values (SER<sub>i</sub>, SER<sub>j</sub>) exists, to thereby determine the most likely rate for the currently received frame. If the SER<sub>i</sub> value is less than k<sub>i,j</sub> times the SER<sub>j</sub> value plus W<sub>i,j</sub>, then in step <b>126,</b> the processor determines whether the SER<sub>i</sub> is greater than a maximum acceptable SER threshold for rate i (<i>i</i>.<i>e</i>., MaxSER<sub>i</sub>). In general, there is a maximum SER threshold value for the given rate beyond which the probability of error (of decoding at the incorrect rate) is unacceptable. As noted above, the maximum SER thresholds, shown in <figref idref="f0006">FIG. 6</figref>, are determined based on empirical data derived through experimentation with the four rates. If the SER<sub>i</sub> value is less than the maximum SER<sub>i</sub> threshold, then the processor in step <b>128</b> determines that the rate of the currently received frame is equal to i. If, however, the SER<sub>i</sub> value is greater than or equal to the maximum SER<sub>i</sub> threshold, then in step <b>130</b> the processor determines that the current frame is an erasure.
0040If, under step <b>124,</b> the processor determines that the SER<sub>i</sub> value is greater than or equal to k<sub>i,j</sub> times the SER<sub>j</sub> value plus W<sub>i,j</sub>, then in step <b>132,</b> the processor determines whether the SER<sub>j</sub> value is greater than or equal to a maximum SER threshold for rate j (<i>i</i>.<i>e</i>., MaxSER<sub>j</sub>). If so, the processor in step <b>130</b> determines that the current frame is erased. However, if the SER<sub>j</sub> value is less than the maximum SER<sub>j</sub> threshold, then in step <b>134</b> the processor determines that the current frame was transmitted at the rate j.
0041Referring to <figref idref="f0004">FIG. 4</figref>, a routine <b>200</b> is performed by the processor if the CRC for only one rate checks. As with step <b>104</b> (<figref idref="f0002">FIG. 2</figref>), the processor in step <b>202</b> first determines whether the CRC for exactly one rate checks. If not, then in step <b>203,</b> the processor declares the current frame to be an erasure, or performs the two CRC check routine <b>100</b> or <b>120,</b> as discussed above. If the CRC checks for only one rate under step <b>202,</b> the processor under the routine <b>200</b> employs additional steps to confirm that the rate which checked under step <b>202</b> is in fact the correct rate for the current frame. Therefore, in step <b>204,</b> the processor determines whether the rate which checked under step <b>202</b> corresponds to the eighth rate (<i>i</i>.<i>e</i>., i =8). If not, then in step <b>206,</b> the processor determines whether the SER value for the determined rate is greater than or equal to a maximum SER threshold for that rate (<i>i</i>.<i>e</i>., SER<sub>i</sub> ≥ MaxSER<sub>i</sub>). If it is less than the maximum, then in step 208, the processor determines that the rate of the currently received frame is equal to i; otherwise, in step <b>210,</b> the processor declares an erasure.
0042If in step <b>204</b> the processor determines that the indicated rate is equal to the eighth rate, then in step <b>212,</b> the processor examines the Yamamoto value for the eighth rate (Y<sub>8</sub>). As is known, a frame at the eighth rate has fewer CRC bits than frames at the other rates, and as a result, the CRC more often. Therefore, the routine <b>200</b> employs additional checks to confirm that the current frame was transmitted at the eighth rate. Consequently, in step <b>212,</b> if the Yamamoto value for the eighth rate checks (<i>i</i>.<i>e</i>., provides a binary "1" value to the decoder <b>30</b>), then the processor has an increased level of confidence that the rate of the current frame is the eighth rate. Therefore, in step <b>214,</b> the processor employs a larger or looser maximum SER value for the determined rate. Such a looser maximum SER threshold improves the probability that subsequent steps under the routine <b>200</b> will appropriately determine that the current frame was transmitted at the eighth rate.
0043Conversely, if the Yamamoto value does not check in step <b>212,</b> then in step <b>216</b> the processor selects a smaller or tighter maximum SER value for the eighth rate. If the Yamamoto value does not check, the processor expects the current frame to be an erasure, and therefore makes subsequent comparisons more stringent to ensure that the current frame is determined to have been transmitted at the eighth rate under only the most stringent of comparisons. Under step <b>206,</b> the processor employs the looser maximum SER value from step <b>214,</b> or the tighter maximum SER value from step <b>216,</b> and compares it to the eighth rate SER to determine whether the frame is erased (step <b>210</b>) or confirms that the current frame was transmitted at the eighth rate (step <b>208</b>).
0044Referring to <figref idref="f0005">FIG. 5</figref>, a more detailed analysis is shown as a routine <b>220.</b> The processor under the routine <b>220</b> performs the steps <b>202, 204,</b> and <b>206</b> as discussed above. Thereafter, however, under steps <b>228, 230,</b> and <b>232,</b> the processor compares the SER values for the three rates which did not check under step <b>202</b> (<i>i</i>.<i>e</i>., rates j, k, and l), to minimum SER thresholds. This reduces the chances that one of the rates decoded with a low SER is actually the correct rate though the CRC did not check for that rate. The steps <b>228, 230</b> and <b>232</b> determine if the SER values for the other rates are greater than minimum thresholds for that rate, and if so, declare an erasure because the probability that the current frame was transmitted at that rate outweighs the probability that the current frame was transmitted at rate i.
0045Therefore, in step <b>228,</b> the processor determines whether the SER<sub>j</sub> value is less than or equal to the minimum SER threshold for the determined rate i and the rate j (<i>i</i>.<i>e</i>., SER<sub>i,j</sub>). If it is, then the processor declares the current frame an erasure under step <b>227.</b> The reason for doing so is that the low SER of another rate (j) indicates an increased probability that the frame was transmitted at that rate (j). If it isn't, then under steps <b>230</b> and <b>232,</b> the processor compares the last two SER values (for rates k and l) to corresponding minimum SER thresholds for the rate i and rates k or l (SER<sub>i,k</sub> and SER<sub>i,l</sub>), respectively. If the SER<sub>k</sub> or SER<sub>l</sub> values are less than the minimum thresholds under steps <b>230</b> or <b>232,</b> then the processor declares a current frame an erasure under step <b>227.</b> However, if such SER values are greater than the minimum, then in step <b>234</b> the processor determines that the current frame was transmitted at rate i.
0046As under the routine <b>200,</b> if the rate which checked under step <b>202</b> is determined to be the eighth rate in step <b>204,</b> then the processor checks the Yamamoto values for the eighth rate under step <b>212</b> as discussed above. Therefore, if the Yamamoto value for the eighth rate checks, then in step <b>238</b> the processor not only employs a looser maximum SER threshold for the determined rate (the eighth rate), but also employs looser minium SER thresholds for the determined and nondetermined rates (<i>i</i>.<i>e</i>., looser Min. SER<sub>i,j</sub>, SER<sub>i,k</sub> and SER<sub>i,l</sub>). Similarly, under step <b>240,</b> if the Yamamoto value does not check under step <b>212,</b> then in step <b>240</b> the processor not only employs a tighter maximum SER<sub>i</sub> threshold, but tighter minimum SER thresholds for the other rates (<i>i</i>.<i>e</i>., tighter Min. SER<sub>i,j</sub>, SER<sub>i,k</sub> and SER<sub>i,l</sub>). Therefore, for the eighth rate, the threshold lookup table employed by the processor includes two maximum threshold values for the eighth rate, and two sets of three minimum threshold values to be employed under steps <b>238</b> and <b>240.</b>
0047Various alternatives to the various routines are available. For example, rather than simply comparing the determined and other SER values under steps <b>206, 228, 230</b> and <b>232</b> of the routine <b>220,</b> the processor can compare the particular SER value to a linear function by multiplying the minimum or maximum SER threshold by the multiplicative factor k, and adding an appropriate weighting value W. For example, under step <b>206,</b> the processor can compare the SER value SER<sub>i</sub> to the function k<sub>i</sub>*MaxSER<sub>i</sub> + W<sub>i</sub>, while under step <b>228,</b> the processor can compare the SER<sub>j</sub> value to the function k<sub>i,j</sub>* MinSER<sub>i,j</sub> + W<sub>i,j</sub>. Moreover, a nonlinear function can be employed under steps <b>206-232.</b> However, any improvement provided by a nonlinear function will likely, at best, provide only a small incremental benefit to the routine <b>220</b> and will lead to processing complexity and thus increased processing time.
0048While the Yamamoto values are checked only for the eighth rate, the routine <b>220</b> can be modified so that the Yamamoto values for the other rates are also checked. As a result, corresponding tighter or looser maximum and minimum SER thresholds would be employed for each of the other rates. A larger lookup table would therefore be required under such an alternative embodiment by the processor. Additionally, the routines <b>100,120, 200</b> can employ such above alternatives, such as employing the Yamamoto check for each rate.
0049Rather than employing a lookup table having the weighting values W, multiplicative factors k, and minimum and maximum SER thresholds, such values could be algorithmically computed under appropriate equations. However, such equations are complex, and would require significant overhead of the processor <b>38.</b> As a result, a faster, and therefore more expensive, microprocessor <b>38</b> would be required under such an alternative.
0050Furthermore, the routines of the present invention can compare the currently determined rate (rate i) to previous rates. As noted above, 90% of the time the rate of the current frame is either at the full or eighth rate in the exemplary embodiment. Similarly, under the exemplary embodiment, the probability is high that the rate of the current frame is equal to the rate of the previous frame. If a person is talking, they will likely continue talking (causing the current frame to be at the full rate), while if they are silent, they will likely continue to be silent (maintaining the current frame at the eighth rate). As a result, the above-described routines can compare the determined rate of the current frame to the rate of the previous frame, and apply looser maximum and minimum SER thresholds. Alternatively, if the current determined rate differs from the previous rate, tighter thresholds can be applied.
0051Although specific embodiments of, and examples for, the present invention are described herein for illustrative purposes, various equivalent modifications can be made without departing from scope of the invention as defined in the appended claims, as will be recognized by those skilled in the relevant art. The teachings provided herein of the present invention can be applied to other communication systems, not necessarily the exemplary spread spectrum communications system described above. The present invention can employ the systems and methods of various patents and applications described above.
0052These and other changes can be made to the invention in light of the above detailed description. In general, in the following claims, the terms used should not be construed to limit the invention to the specific embodiments disclosed in the specification and the claims, but should be construed to include any communications system that operates under the claims to provide rate determination. Accordingly, the invention is not limited by the disclosure, but instead its scope is to be determined entirely by the following claims.
Contents4
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| WO9501032A | Cites | World Intellectual Property Organization (WIPO) |
| WO9508888A | Cites | World Intellectual Property Organization (WIPO) |
| US5509020A | Cites | United States of America |
29 members in 16 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 730863 | United States of America | – | |
| 73086396 | United States of America | A | |
| 97910971 | European Patent Office (EPO) | A |
Members29
| Document | Office | Kind | |
|---|---|---|---|
| CA2268857A1 | Canada | A1 | |
| WO9818242A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US5751725A | United States of America | A | |
| AU4822097A | Australia | A | |
| TW363312B | Taiwan Province of China | B | |
| EP0932963A1 | European Patent Office (EPO) | A1 | |
| BR9712354A | Brazil | A | |
| CN1234160A | China | A | |
| IL129305D0 | Israel | D0 | |
| KR20000049248A | Republic of Korea | A | |
| HK1024362A1 | Hong Kong, China | A1 | |
| JP2001505377A | Japan | A | |
| RU99109991A | Russian Federation | A | |
| CN1124726C | China | C | |
| EP1478144A1 | European Patent Office (EPO) | A1 | |
| HK1072846A1 | Hong Kong, China | A1 | |
| KR100559099B1 | Republic of Korea | B1 | |
| EP0932963B1 | European Patent Office (EPO) | B1 | |
| AT323365T | Austria | T | |
| ATE323365T1 | Austria | T1 | |
| DE69735673D1 | Germany | D1 | |
| ES2260786T3 | Spain | T3 | |
| JP3889448B2 | Japan | B2 | |
| DE69735673T2 | Germany | T2 | |
| CA2268857C | Canada | C | |
| EP1478144B1This record | European Patent Office (EPO) | B1 | |
| AT432577T | Austria | T | |
| ATE432577T1 | Austria | T1 | |
| DE69739430D1 | Germany | D1 |
46 legal events, as 7 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents actLapsedNLV1 | NLV1 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Standard patents granted in hong kongGrantedGR | GR | HK | |
| Corresponds to:REF | REF | EP | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Requests to designate patent in hong kongDE | DE | HK | |
| Designation fees paidAKX | AKX | EP | |
| Request for examination filed17P | 17P | EP | |
| Divisional application: reference to earlier applicationAC | AC | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1478144
- Application
- 40198483
Titles3
- German
- Verfahren und Einrichtung zur Bestimmung der Datenrate eines empfangenen Signals in einem Übertragungssystem mit veränderlicher Datenrate
- English
- Method and apparatus for determining the rate of received data in a variable rate communication system
- French
- Procédé et dispositif pour déterminer le débit de données reçues dans un système de communication à débit variable
Classification
- CPC, 3
- H04L25/0262
- H04L25/02
- H04L1/0046
- IPC, 5
- H04L25 02
- H03M13 09
- H04L1 00
- H04L7 08
- H04L29 08
Designated states18
- Contracting states, 18
- Austria
- Belgium
- Switzerland
- Germany
- Denmark
- Spain
- Finland
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden
