Method and device for determining precoding codebook
Patent Information
- Application Number
- CN202280100469.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-22
- Publication Date
- 2025-04-25
AI Technical Summary
When the line-of-sight path is weak, the traditional DFT codebook results in poor performance of the MIMO system and cannot effectively improve the bandwidth efficiency and energy efficiency of the wireless communication network.
The network device uses channel information to generate a precoding codebook, combines line-of-sight and non-line-of-sight channel information, uses preset optimization criteria to group the channel information, obtains the optimal precoding matrix, and iteratively updates the codebook until convergence to generate Codebook suitable for data transmission.
When the line-of-sight path is weak, the performance of the MIMO system is improved, the bandwidth efficiency and energy efficiency of the wireless communication network are enhanced, and the quality of data transmission is ensured.
Smart Images

Figure CN119895824A_ABST
Abstract
Description
Method and device for determining precoding codebook Technical Field
[0001] The present disclosure relates to the field of wireless communication technology, and in particular to a method and device for determining a precoding codebook. Background Art
[0002] In recent years, with the development of smart devices and their applications, the demand for multimedia services has rapidly increased. Therefore, to ensure the Quality of Service (QoS) requirements of mobile applications, the capacity of wireless communication networks must be increased. At the same time, telecom manufacturers and operators foresee an exponential increase in the load on wireless communication networks. Therefore, it is necessary to introduce new technologies to meet the explosive traffic demands of next-generation wireless communication networks.
[0003] Bandwidth efficiency (BE) is often one of the most important metrics for selecting candidate technologies for next-generation wireless communication systems. At the same time, due to the excessive power consumption of wireless communication networks, carbon emissions and operator expenses are increasing annually. Therefore, energy efficiency (EE) has become another important metric for evaluating the performance of wireless communication systems under given BE constraints. Multiple-input, multiple-output (MIMO) technology has garnered widespread attention in the industry because it significantly improves data throughput and link range without increasing bandwidth or transmission power. If multiple antennas are used on the transmitter side, the asymptotic orthogonality between MIMO channels can be exploited to largely eliminate inter-user interference, resulting in significant performance improvements. Furthermore, large antenna arrays on the transmitter side also provide significant capacity gains. Other benefits of MIMO include improving BE without increasing base station density, improving EE through the widespread use of inexpensive, low-power components, and expanding the ability to focus transmitted signal energy on a smaller area.
[0004] In MIMO systems, codebook-based precoding technology is used, and its performance is closely related to the codebook design. The currently used Discrete Fourier Transform (DFT) codebook can work well in line-of-sight channels. However, in actual communication scenarios, the line-of-sight (LOS) path may be very weak, and traditional DFT codebooks will lead to poor performance of MIMO systems in such scenarios.
[0005] Summary of the Invention
[0006] The present disclosure provides a method and apparatus for determining a precoding codebook, which can solve the technical problem of poor MIMO system performance in the case of weak line-of-sight paths.
[0007] A first aspect of the present disclosure provides a method for determining a precoding codebook, the method being performed by a network device and including:
[0008] determining a first codebook for data transmission, where the first codebook is generated based on channel information of at least one terminal;
[0009] Sending first codebook information of the first codebook to the at least one terminal.
[0010] In some embodiments of the present disclosure, determining a first codebook for data transmission includes:
[0011] receiving second codebook information sent by the at least one terminal, where the second codebook information is codebook information of a second codebook;
[0012] The first codebook is determined according to the second codebook information.
[0013] In some embodiments of the present disclosure, the second codebook information includes at least one of the following:
[0014] All codewords in the second codebook;
[0015] The second codebook is compared with the change information of the codeword before the second codebook is updated.
[0016] In some embodiments of the present disclosure, determining the first codebook according to the second codebook information includes:
[0017] Merging all codewords in the second codebook;
[0018] All merged codewords are deduplicated to obtain the first codebook.
[0019] In some embodiments of the present disclosure, determining a first codebook for data transmission includes:
[0020] Obtain an initial codebook;
[0021] receiving first channel information sent by the at least one terminal;
[0022] Combining the first channel information to obtain second channel information;
[0023] The first codebook is determined according to the initial codebook and the second channel information.
[0024] In some embodiments of the present disclosure, determining the first codebook according to the initial codebook and the second channel information includes:
[0025] grouping the second channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook;
[0026] Binding the channel information group to the first codeword in the initial codebook;
[0027] Obtaining an optimal precoding matrix corresponding to each group of channel information according to the same rule;
[0028] Using the codeword synthesized by each group of the optimal precoding matrix as the second codeword of each group;
[0029] Substituting the second codeword of each group for the first codeword of the corresponding bundle;
[0030] The above process is iterated cyclically until the first codeword corresponding to each group of channel information no longer changes, and a codebook consisting of each group of first codewords that no longer changes is determined as the first codebook.
[0031] In some embodiments of the present disclosure, determining a first codebook for data transmission includes:
[0032] Obtain an initial codebook;
[0033] Acquire third channel information of the at least one terminal through channel estimation;
[0034] Combining the third channel information to obtain fourth channel information;
[0035] The first codebook is determined according to the initial codebook and the fourth channel information.
[0036] In some embodiments of the present disclosure, determining the first codebook according to the initial codebook and the fourth channel information includes:
[0037] Grouping the fourth channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook;
[0038] Binding the channel information group to the first codeword in the initial codebook;
[0039] Obtaining an optimal precoding matrix corresponding to each group of channel information according to the same rule;
[0040] Using the codeword synthesized by each group of the optimal precoding matrix as the second codeword of each group;
[0041] Substituting the second codeword of each group for the first codeword of the corresponding bundle;
[0042] The above process is iterated cyclically until the first codeword corresponding to each group of channel information no longer changes, and a codebook consisting of each group of first codewords that no longer changes is determined as the first codebook.
[0043] In some embodiments of the present disclosure, obtaining the initial codebook includes:
[0044] Randomly generating the initial codebook;
[0045] The initial codebook is obtained from a multi-bit vector space at equal intervals.
[0046] In some embodiments of the present disclosure, the synthesizing a codeword of each group of the optimal precoding matrix as the second codeword of each group includes:
[0047] A weighted average is calculated for the optimal precoding matrix in each group, and the resulting codeword is used as the second codeword in each group.
[0048] In some embodiments of the present disclosure, the first codebook information includes at least one of the following:
[0049] All codewords in the first codebook;
[0050] The first codebook is compared with the change information of the codeword before the first codebook is updated.
[0051] In some embodiments of the present disclosure, the method further includes:
[0052] receiving indication information of a precoding matrix sent by the terminal;
[0053] Determining a precoding matrix for data transmission according to the indication information of the precoding matrix;
[0054] Data and / or a reference signal are sent to the terminal using the precoding matrix.
[0055] In some embodiments of the present disclosure, the indication information includes:
[0056] Number information of a third codeword in the first codebook used for data transmission.
[0057] In some embodiments of the present disclosure, determining a precoding matrix for data transmission according to the precoding matrix indication information includes:
[0058] The precoding matrix corresponding to the number information in the first codebook is determined as the precoding matrix for transmission data.
[0059] A second aspect of the present disclosure provides a method for determining a precoding codebook, where the method is performed by a terminal and includes:
[0060] In some embodiments of the present disclosure, the method is performed by a terminal, including:
[0061] First codebook information sent by a network device is received, where the first codebook information is codebook information of a first codebook for data transmission, and the first codebook is generated based on channel information of at least one terminal.
[0062] In some embodiments of the present disclosure, the first codebook information includes at least one of the following:
[0063] All codewords in the first codebook;
[0064] The first codebook is compared with the change information of the codeword before the first codebook is updated.
[0065] In some embodiments of the present disclosure, it is characterized in that the method further comprises:
[0066] Obtain an initial codebook;
[0067] Acquiring first channel information;
[0068] A second codebook is determined according to the initial codebook and the first channel information.
[0069] In some embodiments of the present disclosure, obtaining the initial codebook includes:
[0070] Randomly generating the initial codebook;
[0071] The initial codebook is obtained from a multi-bit vector space at equal intervals.
[0072] In some embodiments of the present disclosure, acquiring the first channel information includes:
[0073] The first channel information is acquired through channel estimation.
[0074] In some embodiments of the present disclosure, determining the second codebook according to the initial codebook and the first channel information includes:
[0075] grouping the first channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook;
[0076] Binding the channel information group to the first codeword in the initial codebook;
[0077] Obtaining an optimal precoding matrix corresponding to each group of channel information according to the same rule;
[0078] Using the codeword synthesized by each group of the optimal precoding matrix as the second codeword of each group;
[0079] Substituting the second codeword of each group for the first codeword of the corresponding bundle;
[0080] The above process is iterated cyclically until the first codeword corresponding to each group of channel information no longer changes, and a codebook consisting of each group of first codewords that no longer changes is determined as the second codebook.
[0081] In some embodiments of the present disclosure, the synthesizing a codeword of each group of the optimal precoding matrix as the second codeword of each group includes:
[0082] A weighted average is calculated for the optimal precoding matrix in each group, and the resulting codeword is used as the second codeword in each group.
[0083] In some embodiments of the present disclosure, the method further includes:
[0084] Second codebook information is sent to the network device, where the second codebook information is codebook information of the second codebook.
[0085] In some embodiments of the present disclosure, the second codebook information includes at least one of the following:
[0086] All codewords in the second codebook;
[0087] The second codebook is compared with the change information of the codeword before the second codebook is updated.
[0088] In some embodiments of the present disclosure, the method further includes:
[0089] First channel information is sent to the network device.
[0090] In some embodiments of the present disclosure, the method further includes:
[0091] determining a precoding matrix for data transmission according to the first codebook information and the first channel information;
[0092] Sending indication information of the precoding matrix to the network device.
[0093] In some embodiments of the present disclosure, determining a precoding matrix for data transmission according to the first codebook information and the first channel information includes:
[0094] selecting, from the first codebook, a third codeword for data transmission that matches the first channel information;
[0095] The precoding matrix corresponding to the third codeword is determined as the precoding matrix for data transmission.
[0096] In some embodiments of the present disclosure, the indication information includes:
[0097] Number information of a third codeword in the first codebook used for data transmission.
[0098] A third aspect of the present disclosure provides a network device, the network device including:
[0099] a processing module, configured to determine a first codebook for data transmission, where the first codebook is generated based on channel information of at least one terminal;
[0100] A sending module is configured to send the first codebook information of the first codebook to the at least one terminal.
[0101] A fourth aspect of the present disclosure provides a terminal, including:
[0102] The receiving module is configured to receive first codebook information sent by a network device, where the first codebook information is codebook information of a first codebook for data transmission, and the first codebook is generated based on channel information of at least one terminal.
[0103] The fifth aspect embodiment of the present disclosure provides a communication device, which includes: a transceiver; a memory; and a processor, which is connected to the transceiver and the memory respectively, and is configured to control the wireless signal reception and transmission of the transceiver by executing computer-executable instructions on the memory, and can implement the method of the first aspect embodiment or the second aspect embodiment of the present disclosure.
[0104] The sixth aspect embodiment of the present disclosure provides a computer storage medium, wherein the computer storage medium stores computer-executable instructions; after the computer-executable instructions are executed by a processor, the method of the first aspect embodiment or the second aspect embodiment of the present disclosure can be implemented.
[0105] The seventh aspect embodiment of the present disclosure provides a communication system, including a network device and a terminal, wherein the network device is used to execute the method of the first aspect embodiment of the present disclosure; and the terminal is used to execute the method of the second aspect embodiment of the present disclosure.
[0106] The embodiments of the present disclosure provide a method and apparatus for determining a precoding codebook. This method utilizes channel information on a network device to generate a first codebook for data transmission. The channel information includes information about non-line-of-sight channels. This codebook generation method ensures the performance of a MIMO system when line-of-sight paths are weak.
[0107] Additional aspects and advantages of the present disclosure will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0108] The above and / or additional aspects and advantages of the present disclosure will become apparent and readily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0109] FIG1 is a schematic flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0110] FIG2 is a schematic flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0111] FIG3 is a schematic flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0112] FIG4 is a schematic flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0113] FIG5 is a schematic flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0114] FIG6 is a schematic flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0115] FIG7 is a schematic flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0116] FIG8 is a timing diagram of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0117] FIG9 is a timing diagram of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0118] FIG10 is a timing diagram of a method for determining a precoding codebook according to an embodiment of the present disclosure;
[0119] FIG11 is a block diagram of a device for determining a precoding codebook according to an embodiment of the present disclosure;
[0120] FIG12 is a block diagram of a device for determining a precoding codebook according to an embodiment of the present disclosure;
[0121] FIG13 is a schematic structural diagram of a communication device according to an embodiment of the present disclosure;
[0122] FIG14 is a schematic structural diagram of a chip provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0123] The following describes in detail embodiments of the present disclosure, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present disclosure, and should not be construed as limiting the present disclosure.
[0124] In recent years, with the development of smart terminals and their applications, the demand for multimedia services has rapidly increased. Therefore, to ensure the Quality of Service (QoS) requirements of mobile applications, the capacity of wireless communication networks must be increased. At the same time, telecom manufacturers and operators foresee exponential growth in the load on wireless communication networks. Therefore, it is necessary to introduce new technologies to meet the explosive traffic demands of next-generation wireless communication networks. Bandwidth efficiency (BE) is often one of the most important criteria for selecting candidate technologies for next-generation wireless communication systems. At the same time, due to the high power consumption of wireless communication networks, carbon emissions and operator expenses are increasing annually. Therefore, energy efficiency (EE) has become another important metric for evaluating the performance of wireless communication systems under given BE constraints. Multiple-input, multiple-output (MIMO) technology has attracted widespread attention in the industry because it can significantly improve data throughput and link range without increasing bandwidth or transmission power. Using multiple antennas on the transmitter side, the asymptotic orthogonality between MIMO channels can largely eliminate inter-user interference, resulting in significant performance improvements. Furthermore, large antenna arrays on the transmitter side also provide significant capacity gains. Other benefits of MIMO include improving BE without increasing BS density, improving EE by widely using inexpensive low-power components, and expanding the ability to focus the transmitted signal energy on a smaller area.
[0125] In MIMO systems, codebook-based precoding technology is used, and its performance is closely related to the codebook design. The currently used Discrete Fourier Transform (DFT) codebook can perform well in line-of-sight channels. However, in actual communication scenarios, when there are obstructions (such as obstacles) on the line-of-sight (LOS) path, the signal transmission capability of the line-of-sight path is weakened. Traditional DFT codebooks lead to poor performance of MIMO systems in such scenarios. A line-of-sight path is the shortest and most direct propagation path between the transmitting and receiving antennas with line-of-sight (LOS).
[0126] To this end, the present disclosure proposes a method and apparatus for determining a precoding codebook, which can solve the technical problem of poor MIMO system performance caused by weak line-of-sight paths.
[0127] Figure 1 shows a flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure. As shown in Figure 1 , the method includes execution by a network device, wherein the network device can be a base station, a relay, a reconfigurable smart surface, etc., and the embodiment can include the following steps.
[0128] Step 101: Determine a first codebook for data transmission, where the first codebook is generated based on channel information of at least one terminal.
[0129] The channel is a wireless MIMO communication channel, which may include multiple non-line-of-sight channels in addition to line-of-sight channels; the channel information may include channel quality information (CQI) and channel state information (CSI), and may include other information, which is not specifically limited here; at least one terminal is a terminal that performs multi-antenna joint transmission with a network device, wherein the terminal may be a mobile phone, a notebook, a tablet computer, a multi-function terminal (POS), and an in-vehicle computer, etc., which is not limited in this disclosure. In the case of a weak line-of-sight path, the performance of the MIMO system can be guaranteed by generating a codebook for data transmission using channel information containing multiple channels.
[0130] For the embodiments of the present disclosure, a new codebook generation method is provided. A network device or terminal can combine channel information and use this preset codebook generation method to generate a corresponding codebook.
[0131] The implementation steps corresponding to the preset codebook generation method may be:
[0132] 1. Obtain channel information of at least one terminal and construct a channel information set using the channel information. Exemplarily, the channel information can be obtained by integrating channel information uploaded by at least one terminal by the network device, or the channel information of at least one terminal can be obtained by performing channel estimation based on channel reciprocity by the network device.
[0133] 2. Generate the initial codebook, which can be initialized by the following methods:
[0134] ─ Randomly generated
[0135] ─ Obtaining equal intervals in multidimensional vector space
[0136] 3. The channel information set may be grouped according to criteria such as maximizing channel capacity and maximizing received power, and the channel information in the channel information set may be assigned to codewords in the codebook.
[0137] 4. Calculate the optimal precoding matrix corresponding to each set of channel information using the same criteria, and synthesize the optimal precoding matrix in each set as a new codeword. The synthesis method may include:
[0138] ─Calculate the weighted average value, take the weighted sum of each precoding matrix and take the average value.
[0139] 5. Repeat steps 3 and 4 until convergence and output the codebook.
[0140] In a specific application scenario, when the network device determines the first codebook: as a possible implementation, the terminal may determine channel information based on channel estimation, generate a second codebook applicable to its own channel information using the above-mentioned preset codebook generation method, and report the second codebook information of the second codebook to the network device. Accordingly, the network device may receive the second codebook information reported by one or more terminals, and further, based on the second codebook information reported by at least one terminal, determine a first codebook applicable to the channel information of at least one terminal, so that the at least one terminal uses the first codebook for data transmission with the network device. For a specific implementation process, see the relevant description of steps 201 to 202 of the embodiment. As a possible implementation process, the network device may integrate and determine the channel information of at least one terminal, and further, based on the integrated channel information, directly generate a first codebook applicable to data transmission for at least one terminal under network coverage using the above-mentioned preset codebook generation method. For a specific implementation process, see the relevant description of steps 301 to 303 or 401 to 403 of the embodiment.
[0141] Step 102: Send first codebook information of a first codebook to at least one terminal.
[0142] The first codebook information may include at least one of the following: all codewords in the first codebook; and information about codeword changes in the first codebook compared to before the first codebook is updated. The information about codeword changes in the first codebook compared to before the first codebook is updated may include codeword change information due to operations such as adding a codeword, deleting a codeword, and replacing a codeword.
[0143] In the disclosed embodiments, the purpose of the network device sending the first codebook information to the terminal is to enable the terminal to obtain the first codebook based on the first codebook information. As a possible implementation method, when the network device sends all codewords in the first codebook to the terminal, the terminal can determine the first codebook based on the numbers of the received codewords. As a possible implementation method, when the network device sends the terminal information about changes in codewords in the first codebook compared to a previous update of the first codebook, the terminal can determine the first codebook sent by the network device based on the previous codebook sent by the network device and the change information.
[0144] Step 103: Receive indication information of the precoding matrix sent by the terminal.
[0145] In a specific application scenario, after receiving the first codebook information sent by a network device, the terminal can determine a precoding matrix based on the first codebook information and the current terminal's channel information, and further send information indicating the precoding matrix to the network device. The precoding matrix indication information includes the codeword number information used for data transmission in the first codebook. Accordingly, after receiving the precoding matrix indication information, the network device can recover the precoding matrix based on the codeword number information for data transmission.
[0146] Step 104: Determine a precoding matrix for data transmission according to the indication information of the precoding matrix, and use the precoding matrix to send data and / or reference signals to the terminal.
[0147] In the embodiments of the present disclosure, a network device may determine a precoding matrix for data transmission with a corresponding terminal based on precoding matrix indication information sent by at least one terminal, and use the precoding matrix to send data and / or reference signals to the terminal. The precoding matrices of the at least one terminal may be the same or different, and the matching determination may be based on the channel information corresponding to each terminal.
[0148] In summary, according to the method for determining the precoding codebook provided in the embodiment of the present disclosure, the first codebook for data transmission can be generated on the network device side using channel information. The channel information includes channel information of the non-line-of-sight channel. When the line-of-sight path is weak, this codebook generation method is used to generate the codebook, which can ensure the performance of the MIMO system.
[0149] FIG2 shows a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is executed by a network device, based on the embodiment shown in FIG1 , as shown in FIG2 , and may include the following steps.
[0150] Step 201: Receive second codebook information sent by at least one terminal, where the second codebook information is codebook information of a second codebook.
[0151] The second codebook information includes at least one of the following: all codewords in the second codebook; and information about changes in codewords in the second codebook compared to before the second codebook is updated. The information about changes in codewords in the second codebook compared to before the second codebook is updated may include codeword change information due to operations such as adding a codeword, deleting a codeword, and replacing a codeword.
[0152] In a specific application scenario, the terminal may generate a second codebook based on the channel information collected by itself and the codebook generation method shown in step 101 of the embodiment, and send the second codebook information of the second codebook to the network device, so that the network device can further determine the first codebook for data transmission based on the received second codebook information.
[0153] In the disclosed embodiments, the purpose of the second codebook information reported by the terminal is to enable the network device to obtain the second codebook based on the second codebook information. As a possible implementation, when the terminal sends all codewords in the second codebook to the network device, the network device may determine the second codebook based on the numbers of the received codewords. As a possible implementation, when the terminal sends information about changes in the codewords in the second codebook compared to before the second codebook was updated to the network device, the network device may determine the second codebook reported by the terminal based on the previous codebook reported by the terminal and the change information.
[0154] Step 202: Determine the first codebook according to the second codebook information.
[0155] In a specific application scenario, a network device may receive second codebook information reported by one or more terminals. For the disclosed embodiments, as one possible implementation, when the network device receives second codebook information sent by a terminal, the network device may first determine the second codebook sent by each terminal based on the second codebook information, then filter codewords from at least one second codebook generated by at least one terminal, and further determine a first codebook suitable for data transmission by at least one terminal under network coverage based on the filtered codewords. For example, if the network device receives multiple second codebooks sent by multiple terminals, it may filter codewords from the multiple second codebooks. When determining the first codebook, as one possible implementation, all codewords in the second codebooks may be merged, and codewords may be randomly or according to preset filtering rules filtered from the merged codebooks. The filtered codewords may be combined to obtain the first codebook. As another possible implementation, all codewords in the second codebooks may be merged, and duplicates may be removed from the merged codebooks to obtain the first codebook. It should be noted that the network device's filtering of codewords from multiple second codebooks to determine the first codebook may also include other possible implementations, which are not specifically limited here.
[0156] Step 203: Send first codebook information of the first codebook to at least one terminal.
[0157] In summary, according to the method for determining the precoding codebook provided in the embodiment of the present disclosure, the network device can receive the second codebook generated by the terminal using its own channel information, and further generate a first codebook for data transmission based on the second codebook. The terminal's own channel information may include channel information of the non-line-of-sight channel. In the case of a weak line-of-sight path, this codebook generation method can also ensure the performance of the MIMO system.
[0158] FIG3 shows a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is executed by a network device, based on the embodiment shown in FIG1 , as shown in FIG3 , and may include the following steps.
[0159] Step 301: Obtain an initial codebook.
[0160] The initial codebook may be randomly generated, or may be obtained at equal intervals in a multi-dimensional vector space.
[0161] Step 302: Receive first channel information sent by at least one terminal, and combine the first channel information to obtain second channel information.
[0162] Step 303: Determine a first codebook according to the initial codebook and the second channel information.
[0163] In the disclosed embodiments, each codeword in the initial codebook can be iteratively updated using a channel information set consisting of the second channel information to obtain a first codebook. The iterative update process can include grouping the channel information set consisting of the second channel information based on a preset optimization criterion and assigning the second channel information to codewords in the codebook, i.e., binding the channel information group to the first codeword in the initial codebook so that each first codeword in the initial codebook corresponds to a channel information group. Furthermore, the optimal precoding matrix corresponding to each group of channel information can be obtained according to the same rule. By synthesizing the optimal precoding matrix corresponding to each group of channel information, the second codeword of each group is determined. After replacing the corresponding bound first codeword with the second codeword of each group, the channel information set is regrouped based on the updated first codeword to update the first codeword again based on the new grouping. The above-mentioned first codeword update operation is repeated until any first codeword in the codebook no longer changes, and the codebook at this time is determined as the first codebook. Accordingly, the steps of the embodiment may include: grouping the second channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; binding the channel information groups with the first codewords in the initial codebook; obtaining the optimal precoding matrix corresponding to each group of channel information according to the same rule; using the codeword synthesized from each group of optimal precoding matrices as the second codeword of each group; replacing the corresponding bound first codeword with the second codeword of each group; iterating the above process until the first codeword corresponding to each group of channel information no longer changes, and determining the codebook consisting of the first codewords that no longer change in each group as the first codebook. The preset optimization criterion may include criteria such as maximizing channel capacity and maximizing received power, which are not specifically limited here. Accordingly, when using the codeword synthesized from each group of optimal precoding matrices as the second codeword of each group, as a preferred method, the optimal precoding matrices in each group may be weighted averaged and the synthesized codeword may be used as the second codeword of each group.
[0164] Exemplarily, the process of generating the first codebook may be:
[0165] 1. After L pieces of second channel information are obtained by merging, the L pieces of second channel information can be further used to construct a channel information set:
[0166] T={H1,H2,…,H L}
[0167] 2. Get the initial codebook B = [B1, B2, ..., B q ,…,B Q ].
[0168] 3. Based on a preset optimization criterion (taking the channel capacity maximization criterion as an example), the channel information set consisting of the L second channel information is grouped and divided to obtain a channel information group of the qth initial codeword in the initial codebook. The qth channel information group satisfies:
[0169]
[0170]
[0171] in, is the channel capacity maximization criterion that the qth group needs to meet, is the channel capacity, is the identity matrix of Ns*Ns, B q,l is the first codeword of the qth channel information group in the initial codebook, For B q,l The conjugate transpose of H l is the second channel information in the qth channel information group, H l The conjugate transpose of .
[0172] 4. Find the second codeword of the qth channel information group:
[0173]
[0174] It can be solved by the water injection power allocation algorithm, where P is the transmission power, is the noise power, N s is the number of transmitted data streams, W q,l is the optimal precoding matrix corresponding to the lth second channel information in the qth channel information group, W q,l The second channel information belongs to the qth channel information group, and the W of all channel information in the qth channel information group is converted to q,l Find the center to get the new second codeword B q , use the second codeword to replace the first codeword corresponding to the qth channel information group; in this way, update the first codeword of each channel information group in the entire codebook B. Among them, the center can be calculated by the following formula:
[0175]
[0176] L q H of the qth group l The number of (that is, W q,l quantity).
[0177] 5. Repeat steps 3 and 4 until there is no more change, and output the first codebook.
[0178] Step 304: Send first codebook information of the first codebook to at least one terminal.
[0179] In summary, according to the method for determining the precoding codebook provided in the embodiment of the present disclosure, the network device can combine the first channel information sent by at least one terminal, and use the combined second channel information to generate a first codebook for user data transmission. The second channel information includes channel information of the non-line-of-sight channel. When the line-of-sight path is weak, this codebook generation method is used to generate the codebook, which can ensure the performance of the MIMO system.
[0180] FIG4 shows a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is executed by a network device, based on the embodiment shown in FIG1 , as shown in FIG4 , and may include the following steps.
[0181] Step 401: Obtain an initial codebook.
[0182] The initial codebook may be randomly generated, or may be obtained at equal intervals in a multi-dimensional vector space.
[0183] Step 402: Acquire third channel information of at least one terminal through channel estimation, and combine the third channel information to obtain fourth channel information.
[0184] Step 403: Determine a first codebook according to the initial codebook and the fourth channel information.
[0185] In the disclosed embodiments, each codeword in the initial codebook can be iteratively updated using a channel information set comprised of the fourth channel information to obtain a first codebook. The iterative update process can include grouping the channel information set comprised of the fourth channel information based on a preset optimization criterion and assigning the fourth channel information to codewords in the codebook. This involves binding the channel information groups to the first codewords in the initial codebook, such that each first codeword in the initial codebook corresponds to a channel information group. Furthermore, the optimal precoding matrix corresponding to each group of channel information can be obtained according to the same rules. By synthesizing the optimal precoding matrix corresponding to each group of channel information, the second codeword for each group is determined. After replacing the corresponding bound first codeword with the second codeword for each group, the channel information set is regrouped based on the updated first codeword, and the first codeword is updated again based on the new grouping. This first codeword update operation is repeated until any first codeword in the codebook no longer changes, and the codebook at this point is determined as the first codebook. The specific implementation process can be found in the relevant description of step 303 of the embodiment and will not be further described here.
[0186] In a specific application scenario, the steps of the embodiment may include: grouping the fourth channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; binding the channel information groups with the first codeword in the initial codebook; obtaining the optimal precoding matrix corresponding to each group of channel information according to the same rule; using the codeword synthesized from each group of optimal precoding matrices as the second codeword of each group; replacing the corresponding bound first codeword with the second codeword of each group; iterating the above process until the first codeword corresponding to each group of channel information no longer changes, and determining the codebook consisting of the first codewords that no longer change in each group as the first codebook. The preset optimization criterion may include criteria such as maximizing channel capacity and maximizing received power, which are not specifically limited here. Accordingly, when using the codeword synthesized from each group of optimal precoding matrices as the second codeword of each group, as a preferred method, the optimal precoding matrices in each group may be weighted averaged and the synthesized codeword may be used as the second codeword of each group.
[0187] Step 404: Send first codebook information of the first codebook to at least one terminal.
[0188] In summary, according to the method for determining the precoding codebook provided in the embodiment of the present disclosure, the network device can obtain the third channel information of at least one terminal based on channel estimation, merge the third channel information of at least one terminal, and further use the merged fourth channel information to generate a first codebook for user data transmission. The fourth channel information includes channel information of the non-line-of-sight channel. When the line-of-sight path is weak, this codebook generation method is used to generate the codebook, which can ensure the performance of the MIMO system.
[0189] FIG5 is a flow chart of a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is executed by a terminal and may include the following steps.
[0190] Step 501: Receive first codebook information sent by a network device, where the first codebook information is codebook information of a first codebook for data transmission.
[0191] The first codebook is generated based on channel information of at least one terminal, where the channel is a wireless MIMO communication channel, which may include multiple non-line-of-sight channels in addition to line-of-sight channels; the channel information may include channel quality information (CQI) and channel state information (CSI), and may include other information, which is not specifically limited here; at least one terminal is a terminal that performs multi-antenna joint transmission with a network device, where the terminal may be a mobile phone, notebook, tablet computer, multi-function terminal (POS), and vehicle-mounted computer, etc., which is not limited in this disclosure. In the case of a weak line-of-sight path, the generation of a codebook for data transmission using channel information containing multiple channels can ensure the performance of the MIMO system.
[0192] In a specific application scenario, as a possible implementation, at least one terminal performing multi-antenna joint transmission with a network device may determine channel information based on channel estimation, generate a second codebook applicable to its own channel information using a preset codebook generation method, and report the second codebook information of the second codebook to the network device. Accordingly, the network device may determine a first codebook applicable to the channel information of the at least one terminal based on the second codebook information reported by the at least one terminal. As a possible implementation, after obtaining its own channel information, the at least one terminal may upload the channel information to the network device so that the network device can integrate and determine the channel information of the at least one terminal and further, based on the integrated channel information, directly generate a first codebook applicable to data transmission for the at least one terminal under network coverage using a preset codebook generation method. In embodiments of the present disclosure, after determining the first codebook, the network device may send first codebook information of the first codebook to the terminal, so that the terminal can obtain the first codebook based on the first codebook information and determine a precoding matrix based on the first codebook. The codebook information of the first codebook includes at least one of the following: all codewords in the first codebook; and information about changes in the codewords in the first codebook compared to before the first codebook was updated. The change information of the codewords in the first codebook compared to before the first codebook is updated may include codeword change information under operations such as adding a codeword, deleting a codeword, and replacing a codeword.
[0193] Step 502: Determine a precoding matrix for data transmission according to the first codebook information and the first channel information.
[0194] In the disclosed embodiments, after receiving first codebook information sent by a network device, a terminal may first determine a first codebook based on the first codebook information, and then determine a precoding matrix within the first codebook that matches the terminal's own first channel information. When determining the precoding matrix matching the channel information within the first codebook, a third codeword matching the first channel information for data transmission may be selected from the first codebook; and the precoding matrix corresponding to the third codeword may be determined as the precoding matrix for data transmission. Specifically, the selection of the third codeword may be based on preset criteria, such as maximizing channel capacity, maximizing received power, or minimizing interference. Accordingly, when determining the first codebook based on the first codebook information, as one possible implementation, the network device may send all codewords in the first codebook to the terminal. The terminal may then determine the first codebook based on the codeword numbers of all received codewords. As another possible implementation, when the network device sends information about changes in the first codebook compared to a previous update of the first codebook to the terminal, the terminal may determine the first codebook sent by the network device based on the previous codebook sent by the network device and the change information.
[0195] Step 503: Send the indication information of the precoding matrix to the network device.
[0196] The indication information of the precoding matrix may include the number information of the third codeword used for data transmission in the first codebook. Accordingly, in the embodiment of the present disclosure, after determining the precoding matrix, the terminal may further extract the number information of each third codeword in the precoding matrix, and then send the number information of each third codeword in the precoding matrix as the indication information of the precoding matrix to the network device, so that the network device determines the precoding matrix based on the number of each third codeword in the precoding matrix.
[0197] In summary, according to the method for determining a precoding codebook provided in an embodiment of the present disclosure, the terminal can receive first codebook information of a first codebook for data transmission sent by a network device, wherein the first codebook is generated using channel information, and the channel information includes channel information of a non-line-of-sight channel. When the line-of-sight path is weak, this codebook generation method is used to generate the codebook, which can ensure the performance of the MIMO system.
[0198] FIG6 shows a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is executed by a terminal, based on the embodiment shown in FIG5 , as shown in FIG6 , and may include the following steps.
[0199] Step 601: Obtain an initial codebook.
[0200] Step 602: Acquire first channel information.
[0201] In specific application scenarios, the terminal can collect first channel information through channel estimation. In addition to line-of-sight channel information, the first channel information may also include channel information of multiple non-line-of-sight channels. When the line-of-sight path is weak, the first channel information containing multiple channel information is used to generate a codebook to ensure the performance of the MIMO system.
[0202] Step 603: Determine a second codebook according to the initial codebook and the first channel information.
[0203] For the embodiment of the present disclosure, a new codebook generation method is provided. The terminal can combine the first channel information and use this codebook generation method to generate a second codebook.
[0204] The implementation steps corresponding to the new codebook generation method may be:
[0205] 1. Acquire first channel information, and construct a channel information set using the first channel information.
[0206] 2. Generate an initialization codebook, which can be initialized and generated in the following ways:
[0207] ─ Randomly generated
[0208] ─ Obtaining equal intervals in multidimensional vector space
[0209] 3. The channel information set may be grouped according to criteria such as maximizing channel capacity and maximizing received power, and the channel information in the channel information set may be assigned to codewords in the codebook.
[0210] 4. Calculate the optimal precoding matrix corresponding to each set of channel information using the same criteria, and synthesize the optimal precoding matrix in each set as a new codeword. The synthesis method may include:
[0211] ─Calculate the weighted average value, take the weighted sum of each precoding matrix and take the average value.
[0212] 5. Repeat steps 3 and 4 until convergence and output the codebook.
[0213] Accordingly, for the embodiments of the present disclosure, the embodiment steps may include: grouping the first channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; binding the channel information groups with the first codewords in the initial codebook; obtaining the optimal precoding matrix corresponding to each group of channel information according to the same rule; using the codeword synthesized from each group of optimal precoding matrices as the second codeword of each group; replacing the corresponding bound first codeword with the second codeword of each group; looping and iterating the above process until the first codeword corresponding to each group of channel information no longer changes, and determining the codebook consisting of the first codewords that no longer change in each group as the second codebook. The preset optimization criterion may include criteria such as maximizing channel capacity and maximizing received power, which are not specifically limited here. Accordingly, when using the codeword synthesized from each group of optimal precoding matrices as the second codeword of each group, as a preferred method, it may include calculating a weighted average of the optimal precoding matrices in each group and using the synthesized codeword as the second codeword of each group.
[0214] Exemplarily, the second codebook generation process may be:
[0215] 1. After merging to obtain L first channel information, the L first channel information can be further used to construct a channel information set:
[0216] T={H1,H2,…,H L}
[0217] 2. Get the initial codebook B = [B1, B2, ..., B q ,…,B Q ].
[0218] 3. Based on a preset optimization criterion (taking the channel capacity maximization criterion as an example), the channel information set consisting of the L first channel information is grouped and divided to obtain a channel information group of the qth initial codeword in the initial codebook. The qth channel information group satisfies:
[0219]
[0220]
[0221] in, is the channel capacity maximization criterion that the qth group needs to meet, is the channel capacity, is the identity matrix of Ns*Ns, B q,l is the first codeword of the qth channel information group in the initial codebook, For B q,l The conjugate transpose of H l is the first channel information in the qth channel information group, H lThe conjugate transpose of .
[0222] 4. Find the second codeword of the qth channel information group:
[0223]
[0224] It can be solved by the water injection power allocation algorithm, where P is the transmission power, is the noise power, N s is the number of transmitted data streams, W q,l is the optimal precoding matrix corresponding to the lth first channel information in the qth channel information group, W q,l The first channel information belongs to the qth channel information group, and the W of all channel information in the qth channel information group is converted to q,l Find the center to get the new second codeword B q , use the second codeword to replace the first codeword corresponding to the qth channel information group; in this way, update the first codeword of each channel information group in the entire codebook B. Among them, the center can be calculated by the following formula:
[0225]
[0226] L q H of the qth group l The number of (that is, W q,l quantity).
[0227] 5. Repeat steps 3 and 4 until there is no more change, and output the second codebook.
[0228] Step 604: Send codebook information of the second codebook to the network device, wherein the codebook information of the second codebook is used to determine the first codebook.
[0229] The codebook information of the second codebook includes at least one of the following: all codewords in the second codebook; and change information of codewords in the second codebook compared to before the second codebook is updated. The change information of codewords in the second codebook compared to before the second codebook is updated may include codeword change information due to operations such as adding a codeword, deleting a codeword, and replacing a codeword.
[0230] In the disclosed embodiments, the purpose of the codebook information of the second codebook reported by the terminal is to enable the network device to obtain the second codebook based on the codebook information of the second codebook, and then determine the first codebook for data transmission based on the codebook information of the second codebook. As a possible implementation method, when the terminal sends all codewords in the second codebook to the network device, the network device can determine the second codebook based on the numbers of the received codewords; as a possible implementation method, when the terminal sends change information of the codewords in the second codebook compared to before the second codebook is updated to the network device, the network device can determine the second codebook reported by the terminal based on the previous codebook reported by the terminal and the change information.
[0231] Step 605: Receive codebook information of a first codebook for data transmission sent by a network device.
[0232] In summary, according to the method for determining the precoding codebook provided in the embodiment of the present disclosure, the terminal can generate a second codebook using the second channel information, and send the second codebook information of the second codebook to the network device, so that the network device generates a first codebook for data transmission based on the second codebook. The second channel information includes channel information of the non-line-of-sight channel. When the line-of-sight path is weak, this codebook generation method can be used to ensure the performance of the MIMO system.
[0233] FIG7 shows a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is executed by a terminal, based on the embodiment shown in FIG5 , as shown in FIG7 , and may include the following steps.
[0234] Step 701: Send first channel information to a network device.
[0235] In specific application scenarios, a terminal can determine and collect first channel information based on channel estimation. In addition to line-of-sight channel information, the first channel information may also include channel information for multiple non-line-of-sight channels. After collecting the first channel information, the terminal uploads the first channel information to a network device, which then combines the first channel information uploaded by at least one terminal to obtain second channel information and determines a first codebook for data transmission based on the second channel information. The second channel information may include channel information for multiple non-line-of-sight channels corresponding to at least one terminal. In the case of weak line-of-sight paths, the codebook is generated using the second channel information containing multiple channel information corresponding to at least one terminal, thereby ensuring the performance of the MIMO system.
[0236] Step 702: Receive codebook information of a first codebook for data transmission sent by a network device.
[0237] In summary, according to the method for determining the precoding codebook provided by the embodiment of the present disclosure, the terminal sends the first channel information collected by itself to the network device, so that the network device combines the first channel information sent by at least one terminal, and uses the combined second channel information to generate a first codebook for user data transmission. The second channel information includes channel information of the non-line-of-sight channel. When the line-of-sight path is weak, this codebook generation method is used to generate the codebook, which can ensure the performance of the MIMO system.
[0238] Figure 8 is a timing diagram of a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is applied to a communication system for determining a precoding codebook, the system comprising: a network device and a terminal, wherein the terminal generates a second codebook; the terminal sends second codebook information of the second codebook to the network device; the network device determines a first codebook for data transmission based on the second codebook information; the network device sends first codebook information of the first codebook to the terminal; the terminal determines a precoding matrix based on the first codebook information and first channel information; the terminal sends indication information of the precoding matrix to the network device; the network device determines the precoding matrix for data transmission based on the indication information of the precoding matrix, and uses the precoding matrix to send data and / or reference signals to the terminal.
[0239] Referring to FIG8 , the method includes the following steps:
[0240] Step 801: The terminal generates a second codebook.
[0241] In a specific application scenario, the terminal may collect the first channel information through channel estimation and determine the second codebook based on the first channel information. The specific implementation process can be found in the relevant descriptions of steps 601 to 603 of the embodiment, which will not be repeated here.
[0242] Step 802: The terminal sends second codebook information of the second codebook to the network device.
[0243] The second codebook information includes at least one of the following: all codewords in the second codebook; and information about changes in codewords in the second codebook compared to before the second codebook is updated. The information about changes in codewords in the second codebook compared to before the second codebook is updated may include codeword change information due to operations such as adding a codeword, deleting a codeword, and replacing a codeword.
[0244] In the disclosed embodiments, the purpose of the codebook information of the second codebook reported by the terminal is to enable the network device to obtain the second codebook based on the codebook information of the second codebook, and then determine the first codebook for data transmission based on the codebook information of the second codebook. As a possible implementation method, when the terminal sends all codewords in the second codebook to the network device, the network device can determine the second codebook based on the numbers of the received codewords; as a possible implementation method, when the terminal sends change information of the codewords in the second codebook compared to before the second codebook is updated to the network device, the network device can determine the second codebook reported by the terminal based on the previous codebook reported by the terminal and the change information.
[0245] Step 803: The network device determines a first codebook for data transmission according to the second codebook information.
[0246] In a specific application scenario, a network device may receive second codebook information reported by one or more terminals. For the disclosed embodiments, as one possible implementation, when the network device receives the second codebook information reported by a terminal, the network device may first determine the second codebook sent by each terminal based on the second codebook information, then filter codewords from at least one second codebook generated by at least one terminal, and further determine a first codebook suitable for data transmission by at least one terminal under network coverage based on the filtered codewords. For example, if the network device receives multiple second codebooks sent by multiple terminals, it may filter codewords from the multiple second codebooks. When determining the first codebook, as one possible implementation, all codewords in the second codebooks may be merged, and codewords may be randomly or according to preset filtering rules filtered from the merged codebooks. The filtered codewords may be combined to obtain the first codebook. As another possible implementation, all codewords in the second codebooks may be merged, and duplicates may be removed from the merged codebooks to obtain the first codebook. It should be noted that the network device's filtering of codewords from multiple second codebooks to determine the first codebook may also include other possible implementations, which are not specifically limited here.
[0247] Step 804: The network device sends the first codebook information of the first codebook to the terminal.
[0248] Step 805: The terminal determines a precoding matrix according to the first codebook information and the first channel information.
[0249] In a specific application scenario, after receiving first codebook information sent by a network device, a terminal may first determine a first codebook based on the first codebook information, and then determine a precoding matrix within the first codebook that matches the terminal's own first channel information. When determining the precoding matrix matching the channel information within the first codebook, a third codeword matching the first channel information for data transmission may be selected from the first codebook; the precoding matrix corresponding to the third codeword is determined as the precoding matrix for data transmission. The selection of the third codeword may be based on preset criteria, such as maximizing channel capacity, maximizing received power, or minimizing interference. Accordingly, when determining the first codebook based on the first codebook information, the network device may, as a possible implementation, send all codewords in the first codebook to the terminal. The terminal may then determine the first codebook based on the codeword numbers of all received codewords. Alternatively, when the network device sends information about changes in the first codebook compared to a previous update of the first codebook to the terminal, the terminal may determine the first codebook sent by the network device based on the previous codebook sent by the network device and the change information.
[0250] Step 806: The terminal sends the indication information of the precoding matrix to the network device.
[0251] The indication information of the precoding matrix may include the number information of the third codeword used for data transmission in the first codebook. Accordingly, in the embodiment of the present disclosure, after determining the precoding matrix, the terminal may further extract the number information of each third codeword in the precoding matrix, and then send the number information of each third codeword in the precoding matrix as the indication information of the precoding matrix to the network device, so that the network device determines the precoding matrix based on the number of each third codeword in the precoding matrix.
[0252] Step 807: The network device determines a precoding matrix for data transmission according to the indication information of the precoding matrix, and uses the precoding matrix to send data and / or reference signals to the terminal.
[0253] In the embodiments of the present disclosure, a network device may determine a precoding matrix for data transmission with a corresponding terminal based on precoding matrix indication information sent by at least one terminal, and use the precoding matrix to send data and / or reference signals to the terminal. The precoding matrices of the at least one terminal may be the same or different, and the matching determination may be based on the channel information corresponding to each terminal.
[0254] In summary, according to the method for determining the precoding codebook provided in the embodiment of the present disclosure, the terminal can generate a second codebook using the second channel information, and send the second codebook information of the second codebook to the network device, so that the network device generates a first codebook for data transmission based on the second codebook. The second channel information includes channel information of the non-line-of-sight channel. When the line-of-sight path is weak, this codebook generation method can be used to ensure the performance of the MIMO system.
[0255] Figure 9 is a timing diagram of a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is applied to a communication system for determining a precoding codebook, the system comprising: a network device and a terminal, wherein the terminal uploads first channel information to the network device; the network device determines a first codebook for data transmission based on the first channel information; the network device sends first codebook information of the first codebook to the terminal; the terminal determines a precoding matrix for data transmission based on the first codebook information and the first channel information; the terminal sends indication information of the precoding matrix to the network device; the network device determines the precoding matrix based on the indication information of the precoding matrix, and uses the precoding matrix to send data and / or reference signals to the terminal.
[0256] Referring to FIG9 , the method includes the following steps:
[0257] Step 901: The terminal uploads first channel information to a network device.
[0258] In specific application scenarios, after collecting first channel information, a terminal can upload the first channel information to a network device, allowing the network device to combine the first channel information uploaded by at least one terminal to obtain second channel information and determine a first codebook for data transmission based on the second channel information. In addition to line-of-sight channel information, the second channel information can also include channel information for multiple non-line-of-sight channels. In the case of weak line-of-sight paths, codebook generation using the second channel information containing multiple channel information corresponding to at least one terminal can ensure the performance of the MIMO system.
[0259] Step 902: The network device determines a first codebook for data transmission according to the first channel information.
[0260] In the embodiment of the present disclosure, the network device may combine the first channel information uploaded by at least one terminal to obtain second channel information, and determine the first codebook for data transmission based on the second channel information. The specific implementation process can be found in the relevant description of steps 301 to 303 of the embodiment and will not be repeated here.
[0261] Step 903: The network device sends first codebook information of the first codebook to the terminal.
[0262] The first codebook information may include at least one of the following: all codewords in the first codebook; and information about codeword changes in the first codebook compared to before the first codebook is updated. The information about codeword changes in the first codebook compared to before the first codebook is updated may include codeword change information due to operations such as adding a codeword, deleting a codeword, and replacing a codeword.
[0263] Step 904: The terminal determines a precoding matrix according to the first codebook information and the first channel information.
[0264] For the embodiment of the present disclosure, please refer to the relevant description in step 805 of the embodiment, which will not be repeated here.
[0265] Step 905: The terminal sends the indication information of the precoding matrix to the network device.
[0266] For the embodiment of the present disclosure, please refer to the relevant description in step 806 of the embodiment, which will not be repeated here.
[0267] Step 906: The network device determines a precoding matrix according to the indication information of the precoding matrix, and uses the precoding matrix to send data and / or reference signals to the terminal.
[0268] For the embodiment of the present disclosure, please refer to the relevant description in step 807 of the embodiment, which will not be repeated here.
[0269] By applying the precoding codebook determination method provided in this embodiment, the network device can combine the first channel information sent by at least one terminal and use the combined second channel information to generate a first codebook for user data transmission. The second channel information includes channel information of the non-line-of-sight channel. When the line-of-sight path is weak, the codebook is generated using this codebook generation method to ensure the performance of the MIMO system.
[0270] Figure 10 is a timing diagram of a method for determining a precoding codebook according to an embodiment of the present disclosure. The method is applied to a communication system for determining a precoding codebook, the system comprising: a network device and a terminal, the network device obtaining third channel information of at least one terminal through channel estimation, merging the third channel information to obtain fourth channel information; the network device determining a first codebook for data transmission based on the fourth channel information; the network device sending first codebook information of the first codebook to the terminal; the terminal determining a precoding matrix for data transmission based on the first codebook information and the first channel information; the terminal sending indication information of the precoding matrix to the network device; the network device determining the precoding matrix based on the indication information of the precoding matrix, and using the precoding matrix to send data and / or reference signals to the terminal.
[0271] Referring to FIG10 , the method includes the following steps:
[0272] Step 1001: A network device obtains third channel information of at least one terminal through channel estimation, and combines the third channel information to obtain fourth channel information.
[0273] Step 1002: The network device determines a first codebook for data transmission according to the fourth channel information.
[0274] For the specific implementation process of the embodiment of the present disclosure, please refer to the relevant descriptions in steps 401 to 403 of the embodiment, which will not be repeated here.
[0275] Step 1003: The network device sends first codebook information of the first codebook to the terminal.
[0276] The first codebook information may include at least one of the following: all codewords in the first codebook; and information about codeword changes in the first codebook compared to before the first codebook is updated. The information about codeword changes in the first codebook compared to before the first codebook is updated may include codeword change information due to operations such as adding a codeword, deleting a codeword, and replacing a codeword.
[0277] Step 1004: The terminal determines a precoding matrix according to the first codebook information and the first channel information.
[0278] For the embodiment of the present disclosure, please refer to the relevant description in step 805 of the embodiment, which will not be repeated here.
[0279] Step 1005: The terminal sends the indication information of the precoding matrix to the network device.
[0280] For the embodiment of the present disclosure, please refer to the relevant description in step 806 of the embodiment, which will not be repeated here.
[0281] Step 1006: The network device determines a precoding matrix according to the indication information of the precoding matrix, and uses the precoding matrix to send data and / or reference signals to the terminal.
[0282] For the embodiment of the present disclosure, please refer to the relevant description in step 807 of the embodiment, which will not be repeated here.
[0283] By applying the method for determining the precoding codebook provided in this embodiment, the network device can obtain the third channel information of at least one terminal based on channel estimation, merge the third channel information of at least one terminal, and further use the merged fourth channel information to generate a first codebook for user data transmission. The fourth channel information includes channel information of the non-line-of-sight channel. When the line-of-sight path is weak, the codebook is generated using this codebook generation method to ensure the performance of the MIMO system.
[0284] In the embodiments provided above, the methods provided in the embodiments of the present application are described from the perspectives of network devices and terminals, respectively. In order to implement the various functions in the methods provided in the embodiments of the present application, the network devices and terminals may include hardware structures and software modules, and the aforementioned functions may be implemented in the form of hardware structures, software modules, or hardware structures plus software modules. A particular function among the aforementioned functions may be implemented in the form of hardware structures, software modules, or hardware structures plus software modules.
[0285] Corresponding to the method for determining the precoding codebook provided in the above-mentioned embodiments, the present disclosure further provides a device for determining a precoding codebook. Since the device for determining the precoding codebook provided in the embodiment of the present disclosure corresponds to the method for determining the precoding codebook provided in the above-mentioned embodiments, the implementation of the method for determining the precoding codebook is also applicable to the device for determining the precoding codebook provided in this embodiment and will not be described in detail in this embodiment.
[0286] FIG11 is a schematic structural diagram of a device 1100 for determining a precoding codebook according to an embodiment of the present disclosure. The device 1100 for determining a precoding codebook may be a network device.
[0287] As shown in FIG11 , the network device 1100 may include:
[0288] The processing module 1110 may be configured to determine a first codebook for data transmission, where the first codebook is generated based on channel information of at least one terminal;
[0289] The sending module 1120 is configured to send first codebook information of the first codebook to at least one terminal.
[0290] In some embodiments of the present disclosure, the processing module 1110 may be configured to receive second codebook information sent by at least one terminal, where the second codebook information is codebook information of a second codebook; and determine the first codebook based on the second codebook information.
[0291] In some embodiments of the present disclosure, the second codebook information includes at least one of the following: all codewords in the second codebook; and change information of codewords in the second codebook compared to before the second codebook is updated.
[0292] In some embodiments of the present disclosure, the processing module 1110 may be configured to merge all codewords in the second codebook; and remove duplicates from all the merged codewords to obtain the first codebook.
[0293] In some embodiments of the present disclosure, the processing module 1110 may be configured to obtain an initial codebook; receive first channel information sent by at least one terminal; combine the first channel information to obtain second channel information; and determine a first codebook based on the initial codebook and the second channel information.
[0294] In some embodiments of the present disclosure, the processing module 1110 may be configured to group the second channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; the channel information groups are bound to the first codewords in the initial codebook; the optimal precoding matrix corresponding to each group of channel information is obtained according to the same rule; the codeword synthesized from each group of the optimal precoding matrix is used as the second codeword of each group; the second codeword of each group replaces the corresponding bound first codeword; and the above process is iterated until the first codeword corresponding to each group of channel information no longer changes, and the codebook consisting of the first codewords of each group that no longer change is determined as the first codebook.
[0295] In some embodiments of the present disclosure, the processing module 1110 may be configured to obtain an initial codebook; obtain third channel information of at least one terminal through channel estimation; combine the third channel information to obtain fourth channel information; and determine a first codebook based on the initial codebook and the fourth channel information.
[0296] In some embodiments of the present disclosure, the processing module 1110 may be configured to group the fourth channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; the channel information groups are bound to the first codeword in the initial codebook; the optimal precoding matrix corresponding to each group of channel information is obtained according to the same rule; the codeword synthesized from each group of the optimal precoding matrix is used as the second codeword of each group; the second codeword of each group replaces the corresponding bound first codeword; and the above process is iterated until the first codeword corresponding to each group of channel information no longer changes, and the codebook consisting of the first codewords of each group that no longer change is determined as the first codebook.
[0297] In some embodiments of the present disclosure, the processing module 1110 may be configured to randomly generate an initial codebook; and obtain the initial codebook from a multi-bit vector space at equal intervals.
[0298] In some embodiments of the present disclosure, the processing module 1110 may be configured to calculate a weighted average of the optimal precoding matrices in each group, and use the resulting codeword as the second codeword of each group.
[0299] In some embodiments of the present disclosure, the first codebook information includes at least one of the following: all codewords in the first codebook; and change information of codewords in the first codebook compared to before the first codebook is updated.
[0300] In some embodiments of the present disclosure, as shown in FIG11 , the network device 1100 further includes: a receiving module 1130 ;
[0301] The receiving module 1130 may be configured to receive indication information of a precoding matrix sent by a terminal.
[0302] In some embodiments of the present disclosure, the processing module 1110 may be configured to determine a precoding matrix for data transmission according to indication information of the precoding matrix; and use the precoding matrix to send data and / or a reference signal to a terminal.
[0303] In some embodiments of the present disclosure, the indication information includes: number information of a third codeword used for data transmission in the first codebook.
[0304] In some embodiments of the present disclosure, the processing module 1110 may be configured to determine the precoding matrix corresponding to the number information in the first codebook as the precoding matrix for transmitting data.
[0305] FIG12 is a schematic structural diagram of a terminal 1200 provided according to an embodiment of the present disclosure.
[0306] As shown in FIG12 , the terminal 1200 may include:
[0307] The receiving module 1210 may be configured to receive first codebook information sent by a network device, where the first codebook information is codebook information of a first codebook for data transmission, and the first codebook is generated based on channel information of at least one terminal.
[0308] In some embodiments of the present disclosure, the first codebook information includes at least one of the following: all codewords in the first codebook; and change information of codewords in the first codebook compared to before the first codebook is updated.
[0309] In some embodiments of the present disclosure, as shown in FIG12 , the terminal 1200 further includes: a processing module 1220;
[0310] The processing module 1220 may be configured to obtain an initial codebook; obtain first channel information; and determine a second codebook based on the initial codebook and the first channel information.
[0311] In some embodiments of the present disclosure, the processing module 1220 may be configured to randomly generate an initial codebook; and obtain the initial codebook from a multi-bit vector space at equal intervals.
[0312] In some embodiments of the present disclosure, the processing module 1220 may be configured to obtain first channel information through channel estimation.
[0313] In some embodiments of the present disclosure, the processing module 1220 may be configured to group the first channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; the channel information groups are bound to the first codewords in the initial codebook; the optimal precoding matrix corresponding to each group of channel information is obtained according to the same rule; the codeword synthesized from each group of the optimal precoding matrix is used as the second codeword of each group; the second codeword of each group replaces the corresponding bound first codeword; and the above process is iterated until the first codeword corresponding to each group of channel information no longer changes, and the codebook consisting of the first codewords that no longer change in each group is determined as the second codebook.
[0314] In some embodiments of the present disclosure, the processing module 1220 may be configured to calculate a weighted average of the optimal precoding matrix in each group, and use the resulting codeword as the second codeword of each group.
[0315] In some embodiments of the present disclosure, as shown in FIG12 , the terminal 1200 further includes: a sending module 1230;
[0316] The sending module 1230 may be configured to send second codebook information to the network device, where the second codebook information is codebook information of the second codebook.
[0317] In some embodiments of the present disclosure, the second codebook information includes at least one of the following: all codewords in the second codebook; and change information of codewords in the second codebook compared to before the second codebook is updated.
[0318] In some embodiments of the present disclosure, the sending module 1230 may be configured to send the first channel information to the network device.
[0319] In some embodiments of the present disclosure, the processing module 1220 may be configured to determine a precoding matrix for data transmission based on the first codebook information and the first channel information; and the sending module 1230 may be configured to send indication information of the precoding matrix to a network device.
[0320] In some embodiments of the present disclosure, the processing module 1220 may be configured to select a third codeword for data transmission that matches the first channel information from the first codebook; and determine a precoding matrix corresponding to the third codeword as the precoding matrix for data transmission.
[0321] In some embodiments of the present disclosure, the indication information includes: number information of a third codeword used for data transmission in the first codebook.
[0322] Please refer to Figure 13, which is a schematic diagram of the structure of a communication device 1300 provided in an embodiment of the present application. Communication device 1300 can be a network device or a user device, or a chip, chip system, or processor that supports the network device to implement the above method. It can also be a chip, chip system, or processor that supports the user device to implement the above method. This device can be used to implement the method described in the above method embodiment. For details, please refer to the description of the above method embodiment.
[0323] The communication device 1300 may include one or more processors 1301. The processor 1301 may be a general-purpose processor or a dedicated processor. For example, it may be a baseband processor or a central processing unit (CPU). The baseband processor may be used to process communication protocols and communication data, while the CPU may be used to control the communication device (e.g., a base station, a baseband chip, a terminal, a terminal chip, a DU or a CU), execute computer programs, and process computer program data.
[0324] Optionally, the communication device 1300 may further include one or more memories 1302, on which a computer program 1304 may be stored. The processor 1301 executes the computer program 1304 to cause the communication device 1300 to perform the method described in the above method embodiment. Optionally, the memory 1302 may also store data. The communication device 1300 and the memory 1302 may be provided separately or integrated together.
[0325] Optionally, the communication device 1300 may further include a transceiver 1305 and an antenna 1306. The transceiver 1305 may be referred to as a transceiver unit, a transceiver, or a transceiver circuit, and is configured to implement transceiver functions. The transceiver 1305 may include a receiver and a transmitter. The receiver may be referred to as a receiver or a receiving circuit, and is configured to implement a receiving function; the transmitter may be referred to as a transmitter or a transmitting circuit, and is configured to implement a transmitting function.
[0326] Optionally, the communication device 1300 may further include one or more interface circuits 1307. The interface circuit 1307 is configured to receive code instructions and transmit the instructions to the processor 1301. The processor 1301 executes the code instructions to enable the communication device 1300 to perform the method described in the above method embodiment.
[0327] In one implementation, processor 1301 may include a transceiver for implementing receiving and transmitting functions. For example, the transceiver may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing the receiving and transmitting functions may be separate or integrated. The transceiver circuit, interface, or interface circuit may be used for reading and writing code / data, or may be used for transmitting or delivering signals.
[0328] In one implementation, processor 1301 may store a computer program 1303. Computer program 1303, when executed on processor 1301, enables communication device 1300 to perform the method described in the above method embodiment. Computer program 1303 may be embedded in processor 1301, in which case processor 1301 may be implemented by hardware.
[0329] In one implementation, the communication device 1300 may include a circuit that can implement the functions of sending, receiving, or communicating in the aforementioned method embodiments. The processor and transceiver described in this application can be implemented on an integrated circuit (IC), an analog IC, a radio frequency integrated circuit RFIC, a mixed signal IC, an application specific integrated circuit (ASIC), a printed circuit board (PCB), an electronic device, etc. The processor and transceiver can also be manufactured using various IC process technologies, such as complementary metal oxide semiconductor (CMOS), N-type metal oxide semiconductor (nMetal-oxide-semiconductor, NMOS), P-type metal oxide semiconductor (positive channel metal oxide semiconductor, PMOS), bipolar junction transistor (bipolar junction transistor, BJT), bipolar CMOS (BiCMOS), silicon germanium (SiGe), gallium arsenide (GaAs), etc.
[0330] The communication device described in the above embodiments may be a network device or a user device, but the scope of the communication device described in this application is not limited thereto, and the structure of the communication device may not be limited to FIG13. The communication device may be an independent device or may be part of a larger device. For example, the communication device may be:
[0331] (1) An independent integrated circuit (IC), or chip, or chip system or subsystem;
[0332] (2) a collection of one or more ICs, optionally including a storage component for storing data and computer programs;
[0333] (3) ASIC, such as modem;
[0334] (4) Modules that can be embedded in other devices;
[0335] (5) Receivers, terminals, smart terminals, cellular phones, wireless devices, handheld devices, mobile units, vehicle-mounted devices, network devices, cloud devices, artificial intelligence devices, etc.;
[0336] (6)Others, etc.
[0337] If the communication device can be a chip or a chip system, please refer to the schematic diagram of the chip structure shown in Figure 14. The chip shown in Figure 14 includes a processor 1401 and an interface 1402. The number of processors 1401 can be one or more, and the number of interfaces 1402 can be multiple.
[0338] Optionally, the chip further includes a memory 1403, which is used to store necessary computer programs and data.
[0339] Those skilled in the art will also appreciate that the various illustrative logical blocks and steps listed in the embodiments of the present application can be implemented by electronic hardware, computer software, or a combination of both. Whether such functions are implemented by hardware or software depends on the specific application and the design requirements of the entire system. Those skilled in the art may use various methods to implement the functions for each specific application, but such implementation should not be construed as exceeding the scope of protection of the embodiments of the present application.
[0340] The present application also provides a readable storage medium having instructions stored thereon, which implement the functions of any of the above method embodiments when executed by a computer.
[0341] The present application also provides a computer program product, which implements the functions of any of the above method embodiments when executed by a computer.
[0342] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer programs. When the computer program is loaded and executed on a computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer program can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated therein. Available media may be magnetic media (eg, floppy disks, hard disks, tapes), optical media (eg, high-density digital video discs (DVDs)), or semiconductor media (eg, solid state disks (SSDs)).
[0343] Those skilled in the art will understand that the various numerical numbers such as first and second involved in this application are only for the convenience of description and are not used to limit the scope of the embodiments of this application, and also indicate the order of precedence.
[0344] In this application, at least one can also be described as one or more, and multiple can be two, three, four or more, which is not limited in this application. In the embodiments of this application, for a technical feature, the technical features in the technical feature are distinguished by "first", "second", "third", "A", "B", "C" and "D", and there is no order of precedence or size between the technical features described by "first", "second", "third", "A", "B", "C" and "D".
[0345] As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., a magnetic disk, an optical disk, a memory, a programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
[0346] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0347] Computer systems may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The client and server relationship arises through computer programs running on the respective computers and having a client-server relationship to each other.
[0348] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not limited herein.
[0349] Furthermore, it should be understood that the various embodiments of the present application may be implemented individually or in combination with other embodiments where the solution permits.
[0350] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0351] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0352] The above are only specific embodiments of the present application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A method for determining a precoding codebook, characterized in that: The method is performed by a network device and includes: determining a first codebook for data transmission, where the first codebook is generated based on channel information of at least one terminal; Sending first codebook information of the first codebook to the at least one terminal.
2. The method according to claim 1, characterized in that The determining a first codebook for data transmission includes: receiving second codebook information sent by the at least one terminal, where the second codebook information is codebook information of a second codebook; The first codebook is determined according to the second codebook information.
3. The method according to claim 2, characterized in that The second codebook information includes at least one of the following: All codewords in the second codebook; The second codebook is compared with the change information of the codeword before the second codebook is updated.
4. The method according to claim 3, characterized in that The determining the first codebook according to the second codebook information includes: Merging all codewords in the second codebook; All merged codewords are deduplicated to obtain the first codebook.
5. The method according to claim 1, wherein The determining a first codebook for data transmission includes: Obtain an initial codebook; receiving first channel information sent by the at least one terminal; Combining the first channel information to obtain second channel information; The first codebook is determined according to the initial codebook and the second channel information.
6. The method according to claim 5, characterized in that The determining the first codebook according to the initial codebook and the second channel information includes: grouping the second channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; Binding the channel information group to the first codeword in the initial codebook; Obtaining an optimal precoding matrix corresponding to each group of channel information according to the same rule; Using the codeword synthesized by each group of the optimal precoding matrix as the second codeword of each group; Substituting the second codeword of each group for the first codeword of the corresponding bundle; The above process is iterated cyclically until the first codeword corresponding to each group of channel information no longer changes, and a codebook consisting of each group of first codewords that no longer changes is determined as the first codebook.
7. The method according to claim 1, characterized in that The determining a first codebook for data transmission includes: Obtain an initial codebook; Acquire third channel information of the at least one terminal through channel estimation; Combining the third channel information to obtain fourth channel information; The first codebook is determined according to the initial codebook and the fourth channel information.
8. The method according to claim 7, characterized in that The determining the first codebook according to the initial codebook and the fourth channel information includes: Grouping the fourth channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; Binding the channel information group to the first codeword in the initial codebook; Obtaining an optimal precoding matrix corresponding to each group of channel information according to the same rule; Using the codeword synthesized by each group of the optimal precoding matrix as the second codeword of each group; Substituting the second codeword of each group for the first codeword of the corresponding bundle; The above process is iterated cyclically until the first codeword corresponding to each group of channel information no longer changes, and a codebook consisting of each group of first codewords that no longer changes is determined as the first codebook.
9. The method according to claim 5 or 7, characterized in that The obtaining of the initial codebook comprises: Randomly generating the initial codebook; The initial codebook is obtained from a multi-bit vector space at equal intervals.
10. The method according to claim 6 or 8, characterized in that The synthesizing codewords of each group of the optimal precoding matrix as the second codeword of each group includes: A weighted average is calculated for the optimal precoding matrix in each group, and the resulting codeword is used as the second codeword in each group.
11. The method according to any one of claims 1 to 10, characterized in that The first codebook information includes at least one of the following: All codewords in the first codebook; The first codebook is compared with the change information of the codeword before the first codebook is updated.
12. The method according to any one of claims 1 to 10, characterized in that The method further comprises: receiving indication information of a precoding matrix sent by the terminal; Determining a precoding matrix for data transmission according to the indication information of the precoding matrix; Data and / or a reference signal are sent to the terminal using the precoding matrix.
13. The method according to claim 12, characterized in that The instruction information includes: Number information of a third codeword in the first codebook used for data transmission.
14. The method according to claim 13, characterized in that Determining a precoding matrix for data transmission according to the precoding matrix indication information includes: The precoding matrix corresponding to the number information in the first codebook is determined as the precoding matrix for transmission data.
15. A method for determining a precoding codebook, characterized in that: The method is executed by a terminal and includes: First codebook information sent by a network device is received, where the first codebook information is codebook information of a first codebook for data transmission, and the first codebook is generated based on channel information of at least one terminal.
16. The method according to claim 15, characterized in that The first codebook information includes at least one of the following: All codewords in the first codebook; The first codebook is compared with the change information of the codeword before the first codebook is updated.
17. The method according to claim 15, characterized in that The method further comprises: Obtain an initial codebook; Acquiring first channel information; A second codebook is determined according to the initial codebook and the first channel information.
18. The method according to claim 17, characterized in that The obtaining of the initial codebook comprises: Randomly generating the initial codebook; The initial codebook is obtained from a multi-bit vector space at equal intervals.
19. The method according to claim 17, wherein The acquiring of the first channel information includes: The first channel information is acquired through channel estimation.
20. The method according to claim 17, wherein The determining the second codebook according to the initial codebook and the first channel information includes: grouping the first channel information based on a preset optimization criterion, wherein the number of channel information groups is equal to the number of codewords in the initial codebook; Binding the channel information group to the first codeword in the initial codebook; Obtaining an optimal precoding matrix corresponding to each group of channel information according to the same rule; Using the codeword synthesized by each group of the optimal precoding matrix as the second codeword of each group; Substituting the second codeword of each group for the first codeword of the corresponding bundle; The above process is iterated cyclically until the first codeword corresponding to each group of channel information no longer changes, and a codebook consisting of each group of first codewords that no longer changes is determined as the second codebook.
21. The method according to claim 20, characterized in that The synthesizing codewords of each group of the optimal precoding matrix as the second codeword of each group includes: A weighted average is calculated for the optimal precoding matrix in each group, and the resulting codeword is used as the second codeword in each group.
22. The method according to claim 17, wherein The method further comprises: Second codebook information is sent to the network device, where the second codebook information is codebook information of the second codebook.
23. The method according to claim 22, characterized in that The second codebook information includes at least one of the following: All codewords in the second codebook; The second codebook is compared with the change information of the codeword before the second codebook is updated.
24. The method according to claim 15, wherein The method further comprises: First channel information is sent to the network device.
25. The method according to claim 15, wherein The method further comprises: determining a precoding matrix for data transmission according to the first codebook information and the first channel information; Sending indication information of the precoding matrix to the network device.
26. The method according to claim 25, characterized in that The determining a precoding matrix for data transmission according to the first codebook information and the first channel information includes: selecting, from the first codebook, a third codeword for data transmission that matches the first channel information; The precoding matrix corresponding to the third codeword is determined as the precoding matrix for data transmission.
27. The method according to claim 25, characterized in that The instruction information includes: Number information of a third codeword in the first codebook used for data transmission.
28. A network device, characterized in that: include: a processing module, configured to determine a first codebook for data transmission, where the first codebook is generated based on channel information of at least one terminal; A sending module is configured to send the first codebook information of the first codebook to the at least one terminal.
29. A terminal, characterized in that: include: The receiving module is configured to receive first codebook information sent by a network device, where the first codebook information is codebook information of a first codebook for data transmission, and the first codebook is generated based on channel information of at least one terminal.
30. A communication device, wherein: include: transceiver; Memory; A processor is connected to the transceiver and the memory respectively, and is configured to control the wireless signal reception and transmission of the transceiver by executing computer-executable instructions on the memory, and can implement the method described in any one of claims 1-27.
31. A computer storage medium, wherein: The computer storage medium stores computer-executable instructions; after the computer-executable instructions are executed by the processor, the method according to any one of claims 1 to 27 can be implemented.
32. A communication system comprising a network device and a terminal, wherein: The network device is configured to perform the method according to any one of claims 1 to 14; The terminal is configured to execute the method according to claims 15 to 27.