The present invention relates generally to methods, apparatus and systems for designing non-uniform constellations for signal transmission. More particularly, although not exclusively, the present invention relates to methods, apparatus and systems for designing non-uniform constellations that maximise performance, for example with respect to capacity and Signal to Noise Ratio (SNR) gain compared to uniform constellations, and for designing high-order non-uniform constellations.
In digital modulation schemes, data symbols are transmitted by modulating the amplitude and/or phase of a carrier wave having a certain frequency. For example, a data symbol typically represents an M-bit fragment of data, resulting in N=2M possible symbols. The set of N possible symbols are mapped to a set of N respective fixed complex numbers, which are referred to as constellation points and may be represented in the complex plane in the form of a constellation diagram. In order to transmit a given symbol, a complex carrier wave is multiplied by the value of the constellation point corresponding to the symbol, thereby modulating the amplitude and phase of the carrier by amounts corresponding respectively to the amplitude and phase of the constellation point.
Various constellations designs are used in various modulation schemes, including N-Quadrature Amplitude Modulation (QAM) in which the constellation comprises a square lattice of N regularly-spaced constellation points, and N-Phase Shift Keying (PSK) in which the constellation comprises a circular lattice of N regularly-spaced constellation points. Various other constellation designs are also known.
In order to measure the performance of a given constellation or between different constellations, various metrics may be used.
For example, capacity is a measure of the maximum rate of information that can be reliably transmitted over a communications channel. The maximum theoretical capacity of a channel is given by a well-known formula derived by Shannon. The Coded Modulation (CM) capacity is the maximum capacity achievable using a fixed non-uniform constellation without any coding constraints. The Bit Interleaved Coded Modulation (BICM) capacity is the maximum capacity achievable using a certain binary Forward Error Correction (FEC) scheme and fixed non-uniform constellation.
In addition, when comparing two systems, the difference in Signal-to-Nose Ratio (SNR) required achieving the same Bit Error Rate (BER) may be referred to as the SNR gain.
In contrast to uniform constellations, a non-uniform constellation is a constellation in which the constellation points are not regularly spaced. One advantage of using a non-uniform constellation is that performance may be increased, for example for SNR values below a certain value. For example, the BICM capacity may be increased by using a non-uniform constellation, when compared to an equivalent uniform constellation. Using a non-uniform constellation may also achieve a SNR gain over an equivalent uniform constellation.
A constellation may be characterised by one or more parameters, for example specifying the spacing between constellation points. Since constellation points of a uniform constellation are regularly spaced, the number of parameters needed to characterise a uniform constellation is typically equal to 1. For example, for a QAM type constellation, the constellation is characterised by the (constant) lattice spacing. For a PSK type constellation, the constellation is characterised by the (constant) distance of each constellation point from the origin. On the other hand, since the spacing between constellation points in a non-uniform constellation varies, the number of parameters needed to characterise a non-uniform constellation is relatively high. The number of parameters increases as the order of the constellation (i.e. the number of constellation points) increases.
One problem with designing a non-uniform constellation is that a relatively high number of parameters need to be searched to find the optimum constellation. This problem is increased in the case of constellations of higher order. In the case of high-order constellations (e.g. constellations comprising more than 1024 constellation points), an exhaustive search across all parameters may be unfeasible.
Therefore, what is desired is a technique for designing non-uniform constellations, and in particular, for designing non-uniform constellations for optimising performance (e.g. capacity and SNR performance). What is also desired is a technique for designing non uniform constellations using an algorithm having a relatively low complexity and relatively high computational efficiency.
It is an aim of certain exemplary embodiments of the present invention to address, solve and/or mitigate, at least partly, at least one of the problems and/or disadvantages associated with the related art, for example at least one of the problems and/or disadvantages described above. It is an aim of certain exemplary embodiments of the present invention to provide at least one advantage over the related art, for example at least one of the advantages described below.
The present invention is defined in the independent claims. Advantageous features are defined in the dependent claims.
In accordance with an aspect of the present invention, there is provided a method for generating a non-uniform constellation. The method comprises the step of performing a first process, the first process comprising the steps of: obtaining a first constellation defined by one or more parameter values; and generating a second constellation based on the first constellation using a second process. The second process comprises the steps of: obtaining a set of candidate constellations, wherein the set of candidate constellations comprises the first constellation and one or more modified constellations, wherein each modified constellation is obtained by modifying the parameter values defining the first constellation; determining the performance of each candidate constellation according to a predetermined performance measure; selecting the candidate constellation having the best performance as the second constellation. The first process further comprises the steps of: determining a difference between the first constellation and the second constellation; and if the second constellation differs from the first constellation by more than a threshold amount, repeating the first process using the second constellation generated in the current iteration of the first process as the first constellation in the next iteration.
Also, the first constellation used in the first iteration of the first process may comprise a uniform constellation.
Also, the first and second constellations may comprise constellations subject to one or more geometric constraints.
Also, the first and second constellations Also, comprise four quadrants, and the geometric constraints may comprise a constraint that the constellation is symmetric about the four quadrants.
Also, wherein the geometric constraints may comprise a constrain that: constellation points are arranged in first and second lines, the first lines being perpendicular to the second lines, the number of first lines is the same as the number of second lines, the same number of constellation points are arranged in each first line, and the same number of constellation points are arranged in each second line.
Also, at least one parameter value may comprise a fixed value.
Also, the first process may comprise the further step of: if the second constellation does not differ from the first constellation by more than the threshold amount, outputting the second constellation as a third constellation.
Also, the step of modifying the parameter values may comprise modifying one or more parameter values by at least a certain step size.
Also, the step of modifying the parameter values may comprises changing one or more parameter values by integer multiples of the step size. Also, the first process may comprise the further steps of: if the second constellation does not differ from the first constellation by more than the threshold amount, determining whether the step size is less than a threshold step size and, if the step size is less than the threshold step size, outputting the second constellation as a third constellation; and, if the step size is greater than or equal to the threshold step size, decreasing the step size and repeating the first process using the second constellation as the first constellation.
Also, the parameters values may comprise two or more parameter values, the step of modifying the parameter values may comprise modifying a subset of the parameter values while keeping the other parameter values fixed, and the method may comprise the step of repeating the first process one or more times, such that a different subset of the parameter values is modified in each iteration of the first process, and wherein the third constellation output in an iteration is used as the first constellation in the next iteration.
Also, the modified constellations of the set of candidate constellations in an iteration of the first process may be exclusive of the constellations of the set of candidate constellations in a previous iteration.
Also, the predetermined performance measure may comprise a performance achieved using a certain candidate constellation and using a defined transmission system, wherein the defined transmission system is defined by a set of one or more system parameter values.
Also, the predetermined performance measure may comprise a weighted sum of two or more component performance measures, wherein each component performance measure comprises a performance achieved using a certain candidate constellation and using a respective defined transmission system, wherein each defined transmission system is defined by a respective set of one or more system parameter values.
Also, when determining the performance of a certain candidate constellation, if any of the component performance measures may be lower than a certain threshold, then that candidate constellation is excluded from the set of candidate constellations.
Also, the parameter value associated with a certain parameter of each defined transmission system may comprise a value falling within a certain range.
Also, the system parameter values may comprise a value indicating a channel type.
Also, the system parameter values may comprise a SNR value.
In accordance with another aspect of the present invention, there is provided a method for generating a non-uniform constellation. The method performs a third process, the third process comprising the steps of: obtaining a third constellation, determining a SNR value as the lowest SNR at which a BER is lower than a threshold value, wherein the BER is a BER achieved using the third constellation and using a certain defined transmission system, obtaining a fourth constellation having the best performance within the defined transmission system at the determined SNR value according to a predetermined performance measure; and repeating the third process using the fourth constellation as the third constellation, until the determined SNR value is minimised, wherein the system parameter values defining the certain defined transmission system comprise the minimised SNR value as a SNR value.
Also, the predetermined performance measure may comprise a channel capacity.
Also, the modified constellations may be obtained by displacing one or more constellation points of the first constellation by at least a certain step size.
Also, the displacement may comprise displacement by an integer multiple of the step size in a radial direction.
Also, the displacement may comprise displacement by an integer multiple of the step size in one or both of first and second orthogonal directions.
In accordance with another aspect of the present invention, there is provided a method for generating a non-uniform constellation. The method comprises the step of performing a fourth process, the fourth process comprising the steps of: generating a third constellation by performing a method according to the preceding aspect, wherein the predetermined performance measure comprises a performance achieved using a certain candidate constellation and using a defined transmission system, wherein the defined transmission system is defined by a set of one or more system parameter values; modifying a system parameter value; determining whether the modified system parameter value satisfies a predetermined condition; and if the modified system parameter value does not satisfy the predetermined condition, repeating the fourth process using the third constellation as the first constellation.
Also, the system parameter values may comprise a Signal-to-Noise Ratio (SNR) value.
Also, the SNR value may be initialised to a value above a predetermined threshold, and the step of modifying the system parameter value may comprise reducing the SNR value.
Also, the step of reducing the SNR value may comprise reducing the SNR value by a fixed amount.
Also, the predetermined condition may comprise a condition that the SNR value is less than a threshold SNR value.
Also, the system parameter values may comprise a Ricean factor for a Ricean fading channel of the defined transmission system, and the SNR value may comprise a fixed value.
Also, wherein the Ricean factor may be initialised to a value above a predetermined threshold, and the step of modifying the system parameter value may comprise reducing the Ricean factor.
Also, the step of reducing the Ricean factor may comprise reducing the Ricean factor by a fixed amount.
Also, the predetermined condition may comprise a condition that the Ricean factor is less than a threshold Ricean factor. Also, the threshold Ricean factor may be equal to zero.
Also, the first constellation used in the first iteration of the first process may comprise a constellation that achieves optimum performance in an Additive White Gaussian Noise (AWGN) channel having the fixed SNR parameter value.
Also, the fourth process may comprise the further step of: if the modified system parameter value satisfies the predetermined condition, outputting the third constellation as a fourth constellation.
In accordance with another aspect of the present invention, there is provided a method for generating a non-uniform constellation. The method comprises the step of performing a first process, the first process comprising the steps of: obtaining a first constellation; determining a Signal-to-Noise Ratio (SNR) value as the lowest SNR at which a Bit Error Rate (BER) is lower than a threshold value, wherein the BER is a BER achieved using the first constellation and using a defined transmission system, wherein the defined transmission system is defined by a set of one or more system parameter values; and obtaining a second constellation having the best performance within the defined transmission system at the determined SNR value according to a predetermined performance measure.
Also, the step of obtaining the second constellation may comprise retrieving a predetermined constellation from a memory.
Also, the step of obtaining the second constellation may comprise obtaining a constellation by performing a method according to above method.
Also, the first process may comprise the further step of repeating the first process using the second constellation as the first constellation. Also, first process may be repeated a certain number of times.
Also, the first process may be repeated until the determined SNR value is minimised.
Also, the first constellation used in the first iteration of the first process may comprise a uniform constellation.
Also, wherein the step of determining a SNR value may comprise performing a simulation of the defined transmission system.
In accordance with another aspect of the present invention, there is provided a method for obtaining a non-uniform constellation, the method comprising the steps of: obtaining a first constellation defined by one or more parameters; obtaining a set of candidate constellations by modifying the values of one or more of the parameters of the first constellation; computing the capacities of each candidate constellation; selecting, based on the computed capacities, the best candidate from the set of candidate constellations as a second constellation; determining whether the second constellation differs from the first constellation by more than a threshold amount; and if the second constellation differs from the first constellation by more than the threshold amount, repeating the preceding steps using the second constellation as the first constellation.
In accordance with another aspect of the present invention, there is provided a method for transmitting data, the method comprising the steps of: mapping data to one or more constellation points of a non-uniform constellation; and transmitting a signal according to the constellation points to which the data are mapped.
In accordance with another aspect of the present invention, there is provided a method for receiving data, the method comprising the steps of: receiving a signal; determining one or more constellation points of a non-uniform constellation corresponding to the received signal; and de-mapping data from the constellation points corresponding to the received signal.
In accordance with another aspect of the present invention, there is provided an apparatus for transmitting data, the apparatus comprising: a mapper for mapping data to one or more constellation points of a non-uniform constellation; and a transmitter for transmitting a signal according to the constellation points to which the data are mapped.
In accordance with another aspect of the present invention, there is provided an apparatus for receiving data, the apparatus comprising: a receiver for receiving a signal; a constellation point determining unit for determining one or more constellation points of a non-uniform constellation corresponding to the received signal; and a de-mapper for de-mapping data from the constellation points corresponding to the received signal.
In certain exemplary embodiments according to any of the above aspects, the non-uniform constellation comprises a constellation according to any one of
In accordance with another aspect of the present invention, there is provided a system comprising: an apparatus for transmitting data according to any embodiment, aspect or claim disclosed herein; and an apparatus for receiving data according to any embodiment, aspect or claim disclosed herein.
In accordance with another aspect of the present invention, there is provided a non-uniform constellation comprising a constellation according to any one of
In accordance with another aspect of the present invention, there is provided an apparatus or system configured for implementing a method or algorithm according to any embodiment, aspect or claim disclosed herein.
In accordance with another aspect of the present invention, there is provided a machine-readable storage medium storing a data structure defining a non-uniform constellation in accordance with any embodiment, aspect or claim disclosed herein.
Another aspect of the present invention provides a computer program comprising instructions arranged, when executed, to implement a method, system and/or apparatus in accordance with any embodiment, aspect or claim disclosed herein. A further aspect provides machine-readable storage storing such a program.
Other aspects, advantages, and salient features of the invention will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, disclose exemplary embodiments of the invention.
The above and other aspects, and features and advantages of certain exemplary embodiments and aspects of the present invention will be more apparent from the following detailed description when taken in conjunction with the accompanying drawings, in which:
the Annexes to the Description illustrate results obtained from various embodiments of the present invention.
The following description of exemplary embodiments of the present invention, with reference to the accompanying drawings, is provided to assist in a comprehensive understanding of the present invention, as defined by the claims. The description includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope of the invention.
The same or similar components may be designated by the same or similar reference numerals, although they may be illustrated in different drawings.
Detailed descriptions of techniques, structures, constructions, functions or processes known in the art may be omitted for clarity and conciseness, and to avoid obscuring the subject matter of the present invention.
The terms and words used herein are not limited to the bibliographical or standard meanings, but, are merely used by the inventors to enable a clear and consistent understanding of the invention.
Throughout the description and claims of this specification, the words “comprise”, “contain” and “include”, and variations thereof, for example “comprising”, “containing” and “including”, means “including but not limited to”, and is not intended to (and does not) exclude other features, elements, components, integers, steps, processes, functions, characteristics, and the like.
Throughout the description and claims of this specification, the singular form, for example “a”, “an” and “the”, encompasses the plural unless the context otherwise requires. For example, reference to “an object” includes reference to one or more of such objects.
Throughout the description and claims of this specification, language in the general form of “X for Y” (where Y is some action, process, function, activity or step and X is some means for carrying out that action, process, function, activity or step) encompasses means X adapted, configured or arranged specifically, but not necessarily exclusively, to do Y.
Features, elements, components, integers, steps, processes, functions, characteristics, and the like, described in conjunction with a particular aspect, embodiment, example or claim of the present invention are to be understood to be applicable to any other aspect, embodiment, example or claim described herein unless incompatible therewith.
Embodiments of the present invention may be implemented in the form of any suitable method, system and/or apparatus for use in digital broadcasting, for example in the form of a mobile/portable terminal (e.g. mobile telephone), hand-held device, personal computer, digital television and/or digital radio broadcast transmitter and/or receiver apparatus, set-top-box, etc. Any such system and/or apparatus may be compatible with any suitable existing or future digital broadcast system and/or standard, for example one or more of the digital broadcasting systems and/or standards referred to herein.
A non-uniform constellation according to embodiments of the present invention may be generated or obtained using any suitable method or algorithm comprising steps for generating or obtaining such a non-uniform constellation. A non-uniform constellation according to embodiments of the present invention may be generated or obtained by any suitably arranged apparatus or system comprising means for generating or obtaining such a non-uniform constellation. The methods or algorithms described herein may be implemented in any suitably arranged apparatus or system comprising means for carrying out the method or algorithm steps.
Certain embodiments of the present invention provide an algorithm for obtaining a non-uniform constellation. A non-uniform constellation obtained in certain embodiments of the present invention may provide a higher capacity than an equivalent uniform constellation (e.g. a uniform constellation of the same order). Certain embodiments of the present invention may obtain an optimised non-uniform constellation using an algorithm with relatively low complexity and relatively high computational efficiency. For example, an algorithm in certain embodiments of the present invention may obtain an optimised non-uniform constellation much faster that an algorithm using a brute force method that searches all (or a high proportion of) possible candidate constellations. Certain embodiments of the present invention provide an algorithm for obtaining optimised non-uniform constellations suitable for very high-order constellation (e.g. comprising more than 1024 constellation points).
Various embodiments are described below in which Non-Uniform (NU) Quadrature Amplitude Modulation (QAM) constellations are obtained. However, the skilled person will appreciate that the present invention is not limited to QAM constellations, but may be applied to other types of constellation.
As mentioned above, a constellation may be characterised by a number of parameters, for example specifying the spacings between constellation points, or specifying the position of each positive real level (the complete constellations may be obtained from these parameters because the constellations are the same for real and imaginary axis and the same for positive and negative values). In order to obtain an optimum constellation, a brute force approach may be taken in which combinations of values for each of the parameters are searched with a certain step size up to a certain maximum value. Each combination of values for each parameter corresponds to a distinct constellation. The constellation having the best performance is selected.
However, in certain embodiments, the number of parameters may be reduced by imposing one or more certain geometric and/or symmetry constraints on the constellations. For example, a first constraint may be that the constellations are symmetric among the four quadrants of the constellation. In addition, the constellations may be constrained in that the constellation points are arranged in a QAM type lattice in which, within each quadrant, (i) constellation points are arranged in horizontal and vertical lines, (ii) the number of horizontal lines is the same as the number of vertical lines, (iii) the same number of constellation points are arranged in each horizontal line, and (iv) the same number of constellation points are arranged in each vertical line. In another example, the constellation may be constrained to be a circular constellation (e.g. a constellation having circular symmetry). Furthermore, constellations having the same relative arrangement, differing only in size, may be regarded as equivalent. In this, case one of the parameters may be set to a fixed value. The skilled person will appreciate that the present invention is not limited to the above examples, and that one or more additional or alternative constraints may be used.
In certain embodiments, a NU-QAM constellation may comprise a constellation conforming to one or more geometric and/or symmetry constraints, for example one or more, or all, of the above constrains, or a rotation and/or scaling thereof. An NU N-QAM constellation may comprise a NU-QAM constellation comprising N constellation points.
By applying the constraints described above, the number of parameters may be reduced, for example to 1, 3, 7, 15, 31 and 63 parameters for constellations comprising 16, 64, 256, 1024, 4096 and 16384 constellation points, respectively. The number of parameters in a reduced set of parameters may be denoted by b. For example b=1 for 16-QAM (in which there are 16 positions that are symmetric on the real/imaginary and positive/negative axes). Thus there are only 2 points to define. Since the total power of the constellation is typically normalized to one then fixing one parameter will fix the other. Thus b=1 for square 16QAM.
In certain embodiments of the present invention, combinations of values for each of the b parameter are searched with a step size d up to a maximum value A. Thus, the number of search iterations is equal to (A/d)b.
A first exemplary algorithm according to certain embodiments of the present invention for obtaining an optimum non-uniform constellation for a given SNR will now be described. The algorithm uses an iterative scheme to gradually modify an initial constellation until the constellation converges. For example, the initial constellation may be a uniform constellation, the constellation may be modified by changing the values of the parameters between iterations, and convergence occurs when the values of all the parameters change by less than a threshold amount between iterations. An optimum constellation may be defined as the constellation having the best performance according to any suitable measure. For example, the measure may comprise CM capacity or BICM capacity. In the following example a NU 64-QAM constellation is obtained, in which the (reduced) number of variable parameters, b, is equal to 3.
In a first step 201, C_last is initialised to an input constellation. In a next step 203, step d is initialised to a value Ini_step. In a next step 205, a set of candidate constellations is obtained. The set of candidate constellations comprise the constellation C_last and one or more modified constellations, where each modified constellation is obtained by modifying one or more of the parameter values defining C_last using any suitable scheme. In the illustrated example, the set of candidate constellations are created based on C_last and step size d, denoted by function CreateSet(C_Last, d). For example, for each constellation point, three derived constellations are generated [C_last, C_last+d, C_last−d]. Specifically, a set of constellations is derived such that the values of the b parameters in C_last are each set to one of n new values varying around the current parameter value. For example, three new values (n=3) may be used, comprising (i) the current parameter value, (ii) a value d greater than the current parameter value, and (iii) a value d less than the current parameter value. For example, if there are two constellation levels to be defined then the number of combinations to be tested are 3×3 (corresponding to three positions for each level). All combinations of the new parameter values are used to generate the set of constellation. Thus, the set of constellations comprises a total of nb constellations. Although three new values for each parameter are used in the embodiment described above, any suitable number of new values may be used in other embodiment. The set of new values may include the old value, or may not include the old value.
In certain embodiments, three values of each level are chosen so that the total number of possibilities to be tested is 3b where b is the number of levels (parameters) to be optimised. In the case of very high-order constellations, for example above 1K, 3b may be very high. In this case, all the levels may be fixed except one, for which three possibilities are tested, C_last, C_last+d and C_last−d until convergence is achieved. The same operation may then be repeated for the other levels. The cost of this operation is multiplicative and not exponential (for example, if it is supposed that each level converges in one iteration then the cost will be 3*b instead 3b.)
In a next step 207, the performance of each constellation in the set of derived (candidate) constellations is calculated or determined using any suitable performance measure (e.g. capacity). In a next step 209 the candidate constellation having the best performance (e.g. the candidate constellation that maximises the capacity) is assigned to C_best. In a next step 211, it is determined whether C_best differs from C_last by more than a threshold amount. For example, in the illustrated example, the threshold amount is equal to zero, so that it is determined whether C_best=C_last. That is, it is determined whether there is any difference between constellation C_best and constellation C_last (e.g. within a certain resolution). The difference may comprise any suitable measure of difference, for example including a difference based on geometry (e.g. differences in the locations of the constellation points of the constellations) and/or a performance measure (e.g. a difference in a certain performance measure between the constellations). If it is determined in step 211 that C_best≠C_last, then in a next step 213, C_last takes the value C_best (i.e. so that the value of C_Last in the next iteration is equal to the value of C_Best in the current iteration) and the method returns to step 205 in which a set of candidate constellations are created based on C_last and step, CreateSet(C_Last, d). On the other hand, if it is determined in step 211 that C_best=C_Last, then, in a next step 215, C_last takes the value C_best and the method moves to a next step 217.
In step 217, it is determined whether d<Min_Step. If it is determined in step 217 that d≥Min_Step then the method moves to a next step 219 in which the step size d is reduced. For example, d is divided by a certain factor (e.g. 2). Following step 219, the method returns to step 205 in which a set of candidate constellations are created based on C_last and step, CreateSet(C_Last, d). On the other hand, If it is determined in step 217 that d<Min_Step then the value of C_best is saved and the algorithm ends.
In the example shown in
In certain embodiments, Steps 217 and 219 of the algorithm illustrated in
The first algorithm described above determines the optimum constellation based on a certain performance measure (e.g. capacity). In the following, various algorithms for determining an optimum constellation for a defined transmission system defined by a set of one or more system parameter values, where the constellation is optimised for a certain desired value of a system parameter (e.g. a certain SNR value or certain Ricean factor). In these embodiments, a system parameter value is set to an initial value (e.g. a relatively high value) and an optimum constellation is generated using an algorithm described above (e.g. the algorithm illustrated in
For example,
In a next step 403 the first algorithm described above is run using the initialised constellation C_last as the input constellation and using the initialised SNR ratio. By applying the first algorithm, the constellation C_last will converge to an optimal constellation C_best for the specific input value of SNR. The output of step 403 is C_best obtained using the first algorithm. In a next step 405 the SNR value is reduced by a certain amount, for example one unit or step size. In step 405, C_last takes the value of C_best (i.e. so that the value of C_Last in the next iteration is equal to the value of C_Best in the current iteration). In a next step 407 it is determined whether SNR<S. If it is determined in step 407 that SNR≥S then the method returns to step 403, in which the first algorithm is run with the new values of C_last and SNR. On the other hand, if it is determined in step 407 that SNR<S, then the value of C_best is saved and the algorithm ends. By applying the second algorithm, the resulting constellation C_best is the optimal constellation for the desired SNR value S.
By running the second algorithm illustrated in
where K is the Rician factor and h is Rayleigh distributed (centred and normalised). Initially, the third algorithm applies the second algorithm described above to obtain the optimal constellation C_best at a SNR value S for an AWGN channel, C_best(AWGN). In a first step 601, parameter C_last is initialised to C_best(AWGN). In step 601 the Rician factor K is initialised to a high value, which may be determined theoretically and/or experimentally. For example, K may be initialised to a value K_rice+N, where N is large.
In a next step 603, the first algorithm described above is run using the initialised constellation C_last as the input constellation and using the initialised Rician factor K to obtain an optimal constellation C_best. In a next step 605, the Rician factor K is reduced by a certain amount, for example by one unit. In step 605, C_last takes the value of C_best (i.e. so that the value of C_Last in the next iteration is equal to the value of C_Best in the current iteration). In a next step 607 it is determined whether K<K_rice. If it is determined in step 607 that K≥K_rice then the method returns to step 603, in which the first algorithm is run with the new values of C_last and K. On the other hand, if it is determined in step 607 that K<K_rice, then the value of C_best is saved and the algorithm ends. By applying the second algorithm, the resulting constellation C_best is the optimal constellation for the desired Rician factor K_rice.
Table 1 below compares the number of capacity calculation function calls for obtaining optimal constellations for various constellation sizes (16-QAM, 64-QAM and 256-QAM) using an exhaustive search, a restricted exhaustive search and an algorithm according to an embodiment of the present invention. The values in Table 1 are based on a step size d of and maximum value for the parameters of 10. Table 1 also indicates the factor difference between using a restricted exhaustive search and a search using an algorithm according to an embodiment of the present invention. As can be seen, the algorithm according to an embodiment of the present invention is significantly more efficient, for example by a factor of 1.15×1010 for 256-QAM.
In Table 1, the difference between exhaustive search and restrictive exhaustive search is the following. It is assumed in the following that there are 4 levels (parameters) between 0 and 10. In the exhaustive search each of the 4 parameters is searched over the whole range [0-10] with a certain granularity. In the case of restricted exhaustive search, the range in which each level will fall is fixed. For example level1 (first parameter) will be in the range [0-2.5] level2 in the range [2.5-5], level3 in the range [5-7.5], level4 in the range [7.5-10]. By doing so, the number of possibilities is reduced.
In the algorithm of
As with the algorithm illustrated in
Using the techniques described above, optimal constellations may be obtained for particular parameters, for example SNR, Rician factor etc. These optimum constellations are obtained independently of any particular system implementation, for example independent of a particular coding scheme. In the following, various embodiments are described for obtaining an optimal constellation for a specific transmission system.
A transmission system may comprise a number of processes which may affect the optimal constellation, for example FEC encoding, bit interleaving, demultiplexing bits to cells, mapping cells to constellations, cell interleaving, constellation rotation, I/Q component interleaving, inter-frame convolution and inter-frame block interleaving, and MISO precoding. A QAM mapper is used in the Bit Interleaved Coded Modulation (BICM) chain to map bits to symbols. The QAM mapper may use a uniform constellation to map bits to cells (for example as done in DVB-T2). However, an increase in capacity may be achieved by using a fixed non-uniform constellation. A non-fixed non-uniform constellation (e.g. QAM) may be used to further increase capacity. The BICM capacity depends on the bit to cell mapping used. Optimisations are desirable in the LDPC design, the QAM mapping and the mapping of bits to cells.
In certain techniques, different constellations are generated using a certain step size. The Bit Error Rate (BER), the Block Error Rate and/or the Packet Error Rate corresponding to the constellations are obtained and the best constellation is selected based on one or more of the aforementioned error rates.
In certain embodiments of the present invention, the process illustrated in
In a next step 905, the SNR at which the BER falls below a threshold value (e.g. 0.001) is determined. The threshold value may be selected such that the resulting SNR falls within a “waterfall zone” of the BER curve (i.e. the zone at which the BER falls relatively rapidly with increasing SNR). The determined SNR value may be denoted S and referred to as a “waterfall” SNR.
In a next step, the optimal constellation may be obtained for the SNR value S determined in step 905.
For example, in some embodiments, in step 907a, the optimal constellation may be selected from the optimal constellations obtained when performing the algorithms described above in relation to
Alternatively, an iterative process may be performed to obtain an optimal (non-uniform) constellation, as follows. Specifically, following step 905, the method moves to step 907b in which the algorithms described above in relation to
In an exemplary embodiment marked “Example 1” of
Further, in an exemplary embodiment marked “Example 2” of
As described above, an optimum constellation may be obtained for a particular system implementation, and/or for certain system parameter values. For example, an optimum constellation (e.g. a constellation that optimises the BICM capacity) may be obtained for a certain propagation channel type (e.g. AWGN, Rayleigh or Typical Urban, TU6, channel) and for a certain SNR. However, in some cases, data may be transmitted in different scenarios. For example, data may be transmitted through different types of channels and may be received with different SNRs. Furthermore, it may be desirable or required that a data transmission system uses the same constellation, regardless of the scenario (e.g. channel type or SNR), for example in order to reduce system complexity. In some cases, a transmission system may use a certain constellation for many different scenarios (e.g. channel types and SNRs).
In the process illustrated in
In the process illustrated in
For example, as illustrated in
A candidate constellation may be obtained by selecting, for each constellation point in the previous constellation, either the constellation point of the previous constellation itself or one of the constellation points of a respective set of modified constellation points.
In the examples described above, a weighted performance measure is defined based on different transmission scenarios. For example, in the case illustrated in
In the algorithms described above, a technique may be applied to reduce the overall complexity. In particular, when a set of candidate constellations is generated and the performance of the candidate constellations are tested, those candidate constellations that have been previously tested (i.e. in one or more previous iteration) are not re-tested. That is, in a current iteration, only those candidate constellations that have not been tested in previous iterations are tested.
For example, as described above, a first set of candidate constellations, A, is generated in an iteration, and the best performing candidate constellation, a (a∈A), is selected from this set. In the next iteration, a second set of candidate constellations, B, is generated based on the previously selected constellation a (a∈B). In this next iteration, the best performing candidate constellation b (b∈B) from set B needs to be determined.
Typically, there will be at least some overlap between the two sets of candidate constellations A and B, such that one or more candidate constellations belong to both sets A and B (i.e. A∩B≠Ø), including constellation a. Since it is known that constellation a has the best performance of all the constellations in set A, then it is also known that constellation a has the best performance of all the constellations belonging to the overlap between sets A and B (i.e. A∩B).
Accordingly, when testing the constellations in set B to determine the best performing constellation, b, it is not necessary to re-test those constellations belonging to the overlap between sets A and B (i.e. it is not necessary to re-test those constellations in the set A·B). Instead, rather than testing all constellations in set B, only those constellations belonging to the smaller set of constellations B*, comprising constellations belonging to set B but excluding any constellations that also belong to set A (i.e. B*=B\A) are tested. Then, the best performing constellation from the set formed from the union of B* and the previous best performing constellation, a (i.e. the best performing constellation from the set B*∪a) is selected as the best performing constellation, b, of set B.
An example of the above principle in relation to the example shown in
The skilled person will appreciate that the functions of any two or more blocks illustrated in
A constellation obtained by a method according to exemplary embodiments of the present invention may be used in a digital broadcasting system to transmit data from a transmitter side to a receiver side. In certain exemplary embodiments, the system comprises a transmitter arranged to obtain data (e.g. a data stream), perform any required encoding and/or other processing of the data, modulate a signal using the data according to a modulation scheme corresponding to the constellation, and transmit the modulated signal. The system further comprises a receiver configured to receive a modulated signal, demodulate the signal according to a demodulation scheme corresponding to the constellation (or a similar or corresponding constellation), and perform any necessary decoding and/or other processing to recover the original data. Certain embodiments may comprise a transmitter side apparatus only, a receiver side apparatus only, or a system comprising both a transmitter side apparatus and a receiver side apparatus.
The number of parameters depends on the number of constraints, as can be seen by comparing the non-uniform constellations illustrated in
The Annexes to this description include various tables comprising data obtained using certain embodiments of the present invention. Annex 1a covers square constellations and Annex 2a covers non-square constellations. Each Annex covers four constellation sizes, 16, 64, 256 and 1024.
The first column in each table is the optimal SNR for which the values are optimal. In the case of the tables indicated NU-QAM (square), the tables contain the optimal normalized levels/parameters (L1, L2, L3 . . . ). There are different numbers of levels for each order of constellation.
In the case of the tables indicated NUC (non-square), the tables contain the raw point values (a1, a2, a3 . . . ) in the first quadrant (the other 3 quadrants can be derived by symmetry). The values in these tables are complex (A+Bi) since the constellation is two dimensional.
The Annexes to the Figures illustrate results obtained from various embodiments of the present invention.
Various results obtained by applying the algorithms described above will now be described. For example, results obtained for NU-QAM constellations of different sizes (specifically NU 16-QAM, NU 64-QAM, NU 256-QAM and NU 1024-QAM), and using different code rates (specifically 6/15, 7/15, 8/15, 9/15, 10/15, 11/15, 12/15 and 13/15), are described. These results show that non-uniform constellations provide a significant gain over corresponding uniform constellations. The values of the set of constellation points for various exemplary constellations obtained by applying the algorithms described above are also described.
In alternative embodiments, the constellations illustrated in
In alternative embodiments, the constellations illustrated in
In alternative embodiments, the constellations illustrated in
In alternative embodiments, the constellations illustrated in
The skilled person will appreciate that, in certain embodiments, the constellations indicated in
Tables 2-6 in Annex 7 indicate the values of the constellation points of exemplary normalised NU 16-QAM constellations obtained by applying the algorithms described above using coding rates of 5/15, 7/15, 9/15, 11/15, and 13/15, and fora single SNR value.
Tables 7-11 in Annex 7 indicate the values of the constellation points of exemplary normalised NU 64-QAM constellations obtained by applying the algorithms described above using coding rates of 5/15, 7/15, 9/15, 11/15, and 13/15, and for one SNR, in a similar manner to Tables 2-6.
Tables 12-16 in Annex 7 indicate the values of the constellation points of exemplary normalised NU 256-QAM constellations obtained by applying the algorithms described above using coding rates of 5/15, 7/15, 9/15, 11/15, and 13/15, and for one SNR, in a similar manner to Tables 2-11.
Tables 17-21 in Annex 7 indicate the values of the constellation points of exemplary normalised NU 1024-QAM constellations obtained by applying the algorithms described above using coding rates of 5/15, 7/15, 9/15, 11/15 and 13/15, and for one SNR. In tables 17-21, in contrast to Tables 2-16, rather than giving the values of the constellation points explicitly, a set of levels of the constellation point are given instead, from which the actual values of the constellation points may be deduced, as described above.
The skilled person will appreciate that the present invention is not limited to the specific constellations indicated in
In certain exemplary embodiments, the transmitter and the receiver may use constellations that are not exactly the same. For example, the transmitter and the receiver may user respective constellations in which one or more constellation points differ by no more than a certain threshold amount. For example, the receiver may use a constellation comprising one or more rounded constellation points (e.g. A2) to de-map the constellation value, while the transmitter may use a constellation comprising the non-rounded constellation points (e.g. A1).
Annexes 1b and 2b include alternative data to the data included in Annexes 1a and 2a. Annex 1b covers square constellations and Annex 2b covers non-square constellations. Each Annex covers four constellation sizes, 16, 64, 256 and 1024. The tables in Annex 2b contain the 2D constellation points for a range of SNR values. Different labelling (i.e. mappings between bits and constellation points) can be used. For each constellation, there exist (log 2(points)−2)!*2{circumflex over ( )}(log 2(points)−2) possible labellings that lead to an optimal capacity value. The Annex 2b tables only show one possible, exemplary, labelling. However, the skilled person can reorder the points of a given constellation/SNR, obtaining a different labelling but maintaining the same performance.
The Annexes to this description include various LDPC parity bit accumulator tables that may be used in certain embodiments of the present invention. Specifically, Annex 3 contains parity bit accumulator tables used to generate the Parity Check Matrix for each coding rate. A table is provided for each LDPC length, specifically 64 k or 16 k. For example, tables in Annex 3 were used in obtaining the results illustrated in
Annex 4 indicates the values of the constellation points of further exemplary 16-QAM, 64-QAM, 256-QAM and 1024-QAM constellations obtained by applying an algorithm according to an exemplary embodiment of the present invention, for example one or more of the algorithms described above, using coding rates of 7/15, 9/15, 11/15 and 13/15. The 16-QAM, 64-QAM and 256-QAM constellations are NUC constellations, where constellation points are given for the first quadrant only. The constellation points for the other three quadrants may be deduced by symmetry, as described above in relation to
Annex 5 indicates the values of the constellation points of further exemplary 16-QAM, 64-QAM and 256-QAM constellations obtained by applying an algorithm according to an exemplary embodiment of the present invention, for example one or more of the algorithms described above. In certain exemplary embodiments, these constellations may be used for coding rates of 3/10 or below.
Annex 6 indicates the values of the constellation points of further exemplary 16-QAM, 64-QAM, 256-QAM and 1024-QAM constellations obtained by applying an algorithm according to an exemplary embodiment of the present invention, for example one or more of the algorithms described above, using coding rates of 5/15 (for 64-QAM and 256-QAM only), 7/15, 9/15, 11/15 and 13/15. The 16-QAM, 64-QAM, 256-QAM constellations, and the second 1024-QAM constellation, are NUC constellations, where constellation points are given for the first quadrant only. The constellation points for the other three quadrants may be deduced by symmetry, as described above in relation to
In cases where the constellations are indicated in terms of a set of levels, the actual constellation points may be constructed from the indicated levels. For example, Annex 6 gives a “1K-QAM (1 dimension)” constellation in terms of a set of levels. Table 22 in Annex 8 gives the values of the constellation points in the first quadrant for the “1K-QAM (1 dimension)” constellation, which may be constructed from the set of levels given in Annex 6. The constellation points for the other three quadrants may be deduced by symmetry. One example of the construction of a set of constellation points from a set of levels is given in Annex 9.
The constellation points coordinates included in the present disclosure may be rounded off to the nearest whole number at any decimal point. For example, a constellation point coordinate may be rounded off in the fifth decimal place after the decimal point.
It will be appreciated that embodiments of the present invention can be realized in the form of hardware, software or a combination of hardware and software. Any such software may be stored in the form of volatile or non-volatile storage, for example a storage device like a ROM, whether erasable or rewritable or not, or in the form of memory such as, for example, RAM, memory chips, device or integrated circuits or on an optically or magnetically readable medium such as, for example, a CD, DVD, magnetic disk or magnetic tape or the like.
It will be appreciated that the storage devices and storage media are embodiments of machine-readable storage that are suitable for storing a program or programs comprising instructions that, when executed, implement certain embodiments of the present invention. Accordingly, certain embodiments provide a program comprising code for implementing a method, apparatus or system as claimed in any one of the claims of this specification, and a machine-readable storage storing such a program. Still further, such programs may be conveyed electronically via any medium, for example a communication signal carried over a wired or wireless connection, and embodiments suitably encompass the same.
While the invention has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the invention, as defined by the appended claims.
In certain exemplary embodiments, a two-dimensional constellation may be constructed from a set of one-dimensional levels according to the method described below. The specific example described below is based on the table for the CR 13/15, 1K constellation given in Annex 6, which is reproduced below.
The vector of levels may be denoted A={ai}, i=0, 1, 2, . . . , L−1.
In a first step, the vector A is normalized to obtain a normalised vector Ā using the following formula:
where L is the number of levels (i.e. the dimensionality of A).
In this example, the resulting normalised vector Ā is indicated below.
In a next step, the full constellation is generated as comprising all the possibilities of combinations of real and imaginary parts equal to one of the entries (i.e. components) of Ā, In certain exemplary embodiments, a gray mapping may be used.
In this example, the resulting constellation points of the first quadrant are indicated below.
In certain exemplary embodiments, a two-dimensional constellation may be constructed from a set of one-dimensional levels according to the method described below. The specific example described below is based on the table for the CR 13/15, 1K constellation given in Annex 6, which is reproduced below.
The vector of levels may be denoted A={ai}, i=0, 1, 2, . . . , L−1.
In a first step, the vector A is normalized to obtain a normalised vector Ā using the following formula:
where L is the number of levels (i.e. the dimensionality of A).
In this example, the resulting normalised vector Ā is indicated below.
In a next step, the full constellation is generated as comprising all the possibilities of combinations of reap and imaginary parts equal to one of the entries (i.e. components) of Ā. In certain exemplary embodiments, a gray mapping may be used.
In this example, the resulting constellation points of the first quadrant are indicated below.
Number | Date | Country | Kind |
---|---|---|---|
1312243.7 | Jul 2013 | GB | national |
1313419.2 | Jul 2013 | GB | national |
1315740.9 | Sep 2013 | GB | national |
1319202.6 | Oct 2013 | GB | national |
1401711.5 | Jan 2014 | GB | national |
1410114.1 | Jun 2014 | GB | national |
1410222.2 | Jun 2014 | GB | national |
This is a Continuation of U.S. application Ser. No. 16/678,536, filed Nov. 8, 2019, which is a continuation of U.S. application Ser. No. 15/818,480, filed Nov. 20, 2017, which issued as U.S. Pat. No. 10,505,780 on Dec. 10, 2019, which is a continuation of U.S. Application No. of Ser. No. 14/910,948 filed Feb. 8, 2016, which issued as U.S. Pat. No. 9,866,423 on Jan. 9, 2018, and which is a National Stage Entry of PCT Application No. PCT/KR2014/006125, filed on Jul. 8, 2014, which claims priority from United Kingdom Patent Application 1312243.7 filed on Jul. 8, 2013; United Kingdom Patent Application 1313419.2 filed on Jul. 26, 2013; United Kingdom Patent Application 1315740.9 filed on Sep. 4, 2013; United Kingdom Patent Application 1319202.6 filed on Oct. 30, 2013; United Kingdom Patent Application 1401711.5 filed on Jan. 31, 2014; United Kingdom Patent Application 1410114.1 filed on Jun. 6, 2014; and United Kingdom Patent Application 1410222.2 filed on Jun. 9, 2014. The entire disclosures of all the prior applications are considered part of the disclosure of the accompanying application and are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 17380737 | Jul 2021 | US |
Child | 18201897 | US | |
Parent | 16678536 | Nov 2019 | US |
Child | 17380737 | US | |
Parent | 15818480 | Nov 2017 | US |
Child | 16678536 | US | |
Parent | 14910948 | Feb 2016 | US |
Child | 15818480 | US |