GB2320400A - Communications system using block coding - Google Patents

Communications system using block coding Download PDF

Info

Publication number
GB2320400A
GB2320400A GB9625936A GB9625936A GB2320400A GB 2320400 A GB2320400 A GB 2320400A GB 9625936 A GB9625936 A GB 9625936A GB 9625936 A GB9625936 A GB 9625936A GB 2320400 A GB2320400 A GB 2320400A
Authority
GB
United Kingdom
Prior art keywords
block
codeword
codewords
data
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9625936A
Other versions
GB2320400B (en
GB9625936D0 (en
Inventor
Garegin Markarian
Michael Darnell
Bahram Honary
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HW COMMUNICATIONS Ltd
Original Assignee
HW COMMUNICATIONS Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HW COMMUNICATIONS Ltd filed Critical HW COMMUNICATIONS Ltd
Priority to GB9625936A priority Critical patent/GB2320400B/en
Publication of GB9625936D0 publication Critical patent/GB9625936D0/en
Publication of GB2320400A publication Critical patent/GB2320400A/en
Application granted granted Critical
Publication of GB2320400B publication Critical patent/GB2320400B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/33Synchronisation based on error coding or decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

A method for operating a communications system in which blocks of data are converted into block codewords in accordance with a selected coding format, the block codewords are transmitted to a receiver, and received block codewords are converted into blocks of data by an adaptive nested trellis decoder operating in accordance with the selected coding format. The decoder is operative to a calculate (at 11) a measure of the difference between a received block codeword and each valid block codeword (from 12) for the selected coding format, the received block codeword is converted into the block of data corresponding to the valid block codeword for which the calculated difference is a minimum (16), and the coding format is selected (at 17) to provide a level of resilience to noise appropriate to prevailing noise conditions as represented by a measure of those conditions derived from the received block codes, said measure of prevailing noise conditions being derived from the said minimum calculated difference. Also derived is synchronisation information identifying the position, in a serial stream of received block codewords, of the first data element of each block codeword.

Description

COMMUNICATIONS SYSTEM The present invention relates to a communications system in which blocks of data are converted into block codes, the block codes are transmitted to a receiver, and received block codes are decoded to recover the original blocks of data.
It is a well known technique to transmit data by using block codes in which the transmitted information is in the form of a stream of bits arranged in blocks such that each block is made up of the same number of bits. Data which is originally in the form of, for example, a four bit code is converted into, for example, an eight bit code and the eight bit code is transmitted. Only sixteen different eight bit codewords are possible, the structure of the selected sixteen eight bit codewords being such that at least four bits of each codeword are different from four corresponding bits of all the other codewords. At the receiver, codewords are detected and compared with the sixteen possible codewords to extract the data of interest. If the received eight bit codeword is not one of the sixteen codewords which could have been transmitted, the received code is compared with each of the sixteen possible codewords to determine which of the sixteen codewords is closest to the received codeword. Thus it is possible to detect and/or correct errors in the received codeword resulting from, for example, noise on the transmission channel.
Trellis decoding was developed to improve the efficiency with which a received codeword is compared with each of the possible transmitted codewords.
Numerous published documents describe the basic principles applied in trellis decoding, one example being the publication: Wolf J.K. "Efficient maximum likelihood decoding of linear block codes using a trellis" IEEE Transactions on Information Theory, vol.IT-24, No. 1, 1978, pp 76-80.
Trellis decoding significantly increases the efficiency with which block codes may be decoded. Unfortunately, however, each block code requires i different trellis structure. For example, the trellis structure designed for use in decoding a (7,4,3) Hamming code cannot be used to decode a (8,4,4) Reed-Muller code. In many practical applications, such as those involving time-varying communication channels, it is desirable to have an adaptive coding scheme in which different elements of the overall coding format have different levels of resilience to noise and distortion. Conventional adaptive block coding techniques use a number of different encoder/decoder combinations for different channel conditions. Although this approach improves the error performance of such systems, the complexity and cost of such systems is increased. Clearly it would not be practical to provide a decoder with, say, 30 different trellis structures to enable that decoder to operate with 30 different codes.
Encoding techniques have recently been proposed which allow the design of almost all known linear codes, together with their minimal trellises. The principle is described in: Honary B., Markarian G., Farrell P. "Generalisation array codes and their trellis structure" Electronics Letters, vol. 29 No. 6, 1993, pp. 541-542. Generalised array codes (GACs) would be very useful if the problem of providing multiple trellis structures could be overcome, and a solution to this problem has been described in the paper "Adaptive nested trellis decoding for block codes" by Honary B., Makarian G. and Darnell M., PUB.
1994 IEEE Inspec AZ 50 86219. That document describes how trellis structures can be designed which can be considered as a series of sub-structures, each nested within a basic structure. By providing a decoder with a basic trellis structure which can be switched so as to operate at any one time as any one of the nested trellises, the decoder can be rapidly reconfigured to process any one of a relatively large number of code formats.
The known adaptive nested trellis decoding technique can be used in both the transmitter and receiver to rapidly switch between coding formats, the coding format used at any one instant in time being selected to provide an appropriate level of resilience to noise given the prevailing noise conditions in the communications channel between the transmitter and receiver. Thus in comparison with conventional adaptive coding systems in which a bank of encoders is provided at the transmitter, a bank of decoders is provided at the receiver, and the encoders and decoders are switched into operation in response to variations in the communication channel noise levels, those banks of encoders and decoders can be replaced by relatively simple nested trellis structures. The problem still remains however of deriving a measure of the prevailing noise conditions so as to make an appropriate coding format selection.
Various noise estimating schemes are known which are used in switched encoder/decoder adaptive coding systems. For example, in the known RTCE (real time channel evaluation) system, a known block code is transmitted periodically. If that known pattern cannot be read at the receiver, the coding format is adjusted (by increasing the number of parity bits in the transmitted data block) until the receiver is capable of detecting the known pattern.
Unfortunately this system requires the transmission of a large volume of redundant information, particularly if the system is to respond rapidly to changing communication channel noise conditions.
In another known system, which can be used with both binary and multilevel modulation, zero crossings of the transmitted signal are detected and analysed. In the absence of noise, in each block of transmitted data there should be a predetermined number of zero crossings. As the noise level rises, the number of zero crossings increases. There is a correlation between the number of zero crossings and the communication channel signal-to-noise ratio. Such systems have proved difficult to implement.
In a third known system, a statistical analysis is made of the phase of received signals relative to a notional circle. The greater the dispersion of the signals, the lower is the signal-to-noise ratio. As with the other known systems, however, a separate process has to be performed to assess the signal-to-noise ratio and this is a constraint on the application of this third technique in an economic manner.
It is an object of the present invention to provide an improved method for assessing the signal-to-noise ratio of a communications channel in which block codes are transmitted to a receiver incorporating an adaptive nested trellis decoder.
According to the present invention, there is provided a method for operating a communications system in which blocks of data are converted into block codewords in accordance with a selected coding format, the block codewords are transmitted to a receiver, and received block codewords are converted into blocks of data by an adaptive nested trellis decoder operating in accordance with the selected coding format, wherein the decoder is operative to calculate a measure of the difference between a received block codeword and each valid block codeword for the selected coding format, the received block codeword is converted into the block of data corresponding to the valid block codeword for which the calculated difference is a minimum, and the coding format is selected to provide a level of resilience to noise appropriate to prevailing noise conditions as represented by a measure of those conditions derived from the received block codewords, characterised in that the said measure of prevailing noise conditions is derived from the said minimum calculated difference.
The present invention also provides a communications system in which blocks of data are converted into block codewords in accordance with a selected coding format, the block codewords are transmitted to a receiver, and received block codewords are converted into blocks of data by an adaptive nested trellis decoder operating in accordance with the selected coding format, wherein the decoder is operative to calculate a measure of the difference between a received block codeword and each valid block codeword for the selected coding format, to convert the received block codeword into the block of data corresponding to the valid block codeword for which the calculated difference is a minimum, and to select the coding format to provide a level of resilience to noise appropriate to prevailing noise conditions are represented by a measure of those conditions derived from the received block codewords, characterised in that the decoder is operative to derive the said measure of prevailing noise conditions from the said minimum calculated difference.
The basis of the present invention is that the calculation of the minimum difference between a received block codeword and a valid block codeword must be made as part of the operation of the nested trellis decoder. Once that minimum difference -has been calculated it represents an immediately available measure of the signal-to-noise ratio on the communication channel in question.
Thus a coding format selection control signal can be generated to control the coding format in use at both the transmitter and receiver. No independent signal-to-noise ratio measurement is required.
A major problem encountered with communication channels of the general type described above is that of bit, symbol and block synchronisation.
Errors can only be dealt with if the beginning and end of each block codeword can be identified. The problem of synchronisation is typically solved by an initial synchronisation process followed by either precise subsequent timing at the receiver, or use of segmenting information inserted within the transmission format. Although these procedures are not optimal, given that either the receiver must include precise timing circuits or the transmitted data must incorporate information relevant only to signal synchronisation, these procedures have been considered to represent the most efficient practical approach possible.
The principle of code-assisted bit synchronisation (CABS) has been introduced, as described in Honary B., Zolgahdr F., Darnell M. "Code-Assisted Bit Synchronisation (CABS) Scheme". IEEE Electronics Letters, vol.25, No 2, January 1989, pp.152-154 and Darnell M., Honary B. "New synchronisation techniques applicable to multi-tone transmission systems - Propagation effects and circuit performance of modern military radio systems", Conference Proceedings No. 442, AGARD, NATO, 1989, pp.25.1-25.8. CABS is a form of intrinsic synchronisation in which the frequency or phase transitions due to modulating data are used to derive symbol timing information. In CABS, the processes of demodulation and decoding have been combined and thus the demodulator can also perform the task of error control. In combining the processes of demodulation and decoding, a half-rate binary convolutional code is used, in conjunction with a soft-decision Viterbi decoder. Symbol timing information is then derived from the Viterbi decoder which also performs error correction of the received data. However, although CABS provides a robust symbol synchronisation, it cannot be used in conjunction with block error control codes since CABS cannot provide block synchronisation.
It is a further objective of the present invention to provide a method and apparatus for processing a serial stream of received block codewords to give simultaneous estimates of block, symbol and bit timing.
The present invention provides a method for processing a serial stream of received block codewords each made up from a series of n data elements, to derive synchronisation information identifying the position in the stream of the first data element of each block codeword, each block codeword being selected from a predetermined set of possible block codewords, wherein N block codewords are generated from a consecutive series of (2n-1) data elements, each generated block codeword being based on the assumption that a different one of the first n of the (2n-1) data elements is the first data element in a block codeword, each generated block codeword is compared with the possible block codewords, the generated block codeword which is closest to a possible block codeword is identified, and the position of the first data element of each block codeword in the stream of received block codewords is identified by reference to the position of the first data element of the identified generated block codeword.
Each data element may be a single bit, in which case the total number N of possible block codewords is small compared with n squared. For example, if each block codeword is made up from seven data elements (such that n=7), and the code is the (7,4,3) Hamming code, then there are sixteen possible block codewords (N=16). To improve the ability of the system to detect the position of the first data element in each block codeword, the same process may be conducted on more than 2n-1 consecutive data elements. For example if 3n-1 data elements are considered, at least two block codewords will be contained within that consecutive series and therefore there will be more information available to correctly identify the beginning of each block codeword. Typically there will be at least three block codewords within the reviewed consecutive series so as to enable a two out of one "vote" to more reliably identify the first data element in a block codeword.
The present invention also provides an apparatus for performing the synchronisation method defined above.
The above synchronisation method can be used to provide from the block codeword comparisons a difference value for each receive block codeword, that difference value being used to evaluate communications channel noise conditions in accordance with the above method for operating an adaptive communications system.
Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 is schematic illustration of an adaptive communications system in which the present invention may be applied; Figure 2 is a schematic representation of the method of assessing channel noise conditions used in accordance with the present invention; Figure 3 schematically represents the relationship between bits, symbols, blocks and samples as described below; Figure 4 represents a serial stream of bits in which each consecutive series of seven bits represents a single symbol or block codeword; Figure 5 represents the results of applying the invention to deriving synchronisation data in the case of a seven bit block code where there is a total possibility of sixteen valid block codewords; Figures 6 to 12 illustrate the use of a trellis decoder to calculate the distance between a received codeword and each of sixteen possible block codewords assuming a (8,4,4) RM Code; Figures 13, 14 and 15 respectively illustrate trellises for (7,4,3) Hamming code, (15,7,5) GAC, and (31,6,15) GAC; and Figure 16 illustrates the trellis of an adaptive nest of trellis decoder which may be used in a communications system in accordance with the present invention.
Referring to Figure 1, a transmitter comprises a data block generator 1 which converts data input into a data block The generated data block is applied to a block code generator 2 which also receives an input from a table of block codewords and data blocks 3. The input from the table 3 identifies a single set of relationships between generated data blocks and generated block codewords, that relationship being defined as described below by a selected coding format.
The generated block codeword corresponding to the input data is supplied to a transmitter 4 which transmits the block codeword on a data communications channel represented by broken line 5.
A receiver 6 receives the block codeword and delivers the received block codeword to a data block generator 7 and a coding format selector 8. The format selector 8 selects a coding format which is adapted to the signal-to-noise ratio on the transmitted signal, that signal-to-noise ratio being derived from the output of the receiver 6. The selected coding format controls the data block generator 7 so as to convert a received block codeword into the appropriate data block given the selected coding format. The resultant data block is processed by a data regenerator 9 to produce a data output corresponding to the original data input.
The output of the coding format selector 8 is also applied to a transmitter 10 an output of which is transmitted to the receiver and at the receiver controls the output of the block codeword table 3. Thus the coding format selection can be adapted rapidly to changing noise conditions on the transmission channel such that for example the number of parity bits in the transmitted block codeword increases with increasing channel noise.
The general structure described in Figure 1 is conventional. The present invention is concerned with the process of selecting the appropriate coding format and that process is described with reference to Figure 2.
Referring to Figure 2, a received block codeword is represented as "input block codeword" and is applied to a difference calculator 11 which also receives inputs from a valid block codeword list store 12. The output of the valid block codeword store 12 is a list of all the valid block codewords in accordance with the coding format being applied at any one time. Thus the single input block codeword is compared with each valid block codeword in the list and a series of difference values is calculated, one difference value corresponding to each valid block codeword for the selected coding format.
All of the calculated difference values are applied to an identifier 13 which identifies the valid block codeword for which the calculated difference is a minimum. It is assumed that the thus identified valid block codeword corresponds to the originally transmitted block codeword and therefore the identified valid block codeword is used in a look up table 14 which converts the identified valid block codeword into the matching data block which is output for conversion into the original data. The look up table 14 receives an input from a table of valid block codewords and data blocks 15, that input being in turn controlled by the current coding format selection.
The output of the difference calculator 11 is also applied to an identifier 16 which identifies the minimum calculated difference, that is the minimum difference which resulted from the calculations performed by the calculator 11 in comparing the input block codeword with each of the potentially valid block codewords. The calculated minimum difference is used to control a selector 17 which selects the appropriate coding format on the basis that the calculated minimum difference is representative of noise conditions on the communications channel. If there was no noise on the channel, the minimum difference would be zero. As the noise level increases, so will the minimum difference. Thus by using the calculated minimum difference to address the coding format selector a coding format can be selected which is appropriate to the then prevailing noise conditions. The greater the noise level the greater the number of parity bits incorporated in the transmitted codeword blocks to enable errors to be detected and corrected.
The output of the coding format selector is applied to a transmitter 18 which corresponds to the transmitter 10 of Figure 1.
In order for the system of Figure 2 to operate, it is necessary for the system to identify within a received signal the relationship between bits, symbols and blocks. Figure 3 shows the relationship between bits, symbols, and blocks of a signal. Each bit in a serial stream of data has a period T and each symbol is made up from a total of B bits. A block of symbols is made up from a total of M symbols, and a frame is made up from a total of L blocks 5. Generally conventional approaches can effectively identify the position of an individual bit in a serial stream of data but it has been more difficult to detect for example the first bit in a symbol or the first symbol in a block or the first block in a frame.
The present invention is concerned with this identification of the first data element in a series of data elements without it being necessary to include synchronisation data in the transmitted data.
Referring now to Figure 4, and assuming that we are concerned with identifying the first bit in each of a series of symbols represented by seven bits, the drawing shows the data associated with each of a series of twenty-nine consecutive bits. For the sake of simplification, it will be assumed that only two possible symbols can be transmitted, that is the symbol represented by "0101010" and the symbol represented by "0011110". In a practical system there will typically be sixteen possible block codewords given a seven bit block code length but it has been assumed for the present purposes that there are onh two possible codewords so as to simplify the description.
It will be seen by reference to Figure 4 that possibly valid block codewords are represented by bit group 1 (bit numbers 1 to 7), bit group 2 (bit numbers 3 to 9) and bit group 3 (bit numbers 22 to 28). Clearly bit groups 1 and 2 cannot both represent valid block codewords as they overlap but bit groups 1 and 3 can both represent valid block codewords as they are spaced from each other by a whole number multiplied by seven, the block code bit length. Thus it would be reasonable to assume that the first bits of the series of block codewords are represented by bit number 1, bit number 8, bit number 15 and bit number 22. The boundaries between consecutive valid block codewords are represented by dotted lines. It will be noted that the seven bits formed by bit numbers 8 to 14 would represent a valid block codeword if bit number 8 was value 1 rather than value 0, and that bit numbers 15 to 21 would represent a valid block codeword if bit number 19 was value 1 rather than value 0. Thus it would be reasonable to assume that due to noise or other transmission problems bit numbers 8 and 19 have been corrupted.
It would be possible to operate on the basis of a review of only (2n-1) consecutive bits where n is number of bits per block codeword, in the illustrated case 7. As shown in Figure 4, however, this might not provide an unambiguous identification of the position of the first bit in the block codeword and accordingly preferably the results from more than (2n-1) bits would be reviewed so as to in effect "vote" on the appropriate block codeword positions in the stream.
It will be noted that in the sample shown in Figure 4 block codeword synchronisation information is derived without it being necessary to introduce into the transmitted signal any synchronisation data. This represents a significant improvement upon the traditional approaches to the problem of synchronisation.
The example described with reference to Figure 4 is concerned with identifying the first bit in a series of seven bits. It is equally possible to identify the first symbol in a block of symbols by a similar technique, assuming that only a limited number of valid symbol series was possible so that the position of the first symbol in a series could be identified by comparing each of the possible symbol series with the known valid symbol series.
Referring now to Figure 5, this illustrates results derived for seven bit block codewords with time axis represented by bit shifts, that is displacements in time relative to an arbitrary position in the bit stream. The vertical axis of the plotted data represents each of sixteen block codewords in the form of a "minimum distance", that is the difference between the block codeword generated by assuming each of the seven possible positions for the first bit in a block codeword and comparing that with the possible or valid block codewords.
The "minimum distance" was calculated by producing a path metric for each of the successive generated block codewords. Thus the deviation from the horizontal lines associated with each of the sixteen block codewords indicates the minimum Euclidean distance. It can be seen that synchronisation is indicated with block codeword 11 at time shift 1, and with block codeword 13 at time shift 4. This ambiguity could be eliminated, however, if more than one block codeword (set of seven consecutive bits) is considered, as was the case in the simplified example represented in Figure 4.
Referring now to Figures 6 to 12, the use of a trellis decoder to compare a received block codeword with each of sixteen possible transmitted block codewords will be described. The comparison is used to derive synchronisation information, but also for error correction.
Referring to Figures 6 and 7, data in the form of four bits X1, X2, X3, X4 is presented to an encoder which converts the four bit input to an eight bit output Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8. The eight bit output is transmitted and received by the decoder of Figure 7 which reconverts the eight bit received signal to the original four bit data X1, X2, X3, X4.
Assuming that the system is operating in accordance with the (8,4,4) RM code, a total of 16 characters can be transmitted, the four bit data blocks corresponding to those sixteen characters and the eight bit block codewords corresponding to each of the four bit data blocks being set out below in Table 1: Character 4-bit data blocks Transmitted 8-bit data block 1 0000 00000000 2 0001 00001111 3 0010 00110011 4 0011 00111100 5 0100 01010101 6 0101 01011010 7 0110 01100110 8 0111 01101001 9 1000 11000011 10 1001 11001100 11 1010 11110000 12 1011 11111111 13 1100 10010110 14 1101 10011001 15 1110 10100101 16 1111 10101010 TABLE 1.
It will be seen that the "difference" between any two of the transmitted eight bit codewords is at least four.
Referring now to Figure 8, this is the trellis structure which is used to decode the (8,4,4) RM code represented in Table 1. The labels applied to each of the trellis branches represent bits of the four bit codeword to the left hand side of the oblique line and bits of the eight bit codeword to the right hand side of the oblique line. Thus if the received codeword is 10010110 as represented bv the lowest path through the trellis the correspondina four bit codeword 1100.
The application of the known trellis structure as shown in Figure 8 will now be described with reference to Figures 9 to 12 in the case where an eight-bit codeword is received as follows: 00011111 Referring back to Table 1, it can be seen that this received codeword does not correspond with any of the codewords which could have been transmitted and accordingly the trellis structure will be used to identify which transmitted codeword is most likely to have caused the generation of the received codewords.
Referring to Figure 9, the first two bits of the received codeword (shown in square brackets) are compared with the four possible combinations of those two bits in the left most portion of the trellis and a "difference" is calculated in each of the four cases, the result of that calculation being the difference number shown adjacent the appropriate pattern in the trellis and enclosed in curved brackets. It will be seen that the difference value for the uppermost branch is zero, for the next branch down two, and for the bottom two branches one.
The next two bits of the codeword are then compared with the bits of the next section of the trellis and again the cumulative differences between the various paths through the trellis are calculated. It will be seen that of the eight differences four have the value one and four have the value three. At this stage it can be safely assumed that the "correct" path is one of the four paths for which the difference is one.
Referring to Figure 10, this shows the first two sections of the trellis simplified to remove all but the four selected paths. The fifth and sixth bits of the received codeword are then compared in the same manner, generating eight difference values which in order running down the trellis are 3,1,1,3,2,2,2,2.
Clearly the difference values of one could identify the "correct" path, as could one of the four lower paths having difference values of 2. Applying the usual conventions, only two of the bottom four paths are considered as possibilities and accordingly the trellis structure shown in Figure 10 can be simplified as shown in Figure 11. The 7th and 8th bits of the received codeword are then compared in the last part of the trellis, generating differences of 3,1,3 and 3. Clearly the path with difference of one is the most likely candidate for the "correct" path and it will be seen from Table 1 that this corresponds to the four bit codeword 0001 which in turn corresponds to the eight bit codeword 00001111. The selected path is illustrated in Figure 12.
The techniques outlined above would be applied to a stream of bits to derive the necessary synchronisation data, but thereafter the above techniques could be applied to consecutive 8-bit blocks in the normal way.
The above description explains how difference values can be derived given a particular coding format, in the example given that coding format being the (8,4,4) RM coding format. In an adaptive system where used to decode a (31,6,15) BCH code or a (32,6,16) RM code assuming appropriate labelling of each branch. Thus a single basic trellis structure of the type shown in Figure 16 can cope with both of those two code types simply by modification of the labelling of the trellis branches. Such a modification can be achieved either in software or hardware and therefore a basic trellis structure such as that shown in Figure 16 could be readily implemented which was capable of dealing with at least the two codes mentioned above. In addition, however, the basic structure can be considered as incorporating substructures each of which could be used to decode a different code. For example, if the portion of the trellis structure shown in Figure 16 between the broken lines 1 and 2 was disabled, the remaining structure could be used to decode (15,5,7) BCH code and (16,5,8) RM code. If the trellis structure between lines 1 and 3 was disabled, the remaining structure could be used to decode (7,4,3) Hamming and (8,4,4) RM code. If all of the trellis structure between the lines 1 and 4 in Figure 16 was disabled, the remaining structure would be capable of decoding a (4,3,2) code. Furthermore, if the diagonal branches between the upper and lower levels of this part of the basic trellis were disabled the remaining structure could be used to decode (4,1,4) code.
Referring back to Figures 8 and 13, it will be seen that the illustrated structure corresponds to that above the broken line 3 in Figure 16. It will be appreciated that to run both the (7,4,3) code and the (8,4,4) code it would be necessary to modify the labelling of the deepest part of the structure so as to correspond with the values shown in either Figure 8 or Figure 13. Such a modification is, however, easy to implement in software, and could be readily implemented in hardware by providing appropriate circuits on a custom chip and enabling the control of individual branches in the basic structure by the application of appropriate voltages to terminals of the chip. Thus a nested trellis decoder provides a ready solution to the problem of manufacturing a decoder which can handle a wide range of block codes.
A procedure for the design of an adaptive decoding system is described below: (i) Let (n,k,d) be a block code with maximal codeword length and information rate.
(ii) Represent n=m x n2 where both m and n2 are integers and define the size of array (m is the number of columns). The following condition d > n2 must be satisfied in order to design the best code, where d is a minimum Hamming distance of the code.
(iii) Design a basic (m x n2, kd) GAC in accordance with the article "Generalisation array codes and their trellis structure" referred to above.
(iv) The trellis diagram of the designed GAC will have Ns=2 (maxkp) number of states and Nc-m+1 number of columns, where kp is number of information digits in the pth row, and each branch will be labelled with n2 digits.
(v) Delete the parity check symbol located in the mth row and n2nd column.
A new code will have the following parameters (n-1,k,d-1) and a similar trellis. The only difference between two trellises will be in the number of digits being used for labelling branches at the final depth of the trellis.
(vi) Delete the pth column in the basic GAC. A new code will have the following parameters (n-n2,k-1,d') where d' > n2-1. The trellis diagram for the new code will have the same number of columns Nc, but the number of states will be reduced to N,=2(m"X(P') The labelling branches will require n2-1 digits and the new trellis is a part of the basic trellis.
(vii) Delete the parity check symbol located in the mth row and n2-1 column.
The new code will have the following parameters (n-n2-1,k-1,d'-1) and a similar trellis. The only difference between the two trellises will be in the number of digits being used for labelling branches at the final depth of the trellis.
(viii) Repeat steps (vi) and (vii) until only one information digit will be left (repetition code). In this case Ns=2 and Nc=m+l.
The basic trellis structure of Figure 16 was generated using this procedure. Of course, the trellis diagram shown in Figure 16 can be nested itself into a trellis of block codes with higher block lengths or information rates. For example, all the trellises shown in Figure 16 can be nested into a trellis diagram for the (32,20,8) block code which has the same number of columns and 64 states.
The information throughput of the system can be optimised by an appropriate choice of component codes. This can be achieved since the size of nested trellis (number of states and columns) depends on the component codes.

Claims (13)

1. A method for operating a communications system in which blocks of data are converted into block codewords in accordance with a selected coding format, the block codewords are transmitted to a receiver, and received block codewords are converted into blocks of data by an adaptive nested trellis decoder operating in accordance with the selected coding format, wherein the decoder is operative to a calculate a measure of the difference between a received block codeword and each valid block codeword for the selected coding format, the received block codeword is converted into the block of data corresponding to the valid block codeword for which the calculated difference is a minimum, and the coding format is selected to provide a level of resilience to noise appropriate to prevailing noise conditions as represented by a measure of those conditions derived from the received block codes, characterised in that the said measure of prevailing noise conditions is derived from the said minimum calculated difference.
2. A method according to claim 1, which a serial stream of received block codewords each made up from a series of n data elements is processed to derive synchronisation information identifying the position in the stream of the first data element of each block codeword, each block codeword being selected from the predetermined set of possible block codewords defined by the selected coding format, wherein N block codewords are generated from a consecutive series of (2n-1) data elements, each generated block codeword being based on the assumption that a different one of the first n of the (2n-1) data elements is the first data element in a block codeword, each generated block codeword is compared with the possible block codewords, the generated block codeword which differs least from a possible block codeword is identified, the position of the first data element of each block codeword in the stream of received block codewords is identified by reference to the position of the first data element of the identified generated block codeword, and the minimum difference between the identified generated block codeword and the possible block codewords in which it is compared is used to derive the said measure of prevailing noise conditions.
3. A method according to claim 2, wherein each data element is a single bit, and the total number N of possible block codewords is small compared with n squared.
4. A method according to claim 2 or 3, wherein each block codeword is made up from seven data elements and there are sixteen possible block codewords.
5. A method according to claim 2, 3 or 4, wherein block codewords are generated from a consecutive series of at least 3n-1 data elements, and the results of comparisons between the generated block codewords and the possible block codewords are correlated to identify the position of the first data element of the or each of the block codewords in the series.
6. A communications system in which blocks of data are covered into block codewords in accordance with a selected coding format, the block codewords are transmitted to a receiver, and received block codewords are converted into blocks of data by an adaptive nested trellis decoder operating in accordance with the selected coding format, wherein the decoder is operative to calculate a measure of the difference between a received block codeword and each valid block codeword for the selected coding format, to convert the received block codeword into the block of data corresponding to the valid block codeword for which the calculated difference is a minimum, and to select the coding format to provide a level of resilience to noise appropriate to prevailing noise conditions as represented by a measure of those conditions derived from the received block codewords, characterised in that the decoder is operative to derive the said measure of prevailing noise conditions from the said minimum calculated difference.
7. A method for processing a serial stream of received block codewords each made up from a series of n data elements to derive synchronisation information identifying the position in the stream of the first data element of each block codeword, each block codeword being selected from a predetermined set of possible block codewords, wherein N block codewords are generated from a consecutive series of (2n-1) data elements, each generated block codeword being based on the assumption that a different one of the first n of the (2n-1) data elements is the first data element in a block codeword, each generated block codeword is compared with the possible block codewords, the generated block codeword which is closest to the possible block codeword is identified, and the position of the first data element of each block codeword in the stream of received block codewords is identified by reference to the position of the first data element of the identified generated block codeword.
8. A method according to claim 7, wherein each data element is a single bit, and the total number N of possible block codewords is small compared with n squared.
9. A method according to claim 7 or 8 wherein each block codeword is made up from seven data elements and there are sixteen possible block codewords.
10. A method according to claim 7, 8 or 9 wherein block codewords are generated from a consecutive series of at least 3n-1 data elements, and the results of comparison between the generated block codewords and the possible block codewords are correlated to identify the position of the first data element of the each of the block codewords in the series.
11. An apparatus for performing the method according to any one of claims 7 to 10.
12. A method for operating a communications system substantially as hereinbefore described with reference to the accompanying drawings.
13. A method for processing a serial stream of received block codewords, each made up from a series of n data elements to derive synchronisation information identifying the position in the stream of the first data element of each block codeword, substantially as hereinbefore described with reference to the accompanying drawings,
GB9625936A 1996-12-13 1996-12-13 Communications system Expired - Fee Related GB2320400B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9625936A GB2320400B (en) 1996-12-13 1996-12-13 Communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9625936A GB2320400B (en) 1996-12-13 1996-12-13 Communications system

Publications (3)

Publication Number Publication Date
GB9625936D0 GB9625936D0 (en) 1997-01-29
GB2320400A true GB2320400A (en) 1998-06-17
GB2320400B GB2320400B (en) 2001-06-06

Family

ID=10804412

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9625936A Expired - Fee Related GB2320400B (en) 1996-12-13 1996-12-13 Communications system

Country Status (1)

Country Link
GB (1) GB2320400B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003085837A1 (en) * 2002-04-04 2003-10-16 Linkair Communications, Inc. A method for time-space block coding based on hyper-set partition

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
INSPEC Abstract No. B9512-6120B-062 & 1994 IEEE GLOBECOM. Communications:The Global Bridge, p682-6 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003085837A1 (en) * 2002-04-04 2003-10-16 Linkair Communications, Inc. A method for time-space block coding based on hyper-set partition

Also Published As

Publication number Publication date
GB2320400B (en) 2001-06-06
GB9625936D0 (en) 1997-01-29

Similar Documents

Publication Publication Date Title
US5790570A (en) Concatenated trellis coded modulation and linear block codes
US8526547B2 (en) System and method performing Quadrature Amplitude Modulation by combining co-sets and strongly coded co-set identifiers
US5537444A (en) Extended list output and soft symbol output viterbi algorithms
EP0397385B1 (en) Error correction method and apparatus
US6597743B1 (en) Reduced search symbol estimation algorithm
US4700349A (en) Coded modulation system
JP3759964B2 (en) Multi-level coding using time diversity
EP3994799B1 (en) Iterative bit flip decoding based on symbol reliabilities
CA2275488A1 (en) Error correction decoder for vocoding system
US4755998A (en) Coded modulation system
US6711711B2 (en) Error correctible channel coding method
US7630461B2 (en) Low-latency high-speed trellis decoder
US5588028A (en) Simplified trellis decoder
US6141391A (en) System for improving the performance at low signal-to-noise ratios of receivers with Viterbi decoders
US6115436A (en) Non-binary viterbi decoder using butterfly operations
RU2377722C2 (en) Method of decoding noise-immune code
US5570391A (en) Trellis coding method using a multilevel delay device
US5703911A (en) Decoding method for trellis codes with large free distances
GB2320400A (en) Communications system using block coding
US6408037B1 (en) High-speed data decoding scheme for digital communication systems
JP2024507299A (en) Methods and devices for transmitting binary data
WO1995001008A1 (en) Bit error counting method and counter
US6301307B1 (en) Methods and apparatuses for the transmission and receipt of digital data modulated using quadrature amplitude modulation, and communication devices utilizing such apparatuses and methods
US6947503B2 (en) Method and circuit for synchronizing a receiver for a convolutionally coded reception signal
JP2001127809A (en) Method and circuit for multilevel decoding

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20041213