HK1116603A - Encoding and error correction system for enhanced performance of legacy communications networks - Google Patents
Encoding and error correction system for enhanced performance of legacy communications networks Download PDFInfo
- Publication number
- HK1116603A HK1116603A HK08106862.4A HK08106862A HK1116603A HK 1116603 A HK1116603 A HK 1116603A HK 08106862 A HK08106862 A HK 08106862A HK 1116603 A HK1116603 A HK 1116603A
- Authority
- HK
- Hong Kong
- Prior art keywords
- data
- encoding
- bits
- header
- long frame
- Prior art date
Links
Description
Technical Field
The present invention relates generally to the field of encoding and error correction for transmission systems, and more particularly to the use of advanced vocoders (vocoders) with bit mapping and encoding to improve legacy (legacy) communication systems to enhance error correction performance.
Background
Waveform source coding and decoding (codec) is widely used in early digital mobile communication systems, such as Personal Handyphone Systems (PHS). Due to technical limitations in implementation, some system designs do not provide proper channel encoding/decoding to protect the transmitted data. For these systems, when channel quality conditions deteriorate, speech performance is unacceptable and some important control bits are easily corrupted in order to ensure a high bit error rate. As a result, upper layer protocols and control mechanisms in the system may be activated to shut down the channel. This is one of the most common reasons for lost connections during an ongoing communication session.
In some advanced 2G mobile systems and all 3G systems, there is an adaptive multi-rate (AMR) vocoder and corresponding channel coding capability. Under the AMR standard, there are 8 different data rates for Code Excited Linear Prediction (CELP) speech codecs. These data rates range from 12.2kbps to 4.75 kbps. The more speech information that is transmitted, the better the sound performance achieved. The basic approach adopted in the AMR standard is such that: when the channel conditions deteriorate, the system uses a mode with a lower data transmission rate (of course, the sound performance is poor). This saves more channel bandwidth and other resources of the system to improve bit error correction capability. The lack of comparable technology in legacy digital mobile systems (e.g., PHS) is derived from the cost of the algorithms being developed and the integrated circuit resources associated with power and command speed requirements. With the advent of silicon technology, the use of Digital Signal Processors (DSPs) in PHS handsets is no longer a luxury element.
It is therefore desirable to be able to use AMR vocoder capabilities in legacy systems.
It is also desirable to be able to apply AMR and error correction in a manner that can improve early 2G systems by rearranging the bit map to provide up to 6 to 7dB gain for the bit error reduction capability of certain AMR modes.
Disclosure of Invention
The encoding and error correction system and method according to the present invention takes advantage of the modern benefits of AMR codecs by stripping header data from a plurality of legacy system frames having header and Traffic Channel (TCH) data blocks. The speech data is then encoded using AMR to create bits for substantially identical blocks of data contained in multiple frames. The stripped header data is encoded into a long frame header using a fixed convolutional encoder. The speech data is then convolutionally encoded and the long frame header and the encoded speech data are combined into a long frame. The long frame is then deconstructed into multiple equal segments and the segments are transmitted as TCH data in a legacy system frame format.
Drawings
These and other features and advantages of the present invention will be better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings, wherein:
FIG. 1 is a block diagram of a prior art PHS system traffic channel frame and slot structure;
FIG. 2 is a block diagram of the bit mapping and encoding used to construct a long frame to deconstruct a standard PHS slot for transmission;
FIG. 3 is a block diagram of a long frame after bit mapping;
FIG. 4 is a block diagram of a Robust (Robust) AMR traffic synchronization control channel (RATSCCH) format for long frames;
FIG. 5 is a block diagram of an interleaving scheme for encoded data;
fig. 6 is a schematic diagram of the elements of a handset and base station system employing the present invention;
FIG. 7a is a table of AMR modes and the partitioning of modes (modes) and classes (classes) for the present invention; and
fig. 7b is a flow chart of a mode switching algorithm using categories employed by the present invention.
Detailed Description
The present invention is defined for exemplary embodiments employing PHS communication systems and standards (2G legacy mobile systems). The PHS system incorporating the techniques of the present invention will be referred to herein as Advanced PHS (APHS).
The data mapping for the Traffic Channel (TCH) of an exemplary PHS system is shown in fig. 1. PHS is a Time Division Multiplex (TDMA) system. One frame 10 is 5ms in length and is divided into 8 slots, 4 for the uplink and 4 for the downlink. In each direction, three time slots T1, T2, and T3 may be used for three different users, while the last time slot is a common control channel for all three users, alternating between uplink and downlink mode commands C _ up and C-down.
In fig. 1, the time slot T2 is expanded here to an exemplary time slot 12 and is discussed in detail to illustrate the present invention. The regions PR and UW are used for synchronization of the physical layer. The block UW incorporates 16 bits. As will be discussed in more detail later, PR and UW are inserted into the transmitted frame before the decoder so that they cannot be encoded. CI and SA are protocols for slot format information and connection status, which are very important for connection reliability. Block CI contains 4 bits and block SA contains 16 bits. The TCH contains speech data and is composed of 160 bits. A 16-bit CRC block provides error detection bits. It can be seen that within a frame there are 160 bits of speech data, so the total vocoder rate is 160/0.05 ═ 32 Kbps. This is the ADPCM (ITU G.726) data rate employed by PHS.
The invention adopts AMR codec combined with bit mapping to construct frame compatible with PHS transmission standard, and adds coding to enhance performance. There are 8 vocoder modes in an AMR system. These 8 modes are defined by GSM and 3GPP international standards and employ data rates of 12.2, 10.2, 7.95, 7.4, 6.7, 5.9, 5.15 and 4.75 (Kbps). Each of these rates is below the 32Kbps base capability of PHS systems and allows flexible formatting of the data to be encoded.
As will be described in more detail later, the source speech and channel coding provided by the present invention is done within 20ms (or 4 PHS slot times). The interleaving of the 20ms blocks is below the human ear sensitivity threshold. The newly encoded "frame" is referred to herein as a long frame. The present invention does not utilize CI, SA and CRC regions for compatibility with the bit mapping of PHS standard frames. That is, the encoded CI and SA data is placed into TCH blocks. The vocoder mode related message is encoded together with a specific channel code mode and employs a special region and encoder. The larger the size of the channel coded data block, the better the result (higher bit error capability). Finally, at the very beginning of the connection between the handset and the base station, a new control channel for long frame synchronization, the Robust AMR Traffic Synchronization Control Channel (RATSCCH), is employed. RATSCCH is also used for mode messages in some special cases.
TCH blocks are used for voice data, SA/CI and inband data. Different vocoder modes have different speech and channel coding parameters and require different data transmission rates. The SA/CI and inband information are encoded and require a constant data rate. The coding and bit mapping in APHS is shown in fig. 2.
The four PHS slots 12a, 12b, 12c and 12d nominally provide a long frame. The CI and SA data for these four slots are stripped and combined into the APHS long frame header block 14. Nominally, 20ms speech samples 16 are processed through an AMR vocoder 18. The long frame header data is processed by a first encoder 20 and inband data 22 is inserted, followed by AMR processed speech samples which are routed through a convolutional second encoder 24. The resulting long frame is shown in fig. 3, where the header 26 contains 156 bits of CI and SA data, and the inband block 28 carries 8 bits, followed by a 476 bit block of encoded speech data 30, resulting in a 640 bit long frame 32. As described above, the long frame is then split into four 160-bit lengths to be inserted into the standard TCH blocks of the 4 APHS frames 34a, 34b, 34c, and 34d for transmission.
In the PHS system, the data rate resource in the region TCH for a long frame is 160 × 4-640 bits. For compatibility, the original area containing the SA/CI data in each slot is reserved in the APHS, but for processing in the APHS, these data are ignored. The message SA/CI is encoded together with in-band message data and placed in the original TCH area.
In the APHS embodiment, the largest coded speech data in a long frame is 476 bits. Different vocoder modes and channel coding modes with different parameters are combined to generate different blocks of encoded speech data with different sizes. If the generated coded speech data block is larger than 476 bits, some bits have to be truncated. In the APHS embodiment disclosed herein, channel coding is implemented using a convolutional encoder. In alternative embodiments, other channel coding methods are employed.
As will be discussed later, CI data need only be transmitted once per long frame (equivalent to one transmission every 4 PHS frames) based on interleaving of the data. SA data needs to be transmitted every slot. For SA/CI, the resulting long frame data is shown in Table 1.
TABLE 1
| Name (R) | SA0 | SA1 | SA2 | SA3 |
| Number of bits | 16 | 16 | 16 | 16 |
| Name (R) | CI | |||
| Number of bits | 4 | |||
| Number of CRC bits | 6 polynomial D6+D5+D3+D2+D1+1 | |||
| Number of input bits for convolutional encoder | 74 | |||
| Polynomial for 1/2 convolutional encoder | Polynomial G0/G0 ═ 1G1/G0 ═ 1+ D3+D4/1+D3+D4With trailing 8 bits | |||
| Number of output bits | 148+8=156 | |||
8 bits are used for mode information, which is mapped to the last 8 bits of the long frame, as will be shown below.
Table 2 shows the codec mode and associated convolution rate, the number of bits input to the convolutional encoder, the number of output bits generated from the encoder, the number of SA bits after the CRC and 1/2 convolutional encoder, the total number of bits, and the preferred class.
TABLE 2
| Codec mode | Ratio of | Number of bits input to convolutional encoder | The number of bits output from the convolutional encoder (which should be 476) | Number of SA bits after CRC and 1/2 convolutional encoder | Total number of bits for one block of 20ms (total 632+8 ═ 640) | Preferred classes |
| TCH/AFS12.2 | 1/2 | 250 | 508 truncates 32 bits | 156 | 632 | 1 |
| TCH/AFS | 1/3 | 210 | 642 | 156 | 632 | 2 |
| 10.2 | Truncating 166 bits | |||||
| TCH/AFS7.95 | 1/3 | 165 | 513 truncates 37 bits | 156 | 632 | 1 |
| TCH/AFS7.4 | 1/3 | 154 | 474 | 156 | 630 | 2 |
| TCH/AFS6.7 | 1/4 | 140 | 576 cut 100 bits | 156 | 632 | 1 |
| TCH/AFS5.9 | 1/4 | 124 | 520 truncate 44 bits | 156 | 632 | 2 |
| TCH/AFS5.15 | 1/5 | 109 | 565 truncates 89 bits | 156 | 632 | 1 |
| TCH/AFS4.75 | 1/5 | 101 | 535 truncate 59 bits | 156 | 632 | 2 |
As shown in the table, the fixed number of bits for SA/CI data is 156, and for four frames, a total of 640 bits are available to fill in the 160-bit PHS TCH, the bits from the speech data convolutional encoder should be 476 bits in total, and the bits must be truncated to accommodate the long frame.
Exemplary convolutional codes for each codec mode are shown in tables 3-10, where truncated bits are defined to maintain a long frame size of 640 bits.
TABLE 3
TCH/AFS 12.2 codec:
a block of 250 bits { u (0).. u (249) } is encoded using 1/2 rate convolutional encoding defined by the following polynomial:
G0/G0=1
G1/G0=1+D+D3+D4/1+D3+D4
produce 508 coded bits { C (0).. C (507) }, defined by:
r(k)=u(k)+r(k-3)+r(k-4)
C(2k)=u(k)
c (2k +1) ═ r (k) + r (k-1) + r (k-3) + r (k-4) for k 0, 1.., 249;
r (k) ═ 0 for k < 0
And (for termination of the encoder):
(k)=0
C(2k)=r(k-3)+r(k-4)
c (2k +1) ═ r (k) + r (k-1) + r (k-3) + r (k-4) for k 250, 251
The code is truncated in such a way that the following 32 bits are not transmitted: c (417), C (421), C (425), C (427), C (429), C (433), C (437), C (441), C (443), C (445), C (449), C (453), C (457), C (459), C (461), C (465), C (469), C (473), C (475), C (477), C (481), C (485), C (489), C (491), C (493), C (495), C (497), C (499), C (501), C (503), C (505) and C (507).
TABLE 4
TCH/AFS 10.2 codec:
a block of 210 bits { u (0).. u (209) } is encoded using 1/3 rate convolutional encoding defined by the following polynomial:
G1/G3=1+D+D3+D4/1+D+D2+D3+D4
G2/G3=1+D2+D4/1+D+D2+D3+D4
G3/G3=1
resulting in 642 encoded bits { C (0.. C (641) }, defined by:
r(k)=0
C(3k)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(3k+1)=r(k)+r(k-2)+r(k-4)
c (3k +2) ═ r (k-1) + r (k-2) + r (k-3) r (k-4) for k 210, 211
The code is truncated in such a way that the following 22 bits are not transmitted: c (1), C (4), C (7), C (10), C (16), C (19), C (22), C (28), C (31), C (34), C (40), C (43), C (46), C (52), C (55), C (58), C (64), C (67), C (70), C (76), C (79) and C (82). All these operations will result in 620 bits.
The code is truncated in such a way that 166 bits below are not sent: c (1), C (4), C (7), C (10), C (16), C (19), C (22), C (28), C (31), C (34), C (40), C (43), C (46), C (52), C (55), C (58), C (64), C (67), C (70), C (76), C (79), C (82), C (88), C (91), C (94), C (100), C (103), C (106), C (112), C (115), C (118), C (124), C (127), C (130), C (136), C (139), C (142), C (148), C (208), C (211), C (214), C (220), C (223), C (226), C (232), C (235), C (238), C (244), C (247), C (250), C (256), C (259), c (151), C (154), C (160), C (163), C (166), C (172), C (175), C (178), C (184), C (187), C (190), C (196), C (199), C (202), C (262), C (268), C (271), C (274), C (280), C (283), C (286), C (292), C (295), C (298), C (304), C (307), C (310), C (316), C (319), C (322), C (325), C (328), C (331), C (334), C (337), C (340), C (343), C (346), C (349), C (352), C (355), C (358), C (361), C (364), C (367), C (370), C (373), C (376), C (379), C (382), C (385, C (388), C (385), C (373), c (391), C (394), C (397), C (400), C (403), C (406), C (409), C (412), C (415), C (418), C (421), C (424), C (427), C (430), C (433), C (436), C (439), C (442), C (445), C (448), C (451), C (454), C (457), C (460), C (463), C (466), C (469), C (472), C (475), C (478), C (481), C (484), C (487), C (490), C (493), C (496), C (499), C (502), C (505), C (508), C (511), C (514), C (517), C (520), C (523), C (526), C (529), C (532), C (535), C (538), C (541), C (544), c (547), C (550), C (553), and C (556).
TABLE 5
TCH/AFS 7.95 codec:
a block of 165 bits { u (0).. u (164) } is encoded using 1/3 rate convolutional encoding defined by the following polynomial:
G4/G4=1
G5/G4=1+D+D4+D6/1+D2+D3+D5+D6
G6/G4=1+D+D2+D3+D4+D6/1+D2+D3+D5+D6
resulting in 513 encoded bits { C (0.. C (512) }, defined by:
r(k)=u(k)+r(k-2)+r(k-3)+r(k-5)+r(k-6)
C(3k)=u(k)
C(3k+1)=r(k)+r(k-1)+r(k-4)+r(k-6)
C(3k+2)=r(k)+r(k-1)+r(k-2)+r(k-3)+r(k-4)+r(k-6)
for k 0, 1
r (k) ═ 0 for k < 0
And (for termination of the encoder):
r(k)=0
C(3k)=r(k-2)+r(k-3)+r(k-5)+r(k-6)
C(3k+1)=r(k)+r(k-1)+r(k-4)+r(k-6)
c (3k +2) ═ r (k) + r (k-1) + r (k-2) + r (k-3) + r (k-4) + r (k-6) for k 165, 166
The code is truncated in such a way that the following 37 bits are not transmitted: c (1), C (2), C (4), C (5), C (8), C (22), C (70), C (118), C (166), C (214), C (262), C (310), C (317), C (319), C (325), C (332), C (334), C (341), C (343), C (349), C (356), C (358), C (365), C (367), C (373), C (380), C (382), C (385), C (389), C (391), C (397), C (404), C (406), C (409), C (413), C (415), and C (512).
TABLE 6
TCH/AFS 7.4 codec:
a block of 154 bits { u (0).. u (153) } is encoded using 1/3 rate convolutional encoding defined by the following polynomial:
G1/G3=1+D+D3+D4/1+D+D2+D3+D4
G2/G3=1+D2+D4/1+D+D2+D3+D4
G3/G3=1
resulting in 474 encoded bits { C (0) … C (473) }, defined by:
r(k)=u(k)+r(k-1)+r(k-2)+r(k-3)+r(k-4)
C(3k)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(3k+1)=r(k)+r(k-2)+r(k-4)
c (3k +2) ═ u (k) for k 0, 1
And (for termination of the encoder):
r(k)=0
C(3k)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(3k+1)=r(k)+r(k-2)+r(k-4)
c (3k +2) ═ r (k-1) + r (k-2) + r (k-3) + r (k-4) for k 154, 155
TABLE 7
TCH/AFS 6.7 codec:
a block of 140 bits { u (0).. u (139) } is encoded using 1/4 rate convolutional encoding defined by the following polynomial:
G1/G3=1+D+D3+D4/1+D+D2+D3+D4
G2/G3=1+D2+D4/1+D+D2+D3+D4
G3/G3=1
G3/G3=1
resulting in 576 encoded bits C (0) … C (575) }, defined by:
r(k)=u(k)+r(k-1)+r(k-2)+r(k-3)+r(k-4)
C(4k)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(4k+1)=r(k)+r(k-2)+r(k-4)
C(4k+2)=u(k)
c (4k +3) ═ u (k) for k 0, 1.. 139
r (k) ═ 0 for k < 0
Also (for termination of the encoder):
r(k)=0
C(4k)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(4k+1)=r(k)+r(k-2)+r(k-4)
C(4k+2)=r(k-1)+r(k-2)+r(k-3)+r(k-4)
c (4k +3) ═ r (k-1) + r (k-2) + r (k-3) + r (k-4) for k 140, 141
The code is truncated in such a way that the following 100 bits are not transmitted: c (1), C (3), C (7), C (11), C (15), C (27), C (39), C (55), C (67), C (79), C (95), C (107), C (119), C (135), C (147), C (159), C (175), C (187), C (199), C (215), C (227), C (239), C (255), C (267), C (279), C (287), C (291), C (295), C (299), C (303), C (307), C (311), C (315), C (319), C (323), C (327), C (331), C (335), C (339), C (343), C (347), C (351), C (355), C (359), C (363), C (367), C (369), C (375), C (377), C (379), C (383), c (385), C (387), C (391), C (393), C (395), C (399), C (401), C (403), C (407), C (409), C (411), C (415), C (417), C (419), C (423), C (425), C (427), C (431), C (433), C (435), C (439), C (441), C (443), C (447), C (449), C (451), C (455), C (457), C (459), C (463), C (465), C (467), C (471), C (473), C (475), C (479), C (481), C (483), C (487), C (489), C (495), C (497), C (499), C (503), C (505), C (507) and C (511).
TABLE 8
TCH/AFS 5.9 codec:
a block of 124 bits { u (0).. u (123) } is encoded using 1/4 rate convolutional encoding defined by the following polynomial:
G4/G6=1+D2+D3+D5+D6/1+D+D2+D3+D4+D6
G5/G6=1+D+D4+D6/1+D+D2+D3+4+D6
G6/G6=1
G6/G6=1
resulting in 520 coded bits { C (0.. C (519) }, defined by:
r(k)=u(k)+r(k-1)+r(k-2)+r(k-3)+r(k-4)+r(k-6)
C(4k)=r(k)+r(k-2)+r(k-3)+r(k-5)+r(k-6)
C(4k+1)=r(k)+r(k-1)+r(k-4)+r(k-6)
C(4k+2)=u(k)
c (4k +3) ═ u (k) for k 0, 1
r (k) ═ 0 for k < 0
Also (for termination of the encoder):
r(k)=0
C(4k)=r(k)+r(k-2)+r(k-3)+r(k-5)+r(k-6)
C(4k+1)=r(k)+r(k-1)+r(k-4)+r(k-6)
C(4k+2)=r(k-1)+r(k-2)+r(k-3)+r(k-4)+r(k-6)
c (4k +3) ═ r (k-1) + r (k-2) + r (k-3) + r (k-4) + r (k-6) for k 124, 125
The code is punctured by not transmitting the following 44 bits: c (0), C (1), C (3), C (5), C (7), C (11), C (15), C (31), C (47), C (63), C (79), C (95), C (111), C (127), C (143), C (159), C (175), C (191), C (207), C (223), C (239), C (255), C (271), C (287), C (303), C (319), C (327), C (331), C (335), C (343), C (347), C (351), C (359), C (363), C (367), C (375), C (379), C (383), C (391), C (395), C (399), C (407), C (411) and C (415).
TABLE 9
TCH/AFS 5.15 codec:
a block of 109 bits { u (0).. u (108) } is encoded using 1/5 rate convolutional encoding defined by the following polynomial:
G1/G3=1+D+D3+D4/1+D+D2+D3+D4
G1/G3=1+D+D3+D4/1+D+D2+D3+D4
G2/G3=1+D2+D4/1+D+D2+D3+D4
G3/G3=1
G3/G3=1
resulting in 565 coded bits { C (0) … C (564) }, defined by:
r(k)=u(k)+r(k-1)+r(k-2)+r(k-3)+r(k-4)
C(5k)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(5k+1)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(5k+2)=r(k)+r(k-2)+r(k-4)
C(5k+3)=u(k)
c (5k +4) u (k) for k 0, 1, …, 108
r (k) ═ 0 for k < 0
Also (for termination of the encoder):
r(k)=0
C(5k)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(5k+1)=r(k)+r(k-1)+r(k-3)+r(k-4)
C(5k+2)=r(k)+r(k-2)+r(k-4)
C(5k+3)=r(k-1)+r(k-2)+r(k-3)+r(k-4)
c (5k +4) ═ r (k-1) + r (k-2) + r (k-3) + r (k-4) for k 109, 110
The code is punctured by not transmitting the following 89 bits: c (0), C (4), C (5), C (9), C (10), C (14), C (15), C (20), C (25), C (30), C (35), C (40), C (50), C (60), C (70), C (80), C (90), C (100), C (110), C (120), C (130), C (140), C (150), C (160), C (170), C (180), C (190), C (200), C (210), C (220), C (230), C (240), C (250), C (260), C (270), C (280), C (290), C (300), C (310), C (315), C (320), C (325), C (330), C (334), C (335), C (340), C (344), C (345), C (350), C (354), C (355), C (360), C (355), c (364), C (365), C (370), C (374), C (375), C (380), C (384), C (385), C (390), C (394), C (395), C (400), C (404), C (405), C (410), C (414), C (415), C (420), C (424), C (425), C (430), C (434), C (435), C (440), C (444), C (445), C (450), C (454), C (455), C (460), C (464), C (465), C (470), C (474), C (475), C (480) and C (484).
Watch 10
TCH/AFS 4.75 codec:
a block of 101 bits { u (0).. u (100) } is encoded using 1/5 rate convolutional encoding defined by the following polynomial:
G4/G6=1+D2+D3+D5+D6/1+D+D2+D3+D4+D6
G4/G6=1+D2+D3+D5+D6/1+D+D2+D3+D4+D6
G5/G6=1+D+D4+D6/1+D+D2+D3+D4+D6
G6/G6=1
G6/G6=1
resulting in 535 encoded bits { C (0) … C (534) }, defined by:
r(k)=u(k)+r(k-1)+r(k-2)+r(k-3)+r(k-4)+r(k-6)
C(5k)=r(k)+r(k-2)+r(k-3)+r(k-5)+r(k-6)
C(5k+1)=r(k)+r(k-2)+r(k-3)+r(k-5)+r(k-6)
C(5k+2)=r(k)+r(k-1)+r(k-4)+r(k-6)
C(5k+3)=u(k)
c (5k +4) ═ u (k) for k 0, 1
r (k) ═ 0 for k < 0
Also (for termination of the encoder):
r(k)=0
C(5k)=r(k)+r(k-2)+r(k-3)+r(k-5)+r(k-6)
C(5k+1)=r(k)+r(k-2)+r(k-3)+r(k-5)+r(k-6)
C(5k+2)=r(k)+r(k-1)+r(k-4)+r(k-6)
C(5k+3)=r(k-1)+r(k-2)+r(k-3)+r(k-4)+r(k-6)
c (5k +4) ═ r (k-1) + r (k-2) + r (k-3) + r (k-4) + r (k-6) for k 101, 102
The code is punctured by not transmitting the following 59 bits: c (0), C (5), C (15), C (25), C (35), C (45), C (55), C (65), C (75), C (85), C (95), C (105), C (115), C (125), C (135), C (145), C (155), C (165), C (175), C (185), C (195), C (205), C (215), C (225), C (235), C (245), C (255), C (265), C (275), C (285), C (295), C (305), C (315), C (325), C (335), C (345), C (355), C (365), C (375), C (385), C (395), C (400), C (405), C (410), C (415), C (420), C (425), C (430), C (435), C (440), C (450), c (455), C (459), C (460), C (465), C (470), C (475), and C (479).
RATSCCH long frames take a different format in the TCH blocks shown in fig. 4. RATSCCH is used in two cases. At the very beginning of the connection between the handset and the base station, it is used for long frame synchronization. Also, in some difficult cases, the inband message in RATSCCH is used to provide encoder mode information along with the inband message of the regular frame. RATSCCH used in the present invention is comparable to the format widely used in GSM/3G systems to inform PS/CS to change AMR modes and categories.
In one embodiment, interleaving of long frame data for transmission in a standard PHS 5ms burst is implemented in the manner shown in fig. 5. The bits of the long frame are interleaved in the manner shown in table 11.
TABLE 11
| Interleaving Table for PHS Load | ||||||||
| K=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
| 0 | 513 | 442 | 307 | 172 | 37 | 550 | 415 | 0 |
| 64 | 577 | 506 | 371 | 236 | 101 | 614 | 479 | 1 |
| 128 | 57 | 570 | 435 | 300 | 165 | 30 | 543 | 2 |
| 192 | 121 | 634 | 499 | 364 | 229 | 94 | 607 | 3 |
| 256 | 185 | 50 | 563 | 428 | 293 | 158 | 23 | 4 |
| 320 | 249 | 114 | 627 | 492 | 357 | 222 | 97 | 5 |
| 384 | 313 | 178 | 43 | 556 | 421 | 286 | 151 | 5 |
| 448 | 377 | 242 | 107 | 620 | 465 | 350 | 215 | 7 |
| 512 | 441 | 306 | 171 | 36 | 549 | 414 | 279 | 8 |
| 576 | 505 | 370 | 235 | 100 | 613 | 478 | 343 | 9 |
| 56 | 569 | 434 | 299 | 164 | 29 | 542 | 407 | 10 |
| 120 | 633 | 498 | 363 | 228 | 93 | 606 | 471 | 11 |
| 184 | 48 | 662 | 427 | 292 | 167 | 22 | 536 | 12 |
| 246 | 113 | 626 | 491 | 356 | 221 | 86 | 599 | 13 |
| 312 | 177 | 42 | 555 | 420 | 285 | 150 | 15 | 14 |
| 376 | 241 | 106 | 619 | 484 | 349 | 214 | 79 | 15 |
For interleaving, the bits are split into even and odd bits 102, 104 and interleaved according to the table. Eight segments 106 of 80-bit data are obtained at 108, which are then interleaved with eight segments from the previous 20ms segment 110. After interleaving, two segments are sent at a time in the TCH block of a PHS slot.
In the normal data transfer mode, the system operates in a similar manner to AMR in GSM and 3GPP systems. As shown in fig. 6, in the cellular phone 36, a speech encoder 38 for inputting speech samples data and supplies the encoded data to a channel encoder 40, and the channel encoder 40 converts a long frame into a PHS format 5ms frame for transmission. The uplink voice data is then sent to the base station 42 where the channel decoder 44 disassembles the PHS standard frames into a long frame format that is then passed to the voice decoder 46. During decoding, bit errors and corresponding SNRs (associated channel conditions) are estimated by the Viterbi decoder during the convolutional decoding process. After estimation over a certain period of time, the codec adaptation unit 48 makes a decision whether the coding mode should be changed in the receiving direction (this will be described later in detail). A request message (uplink node command 50) is inserted into the in-band area and transmitted to the handset.
The operation of the downlink data from the base station to the handset is comparable to speech data encoded by speech encoder 52 for input speech, which samples the data and provides the encoded data to channel encoder 54, which channel encoder 54 converts the long frame to a PHS format 5ms frame for transmission. The downlink voice data is then sent to the handset where the channel decoder 56 disassembles the PHS standard frames into a long frame format which is then passed to the voice decoder 58. During decoding, bit errors and corresponding SNRs (associated channel conditions) are estimated. After estimation in a certain time period, the codec adaptation unit 60 decides whether the coding mode should be changed in the receiving direction. A request message (downlink node command 62) is inserted into the in-band area and transmitted to the base station.
For each transmitted long frame, the coding mode (index) of the transmitter is determined based on a mode command that moves the mode using an algorithm based on the categories shown in fig. 7a and 7 b. The PHS standard requires that a simplified algorithm be used for mode adjustment on standard GSM/3G systems. The neighboring patterns are in different categories that effectively divide the total number of patterns, as shown in the table in FIG. 7 a. As shown in fig. 7b, if the transmission is in mode 11 and class 1(12.2kbps) and the error estimates from the convolutional decoder indicate that the bit rate needs to be reduced, the mode command causes one of the modes in the same class to move down 72, i.e. to mode 10, class 1(7.95 kbps). If the BER is still too high, a second move down 74 to mode 01 class 1(6.7kbps) is commanded. The BER is still too high resulting in a downward shift of 76 again to mode 00 class 1(5.15 kbps). If the BER is still too high, a final cross-class move 78 to mode 00 class 2(4.74kbps) is performed. Thus, the entire range of available modes moves across 4 commands. Similarly, if BER is decreased below a predetermined threshold, the category is commanded up to increase the transmission speed. For example, if the system is already in the lowest mode, i.e., in mode 00 class 2(4.74kbps), and the BER is now improved, the command moves 80 the mode up to mode 01 class 2(5.9kbps) instead of returning to mode 00 class 1. Further improvements result in moving 82 to mode 10 class 2(7.4kbps) and still further improvements result in moving 84 to mode 11 class 2(10.2 kbps). If further improvement is available, the algorithm causes the mode to move 86 across classes, i.e., to mode 11 class 1(12.2kbps) for the highest transmission speed. An improvement or deterioration in BER in the middle of the class range causes an upward or downward shift within the class as illustrated by shifts 88 and 90. The algorithm allows a circular movement pattern based on patterns within a class, the movement of the class only occurring when a minimum or maximum transmission capability in the class is reached.
Having thus described the invention in detail and by virtue of the patent statutes, those skilled in the art will appreciate modifications and substitutions to the specific embodiments disclosed herein. Such modifications are within the scope and intent of the present invention as defined in the following claims.
Claims (10)
1. A coding and error correction method comprising the steps of:
stripping header data from a plurality of legacy system frames having a header and Traffic Channel (TCH) data block;
collecting voice data in a period substantially the same as a period of the plurality of time slots;
encoding the stripped header data into a long frame header;
encoding the voice data;
combining the long frame header and the encoded speech data into a long frame;
deconstructing the long frame into a plurality of equal segments; and
and transmitting the segments as TCH data in the format of the legacy system frame.
2. The method of claim 1, wherein the encoding of the speech data comprises employing an AMR codec.
3. The method of claim 1, wherein the stripped header data includes CI and SA data.
4. The method of claim 1, wherein the encoding of the stripped header data comprises using a fixed convolutional encoder.
5. The method of claim 2, wherein the AMR codec has a plurality of modes and the method further comprises the step of selecting a codec mode based on a channel quality.
6. The method of claim 4, wherein the convolutional encoder is an 1/2 convolutional encoder.
7. The method of claim 5, wherein the step of selecting the mode comprises moving down the mode within a class when BER is worse, moving across classes at the lowest class limit, moving up within a class when BER is improved, and moving across classes at the highest class limit.
8. An encoding and error correction system comprising:
means (20) for stripping header data from a plurality of legacy system frames having header and Traffic Channel (TCH) data blocks (12a, 12b, 12c, 12 d);
means (18) for collecting voice data in a period substantially the same as a period of the plurality of time slots;
means (20) for encoding the stripped header data into a long frame header;
means (24) for encoding the speech data;
means for combining the long frame header and the encoded speech data into a long frame (32);
means for deconstructing the long frame into a plurality of equal segments (34a, 34b, 34c, 34 d); and
means for transmitting the segments as TCH data in the legacy system frame format.
9. The coding and error correction system of claim 8, wherein the means for encoding is an AMR codec (18) having a plurality of modes, and the system further comprises means for selecting a codec mode based on channel quality.
10. An encoding and error correction system as claimed in claim 9, wherein in the means for selecting the codec mode further comprises means for moving the mode down within one class (72, 74, 76) when the BER deteriorates and across classes (78) at the lowest class limit, and means for moving up within one class (80, 82, 84) when the BER improves and across classes (86) at the highest class limit.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/621,392 | 2004-10-22 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1116603A true HK1116603A (en) | 2008-12-24 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8122326B2 (en) | Encoding and error correction system for enhanced performance of legacy communications networks | |
| KR100809793B1 (en) | Efficient in-band signaling for discontinuous transmission and configuration changes in adaptive multi-rate communications systems | |
| CN100426716C (en) | Method and system for alternate transmission of codec mode information | |
| US6141353A (en) | Subsequent frame variable data rate indication method for various variable data rate systems | |
| US5537410A (en) | Subsequent frame variable data rate indication method | |
| US6286122B1 (en) | Method and apparatus for transmitting DTX—low state information from mobile station to base station | |
| US20020006138A1 (en) | Method and apparatus for supporting adaptive multi-rate (AMR) data in a CDMA communication system | |
| US7746832B2 (en) | Method and apparatus for supporting adaptive multi-rate (AMR) data in a CDMA communication system | |
| CN1268079C (en) | Testing loops for channel coder-decoder | |
| US20040168113A1 (en) | Receiving apparatus and receiving method in CDMA communication system | |
| JP2002524917A (en) | Codec mode coding using known information | |
| JP3825750B2 (en) | Method and system for assigning convolutionally encoded bits to symbols prior to modulation | |
| JP4094678B2 (en) | Information encoding method and apparatus using error correction and error detection | |
| FI108825B (en) | Procedure for estimating bit error rate of channel and receiver | |
| FI105635B (en) | Method of transmitting background noise information during data transfer in data frames | |
| EP1421729B1 (en) | A method and a system for transfering amr signaling frames on halfrate channels | |
| US6594793B1 (en) | Methods and systems for multiplexing and decoding variable length messages in digital communications systems | |
| US20100189201A1 (en) | Method and System for Decoding SACCH Control Channels in GSM-Based Systems with Partial Combining | |
| CA2654724A1 (en) | Method and apparatus relating to channel decoding | |
| US20060036434A1 (en) | Resource reservation in transmission networks | |
| JP2003188854A (en) | Method of blind transport format detection | |
| CN101107781B (en) | Enhanced performance coding and error correction system and method for legacy communication networks | |
| JP4037724B2 (en) | Method of blind transport format detection based on power transition | |
| HK1116603A (en) | Encoding and error correction system for enhanced performance of legacy communications networks | |
| WO1998002986A1 (en) | Subsequent frame variable data rate indication method for various variable data rate systems |