Disclosure of Invention
The embodiment of the invention provides a codebook generating method and a device for transmitting precoding indication information, which are used for solving the problem that the conventional codebook structure cannot meet the requirement of feedback overhead.
In a first aspect, an embodiment of the present invention provides a codebook generating method, including:
uniformly sampling a first dimension index and a second dimension index of a precoding matrix contained in a preset codebook to obtain S first dimension indexes and S second dimension indexes, wherein S is determined according to the maximum feedback bit number allowed by a system, and S is an integer greater than or equal to 1;
and determining a codebook formed by precoding matrixes corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook, and reallocating the first dimension indexes and the second dimension indexes to the precoding matrixes in the final codebook.
In a possible implementation manner, uniformly sampling a first dimension index and a second dimension index of a precoding matrix included in a preset codebook to obtain S first dimension indexes and S second dimension indexes, including:
dividing first dimension indexes of precoding matrixes contained in the preset codebook into M1 groups, and dividing second dimension indexes of precoding matrixes contained in the preset codebook into M2 groups to obtain M1M 2 index blocks, wherein M1 is an integer greater than or equal to 1, and M2 is an integer greater than or equal to 1;
for each index block, sampling the first dimension index according to a first sampling interval to obtain L first dimension indexes, wherein L is S/(M1 × M2), L is an integer greater than or equal to 1, and K1 represents the number of first dimension indexes in the index block; and sampling the second dimension indexes according to a second sampling interval to obtain L second dimension indexes, wherein K2 represents the number of the second dimension indexes in the index blocks.
In a possible implementation manner, for each index partition, sampling the first dimension index according to a first sampling interval to obtain L first dimension indexes includes: sampling the first dimension indexes according to a first sampling interval and a set first index offset value of 1 to obtain L first dimension indexes, wherein 1 is an integer and is not less than 0 and not more than 1 and not more than K1; and/or
For each index block, sampling the second dimension index according to a second sampling interval to obtain L second dimension indexes, including: and sampling the second dimension indexes according to a second sampling interval and a set second index offset value of 2 to obtain L second dimension indexes, wherein 2 is an integer and is not less than 0 and not more than 2 and not more than K2.
In a possible implementation, the first sampling interval is determined using the following equation:
or
Wherein
Δ 1 is the first sampling interval;
the second sampling interval is determined by the following formula:
or
Where
Δ 2 is the first sampling interval.
In a possible implementation manner, determining a codebook formed by precoding matrices corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook includes:
determining S index pairs formed by the S first dimension indexes and the S second dimension indexes;
and determining a set formed by the precoding matrixes corresponding to the S index pairs as a final codebook.
In a possible implementation manner, the S first-dimension indexes and the S second-dimension indexes in the S index pairs are arranged according to a set ordering rule.
In a possible implementation, the ordering rule includes:
the S first dimension indexes are arranged in a descending order, and the S second dimension indexes are arranged in a descending order; or
The S first dimension indexes are arranged from large to small, and the S second dimension indexes are arranged from small to large; or
The S first dimension indexes are arranged from small to large, and the S second dimension indexes are arranged from large to small; or
The S first dimension indexes are arranged from small to large, and the S second dimension indexes are arranged from small to large.
In a second aspect, a method for transmitting precoding indication information is provided, the method comprising:
selecting a precoding matrix from a codebook according to a channel measurement result, wherein the codebook is generated by any one of the methods;
and sending the first dimension index and the second dimension index of the precoding matrix to a network side.
In a third aspect, a method for receiving precoding indication information includes:
receiving a first dimension index and a second dimension index sent by user equipment;
and determining a corresponding precoding matrix from a codebook according to the first dimension index and the second dimension index, wherein the codebook is generated by any one of the methods.
In a fourth aspect, an apparatus for generating a codebook, the apparatus comprising:
the index sampling module is used for uniformly sampling a first dimension index and a second dimension index of a precoding matrix contained in a preset codebook to obtain S first dimension indexes and S second dimension indexes, wherein S is determined according to the maximum feedback bit number allowed by a system, and S is an integer greater than or equal to 1;
and a codebook generating module, configured to determine a codebook formed by precoding matrices corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook, and reallocate the first dimension indexes and the second dimension indexes to the precoding matrices in the final codebook.
In a possible implementation, the index sampling module is specifically configured to:
dividing first dimension indexes of precoding matrixes contained in the preset codebook into M1 groups, and dividing second dimension indexes of precoding matrixes contained in the preset codebook into M2 groups to obtain M1M 2 index blocks, wherein M1 is an integer greater than or equal to 1, and M2 is an integer greater than or equal to 1;
for each index block, sampling the first dimension index according to a first sampling interval to obtain L first dimension indexes, wherein L is S/(M1 × M2), L is an integer greater than or equal to 1, and K1 represents the number of first dimension indexes in the index block; and sampling the second dimension indexes according to a second sampling interval to obtain L second dimension indexes, wherein K2 represents the number of the second dimension indexes in the index blocks.
In a possible implementation, the index sampling module is specifically configured to:
sampling the first dimension indexes according to a first sampling interval and a set first index offset value of 1 to obtain L first dimension indexes, wherein 1 is an integer and is not less than 0 and not more than 1 and not more than K1; and/or
And sampling the second dimension indexes according to a second sampling interval and a set second index offset value of 2 to obtain L second dimension indexes, wherein 2 is an integer and is not less than 0 and not more than 2 and not more than K2.
In a possible implementation, the first sampling interval is determined using the following equation:
or
Wherein
Δ 1 is the first sampling interval;
the second sampling interval is determined by the following formula:
or
Where
Δ 2 is the first sampling interval.
In a possible implementation manner, the codebook generating module is specifically configured to:
determining S index pairs formed by the S first dimension indexes and the S second dimension indexes; and determining a set formed by the precoding matrixes corresponding to the S index pairs as a final codebook.
In a possible implementation manner, the S first-dimension indexes and the S second-dimension indexes in the S index pairs are arranged according to a set ordering rule.
In a possible implementation, the ordering rule includes:
the S first dimension indexes are arranged in a descending order, and the S second dimension indexes are arranged in a descending order; or
The S first dimension indexes are arranged from large to small, and the S second dimension indexes are arranged from small to large; or
The S first dimension indexes are arranged from small to large, and the S second dimension indexes are arranged from large to small; or
The S first dimension indexes are arranged from small to large, and the S second dimension indexes are arranged from small to large.
In a fifth aspect, an apparatus for transmitting precoding indication information, the apparatus comprising:
a selecting module, configured to select a precoding matrix from a codebook according to a channel measurement result, where the codebook is a codebook generated in any embodiment of the first aspect;
and the sending module is used for sending the first dimension index and the second dimension index of the precoding matrix to a network side.
In a sixth aspect, an apparatus for receiving precoding indication information, the apparatus comprising:
the receiving module is used for receiving the first dimension index and the second dimension index sent by the user equipment;
a determining module, configured to determine a corresponding precoding matrix from a codebook according to the first dimension index and the second dimension index, where the codebook is a codebook generated in any embodiment of the first aspect.
A seventh aspect provides another codebook generating device, including: at least one processor, and a memory coupled to the processor, wherein:
the processor is used for reading the program in the memory and executing the following processes:
uniformly sampling a first dimension index and a second dimension index of a precoding matrix contained in a preset codebook to obtain S first dimension indexes and S second dimension indexes, wherein S is the number of precoding matrices contained in the codebook determined according to the maximum feedback bit number allowed by a system, and S is an integer greater than or equal to 1;
and determining a codebook formed by precoding matrixes corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook, and reallocating the first dimension indexes and the second dimension indexes to the precoding matrixes in the final codebook.
In a possible implementation manner, the processor reads a program in the memory, and specifically executes:
dividing first dimension indexes of precoding matrixes contained in the preset codebook into M1 groups, and dividing second dimension indexes of precoding matrixes contained in the preset codebook into M2 groups to obtain M1M 2 index blocks, wherein M1 is an integer greater than or equal to 1, and M2 is an integer greater than or equal to 1;
for each index block, sampling the first dimension index according to a first sampling interval to obtain L first dimension indexes, wherein L is S/(M1 × M2), L is an integer greater than or equal to 1, and K1 represents the number of first dimension indexes in the index block; and sampling the second dimension indexes according to a second sampling interval to obtain L second dimension indexes, wherein K2 represents the number of the second dimension indexes in the index blocks.
In a possible implementation manner, the processor reads a program in the memory, and specifically executes:
sampling the first dimension indexes according to a first sampling interval and a set first index offset value of 1 to obtain L first dimension indexes, wherein 1 is an integer and is not less than 0 and not more than 1 and not more than K1; and/or
And sampling the second dimension indexes according to a second sampling interval and a set second index offset value of 2 to obtain L second dimension indexes, wherein 2 is an integer and is not less than 0 and not more than 2 and not more than K2.
Wherein the setting of the first sampling interval and the second sampling interval is specifically referred to the relevant description in the first aspect.
In a possible implementation manner, the processor reads a program in the memory, and specifically executes:
determining S index pairs formed by the S first dimension indexes and the S second dimension indexes; and determining a set formed by the precoding matrixes corresponding to the S index pairs as a final codebook.
For an alternative implementation of the S index pairs, reference is specifically made to the relevant description in the first aspect.
In an eighth aspect, another apparatus for transmitting precoding indication information is provided, including: a transceiver, at least one processor coupled to the transceiver, and a memory coupled to the processor, wherein:
the processor is used for reading the program in the memory and executing the following processes:
selecting a precoding matrix from a codebook according to a channel measurement result, wherein the codebook is generated by any embodiment in the first aspect;
the transceiver is configured to send the first dimension index and the second dimension index of the precoding matrix to a network side under control of the processor.
In a ninth aspect, another apparatus for transmitting precoding indication information is provided, including: a transceiver, at least one processor coupled to the transceiver, and a memory coupled to the processor, wherein:
the transceiver is used for receiving a first dimension index and a second dimension index sent by user equipment under the control of the processor;
the processor is used for reading the program in the memory and executing the following processes:
and determining a corresponding precoding matrix from a codebook according to the first dimension index and the second dimension index, wherein the codebook is generated by any embodiment in the first aspect.
In the method and the device provided by the embodiment of the invention, a first dimension index and a second dimension index of a precoding matrix contained in a preset codebook are uniformly sampled to obtain S first dimension indexes and S second dimension indexes; and determining a codebook formed by precoding matrixes corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook, and reallocating the first dimension indexes and the second dimension indexes to the precoding matrixes in the final codebook. The precoding matrix in the final codebook generated by the embodiment of the invention can be uniformly covered in the beam direction, so that the generated final codebook can meet the precoding requirement, and the final codebook generated by the embodiment of the invention reduces the number of precoding matrices and can meet the requirement of feedback overhead. The final codebook generated by the embodiment of the invention is adopted for feedback, so that the feedback overhead can be reduced, and higher codebook feedback load can be supported.
Detailed Description
The embodiment of the invention provides a codebook downward-sampling scheme, the obtained codebook is uniformly covered in the beam direction, and the codebook generated by the embodiment of the invention is adopted for feedback, so that the feedback overhead can be reduced.
The embodiments of the present invention will be described in further detail with reference to the drawings attached hereto. It is to be understood that the embodiments described herein are merely illustrative and explanatory of the invention and are not restrictive thereof.
An embodiment of the present invention provides a codebook generating method, as shown in fig. 1, the method includes:
s11, uniformly sampling a first dimension index and a second dimension index of a precoding matrix contained in a preset codebook to obtain S first dimension indexes and S second dimension indexes, wherein S is determined according to the maximum feedback bit number allowed by a system, and is an integer greater than or equal to 1;
the first dimension index may be an index of a horizontal dimension of the precoding matrix, or may be an index of a vertical dimension of the precoding matrix. Correspondingly, if the first dimension index may be an index of a horizontal dimension of the precoding matrix, the second dimension index may be an index of a vertical dimension of the precoding matrix; if the first dimension index may be an index of a vertical dimension of the precoding matrix, the second dimension index may be an index of a horizontal dimension of the precoding matrix.
In the embodiment of the invention, the value of S is determined according to the maximum feedback bit number (A) allowed by the system, and the value of S is less than or equal to 2A。
S12, determining a codebook formed by precoding matrixes corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook, and reallocating the first dimension indexes and the second dimension indexes to the precoding matrixes in the final codebook.
Optionally, the set of reallocated first dimension indices is {0, 1, …, S-1}, and the set of reallocated second dimension indices is {0, 1, …, S-1 }. Of course, other manners may also be adopted to allocate the first dimension index and the second dimension index to the precoding matrix in the final codebook, as long as it is ensured that the number of bits corresponding to the first dimension index and the second dimension index does not exceed the maximum number of feedback bits allowed by the system.
In the embodiment of the invention, a first dimension index and a second dimension index of a precoding matrix contained in a preset codebook are uniformly sampled to obtain S first dimension indexes and S second dimension indexes; and determining a codebook formed by precoding matrixes corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook, and reallocating the first dimension indexes and the second dimension indexes to the precoding matrixes in the final codebook. The precoding matrix in the final codebook generated by the embodiment of the invention can be uniformly covered in the beam direction, so that the generated final codebook can meet the precoding requirement, and the final codebook generated by the embodiment of the invention reduces the number of precoding matrices and can meet the requirement of feedback overhead. The final codebook generated by the embodiment of the invention is adopted for feedback, so that the feedback overhead can be reduced, and higher codebook feedback load can be supported.
The executing subjects of the above steps S11 to S12 may be user equipment (e.g., a terminal) or a network side (e.g., a base station), and the user equipment and the network side generate a codebook by using the same method, so that the user equipment and the network side can keep consistent understanding of the codebook in the subsequent feedback process.
The embodiment of the present invention may be applied to a one-level codebook and may also be applied to a two-level codebook, where if the embodiment is applied to the two-level codebook, the preset codebook in the steps S11 to S12 may be a first-level codebook in the two-level codebook or a second-level codebook in the two-level codebook.
Optionally, the uniformly sampling the first dimension index and the second dimension index of the precoding matrix included in the preset codebook in S11 to obtain S first dimension indexes and S second dimension indexes, including:
dividing first dimension indexes of precoding matrixes contained in the preset codebook into M1 groups, and dividing second dimension indexes of precoding matrixes contained in the preset codebook into M2 groups to obtain M1M 2 index blocks, wherein M1 is an integer greater than or equal to 1, and M2 is an integer greater than or equal to 1;
for each index block, sampling the first dimension index according to a first sampling interval to obtain L first dimension indexes, wherein L is S/(M1 × M2), L is an integer greater than or equal to 1, and K1 represents the number of first dimension indexes in the index block; and sampling the second dimension indexes according to a second sampling interval to obtain L second dimension indexes, wherein K2 represents the number of the second dimension indexes in the index blocks.
The L first-dimension indexes may be arranged in a descending order or in a descending order. Similarly, the L second-dimension indexes may be arranged in a descending order or a descending order. The embodiment of the present invention does not limit the arrangement order of the L first-dimension indexes and the L second-dimension indexes, as long as it is ensured that the user equipment and the network side understand the same.
Optionally, the first sampling interval is determined by using the following formula:
or
Where
Δ 1 is the first sampling interval.
Optionally, the second sampling interval is determined by using the following formula:
or
Where
Δ 2 is the first sampling interval.
Optionally, a first index offset value 1 is set, and for each index partition, the first dimension index is sampled according to a first sampling interval and the set first index offset value 1 to obtain L first dimension indexes, where 1 is an integer and 0 is not less than 1 and not more than K1;
and/or
And setting a second index offset value 2, sampling the second dimension indexes according to a second sampling interval and the set second index offset value 2 for each index block to obtain L second dimension indexes, wherein 2 is an integer and 0 is not less than 2 and not more than K2.
The first index offset value and the second index offset value may be the same value or different values.
In an implementation, determining, as a final codebook, a codebook formed by precoding matrices corresponding to the S first dimension indexes and the S second dimension indexes in S12 includes:
determining S index pairs formed by the S first dimension indexes and the S second dimension indexes;
and determining a set formed by the precoding matrixes corresponding to the S index pairs as a final codebook.
The S first dimension indexes and the S second dimension indexes in the S index pairs are arranged according to a set ordering rule.
As an optional implementation: the ordering rule comprises:
the S first dimension indexes are arranged in a descending order, and the S second dimension indexes are arranged in a descending order; or
The S first dimension indexes are arranged from large to small, and the S second dimension indexes are arranged from small to large; or
The S first dimension indexes are arranged from small to large, and the S second dimension indexes are arranged from large to small; or
The S first dimension indexes are arranged from small to large, and the S second dimension indexes are arranged from small to large.
In the implementation, the S index pairs may be implemented in any one of the above manners, but the present invention is not limited to the above implementation manner, and may also be implemented in other manners as long as it is ensured that the user equipment and the network side understand in a consistent manner.
The second embodiment of the present invention provides a downward sampling scheme for a two-stage codebook, and it is assumed that a preset two-stage codebook structure can be expressed as:
W=W1*W2;
where W denotes a precoding matrix, W1 denotes a first-level precoding matrix, and W2 denotes a second-level precoding matrix. For the codebook of 3D MIMO, one implementation of W1 or W2 is calculated by Kronecker product of the first dimension beam vector group and the second dimension beam vector group. Thus, each precoding matrix of W1 or W2 may be determined by indices of two dimensions (i.e., a first dimension index and a second dimension index). Taking the precoding matrix of W1 as an example, the first dimension index is defined as i1, and the second dimension index is defined as i2, where i1 is 0,1, …, N1-1, i2 is 0,1, …, and N2-1, and then each precoding matrix of W1 is determined by (i1, i 2). It should be noted that the first dimension index and the second dimension index may be index values obtained by renumbering after removing the overlapped beams.
First, grouping a first dimension index and a second dimension index included in W1 in a preset two-stage codebook, specifically as follows:
dividing the first dimension indexes of W1 into M1 groups, wherein K1 is N1/M1 first dimension indexes in each group, wherein the M1-th group is represented as:
[(m1-1)·K1(m1-1)·K1+1…m1·K1-1];
wherein M1 is 1, … and M1.
Similarly, the second-dimension indexes of W1 are divided into M2 groups, where K2 is N2/M2 second-dimension indexes in each group, where the M2-th group is represented as:
[(m2-1)·K2(m2-1)·K2+1…m2·K2-1];
wherein M2 is 1, … and M2.
Thus, in two dimensions, M1 × M2 two-dimensional index blocks can be obtained, each block is represented as (M1, M2), and there are K1 indexes in the first dimension (i.e., there are K1 indexes in the first dimension) and K2 indexes in the second dimension (i.e., there are K2 indexes in the second dimension).
Then, according to the requirement of feedback overhead, selecting a corresponding index in each index block according to a set rule, specifically as follows:
it is assumed that the number of first-stage precoding matrices included in W1 needs to be compressed to S, where S is an integer greater than or equal to 1. To ensure that the S first-stage precoding matrices are uniformly distributed in W1, corresponding to each index partition, L ═ S/(M1 × M2) first-dimension indexes and L second-dimension indexes need to be selected, taking (M1, M2) index partitions as an example, specifically including:
uniformly sampling K1 first-dimension indexes in index blocks (m1, m2) at a sampling interval set to be equal to
Definition of
Obtaining the following L first dimension indexes for the first dimension index deviant corresponding to the index block:
1) if the index values are in the order from small to large:
2) if the index values are in the order from big to small:
where different index blocks correspond to first dimension index offset values
May be the same or different.
Note that, if the first dimension index (denoted by i) after the sampling is described abovex) Greater than m1 · K1-1, the first dimension index is replaced with the following value: mod (i)x,K1)+(m1-1)·K1-1;
If the sampled first dimension index (i)x) Less than (m 1-1). K1, then the first dimension index is replaced with the following value: m 1. K1-mod (K1-i)x,K1)。
Secondly, evenly sampling K2 second dimension indexes in the index blocks (m1, m2), and setting the sampling interval to be equal to
Definition of
Obtaining the following L second-dimension indexes for the second-dimension index offset value corresponding to the index block:
1) if the index values are in the order from small to large:
2) if the index values are in the order from big to small:
second dimension index offset values corresponding to different index blocks
May be the same or different.
If the sampled second dimension index is greater than m2 · K2-1, the second dimension index is replaced by the following value: mod (i)x,K2)+(m2-1)·K2-1;
If the sampled second dimension index is smaller than (m2-1) · K2, replacing the second dimension index with the following value: m 2. K2-mod (K2-i)x,K2)。
Then, combining the L first dimension indexes and the L second dimension indexes to obtain L codeword index pairs, specifically:
or
Or
Or
In the implementation, any combination of the above may be selected.
And finally, determining L first-stage precoding matrixes corresponding to the obtained L code word index pairs as a final first-stage codebook, and allocating a first dimension index and a second dimension index to the precoding matrixes in the final first-stage codebook again.
The following describes a first dimension index and a second dimension index of a precoding matrix sampled by using the codebook generating method provided by the embodiment of the present invention, with reference to three specific embodiments.
In the third embodiment of the present invention, assuming that N1 is 16, N2 is 8, M1 is 2, M2 is 2, S is 8,
the first dimension index and the second dimension index of the precoding matrix sampled by the codebook generating method provided by the embodiment of the present invention are as shown in fig. 2, and the second index combination manner is adopted in the embodiment.
In the fourth embodiment of the present invention, N1 ═ 16, N2 ═ 8, M1 ═ 2, M2 ═ 1, S ═ 8,
the first dimension index and the second dimension index of the precoding matrix sampled by the codebook generating method provided by the embodiment of the present invention are as shown in fig. 3, and the first index combination manner is adopted in the embodiment.
In fifth embodiment of the present invention, N1 ═ 16, N2 ═ 8, M1 ═ 2, M2 ═ 1, S ═ 8,
the first dimension index and the second dimension index of the precoding matrix sampled by the codebook generating method provided by the embodiment of the present invention are as shown in fig. 4, and the first index combination manner is adopted in the embodiment.
Based on the same inventive concept, a sixth embodiment of the present invention provides a method for sending precoding indication information, as shown in fig. 5, the method includes:
s51, selecting a precoding matrix from a codebook according to a channel measurement result, wherein the codebook is generated in the embodiment shown in FIG. 1;
s52, sending the first dimension index and the second dimension index of the precoding matrix to the network side.
The execution subjects of the above steps S51 to S52 are user equipments (e.g., terminals, etc.).
In the embodiment of the invention, because the final codebook generated in the first embodiment of the invention is adopted for feedback, the feedback overhead can be reduced, and higher codebook feedback load is supported
Based on the same inventive concept, a sixth embodiment of the present invention provides a method for receiving precoding indication information, as shown in fig. 6, the method includes:
s61, receiving a first dimension index and a second dimension index sent by user equipment;
s62, determining a corresponding precoding matrix from a codebook according to the first dimension index and the second dimension index, where the codebook is the codebook generated in the embodiment shown in fig. 1.
The execution subjects of the steps S61 to S62 are network sides (e.g., base stations).
In the embodiment of the invention, because the codebook generated in the first embodiment of the invention is adopted for feedback, the feedback overhead can be reduced, and higher codebook feedback load is supported.
The above method process flow may be implemented by a software program, which may be stored in a storage medium, and when the stored software program is called, the above method steps are performed.
Based on the same inventive concept, a seventh embodiment of the present invention provides a codebook generating device, as shown in fig. 7, the codebook generating device includes:
the index sampling module 71 is configured to uniformly sample a first dimension index and a second dimension index of a precoding matrix included in a preset codebook to obtain S first dimension indexes and S second dimension indexes, where S is determined according to a maximum feedback bit number allowed by a system, and S is an integer greater than or equal to 1;
a codebook generating module 72, configured to determine a codebook formed by precoding matrices corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook, and reallocate the first dimension indexes and the second dimension indexes to the precoding matrices in the final codebook.
The codebook generating device provided in this embodiment may be a user equipment (e.g., a terminal) or a network side (e.g., a base station).
Optionally, the index sampling module 71 is specifically configured to:
dividing first dimension indexes of precoding matrixes contained in the preset codebook into M1 groups, and dividing second dimension indexes of precoding matrixes contained in the preset codebook into M2 groups to obtain M1M 2 index blocks, wherein M1 is an integer greater than or equal to 1, and M2 is an integer greater than or equal to 1;
for each index block, sampling the first dimension index according to a first sampling interval to obtain L first dimension indexes, wherein L is S/(M1 × M2), L is an integer greater than or equal to 1, and K1 represents the number of first dimension indexes in the index block; and sampling the second dimension indexes according to a second sampling interval to obtain L second dimension indexes, wherein K2 represents the number of the second dimension indexes in the index blocks.
Optionally, the index sampling module 71 is specifically configured to:
sampling the first dimension indexes according to a first sampling interval and a set first index offset value of 1 to obtain L first dimension indexes, wherein 1 is an integer and is not less than 0 and not more than 1 and not more than K1; and/or
And sampling the second dimension indexes according to a second sampling interval and a set second index offset value of 2 to obtain L second dimension indexes, wherein 2 is an integer and is not less than 0 and not more than 2 and not more than K2.
Wherein the setting of the first sampling interval and the second sampling interval is specifically referred to the relevant description in the embodiment shown in fig. 1.
Optionally, the codebook generating module 72 is specifically configured to: determining S index pairs formed by the S first dimension indexes and the S second dimension indexes; and determining a set formed by the precoding matrixes corresponding to the S index pairs as a final codebook.
For an alternative implementation of the S index pairs, reference is specifically made to the relevant description in the embodiment shown in fig. 1.
Based on the same inventive concept, an eighth embodiment of the present invention provides an apparatus for sending precoding indication information, as shown in fig. 8, the apparatus includes:
a selecting module 81, configured to select a precoding matrix from a codebook according to a channel measurement result, where the codebook is a codebook generated in the embodiment shown in fig. 1, and refer to the related description in the embodiment shown in fig. 1 specifically;
a sending module 82, configured to send the first dimension index and the second dimension index of the precoding matrix to a network side.
Based on the same inventive concept, a ninth embodiment of the present invention provides an apparatus for receiving precoding indication information, as shown in fig. 9, the apparatus includes:
a receiving module 91, configured to receive a first dimension index and a second dimension index sent by a user equipment;
a determining module 92, configured to determine a corresponding precoding matrix from a codebook according to the first dimension index and the second dimension index, where the codebook is a codebook generated in the embodiment shown in fig. 1, and refer to the related description in the embodiment shown in fig. 1 specifically.
Based on the same inventive concept, a tenth embodiment of the present invention provides another codebook generating apparatus, as shown in fig. 10, the apparatus including: at least one processor 101, and a memory 102 coupled to the processor 101, wherein:
a processor 101 for reading the program in the memory 102 and executing the following processes:
uniformly sampling a first dimension index and a second dimension index of a precoding matrix contained in a preset codebook to obtain S first dimension indexes and S second dimension indexes, wherein S is determined according to the maximum feedback bit number allowed by a system, and S is an integer greater than or equal to 1;
and determining a codebook formed by precoding matrixes corresponding to the S first dimension indexes and the S second dimension indexes as a final codebook, and reallocating the first dimension indexes and the second dimension indexes to the precoding matrixes in the final codebook.
Where in fig. 10 the bus architecture may include any number of interconnected buses and bridges, in particular one or more processors represented by processor 101 and various circuits of memory represented by memory 102 are linked together. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface. The processor 101 is responsible for managing the bus architecture and general processing, and the memory 102 may store data used by the processor 101 in performing operations.
Optionally, the processor 101 reads the program in the memory 102, and specifically executes:
dividing first dimension indexes of precoding matrixes contained in the preset codebook into M1 groups, and dividing second dimension indexes of precoding matrixes contained in the preset codebook into M2 groups to obtain M1M 2 index blocks, wherein M1 is an integer greater than or equal to 1, and M2 is an integer greater than or equal to 1;
for each index block, sampling the first dimension index according to a first sampling interval to obtain L first dimension indexes, wherein L is S/(M1 × M2), L is an integer greater than or equal to 1, and K1 represents the number of first dimension indexes in the index block; and sampling the second dimension indexes according to a second sampling interval to obtain L second dimension indexes, wherein K2 represents the number of the second dimension indexes in the index blocks.
Optionally, the processor 101 reads the program in the memory 102, and specifically executes:
sampling the first dimension indexes according to a first sampling interval and a set first index offset value of 1 to obtain L first dimension indexes, wherein 1 is an integer and is not less than 0 and not more than 1 and not more than K1; and/or
And sampling the second dimension indexes according to a second sampling interval and a set second index offset value of 2 to obtain L second dimension indexes, wherein 2 is an integer and is not less than 0 and not more than 2 and not more than K2.
Wherein the setting of the first sampling interval and the second sampling interval is specifically referred to the relevant description in the embodiment shown in fig. 1.
Optionally, the processor 101 reads the program in the memory 102, and specifically executes: determining S index pairs formed by the S first dimension indexes and the S second dimension indexes; and determining a set formed by the precoding matrixes corresponding to the S index pairs as a final codebook.
For an alternative implementation of the S index pairs, reference is specifically made to the relevant description in the embodiment shown in fig. 1.
Based on the same inventive concept, an eleventh embodiment of the present invention provides another apparatus for sending precoding indication information, as shown in fig. 11, the apparatus includes: a transceiver 111, at least one processor 112 coupled to the transceiver 111, and a memory 113 coupled to the at least one processor 112, wherein:
a processor 112 for reading the program in the memory 113 and executing the following processes:
selecting a precoding matrix from a codebook according to a channel measurement result, wherein the codebook is a codebook generated in the embodiment shown in fig. 1, and specifically refer to the relevant description in the embodiment shown in fig. 1;
the transceiver 111 is configured to transmit the first dimension index and the second dimension index of the precoding matrix to the network side under the control of the processor 112.
Where in fig. 11, the bus architecture may include any number of interconnected buses and bridges, with various circuits being linked together, specifically one or more processors represented by processor 112 and memory represented by memory 113. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface. The transceiver 111 may be a number of elements including a transmitter and a receiver that provide a means for communicating with various other apparatus over a transmission medium. For different user devices, the user interface 114 may also be an interface capable of interfacing with a desired device, including but not limited to a keypad, display, speaker, microphone, joystick, etc.
The processor 112 is responsible for managing the bus architecture and general processing, and the memory 113 may store data used by the processor 112 in performing operations.
Based on the same inventive concept, a twelfth embodiment of the present invention provides another apparatus for sending precoding indication information, as shown in fig. 12, the apparatus includes: a transceiver 121, at least one processor 122 coupled to the transceiver 121, and a memory 123 coupled to the at least one processor 122, wherein:
the transceiver 121 is configured to receive, under the control of the processor 122, the first dimension index and the second dimension index sent by the user equipment;
a processor 122, for reading the program in the memory 123, and executing the following processes:
and determining a corresponding precoding matrix from a codebook according to the first dimension index and the second dimension index, where the codebook is a codebook generated in the embodiment shown in fig. 1, and specifically refer to the related description in the embodiment shown in fig. 1.
Wherein in fig. 12, the bus architecture may include any number of interconnected buses and bridges, with one or more processors represented by processor 122 and various circuits of memory represented by memory 123 being linked together. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface. The transceiver 121 may be a number of elements including a transmitter and a receiver that provide a means for communicating with various other apparatus over a transmission medium.
The processor 122 is responsible for managing the bus architecture and general processing, and the memory 123 may store data used by the processor 122 in performing operations.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.