Embodiment
Below in conjunction with accompanying drawing embodiments of the invention are elaborated: present embodiment is being to implement under the prerequisite with the technical solution of the present invention, provided detailed execution mode and concrete operating process, but protection scope of the present invention is not limited to following embodiment.
The technical scheme general introduction
The present invention is achieved by the following technical solutions:
The method that the present invention introduces global optimization generates the CSI vector quantization code book, specifically comprises the steps:
Generate one group of complex vector sequence at random, it is made normalized, keep the information of angle part, as generating the training vector sequence that the CSI vector quantization code book is used;
On the basis of training vector sequence, obtain inceptive code book;
Adopt the method for stochastic relaxation, the former code book after the previous action is made random perturbation, obtain new code book, the quality of more former code book and new code book still substitutes former code book with new code book thereby decision keeps former code book;
If satisfy the end condition that code book generates (the random perturbation number of times has reached preset value, perhaps new code book with respect to the performance improvement of former code book less than default improvement threshold), then end code inteilectual one-tenth obtains code book; Otherwise, return previous step and continue to upgrade code book.
Described generation complex vector sequence at random comprises: produce the independently random number of Gaussian distributed of even number, they are combined into one group of complex vector located sequence, promptly per two random numbers constitute a real and imaginary part; Also comprise and produce to obey other statistical distribution characteristic () random number for example, rayleigh distributed, and between the random number certain correlation can be arranged.The number of random number should be much larger than the size of vector quantization code book to be generated (usually, the number of random number should be 20 times of size of vector quantization code book at least).
Described the sequence of complex vector at random that generates is comprised as normalized: with each complex vector in the complex vector sequence respectively divided by separately 2-norm.
The described inceptive code book that obtains comprises: the linear space of being opened by the training vector sequence is made random division, and the number of division is consistent with code book to be generated size, and the linear space after dividing has some cells, and these cells can intersect.Code word in the corresponding code book of each cell, promptly with being under the jurisdiction of the arithmetic mean of the training vector in this cell as code word, and make normalized, also can be with the weighted average that is under the jurisdiction of the training vector in this cell as code word, the requirement of choosing with quantizing of weight is relevant with the locus of training vector in cell.
After obtaining inceptive code book, for accelerating subsequent operation, usually need inceptive code book is done preliminary treatment, concrete method is by the Lloyd algorithm, training vector of picked at random, it is moved to another selected at random cell from original cell, obtain new code book, with former code book and new code book the training vector sequence is carried out vector quantization respectively.If the quantization error of new code book reduced more originally, then accept new code book.Thus, inceptive code book is carried out several times optimization.The number of times of optimizing is too much unsuitable, otherwise can make code book be absorbed among the local optimum, and subsequent operation is exerted an influence, the amount of calculation when increasing follow-up global optimization.
The criterion of above-mentioned quantization error comprises: the code word in the code book and the Euclidean distance of training vector, consider that code word and training vector in the code book all pass through normalized, promptly be unit vector, criterion also comprises the opposite number of the inner product of code word in the code book and training vector, and the sine value of the angle of code word in the code book and training vector.
The method of described stochastic relaxation specifically in the present invention, comprising: simulated annealing, genetic algorithm and variant algorithm thereof etc.Its objective is division additional random disturbance, make the process of code book optimization that the chance of jumping out the quantization error local minimum be arranged by linear space that training vector generates.
The method of above-mentioned simulated annealing can comprise the steps:
Given initial annealing temperature T, temperature reduces the factor (being the positive number less than 1), maximum iteration time, code book upgrades acceptance threshold f (being the positive number less than 1);
Training vector of picked at random moves to another selected at random cell with it from original cell, obtains new code book, with former code book and new code book the training vector sequence is carried out vector quantization respectively;
Obtain the difference DELTA d of former code book and new code book corresponding quantitative error,, then accept renewal, replace former code book with new code book if there is formula (3) to set up, otherwise, former code book kept;
exp(Δd/T)>f (3)
If iterations reached maximum iteration time, or the difference DELTA d of quantization error is enough little (gets 10 usually
-2~10
-1), then stop iteration, obtain final quantization code book, otherwise, annealing temperature be multiply by temperature reduce the factor, return training vector picked at random step, continue iteration.
The method of above-mentioned simulated annealing needs to introduce the taboo table usually for reducing complexity, and the method after improving can comprise the steps:
Given initial annealing temperature T, temperature reduces the factor (being the positive number less than 1), maximum iteration time, code book upgrades acceptance threshold f (being the positive number less than 1), the length of taboo table, taboo table Tabu is initially sky;
Training vector of picked at random moves to another selected at random cell with it from original cell, obtains new code book;
After producing a random perturbation, traversal Tabu if there is not record in Tabu, then carries out vector quantization with former code book and new code book to the training vector sequence respectively, continues to carry out next step; If had this record among the Tabu, then skipped next step;
If Δ d is less than predetermined negative threshold value, then index and the error difference with trained vector and division writes Tabu; Otherwise, handle by formula (3).If taboo table is full, then from that of the absolute value minimum of wherein deleting error difference;
If iterations reached maximum iteration time, or the difference DELTA d of quantization error is enough little (gets 10 usually
-2~10
-1), then stop iteration, obtain final quantization code book, otherwise, annealing temperature be multiply by temperature reduce the factor, return training vector picked at random step, continue iteration.
The method of above-mentioned genetic algorithm can comprise the steps:
Produce L training vector at random and divide and constitute initial population, wherein L each division in dividing is as the body one by one in the colony;
Ask each individual pairing individual code book;
Ask each individual code book that training vector is made quantization error behind the vector quantization, and quantization error is got inverse, as each individual fitness;
Select preceding several individualities of fitness maximum, they are combined into L in twos to individual individual as female parent;
To the L that selects in the parent each to carrying out interlace operation: in parent 1, select a cell i at random, find the wherein training vector m of quantization error maximum, in parent 2, find the cell k at this training vector place, find the wherein training vector n of quantization error maximum, in parent 1, find the cell j at n place, training vector m in the parent 1 is moved to cell j from cell i, and the parent 1 that obtains thus is a filial generation individuality;
To each offspring individual that obtains in the previous step, the probability according to predetermined, carry out mutation operation: two cells of picked at random, exchange the training vector of quantization error maximum in the middle of their, ask each individual pairing individual code book;
If the quantization error that certain individual code book arranged is less than given threshold value or above-mentioned iteration has reached certain number of times, then stop iteration, in all individual code books, that of quantization error minimum is as final code book, otherwise, return quantization error and ask for step, continue iteration.
On the basis of the CSI of above-mentioned global optimization generation method of vector quantization code book, the inherent characteristic that the present invention also distributes according to the channel statistical of wireless communication system, and the requirement of user's scheduling to the orthogonality between the selected user done in the base station in the mimo system, optimize the bit of code book structure and code word, comprise the steps:
Determine the dimension of vector quantization, i.e. the product of the reception antenna number of the number of transmit antennas of base station and a downlink user;
Determine the bit number of code word, promptly getting with 2 to the sum of all code words in the code book is the logarithm at the end;
Determine to do the bit number that every dimensional vector of vector quantization can be assigned to, i.e. the merchant who obtains behind the dimension of the bit number of code word divided by vector quantization;
If the bit number that every dimensional vector can be assigned to is less than 1, the bit number that code word then is described is too small, be that code word sum in the code book is very few, should make up the vector of different dimensional this moment by pre-defined rule, reduce the dimension of vector quantization, the bit number that can be assigned to up to every dimensional vector carries out next step greater than 1;
If the bit number that every dimensional vector can be assigned to is greater than 2, then reserve 2 and be sign bit, indicate the positive and negative of the real part of codeword vector and imaginary part respectively, just using bit 0, negative with bit 1, all the other positions are data bit, if the bit number that every dimensional vector can be assigned to equals 2, then reserve 1 for sign bit, indicate the positive and negative of the real part of codeword vector and imaginary part, all the other 1 is data bit, if the bit number that every dimensional vector can be assigned to equals 1, then this position is a sign bit, indicates the positive and negative of the real part of codeword vector and imaginary part, does not have data bit;
The sign bit of each dimension codeword vector is concentrated the front portion that is put into code word bits, be put into the rear portion of code word bits in the set of data bits with each dimension codeword vector, and the sign bit of each dimension codeword vector is consistent with the sequencing of data bit.
The bit number that described every dimensional vector can be assigned to if the situation of fractional value occurs, then rounds (rounding down) to the direction near 0.At this moment, unnecessary code word bits can occur, it is all put 0, the termination of expression code word bits.
The bit number that described every dimensional vector can be assigned to was less than 1 o'clock, reduce the dimension of vector quantization, concrete grammar can comprise the steps: that elder generation makes up the reception antenna of downlink user in twos, be that per two reception antennas are considered as a free reception antenna, then Dui Ying vector is reduced to 1 dimension by 2 original dimensions, the dimension of vector quantization narrows down to original half, and the bit number that every dimensional vector can be assigned to is expanded as original 2 times; If carry out aforesaid operations once after, the bit number that every dimensional vector can be assigned to continues the reception antenna of combination downlink user more according to the method described above still less than 1, is about to two groups of user antennas and is combined as one group, is considered as a free reception antenna; If the number until the free reception antenna of downlink user is 1 o'clock, the bit number that every dimensional vector can be assigned to is still less than 1, and with the transmitting antenna combination in twos as stated above of base station, the bit number that can be assigned to until every dimensional vector equals 1 again.
The bit number that described every dimensional vector can be assigned to equals 2 or at 1 o'clock, represents sign bit with 1 bit, and its method comprises the real part of codeword vector and imaginary part jack per line with bit 0, and contrary sign is with bit 1; Also comprise the real part of codeword vector and imaginary part entirely when negative with bit 0, under other situation with bit 1.
The sign bit of described codeword vector all be used for indicating the real part of codeword vector and imaginary part on the occasion of or negative value, 0 situation appears in the real part or the imaginary part that do not comprise codeword vector, if there is this situation to take place, should the data bit of this code word be adjusted, making it satisfying the 2-norm is under 1 the prerequisite, the part of appearance 0 is a less positive number (for example, 10
-3Or it is littler).
The method of the bit of described optimization code book structure and code word, the method that is applied to global optimization generates the CSI vector quantization code book, comprises the steps:
If the bit number that every dimensional vector can be assigned to equals 1, use 00 successively ... 0~11 ... 1 (length is the bit number of code word) represented each code word, and end code inteilectual becomes; If every dimensional vector bit number that can be assigned to equals 2, successively with the sign bit of 0 and 1 filling codeword vector; If every dimensional vector bit number that can be assigned to is greater than 2, successively with the sign bit of 00~11 filling codeword vector;
Generate one group of complex vector sequence at random, it is made normalized, and take absolute value, keep the information of angle part, as generating the training vector sequence that the CSI vector quantization code book is used;
On the basis of training vector sequence, initially there is not the symbol code book, the number of initially not having the symbol code book is the data precedence power of 2 codeword vector, as the data bit of codeword vector;
Adopt the method for stochastic relaxation, former no symbol code book after the previous action is made random perturbation, newly do not had the symbol code book, the quality of more former no symbol code book and new no symbol code book still substitutes former no symbol code book with new no symbol code book thereby decision keeps former no symbol code book;
If satisfy the end condition that no symbolic code inteilectual becomes, then finish no symbolic code inteilectual and become, sign bit and data bit combination are obtained code book; Otherwise, return the stochastic relaxation step and continue to upgrade no symbol code book.
Code book extended method of the present invention comprises the steps:
Generate the CSI vector quantization code book according to global optimization of the present invention,, generate the CSI vector quantization code book in conjunction with the method for the bit of optimizing code book structure and code word;
Choose and a kind ofly generate in the part of CSI vector quantization code book the Distribution Statistics that the training vector sequence is used, different Distribution Statistics features with the method for introducing global optimization in the present invention;
According to the Distribution Statistics feature of choosing in the previous step, on the basis that generates good code book, produce new code word by interpolation, the sign bit of new codeword vector must be consistent with the sign bit of the codeword vector of original code book, and the expanding data position of new codeword vector is attached to after the data bit of codeword vector of original code book;
Repeat the operation of code word interpolation repeatedly, until the new code word that generates sufficient amount.
Describedly choose different Distribution Statistics features, mainly refer to Distribution Statistics common in the wireless communications environment, and require the mathematic(al) representation of this Distribution Statistics to have symmetry, so that in subsequent operation, optimize the bit of code book structure and code word about initial point.In the present invention, the paired channel of obeying multiple Distribution Statistics of making a living has the code book of adaptability, chooses independent evenly distribution, and this is to have represented maximum uncertainty because of evenly distributing, and obeying equally distributed channel condition has maximum entropy for the base station; In addition, that the angle part of equally distributed complex variable is obeyed is interval [0,2 π) even distribution, therefore, complex variable is obeyed angle part that even distribution just is equivalent to complex variable and is obeyed evenly and distribute.
The described method that produces new code word by interpolation comprises: according to the Distribution Statistics feature of choosing, determine the relationship between new code word and the existing code word, thereby derive the code word that makes new advances by existing code word.Be characterized as example with equally distributed Distribution Statistics, then the concrete grammar of the new code word of interpolation comprises the steps:
The setpoint distance threshold value, the position relation of two code words in the linear space that channel vector is opened in the CSI vector quantization code book that is used for determining to have generated, whether promptly adjudicate them is proximity relations spatially;
From the code book that has generated, take out a code word successively, from code book in the remaining code word, find the distance with the code word of taking out before, under the prerequisite of the distance threshold of in satisfying, setting less than previous step, one or several maximum code word; If can find such code word, then generate new code word, the codeword vector that new codeword vector equals to take out and the mathematic(al) mean of the codeword vector that finds; If can not find such code word, then continue from the code book that has generated, to take out next code word;
If in the code book that has generated all code words all got all over or find, then carry out next step, otherwise, return previous step;
Use global optimization stochastic relaxation method, code word original in the maintenance code book is constant, and new code word is produced random perturbation, optimizes new code word.
Code word in the above-mentioned code book refers to not consider the code word of symbols influence, and promptly the real part of codeword vector and imaginary part had been done the computing that takes absolute value, corresponding to the data bit of codeword vector.Thus, also has only data bit by the new code word that interpolation produced, and its sign bit is consistent with former code word, so the number of the new code word that produces by interpolation, the number that should equal desired new code word divided by 2 (if the bit number that every dimensional vector can be assigned to equals 1) or the number that equals desired new code word divided by 4 (if the bit number that every dimensional vector can be assigned to equals 2).
Distance between above-mentioned two code words is that the vector that two codeword vector are done to obtain after the difference is asked the 2-norm.
The establishing method of distance threshold can comprise: get a plurality of (more than or equal to 10) code word from code book at random, add up their distances between any two respectively, and to this distance by from small to large rank order, find the distance value that is positioned at preceding 30%~40% place after the ordering, as distance threshold.
The operation of determining the data bit of described new codeword vector comprises the steps:
Determine the bit number of the data bit of new codeword vector, be that to get with 2 be the logarithm at the end for code word sum that code word sum in the original code book adds new generation, deduct the bit number of the data bit of the codeword vector in the original code book again, if the bit number of the data bit of the new codeword vector that obtains is not an integer, then should be with this bit number to approximate rounding (on round) near just infinite direction;
The new codeword vector that produces of traversal, from original code book, find and three minimum codeword vector of the distance of the new codeword vector that produces, by distance order from small to large, the pairing data bit of codeword vector in the original code book is recorded in the array 1, and the subscript of array 1 is the sequence number of the new codeword vector that produces;
Newly-built Boolean type array 2 and array 3, its size is the number of new code word, is initialized as non-entirely;
Traversal array 1, from wherein finding the element of the current distance value minimum of depositing, codeword vector distribute data position bit to the new generation of this array element correspondence, wherein, the first half of data bit bit is the data bit of the codeword vector in the original code book of the lowest distance value correspondence that finds in this array element, latter half is the expanding data position of new codeword vector, from 00 ... 01 arrangement, check array 2, if up to 11 ... 11, the element value of this array is and is, then will be somebody's turn to do element in the array 3 of sequence number correspondence of the new codeword vector that produces is changed to and is, otherwise, distribute the expanding data position of new codeword vector, and element corresponding in the array 2 is changed to is; This element in the deletion array 1;
Repeating previous step, is empty until array 1;
If the element value in the array 3 is for non-entirely, end operation then, otherwise carry out next step;
Getting element value successively from array 3 is the pairing newly-generated code word of element that is, finding element value again from array 2 is non-element, and the bit that it is corresponding is distributed to this newly-generated code word, and elements corresponding value in the array 2 put is;
Repeat previous step, the element in array 3 has been got time.
The present invention considers that the antenna number of base station and downlink user all can increase greatly along with the needs of later communication system development, for code book generates spare interface, comprises the steps:
When the antenna number of generation base station and downlink user does not increase, original CSI vector quantization code book;
Total dimension of the required vector quantization of communication system after determining, the i.e. product of the reception antenna number of an all number of transmit antennas in base station and a downlink user;
Compare the total dimension of the required vector quantization of later communication system and the dimension of original code book, determine the combined situation of codeword vector in the new code book;
According to the combined situation of codeword vector, make vector quantization for the second time, obtain new code book, arrange the bit of codeword vector, spare interface.
The CSI vector quantization code book that described generation is original, the code book size should obtain smaller, and promptly the size of original code book is no more than the size of following interface code book, thereby requires the bit number of codeword vector should obtain smaller.
The all number of transmit antennas in base station comprise in the future broadband wireless communication systems, during application network MIMO, and the situation of many sub-districts cooperation; With the cooperation of three sub-districts is example, supposes that each base station has identical number of transmit antennas, and at this moment, all number of transmit antennas in base station equal 3 times of number of transmit antennas of each base station.
The operation of determining the combination of codeword vector in the new code book can comprise the steps:
Determine packet count, for the resulting merchant of (total dimension of the vector quantization that later communication system is required) ÷ (dimension of original code book subtracts 1) to just infinite direction is approximate rounds (on round), promptly
Grouping; With all elements of channel vector sequence arrangement by different base stations, different downlink user reception antenna, the number of the element of each group channel vector equals the dimension of original code book, the head and the tail element of two adjacent groups channel vector is overlapping, and last element of promptly last group also is first element of one group of back.
According to the combined situation of codeword vector, make vector quantization for the second time, can comprise the steps:
Original code book is done code book expansion, and the bit number of the expansion of codeword vector is got 2 multiple, and should be greater than 2 times of the bit number of the data bit of every dimensional vector in the original code word;
Reduce some bits respectively from the data bit of the last one dimension of first peacekeeping of codeword vector, the figure place of minimizing equals the bit number of expansion of codeword vector divided by 2;
The code word of the bit correspondence that the last one dimension of first peacekeeping of merging codeword vector reduces in previous step, concrete grammar is the code word that finds the bit correspondence that the last one dimension of first peacekeeping of all codeword vector reduces, they are merged by the contiguous relation of distance, thus, delete the part code word from code book, the code word number in code book is consistent with the code word number of original code book; The code book that obtains thus is the interface code book, and the size of interface code book equals the size of original code book;
The number of combinations that obtains according to the combined situation of codeword vector, carry out the vector quantization second time to making up several interface code books, concrete grammar is: the code book that Mr. becomes corresponding second quantization to use, distribute code word in the code book that second quantization uses to the various combination situation that makes up several codeword vector then.
The code book that the generation second quantization is used specifically comprises: be that each group channel vector (promptly being divided in same group channel vector) distributes identical bit number, also be included as each group channel vector (promptly being divided in same group channel vector) and distribute different bit numbers, wherein be that first group of channel vector distributes minimum bit number, the bit number that distributes for other group channel vector increases progressively successively; The secondary vector quantization to as if the interface code book in code word, purpose is by making vector quantization twice, reduce the dimension when directly the higher-dimension channel vector being done to quantize by a vector quantization originally, be that downlink user can be combined into integral body with each group channel vector apace, the base station can be untied this combination apace.Therefore, the codeword vector of second quantization code book, its bit does not have sign bit, has only data bit.The principle of data bit arrangement is, high-order after, low level after, each code word (for example, multiple Gaussian Profile) in the channel statistical of certain common wireless communication system distributes in the statistics interface code book, the frequency that occurs, in view of the above, the code word in the secondary code book is done Huffman encoding, thereby on statistical significance, reduce redundancy, improve code efficiency.
Specific embodiment
Present embodiment provides a kind of code book generation method that is used for channel condition information is carried out the required code book of vector quantization, this method is by the stochastic relaxation technology, the CSI vector quantization code book is done global optimization, each bit of reasonable distribution codeword vector, and generation can be reduced, extendible general vector quantization code book, in addition, generated the interface code book for wireless communication system in the future.
The applied environment 1 of present embodiment is multi-user-multiple-input and multiple-output (MU-MIMO) system of single sub-district with reference to Fig. 1.There are 4 independently transmitting antennas the base station, is used for transmitting self-corresponding up user's data to downlink user.Each downlink user all has only 1 reception antenna.The base station sends data by down link to downlink user, and downlink user sends the bit (being codewords indexes) of the CSI codeword vector after quantizing to the base station by special based on feedback link.Suppose that downlink user can accurately obtain CSI by Channel Detection and estimation approach.Statistical distribution characteristic to down channel is not done specific (special) requirements.
The applied environment 2 of present embodiment is multi-user-multiple-input and multiple-output (MU-MIMO) system of many sub-districts, 3 plot joint dispatching downlink users with reference to Fig. 2.There are 8 independently transmitting antennas each base station, is used for transmitting self-corresponding up user's data to downlink user.Each downlink user all has 2 independently reception antennas.The downlink user that the base station is chosen to this base station by down link sends data, and downlink user sends the bit (being codewords indexes) of the CSI codeword vector after quantizing to 3 base stations by special based on feedback link.Suppose that downlink user can accurately obtain CSI by Channel Detection and estimation approach.Statistical distribution characteristic to down channel is not done specific (special) requirements.
Fig. 3 A is according to flow chart of the present invention, that be used for channel condition information is carried out the code book generation method of the required code book of vector quantization, has wherein adopted simulated annealing as the stochastic relaxation method.
With reference to Fig. 3 A, present embodiment is at applied environment 1, and generation is used for the channel condition information in wireless communication system technologies field is carried out the required code book of vector quantization.
Step 1a generates one group of complex vector sequence at random, and it is made normalized, keeps the information of angle part, and takes absolute value, as generating the training vector sequence that the CSI vector quantization code book is used.
In the present embodiment, produce the random number of 1000 independent Gaussian distributed, they are combined into one group of complex vector located sequence, and promptly per two random numbers constitute a real and imaginary part, and with each complex vector in the complex vector sequence respectively divided by separately 2-norm.
Step 1b on the basis of training vector sequence, is not initially had the symbol code book, and the number of initially not having the symbol code book is the data precedence power of 2 codeword vector, as the data bit of codeword vector.
In the present embodiment, the number of code word is taken as 256 in the code book, so the number of bits of each codeword vector is 8; The dimension of vector quantization equals the product of the reception antenna number of the number of transmit antennas of base station and a downlink user, and promptly 4.Therefore, make the bit number that every dimensional vector of vector quantization can be assigned to, promptly the merchant who obtains behind the dimension of the bit number of code word divided by vector quantization is 2.The bit number that every dimensional vector can be assigned to equals 2, and reserving 1 is sign bit, indicates the positive and negative of the real part of codeword vector and imaginary part, and all the other 1 is data bit; One has 4 dimensional vectors, so the data bit of codeword vector always has 4, the number of initially not having the symbol code book is 4 powers of 2, and promptly 16.
In the present embodiment, the linear space of being opened by the training vector sequence is made random division, the number of division is consistent with no symbol code book size to be generated, is 16, and the linear space after dividing has some cells, and these cells can intersect.Code word in the corresponding code book of each cell promptly uses the arithmetic mean that is under the jurisdiction of the training vector in this cell as code word, and code word is made normalized.
In the present embodiment, after initially not had the symbol code book, for accelerating subsequent operation, usually need initial no symbol code book is done preliminary treatment, concrete method is by the Lloyd algorithm, and training vector of picked at random moves to another selected at random cell with it from original cell, obtain new code book, with former code book and new code book the training vector sequence is carried out vector quantization respectively.The criterion of quantization error is in all code words, have the opposite number of the pairing inner product of code word of maximum inner product with training vector.If the quantization error of new code book reduced more originally, then accept new code book.Thus, inceptive code book is carried out the optimization (for example, 5 suboptimization) of suitable number of times.
Step 1c, given initial annealing temperature T, temperature reduces the factor (being the positive number less than 1), maximum iteration time, code book upgrades acceptance threshold f (being the positive number less than 1), the length of taboo table, taboo table Tabu is initially sky.
In the present embodiment, T gets 80, temperature reduces the factor and gets 0.25, and maximum iteration time gets 200, and f gets 0.5, the length of taboo table gets 4, the taboo table is a structure array, and each structure has 4 elements, is respectively the training vector numbering, the original cell of this training vector correspondence and new cell, the difference of former code book and new code book corresponding quantitative error.
Step 1d, training vector of picked at random, it is moved to another selected at random cell from original cell, make random perturbation, traversal Tabu, if this random perturbation record not in Tabu then obtains new code book, respectively with former code book and newly code book the training vector sequence is carried out vector quantization.
Step 1e obtains the difference DELTA d of former code book and new code book corresponding quantitative error, if Δ d is less than predetermined negative threshold value, then index and the error difference with trained vector and division writes Tabu; If Δ d more than or equal to described predetermined negative threshold value, if there is formula (3) to set up, then accepts renewal, replace former code book with new code book, otherwise, keep former code book; If taboo table is full, then from of the absolute value minimum of wherein deleting error difference.
In the present embodiment, above-mentioned predetermined negative threshold value gets-1.0.
Step 1f judges whether to satisfy the end condition that no symbolic code inteilectual becomes, and has reached maximum iteration time as if iterations, or the difference DELTA d of quantization error is enough little (gets 10 usually
-2~10
-1) (that is, satisfying the end condition that no symbolic code inteilectual becomes), then stop iteration, otherwise, annealing temperature be multiply by temperature reduce the factor, return step 1d, continue iteration.
In the present embodiment, the difference DELTA d of quantization error then can stop iteration less than 0.05 o'clock.
In the present embodiment, by choosing as can be known of above-mentioned parameter, behind the execution of step 1f (step 1f: be), (the random perturbation number of times has reached preset value (maximum iteration time) to the end condition that satisfied no symbolic code inteilectual becomes, perhaps new code book with respect to the performance improvement (Δ d) of former code book less than default improvement threshold (0.05)), can directly carry out next step.Thus, the example of an available no symbol code book is as shown in table 1.
The data bit of the code word among the step 1h, the sign bit of combined codeword vector and corresponding no symbol code book, end code inteilectual becomes.
Fig. 3 B is according to flow chart of the present invention, that be used for channel condition information is carried out the code book generation method of the required code book of vector quantization, has wherein adopted genetic algorithm as the stochastic relaxation method.
With reference to figure 3B, present embodiment is at applied environment 1, and generation is used for the channel condition information in wireless communication system technologies field is carried out the required code book of vector quantization.
Step 11a generates one group of complex vector sequence at random, and it is made normalized, keeps the information of angle part, and takes absolute value, as generating the training vector sequence that the CSI vector quantization code book is used.
In the present embodiment, produce the random number of 1000 independent Gaussian distributed, they are combined into one group of complex vector located sequence, and promptly per two random numbers constitute a real and imaginary part, and with each complex vector in the complex vector sequence respectively divided by separately 2-norm.
Step 11b on the basis of training vector sequence, is not initially had the symbol code book, and the number of initially not having the symbol code book is the data precedence power of 2 codeword vector, as the data bit of codeword vector.
In the present embodiment, the number of code word is taken as 256 in the code book, so the number of bits of each codeword vector is 8; The dimension of vector quantization equals the product of the reception antenna number of the number of transmit antennas of base station and a downlink user, and promptly 4.Therefore, make the bit number that every dimensional vector of vector quantization can be assigned to, promptly the merchant who obtains behind the dimension of the bit number of code word divided by vector quantization is 2.The bit number that every dimensional vector can be assigned to equals 2, and reserving 1 is sign bit, indicates the positive and negative of the real part of codeword vector and imaginary part, and all the other 1 is data bit; One has 4 dimensional vectors, so the data bit of codeword vector always has 4, the number of initially not having the symbol code book is 4 powers of 2, and promptly 16.
In the present embodiment, the linear space of being opened by the training vector sequence is made random division, the number of division is consistent with no symbol code book size to be generated, is 16, and the linear space after dividing has some cells, and these cells can intersect.Code word in the corresponding code book of each cell promptly uses the arithmetic mean that is under the jurisdiction of the training vector in this cell as code word, and code word is made normalized.
In the present embodiment, after initially not had the symbol code book, for accelerating subsequent operation, usually need initial no symbol code book is done preliminary treatment, concrete method is by the Lloyd algorithm, and training vector of picked at random moves to another selected at random cell with it from original cell, obtain new code book, with former code book and new code book the training vector sequence is carried out vector quantization respectively.The criterion of quantization error is in all code words, have the opposite number of the pairing inner product of code word of maximum inner product with training vector.If the quantization error of new code book reduced more originally, then accept new code book.Thus, inceptive code book is carried out the optimization (for example, 5 suboptimization) of suitable number of times.
Step 11c, given L training vector divide and constitute initial population, and wherein L each division in dividing is as the body one by one in the colony.
In the present embodiment, L gets 10.
Step 11d asks each individual pairing individual code book; Ask each individual code book that training vector is made quantization error behind the vector quantization, and quantization error is got inverse, as each individual fitness.
In the present embodiment, individual code book is on the basis of the initial no symbol code book that step 11b produces, and repartitions randomly by the trained vector cell to the code word place of picked at random, obtains.
Step 11e selects the t individuality of fitness maximum, with they be combined in twos L to individual as maternal individuality; To the L that selects in the parent each to carrying out interlace operation: in parent 1, select a cell i at random, find the wherein training vector m of quantization error maximum, in parent 2, find the cell k at this training vector place, find the wherein training vector n of quantization error maximum, in parent 1, find the cell j at n place, training vector m in the parent 1 is moved to cell j from cell i, and the parent 1 that obtains thus is a filial generation individuality; To each offspring individual that obtains in the previous step, probability according to predetermined, carry out mutation operation: two cells of picked at random exchange the training vector of quantization error maximum in the middle of their, ask each individual pairing individual code book, find the individual code book of quantization error minimum.
In the present embodiment, select the condition that the number t of the individuality of fitness maximum should satisfy and be
Step 11f, the difference DELTA d of individual code book (former code book) the corresponding quantitative error of quantization error minimum when individual code book of quantization error minimum when obtaining this iteration (new code book) and last iteration.
Step 11g judges whether to satisfy the end condition that no symbolic code inteilectual becomes, and has reached maximum iteration time as if iterations, or the difference DELTA d of quantization error is enough little (gets 10 usually
-2~10
-1) (that is, satisfying the end condition that no symbolic code inteilectual becomes), then stop iteration, otherwise, return step 11e, proceed genetic iteration.
In the present embodiment, by choosing as can be known of above-mentioned parameter, behind the execution of step 11g (step 11g: be), (the random perturbation number of times has reached preset value (maximum iteration time) to the end condition that satisfied no symbolic code inteilectual becomes, perhaps new code book with respect to the performance improvement (Δ d) of former code book less than default improvement threshold (for example 0.05)), can directly carry out next step.Thus, the example of an available no symbol code book is as shown in table 1.
The data bit of the code word among the step 11h, the sign bit of combined codeword vector and corresponding no symbol code book, end code inteilectual becomes.
Fig. 4 be according to of the present invention, be used for the reducing of channel condition information, extendible general vector quantization code book and be used for the flow chart of code book generation method of the interface code book of wireless communication system in the future.
With reference to Fig. 4, present embodiment is at applied environment 2, generates the reducing of the channel condition information that is used for the wireless communication system technologies field, extendible general vector quantization code book and is used for the interface code book of wireless communication system in the future, and concrete grammar is:
Step 2a based on the method for global optimization, in conjunction with the method for the bit of optimizing code book structure and code word, generates the CSI vector quantization code book; Choose a kind of different Distribution Statistics feature of using with the training vector sequence of Distribution Statistics; Set the distance threshold of two code words, the distance of code word is that the vector that two codeword vector are done to obtain after the difference is asked the 2-norm.
In the present embodiment, before being applied to communication system in the future, suppose to have 4 transmitting antennas, each downlink user has 2 reception antennas, single cell pattern.The number of code word is taken as 256 in the code book of base station, so the number of bits of each codeword vector is 8; The dimension of vector quantization equals the product of the reception antenna number of the number of transmit antennas of base station and a downlink user, and promptly 8.Therefore, make the bit number that every dimensional vector of vector quantization can be assigned to, promptly the merchant who obtains behind the dimension of the bit number of code word divided by vector quantization is 1.Consider the needs of step 2b and subsequent operation, the reception antenna of downlink user is made up in twos, then Dui Ying vector is reduced to 1 dimension by original 2 dimensions, and the dimension of vector quantization narrows down to original half, and the bit number that every dimensional vector can be assigned to is expanded as original 2 times.The bit number that every dimensional vector can be assigned to equals 2, and reserving 1 is sign bit, indicates the positive and negative of the real part of codeword vector and imaginary part, and all the other 1 is data bit; One has 4 dimensional vectors, so the data bit of codeword vector always has 4, the number of initially not having the symbol code book is 4 powers of 2, and promptly 16.
In the present embodiment, adopt the simulated annealing code book method of generationing based on stochastic relaxation (Fig. 3, step 1a~1h), and introduce taboo and show.Method in conjunction with the bit of optimizing code book structure and code word is divided into bit and data bit two parts with codeword vector.The Distribution Statistics of training vector is characterized as multiple Gaussian Profile, and the different Distribution Statistics of choosing is characterized as the even distribution of complex field.The distance threshold of two code words gets 0.4.
Step 2b takes out a code word successively from the code book that has generated, from code book in the remaining code word, find the distance with the code word of taking out before, under the prerequisite of the distance threshold of in satisfying, setting less than step 2a, and one or several maximum code word; If can find such code word, then generate new code word, the codeword vector that new codeword vector equals to take out and the mathematic(al) mean of the codeword vector that finds; If can not find such code word, then continue from the code book that has generated, to take out next code word.
Step 2c, if the code book that has generated in all code words all got all over or find, then carry out step 2d, otherwise, return step 2b.
Step 2d judges whether to generate the new code word of sufficient amount, as not generating the new code word of sufficient amount as yet, then at step 2d1, increases the distance threshold of code word, and the operation several times of repeating step 2b are until the new code word that generates sufficient amount.
In the present embodiment, with 2 of codeword vector expansions, therefore, the codeword vector of new code book has 10 bits, and code word adds up to 10 powers of 2, and promptly 1024, the quantity of new code word is 1024-256=768.
Step 2e uses the method for global optimization, and code word original in the maintenance code book is constant, and new code word is produced random perturbation, the new code word that generates among the optimization step 2b.
In the present embodiment, the code word in the above-mentioned code book refers to not consider the code word of symbols influence, and promptly the real part of codeword vector and imaginary part had been done the computing that takes absolute value, corresponding to the data bit of codeword vector.Thus, also has only data bit by the new code word that interpolation produced, and its sign bit is consistent with former code word, so, the number of the new code word that produces by interpolation, the number that should equal desired new code word divided by 4 (if the bit number that every dimensional vector can be assigned to equals 1) or the number that equals desired new code word divided by 16 (if the bit number that every dimensional vector can be assigned to equals 2).In the present embodiment, the number of the new code word that produces by interpolation equals 48.
The arrangement of each bit of the codeword vector of the expansion code book that obtains thus, as shown in Figure 5.
Step 2f, the new codeword vector that produces of traversal, from original code book, find and three minimum codeword vector of the distance of the new codeword vector that produces, by distance order from small to large, the pairing data bit of codeword vector in the original code book is recorded in the array 1, and the subscript of array 1 is the sequence number of the new codeword vector that produces.
Step 2g, newly-built Boolean type array 2 and array 3, its size is the number of new code word, is initialized as non-entirely; Wherein, whether the corresponding new codewords indexes of array 2 expression distributes, and whether the corresponding new code word of array 3 expressions unallocated index.
Step 2h, traversal array 1, from wherein finding the element of the current distance value minimum of depositing, codeword vector distribute data position bit to the new generation of this array element correspondence, wherein, the first half of data bit bit is the data bit of the codeword vector in the original code book of the lowest distance value correspondence that finds in this array element, latter half is the expanding data position of new codeword vector, from 00 ... 01 arrangement, check array 2, if up to 11 ... 11, the element value of this array is and is, and then will be somebody's turn to do element in the array 3 of sequence number correspondence of the new codeword vector that produces and be changed to and be, otherwise, the expanding data position of distributing new codeword vector, and element corresponding in the array 2 is changed to is; This element in the deletion array 1.
Step 2i, repeating step 2h is empty until array 1.
Step 2j, if the element value in the array 3 is for non-entirely, execution in step 2m then, otherwise execution in step 2k.
Step 2k, getting element value successively from array 3 is the pairing newly-generated code word of element that is, and finding element value again from array 2 is non-element, and the bit that it is corresponding is distributed to this newly-generated code word, and elements corresponding value in the array 2 put is;
Step 2l, repeating step 2k, the element in array 3 have got time.Thus, when the antenna number that obtains base station and downlink user does not increase, the original CSI vector quantization code book after the corresponding expansion.
Thus, the example of the expansion of an available no symbol code book expansion back correspondence is as shown in table 2.
Step 2m, total dimension of the required vector quantization of communication system after determining, the i.e. product of the reception antenna number of an all number of transmit antennas in base station and a downlink user; The total dimension and the dimension of original code book of the required vector quantization of communication system are determined packet count relatively, and for after total dimension of the required vector quantization of communication system later on subtracts 1 divided by the dimension of original code book, the merchant who obtains is similar to just infinite direction and rounds; With all elements of channel vector sequence arrangement by different base stations, different downlink user reception antenna, the number of the element of each group channel vector equals the dimension of original code book, the head and the tail element of two adjacent groups channel vector is overlapping, and last element of promptly last group also is first element of one group of back.
In the present embodiment, the multi-user-multiple-input and multiple-output of many sub-districts (MU-MIMO) system, 3 plot joint dispatching downlink users.There are 8 independently transmitting antennas each base station, is used for transmitting self-corresponding up user's data to downlink user.Each downlink user all has 2 independently reception antennas.Therefore in the future total dimension of the required vector quantization of communication system equals 3 * 8 * 2=48.
Step 2n reduces some bits respectively from the data bit of the last one dimension of first peacekeeping of codeword vector, the figure place of minimizing equals the bit number of expansion of codeword vector divided by 2.
In the present embodiment, the figure place of minimizing equals the bit number of expansion of codeword vector divided by 2, is 1.Because the data bit that every dimensional vector can be assigned to only has 1, the figure place of minimizing equals 1.That is, the last one dimension of first peacekeeping of codeword vector has only sign bit, the deleted data position.
Step 2o, the code word of the bit correspondence that the last one dimension of first peacekeeping of merging codeword vector reduces in previous step, concrete grammar is the code word that finds the bit correspondence that the last one dimension of first peacekeeping of all codeword vector reduces, they are merged by the contiguous relation of distance, thus, from code book, delete the part code word, reduce after the number of bits consistent in the code word number in code book and the previous step; The code book that obtains thus is the interface code book, the size of the original code book before the size of interface code book equals to expand.
In the present embodiment, have only sign bit after the compression of the first peacekeeping fourth dimension, therefore can ignore the part of their data bit representative, thereby greatly reduce complexity.And the codeword vector that the second peacekeeping third dimension is formed is according to the close principle of distance, and per four are one group and regenerate a code word.Because 1st, have only sign bit after the 4 dimension compressions, therefore ignore the part (being XXXXXXX) of their data bit representative, greatly reduce the complexity when quantizing simultaneously.
Step 2p, the number of combinations that obtains according to the combined situation of codeword vector, carry out the vector quantization second time to making up several interface code books, concrete grammar is the code book that Mr. becomes corresponding second quantization to use, and then the various combination situation that makes up several codeword vector is distributed code word in the code book that second quantization uses.
In the present embodiment, the code book that above-mentioned generation second quantization is used, adopt quantification manner heterogeneous, its method is distributed different bit numbers for each group channel vector (promptly being divided in same group channel vector), wherein be that first group of channel vector distributes minimum bit number, the bit number that distributes for other group channel vector increases progressively successively; The secondary vector quantization to as if the interface code book in code word, purpose is by making vector quantization twice, reduce the dimension when directly the higher-dimension channel vector being done to quantize by a vector quantization originally, be that downlink user can be combined into integral body with each group channel vector apace, the base station can be untied this combination apace.Therefore, the codeword vector of second quantization code book, its bit does not have sign bit, has only data bit.The principle of data bit arrangement is, high-order preceding, low level after, each code word (for example, multiple Gaussian Profile) in the channel statistical of certain common wireless communication system distributes in the statistics interface code book, the frequency that occurs, in view of the above, the code word in the secondary code book is done Huffman encoding, thereby on statistical significance, reduce redundancy, improve code efficiency.
In the present embodiment, owing to adopt second quantization mode heterogeneous, the bit number difference that each group channel vector (promptly being divided in same group channel vector) distributes.Quantize for the group channel vector is fair to each, adopt the method for round-robin, promptly each downlink user moved down each group channel vector, and last group channel vector is moved to first group before making second quantization.Shifting method is taken turns according to this equally in the base station when decoding, the channel vector combination of untiing is mapped.
In the present embodiment, the index of each code word correspondence of interface code book is respectively 0~15, generate 48 dimensional vectors by 4 dimensional vectors, need combination 10 times altogether, suppose with long 30 of the code word of second quantization, then distribute preceding 5 groups each 2, after 5 groups respectively account for 4, that is: for preceding 5 groups: every group of former code word bit symbol be+long 8 of data bit, 2 of existing boil down tos; For 5 groups of backs: every group of former code word bit symbol be+long 8 of data bit, now boil down to is 4.The example of the interface code book of an expansion code book correspondence that obtains thus is as shown in table 3.
Step 2q, the ending of the codeword vector that obtains at second quantization, additional second quantization end code and synchronous code.
In the present embodiment, the purpose of additional second quantization end code is that to make the base station can correctly distinguish the feedback quantization code word that receives be code word in future after original quantization code word or interface code Book of Records are crossed second quantization.Because adopt the method for round-robin, the purpose of appended synchronization sign indicating number is to make downlink user when making second quantization and base station decodes, to move each group channel vector and reach synchronously, the base station can correctly be mapped the channel vector combination of untiing.
In the present embodiment, last attached end code 1 and cyclic code 0/1, cyclic code 0 expression distributes preceding 5 groups each 2, the back respectively accounts for 4 for 5 groups, 1 expression exchange preceding 5 groups with after 5 groups order.Thus, obtain for behind system's spare interface in the future, each bit arrangement of the codeword vector that second quantization obtains.As shown in Figure 6.
In addition, should be noted in the discussion above that in above description, only in the mode of example, show technical scheme of the present invention, but be not intended that the invention be limited to above-mentioned steps.Under possible situation, can adjust and accept or reject step as required.Therefore, some step is not to implement the necessary element of overall invention thought of the present invention, and technical characterictic essential to the invention only is subject to the minimum requirements that can realize overall invention thought of the present invention, and is not subjected to the restriction of above instantiation.
Above embodiment is for the purpose of illustration only purpose, and is not inclined to restriction the present invention.It will be appreciated by one skilled in the art that under situation about not departing from the scope of the present invention with spirit, can have various modifications and replacement, and these modifications and replacement drop in the claims institute restricted portion this embodiment.