The present invention relates generally to error correction in wireless communication networks, and more specifically to enhancing error correction for standardized wireless transmissions.
Wireless telephony systems are subject to radio-channel noise, which may introduce errors into the communicated data. Generally wireless telephony systems use standard communication protocols that incorporate encodings such as PCM (Pulse Code Modulation), and ADPCM (Adaptive Differential Pulse Code Modulation) to transmit voice data. The residential communication standards such as DECT (Digital Enhanced Cordless Telecommunications), typically offer little error protection. For example the DECT standard specifies TDMA wireless telephony protocol in which each 10 mSec of audio is encoded into packets, each such packet allocated a time slot in a TDMA communication protocol, where the only error protection of the encoded voice is a short CRC. Specifically, when ADPCM G.726/7 is used to encode narrow band (NB) voice, only four bits CRC is provided for each slot of 320 bits. Similarly G.722 uses 640 bits to encode each 10 mSec of voice with only four bits or 32 bits (long slot) for error protection in the voice payload. Such a small amount of protection bits can only allow for low error detection probability per 10 mSec slot and no error correction capability. In case of detected errors, wireless telephony receivers typically use muting or synthesized voice to replace the noise corrupted content to overcome errors. In ADPCM codes such as G.726/7, G.722 an error can have a long range effect since the Vocoder is an adaptive differential and thus previous signal (sometimes long) history is affecting the decoding of present sample Generally to incorporate error correction schemes in wireless telephone systems, more complex devices and more complex coding schemes would be required. These schemes would increase costs and reduce data throughput. Thus it would be desirable to improve error protection without decreasing data throughput and/or requiring more complex devices.
Also, since same device may be used in benign environments with little interference or noise, or in environments with a considerable interference or noise. Accordingly, in an error prone environment a robust protection scheme may be essential for the device to function well, while in benign environment the same scheme may be unnecessary or even undesirable.
The idea of adapting the level of error protection to the radio channel quality has been addressed already e.g. by M. Cooper and S. Schroeder U.S. Pat. No. 6,722,388, by D. Martinez et al, in U.S. Pat. No. 6,009,553, by Agrawell et. Al, in U.S. Pat. No. 6,477,669 and references therein. In the adaptive error protection of the prior art the adaptive error protection mechanism is based on specifically amending bits for error protection, the number of which varies according to channel conditions. For system like DECT, the available bits for error protection is very limited and fixed and thus such error protection augmentation is not possible. Also, the residential systems are very low cost and thus complex and delay prone error protection mechanisms are not affordable.
The invention is directed at the error handling of encoded voice in wireless telephony communication. A mechanism for modifying the voice encoded payload by replacing some of its bits by either a message or error protection bits allows adaptation of the system to the radio environment such that the more error prone is the radio environment the deeper is the error protection provided.
The invention uses the terminology “error protection” or the Communication industry terminology “Channel Coding” to represent the bits dedicated for detection and corrections errors induced in the radio channel.
The specific channel coding/error protection that may be applied according to the invention may be any of number of known channel coding schemes commonly used in the communication industry, starting from basic parity bits, CRC, Reed-Solomon code and up to a variety of FEC (Forward Error Correction) codes.
The invention proposes the capability of adaptation of the number of bits to be allocated to the Channel Code. Furthermore, it provides for flexibility in the clustering of channel code visa vi the protected bits. For example, if one bit out of every nibble (4 bits) are allocated to channel coding, the code may be a parity bit per nibble or a CRC(4K,3K) (i.e. Cyclic Redundancy Code applied to every K nibbles using the K less significant bits of these nibbles), A RS (n,k) (i.e. Reed-Solomon Code applied to n bits of the voice payload using k bits of the less significant voice encoded bits) etc.
The invention provides mechanism for assessing the channel quality and choosing the corresponding desired type and level of error protection. Furthermore, the invention presents means for communicating the level of error protection needed, based on the measurement of the channel quality and adaptively changing the protection level in closed loop or open loop schemes, all of these using the less significant bits of the encoded voice. In the open loop case, the invention provides means to test the hypothesis of protection level and apply corresponding decoding scheme. Also, while some wireless standards e.g. DECT provide error detection for entire slots only (typically 10 mSec) the mechanism according to the invention enables localization of the errors within the slot up to a single sample resolution, thus allowing for handling the erroneous samples rather than the erroneous slots.
The present invention resolves the deficiencies of prior art by slightly reducing the voice quality of the encoded voice to provide better error protection. By applying this trade-off process, controlled errors are introduced into the less significant bits while protecting the more significant bits which are more significant for voice quality. The invention also provides methods for using the less significant bits of the encoded voice to convey messages between the communicating parties, including messages regarding the desirable error protection and for probing the channel for its quality so as to establish desirable protection levels.
An aspect of an embodiment of the invention, relates to a method A method of error protection for wireless communication of packets of sampled digitized audio data according to a selected communication protocol, comprising: identifying the least significant bits of each sample of audio data encoded in the packets based on the communication protocol used; selectively replacing one or more of the least significant bits with values that enable performing error correction on the rest of the data encoded in the packet; transmitting the altered packet from a transmitting party to a receiving party; using the replaced bits to detect or correct errors in the received packet; wherein said communication protocol uses an ADPCM encoding scheme.
In some embodiments of the invention the ADPCM encoding scheme is one of the following standards: G.722, or G.727.
In some embodiments of the invention, determining the expected bit error rate level of transmissions at a specific time and setting an error protection level responsive to said determining
In some embodiments of the invention, the number of least significant bits replaced is determined by the error protection level.
In some embodiments of the invention, at least one least significant bit is replaced for each digital sample in each transmission packet of audio data.
In some embodiments of the invention, at least one least significant bit is replaced only for some of the digital samples in each transmission packet of audio data.
In some embodiments of the invention more than one least significant bit is replaced for some or all of the digital samples in each transmission packet of audio data.
In some embodiments of the invention the error protection level is updated upon request by any of the participants in a communication session.
In some embodiments of the invention the error protection level is updated only upon consent of all participants in a communication session.
In some embodiments of the invention some of the least significant bits of the packets are replaced by control message data to transmit control messages.
In some embodiments of the invention determining the bit error rate level of transmission at a specific time is performed by replacing one or more of the least significant bits with predefined bit pattern by the transmitting party and enabling the receiving party to evaluate the channel quality according to estimated number of errors.
In some embodiments of the invention the receiving party determines the error protection applied by the transmitter by applying a maximum likelihood algorithm or alike to the received packet thus identifying the most likely error protection applied by the transmitter to said packet.
In some embodiments of the invention determining the bit error rate level of transmission at a specific time is based on Channel Quality Metric which is a function of at least one of the following parameters:
(a) matching level of the received sync word to known transmitted sync word commonly used;
(b) measured signal strength parameter (RSS) at various times
(c) error indications in protected sections of the signal;
(d) BER estimate based on the channel coding as used in replacing some extended bits of the ADPCM encoded voice signal
(e) based on special messages transmitting with strong channel coding sufficient for the receiver to reconstruct the message and thus determine the level of errors that incurred.
(f) Errors detected in known transmitted message.
In some embodiments of the invention the transmitting party replaces one or more of the least significant bits is responsive to a message that is sent by the receiving party.
In some embodiments of the invention the message that is sent by the receiving party is based on evaluation of channel quality metric performed by the receiving party.
An aspect of an embodiment of the invention, relates to a system for wireless communication, comprising: a first wireless device; a second wireless device that is adapted to communicate with said first wireless device by transmitting and receiving packets with digital audio data samples using a specific communication protocol; an enhanced error correction application installed in said second wireless device and said second wireless device, wherein said enhanced error correction application is adapted to: identify the least significant bits of each sample of audio data encoded in the packets based on the communication protocol used; replace one or more of the least significant bits with values that enable performing error correction on the rest of the data encoded in the packet; transmit the altered packet; use the replaced bits to detect and correct errors in the transmitted packet; and wherein said communication protocol uses an ADPCM encoding scheme.
An aspect of an embodiment of the invention, relates to a method of enhancing error correction for wireless communication transmissions of digitized voice data using ADPCM standard codec G.727 or G.722, by replacing one or more of the less significant data bits (the so called extended bits in the G.727, G.722 standards,) of some of the transmission data, with bits that serve to provide error detection and correction. Additionally the invention relates to performing data bit replacement adaptively as a function of the bit error rate (BER) measured directly or indirectly during the use of the wireless communication channel. Optionally, when transmitting over a noisier communication channel more data bits will be replaced to provide deeper error protection and over a less noisy communication channel less data bits will be replaced or even no data bits will be replaced.
In an exemplary embodiment of the invention, the method is implemented using communication devices that are adapted to support the use of the altered data for error protection, while retaining the ability to work with communication devices using the same protocol that do not support the use of replacing bits to enhance error correction.
In some embodiments of the invention, some of the replaced data bits are used for transmitting control messages between the participants of the wireless communication session to coordinate the level of error protection to implement or for other purposes.
In some embodiments of the invention, the above adaptive error correction scheme is implemented between two devices, for example a base station and a cordless telephone. However it should be noted that the scheme may be implemented when communicating between multiple transmitters and/or multiple receivers.
In some embodiment of the invention, predefined bit patterns or error protection is applied to the less significant bits as a means to probe the channel quality and accordingly to adapt the error protection level to be used
The present invention will be understood and better appreciated from the following detailed description taken in conjunction with the drawings. Identical structures, elements or parts, which appear in more than one figure, are generally labeled with the same or similar number in all the figures in which they appear, wherein:
In an exemplary embodiment of the invention, base station 110 includes an encoding/decoding application 130 which is designed to match an encoding/decoding application 140 on handset 120 so that the transmitted data may be reconstructed correctly. In an exemplary embodiment of the invention, base station 110 and handset 120 wirelessly exchange data packets 150 using a standard form of wireless communications, In an exemplary embodiment of the invention, the transmitted data packets conform to a specific transmission protocol (e.g. G.722, G.727), which defines the layout of the data in the packets and identifies the bits that can be used to serve as error protection (e.g. detection and/or correction packaging).
In an exemplary embodiment of the invention, communication environmental influences may affect the data of packets 150 and introduce errors to the received data. In the DECT standard transmission protocols for the transmission of audio data (e.g. G.722, G.726, and G.727) there is little or no error protection (e.g. only minimal error detection). Optionally, in a noisy environment or if handset 120 is far from base station 110 the bit error rate (BER) increases such that it becomes difficult or impossible to communicate due to errors in the received packets. In an exemplary embodiment of the invention, the least significant bits of the data transmitted that can be manipulated are identified based on the protocol used and some of them are replaced according to a predefined adaptive error correction scheme with values that will allow a more robust error correction. As a result the range for the wireless communications will be enhanced using the same data size and without deviating from the packet structure used by the standard transmission protocol. In a non noisy environment there would not be a noticeable difference if handset 120 was or was not programmed to handle the enhanced packets.
In an exemplary embodiment of the invention, the adaptive error correction scheme performs a tradeoff between accuracy of the received audio data and the correction of random errors in the received audio data signal. Optionally, by using the least significant data bits (or part of the least significant data bits) of a specific protocol as error correction bits, some of the bits will still be correct and some will be wrong. The wrong bits will cause a slight deviation in the accuracy of the audio signal that is reconstructed from them. However random errors to the data signal can cause severe distortion (e.g. by affecting the most significant bits which are more dominant for the audio data) even to the level that the audio signal may be unintelligible. As an example consider an 8 bit binary value representing the number 129, an error to the most significant bit can change its value from 129 to 1, whereas an error to the least significant bit changes its value only from 129 to 128.
It should be noted that according to G.727 standard the number of enhanced bits per sample may vary between zero and two, while there is a minimum of two core bits per sample and respectively the enhanced bit (that can be replaced by error protection bits) varies between zero (when using two bits per sample) and two (when using four bits per sample). It should be further noted that while
In some embodiments of the invention one or two of the extended bits are replaced with either error protection bits or embedded message to be transmitted from party to the other or with a probing signal or a combination of the above.
In an exemplary embodiment of the invention, the above method may be applied to other variations of encoding, for example ADPCM codes that only include core bits 350 in each sample 340 (e.g. G.726) and no enhanced bits, since the least significant bit/bits of core bits 350 can be replaced to provide error correction with a minimal detrimental affect on the reconstructed signal. Likewise even standards that employ PCM, DPCM or other encoding methods may also be enhanced, for example by using the least significant bit/bits of some or all samples. In some embodiments of the invention, some samples (e.g. 240/340) may contribute more bits for error correction than other samples, for example every odd sample may contribute one bit and every even sample may contribute two bits. Optionally, codes with a varying number of bits in each sample can also be enhanced.
Replacing some or all of the extended bits, results in some degradation of the decoded voice. The more bits are replaced the higher is the degradation. On the other hand undetected errors in the primary bits results in more severe decoded voice quality degradation.
A graphic presentation of the relation between bit error rate (BER) and decoded voice quality at various level of error protection is shown in
While
Optionally, encoding/decoding applications 130, 140 are programmed to perform an adaptive channel coding scheme wherein the protection level is calculated based on a Channel Quality Metric (e.g. BER) which is function of one or more of the following measured parameters.
1) Matching level of the received sync word to known transmitted sync word commonly used as in a preamble of each slot of TDMA communication scheme.
2) Measured signal strength parameter (RSS) at various times.
3) Error indications in protected sections of the signal, e.g. number of errors as derived from the CRC amended to a field of a DECT slot or CRC amended to the B field of a DECT slot.
4) BER estimate based on the channel coding as used in replacing some extended bits of the ADPCM encoded voice signal
5) Based on special messages transmitting with strong channel coding sufficient for the receiver to reconstruct the message and thus determine the level of errors that incurred.
6) Errors detected in known transmitted message.
In an exemplary embodiment of the invention, encoding/decoding applications 130, 140 apply a decision algorithm, which decides when to increase the protection level and when to decrease it based on the Channel Quality Metric, for example if the BER at the current level exceeds a pre-selected threshold value the protection level is increased to enable reasonable communications. Optionally, the algorithm incorporates a hysteresis algorithm to prevent a state where the error protection level oscillates too frequently.
In some embodiments of the invention, the protection level may jump more than one level at a time to accommodate severe changes in the environment.
It should be noted that for both embodiments as shown in
In another embodiment, the open loop protection level change is performed where the change is implicitly conveyed to the other party by implementing the channel code with no explicit code change message transmitted. The change of code is detected by the receiving party by constantly applying the decoders which match the expected channel codes. If the error rate resulting from the application of the decoder is exceedingly high for the given channel conditions, the receiver infers that the specific code has not been applied. If the error rate measure when applying a specific decoder is compatible with the measured channel conditions, the receiver infers that the specific code has been applied and uses the corresponding error correction/mitigation scheme for that code. An illustrative example: assume that G.727(4,3) is used with either no protection or applying to each sample a code which replaces the extended bit by a parity bit. For each received 80 samples packet, the receiver calculates the parity for each of the 80 samples. If no protection code is applied, the error rate per the parity check will be of the order of 50%. If the parity code has been applied, the error rate so detected will be comparable to the expected BER. Since the communication channels are maintained only for error rate BER of few percent, there is a clear criterion that the receiver may apply to decide that the protection has or has not been applied, e.g. if the number of error>10% of the samples, parity code have not been applied. This method is an example of most likely result algorithms (referred as most likely channel code).
In some protocols the packets include fields (e.g. in the header) which allow the transmission of messages (e.g. a control symbol or control sequence) with every data packet. Optionally, these fields can be used to coordinate between base station 110 and handset 120. Alternatively or additionally, some or all of the least significant bits that are manipulated during transmission by the error correction methods described above may be used to transfer “hidden” messages regarding changing modes of operation, for example the first ten bits may be used to convey messages. Optionally, specific bit sequences may be used as code-words to send a message to initiate the transition to a different mode. Optionally, the code-words are selected with maximum Hamming distance so that they can be recognized even if errors occur during their transmission.
In an exemplary embodiment of the invention, if base station 110 or handset 120 is replaced by a compatible unit, which is not programmed to support the adaptive error correction scheme as described above, communication will still take place without using the enhanced abilities provided by the adaptive error correction scheme since the scheme does not alter the size and layout dictated by the standard protocol.
In some embodiments of the invention, base station 110 may support multiple wireless handsets 120 simultaneously. Optionally, some of the devices may support adaptive error correction and some may not. In some embodiments of the invention, some of the wireless handsets 120 may be communicating while using different error protection levels relative to each other, even if communicating with each other in the same communication session.
Optionally, one direction may conform to one rule and the other direction may conform to a different rule, for example to increase the protection level if either base station 110 or handset 120 request it and to reduce the protection level only if both communicating parties request it.
In some embodiments of the invention, if one party initiates an error protection level change the change will be implemented only after receiving acknowledgment from the other party. Alternatively, error protection may be changed immediately upon sending notification to the other party. Optionally, the time for the change to take effect may be dependent on the decision of the party authorized to initiate the change, for example if either party can initiate the change then the change may take effect immediately upon sending notification to the other party, whereas if consent is required then the initiator must wait to receive acknowledgment from the other party.
The voice samples that are created at the microphone end 702 are encoded by standard ADPCM (G.727 for Narrow Band NB voice, G.722 for wide band WB voice) 704. Every 10 mSec of encoded voice is packetized 706 to be transmitted in a TDMA regime say per the DECT standard. Depending on an estimated radio channel quality metric, a decision is made regarding the level of error protection (“channel code”) to be applied to the encoded speech. The bits replacement (708) is performed according to a policy that may be based on either a hidden message (710), to be transmitted to the other party, or on a recommended channel code (716) that is locally calculated by the transmitting party, optionally based or partially based on recommendation (718) issued by the receiving party.
The error protected packet is transmitted (712) over the air to the other party through antenna (714) and is received by the other party at radio receiver (738) with radio-channel induced errors.
Using the error detection/correction mechanism (742) applicable to the applied channel code, the receiver applies errors recovery mechanism (744) and decodes the ADPCM encoded voice (746), to be introduced into the receiver speaker (750). In addition to the main branch from the antenna to the speaker, the receiver also has a side branch which is used to produce channel quality estimation (732) based on data obtained from the receiver radio and/or on the error detection mechanism (742). In order to detect errors the receiver uses channel code information which may be produced by channel hypothesis test (736) based on channel quality estimator (732) or, when supplied by the other party, the channel code information (734) is provided through received messages (748). This metric may be used locally by the receiving party when it change its role and transmits its voice (bellow related to as “open loop”, or may be conveyed as a message over the radio link to the other party (718) after being calculated by channel coding decision unit (730) to be used in its application of channel code as described above.
In an exemplary embodiment of the invention, protection level change may be decided locally based on the locally calculated quality measure, referred to as Open Loop Adaptive Channel Coding (OLACC)). OLACC implies that the receiver and transmitter are in the same unit and the Channel Quality Metric and channel coding decision are locally canaliculated.
The OLACC scheme works well for symmetric channels, i.e. when both parties are suffering from same level and type of channel impairments. Since OLACC is not synchronized between the parties the receiver needs to identify channel coded slots and level of protection so as to apply the relevant decoder.
In an exemplary embodiment, the encoding party sends within the slot preamble an indication of the channel coding scheme being used.
In another exemplary embodiment, the receiving party is constantly running a hypothesis test to identify the channel encoded scheme chosen by the transmitter. For example considers the case of G.727 where either no channel coding is applied or a parity bit replaces the extended bit of each nibble. For reasonable channel quality, applying parity check to uncoded slot will result in approximately 50% “detected errors” while when applied to coded slot will result in error detection commensurate with the expected BER per the Channel Quality measured.
Alternatively, protection level change may be dictated by the receiving party based on its calculated Channel Quality Metric. A request to change the channel coding scheme is conveyed to the other end. Such a scheme is referred to as Closed Loop Adaptive Channel Coding (CLACC). In such case the receiving party will transmit a request to increase or decrease the error protection level one or more levels or specify the type of channel coding it desires for maintaining good voice quality.
It should be noted that while some embodiments that were described above referred to a base station communicating with a portable part (PP) (also referred to as handset), it could be readily understood by a person skilled in the art that the invention is not limited to a communication between a fixed part (FP) and a portable part, but is applicable for any type of wireless devices, either FP or PP.
It should be appreciated that the above described methods and apparatus may be varied in many ways, including omitting or adding steps, changing the order of steps and the type of devices used. It should be appreciated that different features may be combined in different ways. In particular, not all the features shown above in a particular embodiment are necessary in every embodiment of the invention. Further combinations of the above features are also considered to be within the scope of some embodiments of the invention.
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.