Disclosure of Invention
The task of the present invention is to provide a low-complexity subcarrier, bit and power allocation method for an Orthogonal Frequency Division Multiple Access (OFDMA) system, which significantly reduces the power consumption of information transmitted by a transmitting end of a communication system and the complexity of radio resource allocation, thereby improving the performance of the communication system and reducing the economic cost.
In the subcarrier, bit and power allocation method according to the present invention, the number of subcarriers required for each user is first determined. In order to ensure the fairness of users, the number of subcarriers allocated to each user is assumed to be 1, the average channel gain of each user is firstly calculated by combining channel information, then subcarriers are added to the users one by one according to the idea of the water injection principle, and the number of the subcarriers of the user with the largest transmission power reduction after one subcarrier is added by 1 until the number of all the subcarriers is completely allocated in each user.
The subcarriers specifically allocated to the user are then determined. According to the number of subcarriers already allocated to the users, the average number of bits sent by each user on each subcarrier can be obtained, and for each user, the power required for sending the number of bits on each subcarrier can be further obtained; and traversing all users, finding out the subcarrier with the minimum required transmitting power and the corresponding user thereof, then allocating the subcarrier to the user, and continuously allocating the rest subcarriers by adopting the same method until the subcarriers are all allocated to the user. In order to further reduce the complexity of the operation, in this step, the subcarriers may be allocated according to the channel gain corresponding to each subcarrier, that is, all users are traversed, the subcarrier corresponding to the maximum channel gain is found and allocated to the corresponding user, and the remaining subcarriers are continuously allocated by the same method until all subcarriers are allocated to the users.
And transmitting the bits required to be transmitted by each user on the allocated subcarriers according to a single-user water filling algorithm.
The method of the invention combines the channel information, adopts three steps to reduce the power required by the sending end when sending the information, each step leads the sending power to be the minimum in average meaning, and the three-step combined distribution scheme can also achieve the obvious reduction of the complexity. Therefore, the method according to the invention not only achieves low complexity, but also has better performance than other allocation methods.
According to the present invention, there is provided a subcarrier, bit and power allocation method for an ofdma system, comprising the steps of: distributing the number of the subcarriers based on the power reduction amount caused by adding one subcarrier to each user, thereby determining the number of the subcarriers required by each user; calculating the average bit number sent by each user on one subcarrier according to the determined subcarrier number of each user, and determining the subcarrier specifically allocated to each user according to the power value required by sending the average bit number; for each user, bit loading is performed according to a single-user water filling algorithm.
Detailed Description
Fig. 1 shows a system block diagram that can be used for the allocation method according to the invention. This system is an OFDMA system. Fig. 1 shows the subcarrier, bit and power allocation modules in the system in detail.
Fig. 2 shows a flow chart of a subcarrier, bit, power allocation method according to the present invention. As shown in fig. 2, the allocation method according to the present invention first determines the number of subcarriers required by each user by allocating the number of subcarriers according to the water-filling principle in combination with the average channel gain according to the power reduction caused by adding one subcarrier to each user. The subcarriers specifically allocated to each user are then determined based on the power value required to transmit the number of bits that each user transmits on average over each subcarrier allocated to it. And finally, carrying out bit loading according to a single-user water filling algorithm.
Each step in the allocation method according to the invention minimizes the transmission power in an average sense and such a three-step joint allocation scheme can also achieve a significant reduction in complexity.
The subcarrier, bit, power allocation method according to the present invention is described in detail below. Assume that there are K users and N subcarriers in the system. The bit number of user k to be transmitted is Rk。
In the first step, the number of subcarriers required by each user is determined.
It is first assumed that the number of subcarriers initially allocated to each user is 1. The process described in detail below is then performed to determine a user, and the number of sub-carriers allocated to this user is increased by 1. This determination is repeated until all N subcarriers are allocated.
This determination is described below:
assume that, for user k, the number of subcarriers allocated to user k is N before performing the determination processkThen the average number of bits transmitted per subcarrier is Rk/NkWherein R iskThe total number of bits that need to be transmitted for user k. Suppose that user k is added with one subcarrier, Nk=Nk+1, the average number of bits transmitted per subcarrier is Rk/(Nk+1). According to the following formulas (1) and (2):
<math> <mrow> <msub> <mi>f</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>r</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <msub> <mi>N</mi> <mn>0</mn> </msub> <mn>3</mn> </mfrac> <msup> <mrow> <mo>[</mo> <msup> <mi>Q</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <mfrac> <msub> <mi>BER</mi> <mi>k</mi> </msub> <mn>4</mn> </mfrac> <mo>)</mo> </mrow> <mo>]</mo> </mrow> <mn>2</mn> </msup> <mo>·</mo> <mrow> <mo>(</mo> <msup> <mn>2</mn> <mi>r</mi> </msup> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein f isk(rkN) is r transmitted on subcarrier n by the receiving end in order to receive user kk,nReceived power required for one bit, N0Is the noise power spectral density, BERkIs the bit error rate QoS requirement of the traffic.
Wherein, Pk,nFor the corresponding transmit power of the transmitting end, gk,nIs the channel gain corresponding to the subcarrier. It can be obtained that when the number of subcarriers allocated to user k is from NkIncreasing Nk+1Then R is transmitted within one OFDM symbolkReduction of power required for one bit Δ PkIs composed of
<math> <mrow> <mi>Δ</mi> <msub> <mi>P</mi> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>N</mi> <mi>k</mi> </msub> <mo>*</mo> <msub> <mi>f</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>R</mi> <mi>k</mi> </msub> <mo>/</mo> <msub> <mi>N</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mrow> <mo>(</mo> <msub> <mi>N</mi> <mi>k</mi> </msub> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>*</mo> <msub> <mi>f</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>R</mi> <mi>k</mi> </msub> <mo>/</mo> <mrow> <mo>(</mo> <msub> <mi>N</mi> <mi>k</mi> </msub> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> <msup> <msub> <mover> <mi>g</mi> <mo>~</mo> </mover> <mi>k</mi> </msub> <mn>2</mn> </msup> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </math>
Wherein,
is the root mean square of the subcarrier channel gains assigned to user k, i.e.:
<math> <mrow> <msub> <mover> <mi>g</mi> <mo>~</mo> </mover> <mi>k</mi> </msub> <mo>=</mo> <msqrt> <munderover> <mi>Σ</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>|</mo> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mo>/</mo> <mi>N</mi> </msqrt> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow> </math>
according to the above equation (3), the power reduction value Δ P when the number of subcarriers thereof is increased by 1 is calculated for all userskAnd reducing the value Δ P from the power of all userskThe maximum value is picked, that is, the number of sub-carriers allocated to the user corresponding to the maximum value is determined to be added by 1.
And then repeating the above determining process, and distributing the rest sub-carriers to the users one by adopting the same method for comparing the power reduction values until all the N sub-carriers are distributed.
And secondly, after the number of the sub-carriers required by each user in the system is determined, selecting the required specific sub-carriers from the sub-carriers available in the system for each user.
Suppose that for user k, the number of subcarriers allocated to that user is determined to be N in the previous stepkThen send on the nth sub-carrier (R)k/Nk) The power required for each bit is:
thus, for each user and for each subcarrier, N x K power values P can be obtainedk,nComposed matrix P
<math> <mrow> <mi>P</mi> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>P</mi> <mn>1,1</mn> </msub> </mtd> <mtd> <msub> <mi>P</mi> <mn>1,2</mn> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>P</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>N</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>P</mi> <mn>2,1</mn> </msub> </mtd> <mtd> <msub> <mi>P</mi> <mn>2,2</mn> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>P</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>N</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>P</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>P</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>P</mi> <mrow> <mi>K</mi> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>P</mi> <mrow> <mi>K</mi> <mo>,</mo> <mi>N</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow> </math>
By Pk,n *Representing the minimum value P in the matrix Pk,n. Finding Pk,n *And allocates the corresponding subcarrier n to the corresponding user k because of the minimum value Pk,nMeaning that user k requires the least power to transmit information on subcarrier n. And set Pk,nInfinity. Continuing to find P in matrix P by the same methodk,n *Until each user is allocated the desired sub-carriersAnd (4) counting.
And a third step of loading the bit information to be transmitted by the user on the allocated sub-carriers. Since the sub-carriers allocated to the users have been determined by the first two steps, a single-user water-filling algorithm can be used for bit loading. Define by ΩkDenotes the set of sub-carriers, Δ P, to which user k is allocatedk,nFor user k, in subcarrier n (n belongs to Ω)k) The amount of power increase when more than one bit is loaded, i.e.
<math> <mrow> <mi>Δ</mi> <msub> <mi>P</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>f</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>f</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>r</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <msubsup> <mi>g</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> <mn>2</mn> </msubsup> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow> </math>
Find out omegakMiddle smallest Δ Pk,nAnd adding 1 to the corresponding subcarrier by the transmitted bit number. Repeating the above process, and loading the bits to be sent of user k to omegakOn the sub-carriers of (a). The bit loading method of other users is the same.
The complete procedure of the subcarrier, bit, power allocation method according to the present invention has been described in detail above.
However, in the allocation method according to the present invention, in order to further reduce the computational complexity, the second step, i.e. the step of determining specific subcarriers for the user, may be modified.
Because of the information transmittedThe required power is mainly given by the channel gain gk,nSo that the channel gain can be substituted for the transmit power, i.e. the matrix P mentioned above is replaced by the following matrix G
<math> <mrow> <mi>G</mi> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>g</mi> <mn>1,1</mn> </msub> </mtd> <mtd> <msub> <mi>g</mi> <mn>1,2</mn> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>g</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>N</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>g</mi> <mn>2,1</mn> </msub> </mtd> <mtd> <msub> <mi>g</mi> <mn>2,2</mn> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>g</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>N</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>g</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>g</mi> <mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn> <mo>,</mo> <mi>n</mi> </mrow> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>g</mi> <mrow> <mi>K</mi> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <mo>·</mo> <mo>·</mo> </mtd> <mtd> <msub> <mi>g</mi> <mrow> <mi>K</mi> <mo>,</mo> <mi>N</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow> </math>
However, due to Pk,nAnd g2 k,nInversely proportional, so in this case, g needs to be determinedk,nIs measured. By gk,n *Represents the maximum value g in Pk,n. Find out gk,n *And allocates the corresponding sub-carrier n to the corresponding user k because of the maximum value gk,nMeaning that the signal gain of user k is the largest for n on the sub-carriers and thus that the power required by user k to transmit information on n on the sub-carriers is the least. Set up gk,n═ infinity. The same method is adopted to continuously search for G in the matrix Gk,n *Until each user is allocated the required number of sub-carriers.
It can be known from theoretical analysis and computer simulation experiment verification that the subcarrier, bit and power allocation method according to the invention has obvious advantages in terms of saving transmission power and information processing complexity compared with the multi-user greedy water injection method in the prior art, especially under the conditions that the number of information bits of each user is fixed and the number of users is changed, and under the conditions that the number of users in the system is fixed and the number of information bits of each user is changed.