ADPCM decoder with error detection

Abstract: Decoding apparatus for decoding received ADPCM data signals includes means for quickly detecting errors in the data values in the form of unallocated values or values which are unlikely to occur. The apparatus is intended for use in cordless telephones to eliminate extraneous and disturbing sound signals which can be generated by the decoding apparatus when the signals received by the telephone become weak and are misread before a cyclic redundancy check circuit detects the error.

Description: The present invention relates to digital communications, and in particular to decoders for digitally encoded transmission, such as those employed in cordless telephones. Cordless telephone systems are well known, and digitally communicating cordless telephones have been proposed, one such proposal and its implementation being described in U.K. patent Application No. 8907982, having a publication no. 2,218,548. In the arrangement described, adaptive differential pulse code modulation (ADPCM) is employed for bi-directional digital communication between a cordless telephone and a network station. Each transmitter includes an ADPCM encoder, which receives pulse code modulation (PCM) signals, from an analog to digital converter sampling the output of a microphone providing a speech signal to be transmitted, for example, and a formatting arrangement to add appropriate timing and control data to ADPCM samples for transmission. Each receiver includes an ADPCM decoder to provide a PCM output from received ADPCM data for application to a digital to analog converter and an arrangement responsive to received timing and control data to ensure received ADPCM samples for decoding are correctly identified. GB-A-2 025 176 describes decoding circuits which have a code violation detector which makes a single test of the received data. As will be appreciated, the coding algorithms which could be used between receiver and transmitter are many and various; however, it is desirable that communication is in accordance with a standard system so that cordless telephones and network stations are inter-operable. One such standard system which has been widely adopted is know in the art as the Cordless Telephone II (CT2), Common Air Interface (CAI), which it is customary to abbreviate to CT2 (CAI). Such standards specify, for example, sampling frequency, sample quantizing level, and formatting and control algorithms. CT2(CAI), for example, specifies sampling at 8 KHz, quantizing to 15 levels, and that cyclic redundancy check data be transmitted as part of the added control data so that data transmission errors can be detected and possibly rectified at the receiver. ADPCM is specified in CT2(CAI) to reduce the required bit rate from 64K bits per second to a more practicable 32K bits per second, and for the most part provides acceptable results. One problem, however, is that the decoder can deliver a squawk when the radio system enters a fade. This is caused by a delay in the detection of prolonged errors by the control circuits control data transmission is at a relatively low rate and hence the time taken for the control circuits to make the assessment that signal level in the digital data link has fallen below the threshold requirements of the voice coder is significant. The result is that the voice coder gives a loud squawk between entering the fade and the time the data controller recognizes that bad data is being received and takes action to mute the receiving channel. Typically this squawk lasts for a second or so and is noticeably disruptive to normal speech. Clearly since the root cause of the problem is insufficient data rate in the control channel for the cyclic redundancy check quickly to detect an extended period of errors, a solution exists simply by increasing the rate. This, however, would be a departure from the CT2(CAI) standard and hence is a solution unavailable to the equipment designer. In any case, an increase in control data rate implies a reduction in useful ADPCM data rate, which in itself would be deleterious to communication. The present invention has been made as a result of a search for a solution to the squawk problem without recourse to data rate increase. According to the present invention, decoding apparatus for decoding encoded data includes an input for receiving said encoded data, means for making comparisons between received data and a plurality of predetermined values, said predetermined values being defined in relation to an aberrant or probably aberrant datum value, means for weighting said comparisons one to another, said weighting means being arranged to produce a single output from the weighted comparisons indicative of an error or likely error in said received data in the event that, on the basis of the comparisons, an aberrant datum value is or is likely to have been received. The predetermined value may be an aberrant or likely aberrant itself or a range limit or a value defined, for example arithmetically in relation to any of these. In order that features and advantages of the present invention may be more fully appreciated, an embodiment will now be described, by way of example only, with reference to the accompanying diagrammatic drawings, of which: Fig. 1 represents ADPCM apparatus adapted for the CT2(CAI) standard, and Fig. 2 shows a plot of probability of datum reception for ADPCM data. The embodiment to be described is adapted for use in compliance with the CT2(CAI) standard. It will be recalled that this standard calls for 15 level transmitted data quantisation in the ADPCM format. This number of levels has been chosen to give a symmetrical response about zero, although 16 levels would be possible with the four bits which need to be transmitted to define the fifteen levels. The unassigned code of the 16 possible is 0000, and if this datum is received for ADPCM decoding at the receiver, an error, which is likely to be a transmission error, has occurred. In the embodiment, ADPCM data is received at an input 10 and is compared datum by datum with the predetermined value 0 in a comparator 11. The comparator 11 is arranged to provide a normally low output on line 12, except when the code 0000 (value 0) is applied at its input. Under this condition, the comparator produces a high output on line 12 indicative of an aberrant datum (in this case the unassigned code 0000) in the received data. ADPCM input data is applied to a decoder 14 implementing an appropriate ADPCM decoding algorithm to provide a PCM output at its output on line 15. In PCM systems the range of possible input values must be mapped onto a restricted range of PCM output values, hence if a PCM value is decoded which is outside a range defined by the PCM value range plus the quantisation effects of the coder/decoder arrangement, an error has occurred. For example, the PCM range may be restricted to values between +/- 8191; values inclusively inside this range being accepted as valid, values exclusively outside the range being aberrant. Such values may be further restricted if a companding algorithm is employed. For example, for CT2 (Europe) the quantized range is -/- 3968, obtained by dividing by two, then limiting in accordance with the 9721 standard for A-law companding. Alternatively, in states where u-law companding is employed, the quantized range may be limited to -/- 7903, the relevant 9721 standard. In a preferred embodiment of the present invention, decoded PCM data on line 15 is applied to a comparator 16 which compares the data, datum by datum, with a value defined to be equal to the lower limit of the expected range of decoded PCM values. The comparator 16 is arranged to provide a low output on line 17 if an input value is above or equal to this lower limit, and a high output indicative of an aberrant received datum if an input value is below the limit. A comparator 18 is similarly arranged to compare PCM data with a value representing the upper range limit to provide a high output on line 19 indicative of an aberrant datum in the event that an input PCM value exceeds the predetermined limit value. Conceptually, the comparators (11, 16, 18) may be regarded as providing a fixed duration pulse output whenever the true (comparator 11) condition is met or exceeded (comparators 16, 18). Thus, the outputs appearing on lines 12, 17 and 19 have a pulse rate that is proportional to the respective types of aberrant data detected by the comparators. The outputs of the three comparators are combined in a combiner 100 to provide a single pulse train output on line 101, the pulse rate of which is indicative of the frequency of aberrant datum reception. The pulse rate output on line 101 drives a low pass filter 102 which serves to integrate the pulse train, i.e., the higher the pulse rate, the higher the output of the filter produced at 103. The characteristics of the filter 102 are a function of the intermediate frequency qualities of the communications link and as such are a practical detail. Broadly, however, they are chosen in accordance with the observation that during a period of fade, aberrant data of all types is frequently received. Hence, filter 102 is designed such that output 103 is significant when aberrant data are frequently received. It will be appreciated that the arrangement as described thus far, indicated as 104 in Figure 1, comprises ADPCM apparatus in accordance with a particular embodiment of tne present invention. Within a telephone hand set or base station receiver, however, the PCM decoded data on line 15 is fed to a digital to analog converter 105 to deliver an analog output 106 arranged to drive an earpiece, for example. Also present in cordless telephone receivers is an error analyzer 107 which is arranged to take corrective action within the receiver during a period of reception of corrupt data, or likely corrupt data. To this end, the analyzer typically receives as inputs the result of the cyclic redundancy check (CRC) 108 (from the data controller) and an input representative of received signal strength 109. In the present embodiment, output 103 is fed as an additional input to error analyzer 107 which is arranged to take suitable corrective action in the event of a significant output from filter 102. To this end, error analyzer controls an output channel muting switch via an output 111. Such muting in response to a significant output from the filter 102 serves to reduce the squawk-in-fade problem described in the preamble of the present description. Alternatively, output 111 may control one or more interpolation switches, so then an aberrant value may be replaced with a value determined on the basis of other received data. In arrangements where interpolation is arranged to occur automatically if no data is received, the signal present at ADPCM input 10 may be muted thereby to cause interpolation. True audio muting 110 of the output may also be employed. As will be recalled, ADPCM is essentially a process of producing a prediction of a PCM signal sample based on samples to date and transmitting only the error between the prediction and the sample, rather than the sample itself, thereby reducing the data to be transmitted. An inverse process is implemented in a receiver, that is the incoming datum is used to modify a value predicted by a predictive algorithm operating on received PCM data, theoretically to a correct value. During a period of corrupt data, however, the prediction and the true value may diverge to such an extent that the predictive algorithm has to be reset. To this end error analyzer 107 controls reset of ADPCM decoder 14 via output line 112 as a possible response to a significant output of filter 102. Thus far, the operation of PCM range limit comparators 16 and 18 has been considered only in the context of individual aberrant received data. With respect to ADPCM data, however, a particular characteristic of such data may be usefully exploited. As is known, in ADPCM, error values determined with respect to a predicted value makes up the transmitted data. For an appropriately specified predictive algorithm the predicted values will correlate well with the actual values; the transmitted error values being small therefore. Hence, statistically ADPCM values corresponding to low signal excitations are the most commonly transmitted. During corrupted communications, however, this will no longer be true and received values will be more randomly distributed. Hence, the frequency of reception of out of range values (as detected by comparators 16 and 18, for example) is increased. For CT2 (CAI), a trace 20 (Fig. 2) of ADPCM value 21 plotted against the probability 22 of any single datum taking a specified value, the trace being representative of a relatively low error rate, shows a low probability both of 0 (the unassigned value in the standard considered) and of relatively high signal excursions, by far the majority of values being between ±1 and ±5. By contrast, a trace 23 in respect of a relatively higher communication error rate shows not only a significant probability of the aberrant datum value 0, but that the probability of high signal excursions is markedly increased. By extrapolation of this plot, it will be apparent that out of range values are significantly more likely if a high communication error rate, as would occur during fade for example, is encountered. Indeed, it will be noted that the trace 20 (relatively low error rate) and 23 (relatively high error rate) cross at approximately ADPCM value +4. This implies that for some values, they are more likely to be due to communication error than correct reception, hence a high rate of reception of values above such a threshold would be indicative of communication channel errors. Such ADPCM data values may be detected directly by operating on the ADPCM values themselves, for example by a comparator receiving ADPCM data from input 10 and feeding combiner 100. Typically two comparators, one for a high excursion and one for a low excursion would be employed. Alternatively, detection may occur following PCM decoding, with the comparison value set according to the PCM mapping and ADPCM prediction. For example, comparators 16 and 18 may be set for comparison with this likely aberrant value and the response of the filter 102 selected so that the output 103 becomes significant when the pulse rate of the combined comparator output exceeds the likely reception rate of such values. It will be appreciated that a comparison with a likely aberrant value, as has just been described, may be employed in addition to a range limit comparison. Indeed, many variations of the present invention are possible and arrangements including a plurality of single value comparisons, range limit comparisons, and/or unlikely value comparisons are all within the scope of the invention. The outputs of such comparisons are respectively weighted so that some are more likely to produce a significant output from the filter 102 than others. This may be conveniently achieved by arranging that relatively more significant comparator outputs, comparator 11 detecting an unassigned code for example, provide a longer pulse output than those which are relatively less significant. It will further be appreciated that whilst in the embodiment described above, the outputs of the comparators 11, 16 and 17 are all combined and are all subject to the weighting/integrating function of the low pass filter 102, it may be appropriate in some arrangements of the present invention to provide comparator output directly to the error analyzer 107. As will be apparent to those skilled in the art, the present invention may be readily implemented by digital techniques, and it will be appreciated that the comparisons may be digital comparisons, the combination of outputs may be digital and that filter 102 may be a digital filter. Implementation may, for example be by means of a suitably programmed micro-computer or other digital circuitry such as hard wired logic. A method of implementing the invention by means of such a micro-computer is described below by way of example only. A variable, hereinafter referred to as ERROR, is defined in a program executed by the micro-computer and initially set to zero. Upon detection of an illegal ADPCM value (comparison 11), the current value of ERROR is incremented by 128. Upon detection of an out of range PCM output (comparisons 16,18), the current value of ERROR is incremented by 128. Once per data frame (in CT2 (CAI) control data is inserted every 125uS to frame the original data) the current value of ERROR is replaced by the computed value of the expression ERROR = ERROR * 225/256, rounded down to the nearest integer value. In this way the variable ERROR contains a number proportional to the periodic error rate. A significant output to be supplied to the error analyzer 107 may be provided whenever the value of ERROR exceeds a predetermined threshold, for example 256. It will be appreciated that the example described above provides a combination (100) of the error inputs on an equal basis. The method described is flexible, however, and other weighting may be achieved by relatively increasing or relatively decreasing the amount the variable ERROR is incremented when an aberrant value is detected. Experimental results suggest, for example, that that it is appropriate to weight the detection of an illegal APCM value (comparison 11) more highly than detection of an out of range PCM value (comparisons 16, 18) even though the latter often gives a much worse audio effect to the listener. The sensitivity of the arrangement may be set by selecting the value for the predetermined threshold, higher values decreasing sensitivity. Alternatively, the magnitude of the value of ERROR and/or its historical values may be acted upon by the error analyzer 107 to provide a selected response or responses, for example muting as previously described, interpolation (replacement of an aberrant value with one determined on the basis of other received data) or even predictor reset as previously described. Upon reset it is appropriate also to clear the value of ERROR to zero. Interpolation is suitable for low error rates over a short period of time whilst muting is appropriate to high error rates over a longer time. Apparatus in accordance with the present invention may be formed as an integrated circuit. The apparatus may form part of a device of greater functionality. Equally, parts of the apparatus may be connected external to the integrated circuit. Advantageously, the apparatus is integrated with an ADPCM decoder and error analyzer.

Claims: Decoding apparatus for decoding encoded data including an input for receiving said encoded data (10), means (11,16,18) for making comparisons between received data and a plurality of predetermined values, said predetermined values being defined in relation to an aberrant or probably aberrant datum value, means for weighting said comparisons one to another, said weighting means being arranged to produce a single output (101) from the weighted comparisons indicative of an error or likely error in said received data in the event that, on the basis of the comparisons, an aberrant datum value is or is likely to have been received. Decoding apparatus as claimed in claim 1 and wherein one of said predetermined values is an aberrant value. Decoding apparatus as claimed in claim 1 and wherein one of said predetermined values is a likely aberrant value. Decoding apparatus as claimed in any preceding claim and wherein the means for making comparisons is arranged to produce said output in the event that received data has a value beyond that of one of said predetermined values as a range limit. Decoding apparatus as claimed in claim 4 and wherein said range limit is a pulse code modulation range limit. Decoding apparatus as claimed in any preceding claim and wherein said means for making comparisons provides an output indicative of error rate. Decoding apparatus as claimed in claim 6 and wherein said output indicative of error rate is integrated or filtered. Decoding apparatus as claimed in any preceding claim and wherein said single output is integrated or filtered. Decoding apparatus as claimed in any preceding claim and wherein said means for making comparisons comprises a comparator (11,16,18). Decoding apparatus as claimed in any preceding claim and wherein said output of said means (11,16,18) for making comparisons, or of said single output (101), provides an input to an error analyzer (107). Decoding apparatus as claimed in either claim 7 or claim 8 and wherein said integrated or filtered output provides an input to an error analyzer (107). Decoding apparatus as claimed in claim 10 or 11 and wherein said error analyzer is an adaptive differential pulse code modulation error analyzer (107). Decoding apparatus as claimed in any preceding claim and wherein said output provides an input for receiver channel muting control (110). Decoding apparatus as claimed in any preceding claim and wherein said encoded data is adaptive differential pulse code modulation data. Decoding apparatus as claimed in any of claims 1 to 13 and wherein said encoded data is pulse code modulation data. Decoding apparatus as claimed in any preceding claim and including interpolation means responsive to said output to replace said aberrant datum value. An integrated device including decoder apparatus as claimed in any preceding claim. An integrated device as claimed in claim 17 and further including an ADPCM decoder (14). An integrated device as claimed in claim 18 and further including an ADPCM error analyzer (107). A method of decoding encoded data including the steps of making comparisons between received data and a plurality of predetermined values, said predetermined values being defined in relation to an aberrant or probably aberrant datum value, weighting said comparisons one to another and producing a single output from the weighted comparisons indicative of an error or likely error in received data in the event that, on the basis of the comparisons, an aberrant datum value is or is likely to have been received. Decoding apparatus as claimed in claim 14 and wherein said output provides an input for adaptive differential pulse code modulation prediction reset. Cordless telephone apparatus including decoding apparatus as claimed in any of claims 1 to 16, or 21.

Inventors: DENT PETER RICHARD, DENT, PETER RICHARD
Applicants: TEXAS INSTRUMENTS INC, TEXAS INSTRUMENTS LTD, TEXAS INSTRUMENTS INCORPORATED, TEXAS INSTRUMENTS LIMITED
Application year: 1991
Main classification: H04B14
IPC codes: H04L1, H04B14