Upload
lamthuan
View
214
Download
1
Embed Size (px)
Citation preview
Model Solutions – Case Study Competition 2012 – Preliminary Round
1
Part 1 – Technical exercises
Exercise 3 (24 points in total)
Exercise 3-1: RF frontend
a) 33 dBm + 1 dB – 0.7 dB = 33.3 dBm33.3 dBm = 2.14 W
b) 3dB attenuation means that half of the input power is dissipated => 30.3 dBm or 1.07 W
Exercise 3-2: RF frequency conversion
fif2 = 125 MHzfif1 = 2885 MHzfLO1 = 3820 .. 3845 MHz (preferred solution: high LO)fLO1 = 1950 .. 1925 MHz (alternative solution: low LO)
0 947 2885 3832 4779 f [MHz]
0 125 2760 2885 f [MHz] Example for fin=947 MHz
Exercise 3-3: Hardware requirements
1 radio frame = 10 ms.Number of samples in a radio frame 30720072.30*ms10Nframe MHz Number of sample needed for measurement 6143991-N*2N frame tmeasuremen
The picture shows the recording window needed to capture one frame completely. Here it is frame n.
Frame n-1 Frame n Frame n+1 Frame n+2
1 sample2 frames -1 sample 2 frames -1 sample
Model Solutions – Case Study Competition 2012 – Preliminary Round
2
Exercise 3-4: Measurement bandwidth
The exercises 3-4 to 3-7 are meant to build some awareness for the hardware of a measurement re-ceiver. The developer has the task to find the optimal operating point of the receiver for a certain ex-pected input power (-50 dBm). Optimal here means with the largest dynamic range.
General principle of the receiver:Connector -> Attenuator (“makes level”) -> RF converter (“makes frequency”) -> Analog-to-Digital-converter -> digital baseband.
The RF converter expects the signal always in the same power range. Only then can the maximumdynamic range be used. The RF attenuators are used to put the input signal to the desired power range.The RF attenuator settings lead to an RF reference level.
The diagram has powers on both axes. The students may not be accustomed to such a view. A hintmay be useful here.The diagram shows how the choice of the attenuators (“RF ref level”) affects the dynamic range that thereceiver has in the digital domain.
Each input power (UE transmit power) can be expressed as a line of tuples (RF reference level; levelrelative to digital full scale). A tuple is a point in the diagram.For constant input power there is the following relation:RF reference level + level relative to digital full scale = const [dBm]This is valid at least in the linear operating range.
3-4See picture, Measurement BW = 18 MHz, the curve is moved by dB610*1810log*10 hence
dBmdBdBm 44.5210*1810log*10125 6 dBmdBdBm 44.2410*1810log*1097 6
Exercise 3-5: Power versus Pref
See picture. A signal power of -50 dBm can be expressed as a line crossing the two points (0 dBm Pref ,-50 dBfs) and (-50 dBm Pref , 0 dBfs).
Model Solutions – Case Study Competition 2012 – Preliminary Round
3
P [dBfs]
Pref [dBm]
0
-125
-50 400-15
-97
PN @ BW = 1 Hz
-9PDynamic @ BW = 1 Hz
and Pref = 0 dBm
-52.44PN @ BW = 18 MHz
POFF POWER
Nonlinear measurementrange due to PAPR
-41
PDynamic @ BW = 18 MHzand Pref = -41 dBm
-24.44
Exercise 3-6: Power
The light green and dark green lines are not parallel. To find the optimal operating point, move on thelight green line to the left as far as possible without going into the nonlinear operating range.
Pref = -41 dBm gives the largest dynamic range and leaves 9 dB backoff for PAPR.
Exercise 3-7: Power dynamic
The dynamic range can be calculated with the linear equation
dBxY 44.52)15(*
501544.2444.52
With dBmx 41
dBY 64.31
Hence, the dynamic range at dBm41Pref is 31.64 dB
Exercise 3-8: Sampling
Number of bits needed is bitYld Y 6210log
20/10 20/
.
Or simpler bitbitdBdBY 6/6
.
Model Solutions – Case Study Competition 2012 – Preliminary Round
4
Exercise 4 (20 points in total)
Exercise 4-1: Modulation symbols
Total number of modulation symbols in a subframe 67212*14*4 modulation symbols
4: because 4 resource blocks are used (see text)A resource block has 12 subcarriers.There are 14 OFDM symbols in a subframe
Modulation symbols for data 5288*312*9*4 modulation symbols
The first two OFDM symbols are used for control data, leaving 12.Of the remaining 12, 3 OFDM symbols have 4 pilot subcarriers each.
Exercise 4-2: Transport blocks
CQI = 3: QPSK has 2 bits per modulation symbol, coding rate = 193/1024
03.1991024193*2*528
The next lower transport block size is 176
CQI = 14: 64QAM has 6 bits per modulation symbol, coding rate = 873/1024
84.27001024873*6*528
The next lower transport block size is 2536
The next lower block size is chosen in the table because the transport block error probability shall notbe exceeded.
Exercise 4-3: Energy per transport block
20 dBm -> 100 mWEnergy per Subframe: 100mW * 1 ms528 out of 672 modulation symbols are used for data
Energy used for data transmission
µJmsmWEdata 57.78672528*1*100
Energy per bit for CQI = 3: bitnJbitsµJEb /446
17657.78
Energy per bit for CQI = 14: bitnJbitsµJEb /31
253657.78
Model Solutions – Case Study Competition 2012 – Preliminary Round
5
Exercise 4-4: Error probability
The goal is to use just as much energy per bit as needed. If the block error rate after the first transmis-sion is 0, then the energy per bit may be too high.In this case, either the transport block size can be increased or the link to the UE could use less re-sources in frequency or power.With the HARQ procedure, the 10% of transport blocks not correctly received with the first transmissionare most likely correctly received when combining first and second transmissions in the receiver.
Model Solutions – Case Study Competition 2012 – Preliminary Round
6
Exercise 5 (14 points in total)
Exercise 5-1: Mobile network mobility
Idle mode cell reselection LTEWCDMA correct
Exercise 5-2: Message sequence chart
Exercise 5-3: Network handover 1
Message No.: 11677, MobililtyFromEUTRACommand
Exercise 5-4: Network handover 2
This is a handover failure test case. The UE is unable to perform the handover procedure. It comesback to LTE with a RRC Connection Reestablishment procedure (No. 14125).
Model Solutions – Case Study Competition 2012 – Preliminary Round
7
Exercise 6 (18 points in total)
Exercise 6-1: Circuit- and packet-switched networks
Circuit Switched:- Data will be sent as a continuous stream- Fixed allocation of resources fort he complete session/connection, even during time where no
data needs to be sent (no speech for example) -> due to that its expensive- All data follows a fixed path from sender to receiver
Packet Switched:- Data will be separated in packets and sent individually from sender to receiver.- Resources in the network are only allocated when data will be sent (if there is no speech then
no data needs to be send)- As every packet will be sent individually every packet can use a different path from sender to
receiver. Depending on load conditions or congestion on the path.- This can result in different delays and jitter (variation of transmit ion time) of the individual
transmission time for the packets.
Exercise 6-2: VoIP components
Mic – Converts the acoustic signal into an electric analog signalADC – Converts the analog signal into a digital oneCodec – Compresses the digital speech signal, optimizes it fort he transfer over the mobile net-work and creates packets (every 20ms as described in the introduction)RTP/UDP/IP – Header which describes the content of the packet, its source and destination.
Buffer – Buffers the received packetsDAC – Converts the digital into an analogue signalSpeaker – Converts analogue electrical signal into an acoustic signal
Exercise 6-3: VoIP transmission path
The IP based transmission path contains for example routers, which decide on a per packet base, whichway the packet should take to reach its destination. As the diagram indicates there is more than onepossible way. This decision is done based on load, time or costs of the network provider.Different processing times of the individual components lead to time difference (jitter) at the receiverside.
Exercise 6-4: Receiving VoIP 1
The codec and the ADC in the receiver require a stable and constant data stream (like in the circuitswitched world). This requires an additional jitter buffer which regulates this, hence a constant datastream will be delivered to the codec/DAC.
Model Solutions – Case Study Competition 2012 – Preliminary Round
8
Exercise 6-5: Receiving VoIP 2
The max. Jitter is 38ms, hence the jitter buffer should buffer the packets min. 38ms
Delay and Jitter
020
4060
80100
120140
160180
203222
256280 290
315
360 358
400 410
203 202216 220 210 215
240218
240 230
1 014 18 8 13
3816
38 28
0
50
100
150
200
250
300
350
400
450
1 2 3 4 5 6 7 8 9 10
packet #
time
[ms]
Sending TimeReceiving Time
Delay + Jitter
JitterLinear (Receiving Time)
Model Solutions – Case Study Competition 2012 – Preliminary Round
9
Exercise 7 (7 points in total)
Exercise 7-1: Multi – CMW 1
2 CMWs are required.
Exercise 7-2: Multi - CMW 2
3 CMWs are required.
Exercise 7-3: Inter-RAT Scenario
With 2 CMWs it is possible to simulate these possible Scenarios:LTE FDD – LTE TDD – WCDMA – GSMLTE FDD – WCDMA – GSM- CDMA
Model Solutions – Case Study Competition 2012 – Preliminary Round
10
Exercise 8 (13 points in total)
Exercise 8-1: Hardware dependency
There was a bug in this exercise. Correct would have been: Given was the output for a Little Endianmachine, and asked was the output for a Big Endian machine.
The expected output of that program is the following:
The bytes of the union’s uint32_t member “mI” can be accessed addressing from low to high through theindexes 0 through 3 of the char-sized union member “mC”.So u.mC[0] gives us the lowest-address byte value of u.CI, u.mC[1] the byte value on next higher ad-dress, and so on.The byte order within a word on a big-endian architecture is defined the way that the most significantbits of the data is located at the lowest address, and for little-endian machines, it’s just the other wayaround: the bits with the highest significance are at the highest address.Therefore, with a little-endian addressing, the output will be as shown above.
Exercise 8-2: Local variables and shadowing
The program terminates properlyThe output of that program is
The inner loops run from 3 to 200 respective from k (= [3, ... ,200]) to 10, with “k” being modified in theinner loop. As there is never anything done to decrement “k”, the loops will eventually terminate.The variable k from the scope of the main() function is just shadowed by the instances of “k” within thenested loops. Therefore, the inner “k”'s do not affect he outer one, which just runs from 0 to 100.
Exercise 8-3: Boolean expression 1
Minimizing:The expression
( !(a&&b) || (b||c) )can be written as
( (!a||!b) || (b||c) )which can be written as
!a||!b||b||cwhich can be written as
!a||true||cwhich is always
trueRegardless of the values of a, b, c.
0xAABBCCDD = {0xAA,0xBB,0xCC,0xDD}
k = 100
Model Solutions – Case Study Competition 2012 – Preliminary Round
11
Exercise 8-4: Boolean expression 2
Therefore, the output of that program is
Exercise 8-5: Find the bug
The cause of the bug is the order in which the declaration of the member variables A and B is written inthe declaration of the class CDataObject.The order in which the initializer list of the constructor is executed is defined by the order of membervariables declaration. The declaration order and hence the initialization order is A, then B. As we areinitializing A from B's value, we effectively initialize A from a non-initialized value, which is random. Notethat the order in which the initializer list is written is completely irrelevant. The only key is the order ofdeclaration, not the order of the definition.
There are two ways to fix this problem:
Re-order the declaration of A and B inside the declaration of the class CDataObject.
Move the initialisation of A and B from the initializer list of the constructor inside the body of theconstructor.
f(false,false,false) = truef(false,false,true ) = truef(false,true, false) = truef(false,true, true ) = truef(true, false,false) = truef(true, true, false) = truef(true, false,false) = truef(true, true, true ) = true
class CDataObject{public:
CDataObject( const std::string Name, const int Val ): Name( Name ), B( Val ), A( 22+B )
{}
virtual void print(){std::cout << "{" << Name << ", A=" << A << ", B=" << B << "}" << std::endl;
}
private:std::string Name;int B; // note the orderint A; // of B and A
};
Model Solutions – Case Study Competition 2012 – Preliminary Round
12
class CDataObject{public:
CDataObject( const std::string Name, const int Val ): Name( Name )
{B = Val; // note the initialization has moved intoA = 22+B; // the constructor body
}
virtual void print(){std::cout << "{" << Name << ", A=" << A << ", B=" << B << "}" << std::endl;
}
private:std::string Name;int A;int B;};