1. What is the PUSCH frequency hopping frequency (PUSCH Frequency hopping)
Blog "LTE downlink physical layer transport mechanism (9)-centralized and distributed resource mapping" mentioned in the distributed downlink resource allocation, this resource allocation method can effectively utilize the frequency diversity effect, increase the signal anti-jamming effect. In fact, in the upstream transmission process, there are similar distributed resource allocation, that is, continuous VRB mapping to discontinuous prb pairs, this method is called PUSCH frequency hopping (PUSCH Frequency hopping). Unlike downstream distribution, because the upstream-allocated RB must use a continuous subcarrier, the VRB assigned by the ENB must be contiguous, and the continuous VRB within the same timeslot must be mapped to a continuous PRB, as shown in.
2. Why to use Pusch frequency hopping
Frequency hopping is used to increase the anti-jamming effect of the signal by using the diversity effect. Consider the following figure 1, which is the RB allocation method. In Figure 1, ENB in each of the sub-frame subframe slot slots are assigned several consecutive RB, for Pusch transmission, this time does not seem to be a problem.
(Fig. 1)
At some point, however, the system suddenly appears to have a strong disturbance, and the interference happens to be near the assigned RB, which is shown in 2. If the system does not have other anti-interference measures at this time, it will inevitably affect the transmission of Pusch data.
(Fig. 2)
In this case, in order to improve the reliability of data transmission, choose Pusch frequency hopping can be one of the schemes (of course, we in the actual design algorithm, but also the integration of some other scheduling strategies, because there is no protocol specification content, here is not too much to explain). We can use the frequency hopping pattern shown in Figure 3, which is called sub-frame hopping (inter-subframe hopping). The strategy of inter-frame frequency hopping is to stagger the RB positions allocated in different sub-frames to achieve the distributed purpose.
(Figure 3 Inter-frame frequency hopping)
The frequency hopping pattern between the sub-frames shown in Figure 3, although it achieves the effect of the frequencies diversity, but the RB in the same sub-frame is not separate, so this frequency hopping method is not complete, but also can continue to optimize, so there is a pattern shown in Figure 4 of this frequency hopping. The frequency hopping pattern in Figure 4 is called intra-and sub-frame hopping (Intraandinter-subframe hopping).
(Figure 4 Intra and sub-frame frequency hopping)
The frequency hopping pattern shown in Figure 4 shows that there is a certain regularity: even and even time slots between different sub-frames, odd and odd time slots, and their PRB locations are the same. Because there is a lot of uncertainty in the actual environment, so if the map location of PRB is less regular, the frequency diversity effect will be better, so the actual allocation will appear in the 5 sub-frame and sub-frame between the frequency hopping.
(Fig. 5)
The above-mentioned frequency hopping methods may exist in the actual network, if you just want to know about the Pusch frequency hopping of the approximate content, then see here is possible, but if you are a professional developer, immediately to do this code writing, or you want to know more about this aspect of the content, Then you need to continue reading the rest of the content. Because the mathematical formulas are related to the following, it is possible to export the above frequency hopping graphs.
3.UE How to determine if a frequency hopping is required
Before using the mathematical formula to deduce the PRB frequency hopping position of Pusch, we first introduce how the UE determines whether an uplink sub-frame is hopping or skipping. The general principle here is that if the Pusch frequency hopping bit (frequency hopping field) in the DCI0 is set to 1, the UE will perform a pusch frequency hopping, otherwise the frequency hopping will not be performed . As shown in the yellow area callout.
If the UE receives a DCI0 stream from ENB, the UE that performs the frequency hopping can determine the starting position of the sub-frame n the first time-slot prb by parsing the last DCI0 stream of the same transport block. In other words, if this tti received DCI0 in accordance with this DCI0 resolution (corresponding to the new transmission), this time did not receive DCI0 but last time, then the last DCI0 resolution (corresponding retransmission). since the upstream RB (either VRB or PRB) is continuous, once the first time slot of the PRB start position, plus the number of RB can be resolved in the Riv, you can know the first time slot of all PRB locations, and then according to the specific mapping rules (described in the following article) , you can know all the PRB locations for the second timeslot .
Then the UE does not each send the upstream data need DCI0 to allocate the RB resources, such as non-adaptive retransmission or upstream SPS, or send msg3, These scenarios do not require ENB to allocate RB through DCI0. So in addition to the upstream new , Adaptive retransmission of such pdcch will carry DCI0 scenes, there are three kinds of scenes without DCI0 to consider:
(1) UE performs non-adaptive retransmission
In this case, although ENB does not send DCI0, but before the new transmission is DCI0, UE only need to view the previous DCI0, the TB block corresponding VRB whether the Pusch frequency hopping, we know this non-adaptive retransmission need to jump frequency: If the last time the new transmission is frequency hopping, The same Pusch frequency hopping rule is also required for this time.
(2) UE send MSG3
MSG3 resources are issued by MSG2 (or RAR) ul_grant to the UE, as shown in. MSG3 whether the frequency hopping is used depends on the "Hopping flag" field: If the value equals 1, the MSG3 needs to perform pusch frequency hopping. The following "Fixed Size resource block Assignment" field contains specific RB resource information similar to DCI0.
For more information on RAR, please refer to the blog "LTE-TDD Random Access Process (3)-rar (MSG2) and MSG1 retransmission".
(3) UE performs upstream SPS
If the Pusch data of the same transmission block is initially semi-continuous (about the contents of the SPS semi-continuous dispatch), then whether the frequency hopping is determined by the DCI0 hopping information at the time of the last semi-continuous dispatch allocation.
Pusch has 2 types of frequency hopping: type 1 frequency hopping and type 2 frequency hopping . The difference between the two approaches is that using Type1 means that the RB position of two slots in the same frame is deduced from the DCI0 stream, whereas the use of Type2 means that the RB position of the two slots is in accordance with a predefined model ( Predefined pattern ), the entire upstream bandwidth will be divided into sub-bands, Pusch will be in several sub-bands with a specific frequency hopping, refer to figure 3~ Figure 5 above. The following is a discussion of the rules for Pusch hopping, referring to the DCI0 scenario, which also applies to MSG3 scenarios.
4.PUSCH frequency Hopping Mode 1 (Type 1 PUSCH hopping)
ENB sent to the UE DCI0 stream contains the Pusch frequency hopping information, and the frequency hopping related fields see below the yellow content is shown:
As you can see, for pusch hopping, there are 2 messages in DCI0: The frequency hopping information of the high n_ul_hop bits and the low [ ceil (LOG2[N_UL_RB * (N_UL_RB + 1)/2])- C10>n_ul_hop ] bits of information related to the first time slot RB assignment. So how do you use these 2 messages to deduce the location of the two-slot prb? The next step is to disassemble and analyze the problem.
(1) Frequency hopping information occupies n_ul_hop bits, this parameter value is determined by the bandwidth size, see the table below. For example, 10M bandwidth occupies 50 rb, then n_ul_hop= 2.
(2) If the current is the TYPE1 mode of the frequency hopping, as shown, the first time slot of the PRB starting position is indicated by the variable n_s1_prb (i) , the second time slot of the PRB starting position is expressed in n_prb (i) .
The starting position of the first time-slot prb is equal to Rb_start, which can be decoded directly from the Riv field in the DCI0 or ul_grant, so the next task is to decode the starting position of the second time slot prb. is the process of calculating the second time slot PRB starting position variable n_prb (i) . As you can see, thenul-hop frequency hopping information and bandwidth size N_UL_RB determine which formula ~N_PRB (i) uses and the current Pusch frequency hopping method (Type1 or Type2). In the middle of the 2-bit frequency hopping information nul_hop=00, the formula in the table is selected:
It is also possible to see that the ENB chooses the Type1 Pusch frequency hopping method.
(3) as shown in the calculation of ~N_PRB (i) in the process, the final need to use two parameters n_ho_rb,Nsb, these two parameters are configured by the RRC in SIB2, respectively corresponding cells Pusch_ Hoppingoffset and cell N-SBare shown in Figure a below.
(Figure A)
At this point, you can know the location of PRB after frequency hopping with Type1 mode. Take 10M bandwidth, for example, if RRC is configured for nul_hop=00,riv=270 in N-sb=1,pusch-hoppingoffset=4,dci0. The
(A) The starting position of the VRB can be obtained according to riv=270 Rb_start=20,rb_len= 6. For the contents of Riv, please refer to the LTE-TDD random access process (4)-riv parsing and preamble resource selection.
(B) pusch-hoppingoffset=4 is an even number, so ~n_ho_rb = n_ho_rb = Usch-hoppingoffset = 4.
(C) nul_hop=00, so the Type1 PUSCH frequency hopping is used,n_pusch_rb = n_ul_rb-~n_ho_rb-(N_UL_RB mod 2) = 50-4-0 = 46.
(D) the lowest bit starting position of PRB for the first time slot n_s1_prb (i) = rb_start = x, Length rb_len=6.
(E)~n_s1_prb (i) = N_S1_PRB (i)-~N_HO_RB/2 = 20-4/2 = 18.
(F)~n_prb (i) = (Floor (N_PUSCH_RB/4) + ~N_S1_PRB (i)) mod n_pusch_rb = (Floor (46/4) +) MoD 46 = 29.
(G) the lowest bit starting position of PRB for the second timeslot n_prb (i) = ~N_PRB (i) + ~N_HO_RB/2 = + 4/2 = rb_len=6, length. VRB the mapping rules to the PRB pair as shown in.
Here is a summary of the frequency hopping of the TYPE1 mode: in the Type1 mode, the PRB position of the first time slot is exactly the same as that of the non-hopping prb, while the PRB position of the second time slot is associated with the first time slot.
While the above calculates the PRB location for two slots, the UE does not always use the PRB resource in this way, and the protocol specifies a restriction: when the Hopping-mode configured by RRC is "inter-frame hopping" (Inter subframe), Then the resource allocation for the first time slot is suitable for scenarios where the TB block Harq has an even number of transmissions, and the second time slot resource allocation is applied to the scene with an odd number of Harq transfers . What does that mean? If the RRC is configured with "sub-frame" hopping, it means that the PRB position of two slots within a sub-frame must be the same, with no relative offset of frequency, similar to the one shown in Figure 3 earlier in this article. Each TB block in the HARQ process has the maximum HARQ transmission limit, for example, the maximum can be transmitted 5 times, then the 1th, 3rd, 5th transmission is an odd number of transmissions, and 2nd times, 4th Times is even several times transmission. Even though the PRB position of two time slots is calculated according to the formula, but for the sub-frames with even harq transmission times, the prb of the two time slots is allocated using the first time slot's PRB resource, and the odd harq transfer times of the sub-frames, the two time slots of PRB are using the second time slot of PRB resource allocation.
Parameter Hopping-mode is issued by the RRC SIB2 to the UE, with the parameters n_ho_rb,Nsb in the same structure, see Figure A above, this parameter determines the "sub-frame frequency hopping "or" intra and sub-frame hopping. "
5.PUSCH Frequency Hopping mode 2 (Type 2 PUSCH Hopping )
When the Type2 frequency hopping method is used, the location relationship between PRB and VRB will follow a predefined pattern. Due to the length of the relationship, this section will be placed in the next Article blog post continue to introduce.
Reference documents:
(1) 3GPP TS 36.212 V9.4.0 (2011-09) multiplexing and channel coding
(2) 3GPP TS 36.213 V9.3.0 (2010-09) Physical layer procedures
(3) 3GPP TS 36.211 V9.1.0 (2010-03) physical Channels and modulation
(4) http://www.sharetechnote.com
Pusch upstream hopping (1)-type1 frequency hopping