Scheduling method for guaranteeing real-time service quality under OFDM
Technical Field
A scheduling method for guaranteeing real-time service quality under OFDM belongs to the resource scheduling technology in the field of wireless communication.
Background
The development of the internet and the increase of the public demand for wireless multimedia services require that a wireless communication system can flexibly transmit data at high speed, and guarantee the Quality of Service (QoS) requirements of various types of services.
The quality of service is the degree of satisfaction of a user with the network to provide a service from the user's perspective. From the perspective of user service, parameters such as bandwidth, delay and loss rate provided by the network to the service can be described. In a communication network, services may be classified into QoS services and Best-effort services. The Best-effort service refers to a service that the network needs to transmit only with Best effort and does not guarantee the quality of service. The QoS service needs to guarantee the service rate and the service quality including the error index, the maximum delay, the transmission priority, etc. The service can be divided into real-time service and non-real-time service according to the delay requirement; the traffic can be divided into constant rate and variable rate according to the traffic rate characteristics.
In the network, the guarantee of the service quality is mainly realized by connection admission control, scheduling and other methods. How to perform effective scheduling on limited wireless spectrum resources, meet the service quality requirements of various types of packet services, and improve the system throughput becomes one of the key problems in the field of future wireless communication.
Many techniques can improve error performance, such as hybrid automatic feedback retransmission (HARQ) mechanisms and adaptive coded modulation (AMC) mechanisms. For users with high error code requirements, the retransmission times can be increased, and the coding rate and the modulation mode can be reduced. Thus, the requirements on the scheduling algorithm itself are not high.
The factor that has a large impact on the scheduling algorithm is the delay requirement of the service. General packet services can be divided into real-time services and non-real-time services according to the delay requirements of QoS. Non-real-time services have low latency requirements, such as e-mail, general file transfer, etc. For this type of service, best effort transmission can be adopted, and the requirement on the scheduling algorithm is low. Real-time traffic refers to traffic with relatively strict requirements on transmission delay and delay jitter. Since the real-time service data packet must be transmitted within a certain time, only throughput and fairness cannot be considered in the scheduling process, so that scheduling is complicated. This patent focuses on scheduling of real-time traffic.
Orthogonal Frequency Division Multiplexing (OFDM) is one of the mainstream technologies for solving wireless high-speed data transmission at present, and has a good development prospect. To improve spectrum utilization, the OFDM system employs an adaptive coded modulation (AMC) technique. AMC flexibly varies constellation size, coding efficiency, and coding scheme. It improves the spectrum utilization when the channel is good, and reduces the throughput when the channel is poor, thereby improving the Bit Error Rate (BER) Performance (see Das, A.; Khan, F.; Sampath, A.; Hsua-Jung Su, "Performance of hybrid ARQ for high speed downlink packet access in UMTS", VTC' 2001.pp2133-2137, vol.4.).
Traditional resource scheduling research of OFDM focuses on two aspects of bit loading and power allocationAre closely related. Bit loading is the decision of how to load data bits onto each sub-band according to the transmission quality of each sub-carrier, and can be divided into power optimization according to optimization criteria (see l. pia zzo: Fast algorithm for power and bit allocation in OFDM systems. electro nics LETTERS, 9. fig.thDecumber 1999, Vol 35, No 25, pp2173 ~ 2174, and Lai.S.K, Cheng R.Sand Letaief K.B: adaptive trellis coded MQAM and power optimization for OFDM transmission, proc.ieee VTC Spring, Houston, 1999), throughput maximization (see Satoshi munta, "a new frequency-domain link adaptation scheme for hybrid OFDM systems", ISBN: 0-7803-. These algorithms derived from optimization are difficult to be directly applied to practical systems because their system operation overhead and feedback information amount and control information overhead are too large. In addition, these algorithms do not take fairness among users, quality of service requirements of users, and the like into account in the scheduling process, so that real-time services are not supported.
The traditional scheduling algorithm for guaranteeing the service quality of the service is mainly directed to the wired network. They do not take into account the poor transmission properties of the wireless mobile environment and cannot be used in wireless systems. The HDR system in the wireless system is a kind of resource scheduling which is studied more deeply at present, and it is now studying scheduling of real-time services. In addition, the system also adopts the self-adaptive coding modulation technology, so that the resource scheduling algorithm of the system has greater reference to the patent.
The first algorithm introduced in HDR systems is DRC/R algorithm (P.Bender, P.Black, M.Grob et al, "CDMA/HDR: A bandwidth efficiency high speed data Service for non-modular users", IEEE Comm.Magazine, July, 2000.). It achieves a proportional fairness criterion in a simple way, achieving a good compromise between fairness and system throughput. However, the scheduling of this algorithm is based on channel conditions only, and real-time traffic is not supported because the scheduling does not take into account the quality of service requirements of the traffic. Label criteria are proposed to preliminarily support the quality of service requirements of real-time services on HDR systems. It includes a series of Algorithms including the M-LWDF criterion (matrix Andrews, Krishan Kumaran, et al, "teaching Quality of Service over a Shared Wireless Link", IEEE Communications major, pp.150-154, Feb 2001), "the index criterion (Sanjay Shakkottai, Alexander L.Stoylar," Scheduling Algorithms For a Mixture of read-Time and reaction-Time Data In HDR ", University of Illinois at Urbana Champaign, BellLaboratories, Lucent Technologies.), and the modified index criterion (KapseChang, Youngnam Han," QoS-Based Adaptive formulation A Mixed ", MRC 2002' S System, etc.). The algorithms not only take the channel condition into account in the scheduling, but also take the requirement of the user queue on the delay into account, so that the delay performance of the service is greatly improved.
HDR is a single carrier system, so there is no need to schedule frequency resources. It realizes resource sharing among users through scheduling in time domain. The user that wins the schedule will monopolize all system resources until the next schedule. In order to realize fairness among users with different channel conditions, the users with lower transmission capacity obtain the scheduling weight and then perform the next scheduling after transmitting for a longer time (Jong Hum Rhee, Tae Hyung Kim, et al, "A Wireless Fair scheduling Algorithm for 1Xevdo system", IEEE VTC' 2001, pp743-746 ").
These algorithms for HDR are not flexible enough to schedule real-time traffic and do not support scheduling of variable rate traffic. And the guarantee of QoS is not sufficient. In addition, many problems are encountered if the scheduling algorithm in HDR is applied directly on a multi-carrier OFDM system. HDR is a single carrier system, and does not schedule frequency resources. Therefore, first, it cannot embody different transmission capabilities of each subcarrier, and cannot obtain a user diversity gain over frequency, thereby reducing system efficiency. Second, the OFDM system can transmit data of multiple users at the same time, which has a problem of multi-server scheduling. The HDR scheduling algorithm can only transmit data of one user at the same time, and does not solve the problem.
Therefore, the patent provides a scheduling method for guaranteeing real-time service quality for the OFDM system by using the ideas of some algorithms in HDR, and introduces a virtual queue (tag queue) in the scheduling. The HDR tagging algorithm assumes that tags enter the virtual queues at a fixed rate, and the QOS characteristics of packets in each queue are identical, so the tag queues are not actually maintained and managed. However, the characteristics of future services are more flexible and complex, which may result in different specific QOS metrics for each tag in the queue. For example, in variable rate services, the target throughput per packet varies. Therefore, we believe that more quality of service information for packets should be provided in the tag and the tag queue actually maintained. In addition, different from the label algorithm of HDR, the algorithm adopts the method of scheduling users in turn according to priority, and provides the scheduling target value range of each user in one-time scheduling.
Disclosure of Invention
The invention aims to provide a scheduling method for guaranteeing the quality of real-time service under OFDM, which can obtain better throughput and fairness performance and has less system feedback and control information.
The method is characterized in that:
(1) the scheduling period is fixed, and one time of scheduling is executed in one time slot. A plurality of adjacent sub-carriers of the OFDM system are divided into a sub-band, and the same coding modulation mode is adopted. Each subband is allocated to only one user in one scheduling as a minimum unit of one-time resource scheduling. And adopting a power distribution mode of constant average transmitting power of each sub-band.
The system adopts a closed-loop feedback method. The mobile station measures the average SNR of each sub-band in a time slot and quantizes the SNR according to a certain threshold scheme to obtain a corresponding data rate control word (DRC). The time interval of feedback and the amount of feedback are determined according to the traffic demand. And if the traffic is small, only part of the good sub-band ID and DRC thereof are fed back. This further reduces the amount of upstream feedback.
(2) Real-time traffic and non-real-time traffic are scheduled separately. And after the scheduling of the real-time service such as each scheduling is finished, scheduling the data of the non-real-time service. The specific scheduling algorithm for non-real time traffic is visible [18 ].
(3) If the requirements of real-time services with different rates requested by the same mobile station on the service quality are not greatly different, the real-time services can be uniformly scheduled as a scheduling user; otherwise, the scheduling can be performed separately as different users. The DRA creates and maintains a tag queue for each scheduled user allowed to access. Each packet of the data pool corresponds to a tag. The tag includes ID, data length and Qos information (such as maximum delay limit, priority, etc.) of the corresponding data packet. The data structure of the tag queue is shown in fig. 1. This information is updated each time the scheduling is completed or new data is generated.
(3) The scheduling of real-time services should comprehensively consider the current channel condition of each mobile station, the delay requirement of each service, the size of the traffic, and the like. In the research on scheduling for guaranteeing QOS in HDR, it is considered that the influence of delay in the priority calculation of scheduling should be higher than the channel condition in order to transmit a packet requiring real-time performance on time. By taking the thought as a reference, and reflecting more QOS information as much as possible, the following formula is adopted for calculating the evaluation value of the priority for the real-time service i. <math> <mrow> <mi>Prio</mi> <mo>_</mo> <mi>eval</mi> <mo>_</mo> <msub> <mi>real</mi> <mi>i</mi> </msub> <mfrac> <mrow> <munderover> <mi>Σ</mi> <mi>j</mi> <mi>M</mi> </munderover> <msub> <mi>Capa</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> <mrow> <mi>R</mi> <mo>_</mo> <msub> <mi>real</mi> <mi>i</mi> </msub> <mo>·</mo> <mi>M</mi> </mrow> </mfrac> <mo>+</mo> <mi>α</mi> <mfrac> <mrow> <munderover> <mi>Σ</mi> <mi>j</mi> <mrow> <mi>num</mi> <mo>_</mo> <mi>token</mi> <mo>_</mo> <mi>i</mi> </mrow> </munderover> <mfrac> <mrow> <msub> <mi>β</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>·</mo> <msub> <mi>Len</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> <msub> <mi>Delay</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mfrac> </mrow> <mrow> <munderover> <mi>Σ</mi> <mi>j</mi> <mi>M</mi> </munderover> <msub> <mi>Capa</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </math>
In the formula, i is 1, 2real。NrealThe number of the real-time service queues with the waiting data quantity of the time slot being more than 0. Capai,jThe transmission capacity in the time slot is obtained by looking up a table according to the suggested feedback rate of the jth sub-band of the mobile station corresponding to the ith real-time service queue. Alpha is an adjustable parameter and the goal is to make the second term much more heavily weighted than the first term. It is an integer with a larger numerical value, and the specific numerical value can be selected through simulation. M is the number of sub-bands divided by the OFDM system.
R_realiIs the average rate of all real-time traffic for a certain time of the ith mobile station,
R_reali=(1-1/Tc)·R_reali+Len_reali/Tc,i=1,2,...,N (2)
wherein, <math> <mrow> <mi>Len</mi> <mo>_</mo> <msub> <mi>real</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mi>Σ</mi> <mi>j</mi> <mi>M</mi> </munderover> <msub> <mi>Capa</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>·</mo> <mi>Select</mi> <mo>_</mo> <mi>all</mi> <mo>_</mo> <msub> <mi>real</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <mi>N</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow> </math>
Select_all_reali,jwhen 1, the jth sub-band is allocated to the real-time service of the ith user;
and 0, and the other cases. (4)
βi,jThat is, the above-mentioned Beita is the priority weight of the jth packet of the ith user data pool queue, and is flexibly selected by the upper layer according to the QOS requirement degree. Leni,jAnd Delayi,jIs the remaining data length and tolerable remaining transmission time of the jth packet of the ith user's data queue mentioned in the previous section. num _ token _ i is the number of tags in the ith queue.
The numerator of the second term in the formula approximately represents the weighted time slot task amount of the data to be transmitted by the service. The denominator embodies the current transmission capabilities of the mobile station. The quotient of the two approximately represents the difference between the transmission requirement and the actual capability of the service in one time slot, and represents the transmission urgency. The first item in the queue approximately represents the normalized downlink channel capacity of the mobile station corresponding to the real-time service i, and the method only works when the values of the second items of several services are small, namely, when the data quantity to be transmitted is small.
Resource scheduling of real-time services is essentially to allocate corresponding frequency domain sub-band resources to each service. And scheduling each real-time service from high to low according to the priority order. When a service is scheduled to a sub-band selection opportunity, it first sorts all available sub-bands in descending order of DRC fed back by the mobile station, and allocates the sub-bands to which the service has not been allocated with the highest DRC.
The number of sub-bands allocated to each service is determined by the scheduling target value of the service. The target is divided into a capacity lower limit and a sub-band number upper limit. And selecting enough sub-bands until the sum of the capacities of the sub-bands reaches or exceeds the transmission lower limit, unless the number of the sub-bands allocated at this time reaches the sub-band number upper limit or no residual resource can be scheduled.
The capacity target value of each scheduling is shown as the following formula, which represents the weight of the transmission requirement of all the data packets in the user queue in one time slot. <math> <mrow> <msub> <mi>Goal</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mi>Σ</mi> <mi>j</mi> <mrow> <mi>num</mi> <mo>_</mo> <mi>token</mi> <mo>_</mo> <mi>i</mi> </mrow> </munderover> <mfrac> <msub> <mi>Len</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>Delay</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mfrac> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>N</mi> <mi>real</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow> </math> NrealThe number of real-time service queues to be scheduled. Each round of scheduling in each time slot should satisfy: capa _ oneturni≥Goali,i=1,2,....Nreal (6) <math> <mrow> <mi>Capa</mi> <mo>_</mo> <msub> <mi>oneturn</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mi>Σ</mi> <mi>j</mi> <mi>M</mi> </munderover> <msub> <mi>Capa</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>·</mo> <msub> <mi>Select</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>N</mi> <mi>real</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow> </math> Wherein, Selecti,j1, when the jth sub-band is allocated to the ith user in the current round of scheduling;
and 0, and the other cases. In order to prevent a service from occupying too many subbands, the maximum number of subbands that can be obtained in each scheduling is defined as <math> <mrow> <mi>Max</mi> <mo>_</mo> <msub> <mi>subband</mi> <mi>i</mi> </msub> <mo>=</mo> <mi>M</mi> <mo>·</mo> <msub> <mi>Goal</mi> <mi>i</mi> </msub> <mo>/</mo> <munderover> <mi>Σ</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mi>real</mi> </msub> </munderover> <msub> <mi>Goal</mi> <mi>k</mi> </msub> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>N</mi> <mi>real</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow> </math> That is, the second condition that each round of scheduling in each slot should try to satisfy is, <math> <mrow> <munderover> <mi>Σ</mi> <mi>j</mi> <mi>M</mi> </munderover> <msub> <mi>Select</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>≤</mo> <mi>Max</mi> <mo>_</mo> <msub> <mi>subband</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>N</mi> <mi>real</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow> </math>
if the second condition conflicts with the first conditionThe second condition is preferably satisfied. Thus, the scheduling of one traffic queue is completed. And if the service queue of the cycle is not traversed, allocating resources for the service queue of the next priority. And if the total service scheduling cycle times do not reach the Max _ round _ for _ real after one scheduling cycle is finished and spare sub-bands exist, traversing the service queue from the beginning according to the service priority order, otherwise finishing real-time service scheduling. The maximum number of real-time traffic traversal times Max _ round _ for _ real may be used as a quasi-static parameter. Select before each traversal by priority beginsi,jAn initialization clear is performed. And (3) effect analysis:
the scheduling algorithm considers the channel condition of each user on each sub-band and the Qos requirement of user data, such as rate, delay, priority and the like, in the scheduling of real-time service, and the considered factors are relatively comprehensive. The priority is mainly determined by the ratio of the total data volume and the transmission capacity of the user queue, while taking normalized instantaneous channel conditions into account as appropriate. The prior scheduling of users has large data volume, urgent time and bad overall channel conditions. The algorithm sets up a tag queue for the user, supporting variable rate services since there is no rigid specification on the length of the data packet and the frequency of generation. At the same time, the queue can be established more flexibly, so that one mobile station can flexibly schedule various types of services, namely, the services can be separated and can be processed uniformly. Because the sub-band dividing technology is adopted, the mobile station and the base station jointly inquire a sub-band signal-to-noise ratio threshold transmission scheme table, and the feedback quantity and the control information quantity are both reduced in a large scale.
The algorithm is compared with a time-frequency two-dimensional maximum DRC dynamic scheduling algorithm and a pre-allocation algorithm on an OFDM system. The simulation result can be seen from several indexes of average throughput, average scheduling delay, delay jitter and average timeout rate of the real-time service, and the algorithm can meet more transmission requirements of the real-time service than the other two algorithms. This improvement in real-time service performance is at the expense of the partial best-effort service. Under the same channel and the same service condition, the average throughput performance, scheduling delay, delay jitter and other performances of each user are not greatly different, and the algorithm has certain fairness among users.
Drawings
Fig. 1 is a schematic diagram of a data structure of a real-time service.
Fig. 2 is a system block diagram.
Fig. 3 is a scheduling flow of real-time traffic.
The specific implementation mode is as follows:
fig. 2 shows a block diagram of a system for implementing a scheduling algorithm, which sets up a tag queue for real-time services. Each time a schedule is initialized, a tag is established in the corresponding service queue for newly arriving data. The DRA creates and maintains a tag queue for each allowed access real-time service and records an average transmission rate variable R over a period of time. Each data packet of the data pool corresponds to a label, and the ID and the data length Len of the corresponding data packet are recordedi,jResidual Delayi,jAnd a priority evaluation value beta obtained according to the packet importance, the delay jitter and the error requirementi,j. This information is updated each time the scheduling is completed or new data is generated.
One mobile station can flexibly establish one or more service queues. When CAC algorithm allows access of a service, a service queue can be established for the service, or the service queue can be put into the same service queue for unified scheduling with the service with similar service quality requirement as the mobile station. A traffic queue is revoked if no new data arrives for a long enough time.
Before each scheduling, relevant DRC information is also collected. Each mobile station measures the pilot signal of the downlink to obtain the SNR of each subcarrier, and then the average SNR of each subband in a period of time is obtained by averaging. Then, the user can use the device to perform the operation,and then obtaining the suggested transmission rate DRC according to the SNR. There are many possible ways to choose the suggested rate. Table 1 shows a signal-to-noise ratio threshold scheme, which can obtain the corresponding DRC by directly checking the threshold table according to the signal-to-noise ratio value. And the mobile station feeds back all or part of DRC of the high-quality sub-band and the corresponding sub-band ID according to the self downlink service requirement.
|
DRC | Signal-to-noise ratio (dB) | Coding rate | Modulation type | Capacity (bit/time slot) |
|
0 |
/ |
/ |
/ |
0 |
|
1 |
-3.4 |
1/4 |
BPSK |
128 |
|
2 |
-0.4 |
1/2 |
BPSK |
256 |
|
3 |
2.2 |
1/2 |
QPSK |
512 |
|
4 |
5.2 |
3/4 |
QPSK |
768 |
|
5 |
7.6 |
2/3 |
8PSK |
1024 |
|
6 |
10.9 |
3/4 |
16QAM |
1536 |
|
7 |
14.5 |
2/3 |
64QAM |
2048 |
TABLE 1 Transmission scheme
After the preparation is completed, the scheduling of real-time services can be performed, and the flow is shown in fig. 3. Firstly, each real-time user calculates a scheduling priority evaluation value according to formula (1), and accordingly obtains a scheduling sequence. Then, the base station sequentially schedules in this order. Before scheduling, two threshold values of the allocated capacity of each user in one scheduling cycle are calculated according to (5) and (8). When the user is scheduled, firstly, all the usable sub-bands are arranged according to the sequence of the fed back DRC values from large to small, and the best DRC sub-band is selected as far as possible until (6) and (9) are met or no usable sub-band resources exist. After one service is scheduled, the next service with the lower priority level is scheduled according to the idea. If the service scheduling with the lowest priority is finished, one scheduling cycle is ended. If the total scheduling cycle number is less than Max _ round _ for _ real, entering the next scheduling cycle and starting scheduling the service with the highest priority evaluation value; otherwise, if the cycle times reach, the scheduling of the real-time service is released, and the scheduling of the non-real-time service is started. Thus, the subband allocated to each user is determined by Max _ round _ for _ real times such a loop.
A specific example of an implementation is given below. Assume that in an OFDM system, each symbol has 1024 subcarriers, divided into 16 subbands of 64 subcarriers each. One slot consists of 8 symbols. The parameter R is initialized and a positive number close to 0, for example 0.001, is selected. Parameter TcAnd 500, selecting.
The code modulation module of the system adopts a transmission scheme which gives 8-step quantization threshold to the subband average signal-to-noise ratio. Under this scheme, each subband is coded separately. The suggested sub-band AMC parameters are: unverified 1/4Turbo code and BPSK, 1/2Turbo code and BPSK, 1/2Turbo code and QPSK, 3/4Turbo code and QPSK, 2/3Turbo code and 8PSK, 3/4Turbo code and 16QAM, 2/3Turbo code and 64QAM, the corresponding throughputs are 0, 1/4, 1/2, 1, 3/2, 2, 3, 4bits/s/Hz respectively.
The whole process is divided into three stages by taking a time slot as a base station resource scheduling period: a scheduling preparation phase, a real-time service scheduling phase and a non-real-time service scheduling phase. Scheduling of non-real-time traffic reference [18], the scheduling of real-time traffic is mainly discussed here.
In the scheduling preparation phase, the base station collects the DRC fed back by each mobile station. On the other hand, it establishes a label in the queue of the corresponding user for the newly generated data packet according to the communication primitive of the upper layer, including the data packet ID, the length Len of the data packeti,jResidual Delayi,jPriority βi,jAnd so on. For example, there is a queue of variable rate multimedia service in the system, and there are 3 data packets in the queue, and a batch of data with length of 800 bits, maximum delay of 30 time slots and higher priority is reached just before the scheduling, so a fourth data packet is established. At this time, the queue length of the queue is 4. Their packet IDs in the pool are 22, 43, 55, 59, respectively. The length of the data packet is 600, 990, 990, 800 (bits), respectively. The remaining delays are 2, 8, 15, 30 (slots). The priorities are 30, 60, 30 and 60 respectively.
After the preparation phase is finished, the real-time service scheduling phase is entered, and the scheduling process is as shown in fig. 2. Users with a length greater than zero participate in the scheduling. Firstly, each real-time user calculates a scheduling priority evaluation value according to a formula (1), and obtains a scheduling sequence according to the evaluation value. For example, the service queue mentioned above, finds each DRC fed back by its corresponding mobile station, and looks up the table to obtain the capacity Capa of one sloti,jThen, based on the parameter R _ real of the queue and the values of the 4 tags in the tag queue mentioned above, the priority evaluation value Prio _ eval _ real can be obtained by the formula (1)i。
Then, the scheduling priority is obtained according to the priority evaluation value of each service queue. If there are 5 queues of traffic to be scheduled for a slot, queues 1 and 2 belong to the same mobile station, evaluated 684 and 400 respectively. The evaluation values of queues 3, 4 and 5 are 900, 750 and 533, respectively. Then the order of scheduling is queue 3, queue 4, queue 1, queue 5, queue 2, queue 3 …. The queued base stations schedule in sequence in this order.
Then according to the formula (5) And (8) calculating a target value for scheduling once per queue. For the above-mentioned traffic queue, the lower target limit Goal of the scheduling is obtained according to (5)iIs (660/2+990/8+990/15+800/30) ═ 546. That is, enough subbands are allocated to one scheduling so that the total transmission capacity exceeds 546. And meanwhile, calculating the upper limit of the number of the sub-bands according to the step (8). Suppose the target lower bound Goal of the other 4 queuesi200, 700, 300, 800 (bits), respectively, then the sub-band divided by one scheduling of the traffic queue is 16 × 546/(546+200+700+300+800) ═ 3 at most.
When scheduling, the user firstly arranges all available sub-bands according to the sequence of DRC from large to small, and selects the sub-bands preferentially. When the service is scheduled, the next service with the lower priority level is scheduled according to the idea. If the service scheduling with the lowest priority is completed, a scheduling cycle is ended. Assuming that the traversal times Max _ round _ for _ real of the quasi-static parameter is 2, if the total scheduling cycle time is less than or equal to 2, entering the next scheduling cycle, and starting to schedule the service with the highest priority evaluation value; otherwise, if the scheduling cycle number of the time slot reaches 2 times, the scheduling of the real-time service is finished, and the non-real-time service is scheduled.
Assume that 10 subbands remain unallocated the first time this queue is traversed. They are arranged in sub-band 9, sub-band 5, sub-band 1, sub-band 8, … in descending DRC order. The corresponding DRCs were 4, 3, 3, 2, …. This time a subband, subband 9, is selected for the queue according to the scheduling algorithm. This satisfies the requirements of capacity greater than 546 and the number of subbands less than 3.
If at the second traversal to this queue there are 4 subbands left unassigned, they are arranged in descending DRC order as subband 7, subband 6, subband 11, subband 15. The corresponding DRCs are 2, 1, 1, 1, respectively. According to the algorithm, sub-bands 7, 6 and 11 are then selected for it. The result of this scheduling is that the queue is allocated 4 subbands, subbands 9, 7, 6, and 11, respectively.
And scheduling the non-real-time service if the non-scheduled sub-band is available when the real-time service scheduling stage is finished. All non-scheduled subbands are traversed and assigned to the user with the highest normalized transmission rate value on the relevant subband.
And after the sub-band traversal is completed, transmitting by taking the user as a unit. For the above mentioned queue, we decide by looking up the table that the transmitted data (768+256+128+128) — 1280 bits on the above four subbands. Thus, the data packet 22 of the queue is transmitted. Data packet 43 transmits 1280-.
And finally, updating the label queue of each user, deleting the corresponding label of the completely transmitted data packet, and updating the length field of the label of the partially transmitted data packet. For the mentioned queue, the queue length is now 3. The IDs of the three packets in the data pool are 43, 55 and 59 respectively. The data length is 310, 990 and 800 bits respectively. The remaining delay is 7, 14, 29 slots. In addition, T is required to be treatedc=500,Leni,jSubstituting 1280 and the value of the parameter R of the service into formula (2), and updating and storing a new parameter value R.
After all sub-bands are scheduled, the base station informs each mobile station through a downlink common channel after reinforcing protection of the user ID allocated to 16 sub-bands and corresponding original DRC information. The protection strengthening method includes increasing the transmitting power, coding protection and the like. After receiving the information, the mobile station derives the length, position and code modulation parameters of the useful information in the same process.