|
|
This topic describes how to test the physical layer signal processing with the R&S SMBV100A Signal Generator. The subsequent explanations and examples have been tested for the SMBV with Firmware:
|
|
|
This topic describes how to test the physical layer signal processing with the R&S SMBV100A Signal Generator.
|
|
|
The subsequent explanations and examples have been tested for the SMBV with Firmware:
|
|
|
|
|
|
Both ExpressMIMO 1 and ExpressMIMO 2 have been tested.
|
|
|
|
|
|
---+ Downlink Testing
|
|
|
---++ Automatic Signal Generator (SMBV) Configuration Over Sockets
|
|
|
# Downlink Testing
|
|
|
|
|
|
It is possible to configure the R&S SMBV signal generator automatically from both downlink link-level simulation (dlsim) and system-level simulation (oaisim).
|
|
|
## Automatic Signal Generator (SMBV) Configuration Over Sockets
|
|
|
|
|
|
More precisely, the simulation generates a config-file containing the configuration commands, which then can be used to remotely configure the E-UTRA DOWNLINK of the SMBV.
|
|
|
---+++ Usage
|
|
|
It is possible to configure the R&S SMBV signal generator automatically from both downlink link-level
|
|
|
simulation (dlsim) and system-level simulation (oaisim).
|
|
|
|
|
|
To generate a config-file, both dlsim and oaisim have to be compiled with the option SMBV=1. To run the simulations, no further options are required.
|
|
|
More precisely, the simulation generates a config-file containing the configuration commands, which then
|
|
|
can be used to remotely configure the E-UTRA DOWNLINK of the SMBV.
|
|
|
|
|
|
However, if the SMBV is to be configured automatically after the simulation, the option -W<em>ip-adress </em>is provided, where -W0 sends the commands to the default IP adress.
|
|
|
### Usage
|
|
|
|
|
|
In oaisim, it is possible to "record" up to 4 frames, i.e., in the file oaisim.c one can specify a maximum of 4 frames for which all control information (PDCCH) and data (PDSCH) will be used to configure the SMBV.
|
|
|
---+++ Examples
|
|
|
To generate a config-file, both dlsim and oaisim have to be compiled with the option `SMBV=1`. To run the
|
|
|
simulations, no further options are required.
|
|
|
|
|
|
However, if the SMBV is to be configured automatically after the simulation, the option `-W<ip-adress>`
|
|
|
is provided, where `-W0` sends the commands to the default IP adress.
|
|
|
|
|
|
In oaisim, it is possible to "record" up to 4 frames, i.e., in the file `oaisim.c` one can specify a
|
|
|
maximum of 4 frames for which all control information (PDCCH) and data (PDSCH) will be used to configure the SMBV.
|
|
|
|
|
|
### Examples
|
|
|
|
|
|
dlsim:
|
|
|
|
|
|
1 "./dlsim -x1 -S7 -R1 -m8" will configure subframe 7, i.e., program a UE-specific DCI that allocates all 25 RBs for a PDSCH with MCS=8.
|
|
|
1 "./dlsim -x1 -S5 -R1 -r6 -m18 -W192.168.1.23" will configure subframe 5, program a UE-specific DCI that allocates 6 RBs for a PDSCH with MCS=16 AND send the commands to the SMBV with IP adress 192.168.1.23.
|
|
|
In both examples, when programming the SMBV a data list will be created containing the payload bits from the simulation. That is, the SMBV will encode the same payload as in the simulation.
|
|
|
1. `./dlsim -x1 -S7 -R1 -m8` will configure subframe 7, i.e., program a UE-specific DCI that allocates all 25 RBs for a PDSCH with MCS=8.
|
|
|
1. `./dlsim -x1 -S5 -R1 -r6 -m18 -W192.168.1.23` will configure subframe 5, program a UE-specific DCI that
|
|
|
allocates 6 RBs for a PDSCH with MCS=16 AND send the commands to the SMBV with IP adress 192.168.1.23.
|
|
|
|
|
|
In both examples, when programming the SMBV a data list will be created containing the payload bits from the
|
|
|
simulation. That is, the SMBV will encode the same payload as in the simulation.
|
|
|
|
|
|
oaisim:
|
|
|
|
|
|
1 In oaisim.c, set the variable config_frames[4] = {2,9,10,11}" then run ./oaisim -x1 -AAWGN -s30 -n20 -W0". This will configure 4 frames in the SMBV corresponding to frames 2,9,10 and 11 in the simulation.<br />These frames contain SI, Random-Access Response and the RRCConnectionSetup. This configuration can be used to test the connection procedure with the real-time hardware. For the connection setup to <br />succeed the lte-softmodem has to be compiled with SMBV=1 as well. This ensures that both the PRACH preamble and the contention resolution message are fixed.
|
|
|
---+++ Known Limitations
|
|
|
1. In `oaisim.c`, set the variable `config_frames[4] = {2,9,10,11}` then run `./oaisim -x1 -AAWGN -s30 -n20 -W0`.
|
|
|
This will configure 4 frames in the SMBV corresponding to frames 2,9,10 and 11 in the simulation.
|
|
|
|
|
|
These frames contain SI, Random-Access Response and the RRCConnectionSetup. This configuration can be used
|
|
|
to test the connection procedure with the real-time hardware. For the connection setup to succeed the
|
|
|
lte-softmodem has to be compiled with SMBV=1 as well. This ensures that both the PRACH preamble and the
|
|
|
contention resolution message are fixed.
|
|
|
|
|
|
### Known Limitations
|
|
|
|
|
|
* PHICH is not recorded
|
|
|
* Only for 4 frames are recorded, could be made more flexible by allowing two or more frames in the simulation to merge into one frame in the SMBV
|
|
|
* Only Downlink configuration is available
|
|
|
* When configuring with dlsim, only UE-specific DCIs are supported. Common DCIs for SI are not supported
|
|
|
* After configuration, when switching from K55 mode "Auto" to "Manual" in order to add DCIs and then switch back, turns on all PDCCH, which are configured with P-RNTI to avoid accidental decoding by user
|
|
|
* Parameters like Frequency, Level etc are left at their default values. Attention when connecting the SMBV to the hardware, the default output level of -30dBm might be to high
|
|
|
---++ Test Setup
|
|
|
* After configuration, when switching from K55 mode "Auto" to "Manual" in order to add DCIs and then switch
|
|
|
back, turns on all PDCCH, which are configured with P-RNTI to avoid accidental decoding by user
|
|
|
* Parameters like Frequency, Level etc are left at their default values. Attention when connecting the
|
|
|
SMBV to the hardware, the default output level of -30dBm might be to high
|
|
|
|
|
|
## Test Setup
|
|
|
|
|
|
Connect the SMBV to the ExpressMIMO card, to the baseband (only possible for ExpressMIMO 1) or to the RF front-end.
|
|
|
|
|
|
The lte-softmodem has to be compiled without protocol stack. i.e., with option OPENAIR2=0, unless you want to test the connection procedure, as explained in oaisim: example 1 above, in which case the protocol stack is required.
|
|
|
The lte-softmodem has to be compiled without protocol stack. i.e., with option OPENAIR2=0, unless you
|
|
|
want to test the connection procedure, as explained in oaisim: example 1 above, in which case the protocol stack is required.
|
|
|
|
|
|
To test the connection procedure, make sure you configure the correct subframes in the file eNB_schedule.c.
|
|
|
To test the connection procedure, make sure you configure the correct subframes in the file `eNB_schedule.c`.
|
|
|
|
|
|
If everything is set up correctly, the modem will synchronize, decode the PBCH and PDCCH and hopefully the PDSCH.
|
|
|
|
|
|
---+ Uplink Testing
|
|
|
# Uplink Testing
|
|
|
|
|
|
Contrary to the Downlink, there is no automatic configuration of the SMBV available. Moreover, the SMBV (UE) and the hardware have to be synchronized.
|
|
|
---++ Synchronization and PRACH Testing
|
|
|
|
|
|
## Synchronization and PRACH Testing
|
|
|
|
|
|
Correct initial synchronization in the Uplink is achieved via the PRACH and is a prerequisite for successful testing of the PUSCH.
|
|
|
---+++ Setup
|
|
|
|
|
|
### Setup
|
|
|
|
|
|
The soft-modem has to be compiled with OPENAIR2=0.
|
|
|
|
|
|
To adjust the timing, an external trigger has to be provided to the SMBV as follows:
|
|
|
|
|
|
1 Find the Uplink/Downlink switch signal on the ExpressMIMO card.
|
|
|
1 Use a standard coax cable and connect the switch signal to the EXT Trigger input at the back of the SMBV.
|
|
|
1. Find the Uplink/Downlink switch signal on the ExpressMIMO card.
|
|
|
1. Use a standard coax cable and connect the switch signal to the EXT Trigger input at the back of the SMBV.
|
|
|
|
|
|
Software Config:
|
|
|
|
|
|
1 EXMIMO (eNB): Set RACH configuration: In lte-softmodem.c set the desired prach_config_common in the frame parms.
|
|
|
1 SMBV (UE): Configure user: set Mode to PRACH, set same prach config as in step 1 for the desired subframe.
|
|
|
1 Trigger: In the Trigger/Marker menu, set:
|
|
|
* Mode=Retrigger
|
|
|
* Source=External
|
|
|
* Check "Sync. Output to Ext. Trigger"
|
|
|
* External Delay to 5ms (assuming TDD Config 3 where the UL/DL switch occurs at 5ms)
|
|
|
* In "Global Trigger/Clock Settings" set Baseband Trigger Input Slope to Negative
|
|
|
When running the setup, you should see a received signal (approximatly) in the configured subframe. If not, try to force a retrigger by e.g. changing the trigger parameters.
|
|
|
1. EXMIMO (eNB): Set RACH configuration: In `lte-softmodem.c` set the desired `prach_config_common` in the frame parms.
|
|
|
1. SMBV (UE): Configure user: set Mode to PRACH, set same prach config as in step 1 for the desired subframe.
|
|
|
1. Trigger: In the Trigger/Marker menu, set:
|
|
|
* Mode=Retrigger
|
|
|
* Source=External
|
|
|
* Check "Sync. Output to Ext. Trigger"
|
|
|
* External Delay to 5ms (assuming TDD Config 3 where the UL/DL switch occurs at 5ms)
|
|
|
* In "Global Trigger/Clock Settings" set Baseband Trigger Input Slope to Negative
|
|
|
|
|
|
---+++ Calibration
|
|
|
When running the setup, you should see a received signal (approximatly) in the configured subframe. If not, try
|
|
|
to force a retrigger by e.g. changing the trigger parameters.
|
|
|
|
|
|
### Calibration
|
|
|
|
|
|
The delay was initially set to 5ms but has to be refined now so that the received signal lies within the cyclic prefix.
|
|
|
|
|
|
To achieve this, check the preamble and delay estimates on the output logs. Adjust the External Delay value in the SMBV until the estimated preamble corresponds to the one configured in the SMBV.
|
|
|
To achieve this, check the preamble and delay estimates on the output logs. Adjust the External Delay value in the SMBV
|
|
|
until the estimated preamble corresponds to the one configured in the SMBV.
|
|
|
|
|
|
Then, further adjust the delay to lie within the cyclic prefix, e.g. < 30 samples.
|
|
|
|
|
|
Then, further adjust the delay to lie within the cyclic prefix, e.g. < 30 samples.
|
|
|
---++ PUSCH Testing
|
|
|
## PUSCH Testing
|
|
|
|
|
|
Once the timing has been adjusted with the PRACH, the eNB is able to decode the PUSCH with the following configuration:
|
|
|
|
|
|
SMBV (UE):
|
|
|
1 For the desired UL subframe (e.g. 3), configure a Fixed Reference Channel (FRC) from 3GPP TS 36.141 from which the number of allocated RBs and the MCS can be determined.
|
|
|
|
|
|
1. For the desired UL subframe (e.g. 3), configure a Fixed Reference Channel (FRC) from 3GPP TS 36.141 from which the number of allocated RBs and the MCS can be determined.
|
|
|
|
|
|
EXMIMO (eNB):
|
|
|
1 In phy_procedures_lte_eNb.c configure a format0 DCI in the function "fill_dci", e.g. for a PUSCH in subframe 3 configure a format0 DCI in DL subframe 9 (TDD config 3 assumed). Choose MCS and number of allocated RBs as determined from the FRC.
|
|
|
1 In phy_procedures_lte_eNb.c set the SRS flag in function "generate_eNB_ulsch_params_from_dci" to 1, so that no SRS symbols are generate, since the PUSCH FRC assumes 12 OFDM symbols.
|
|
|
-- User.SebastianWagner - 03 May 2013 |
|
|
|
|
|
1. In `phy_procedures_lte_eNb.c` configure a format0 DCI in the function `fill_dci`, e.g. for a
|
|
|
PUSCH in subframe 3 configure a format0 DCI in DL subframe 9 (TDD config 3 assumed). Choose
|
|
|
MCS and number of allocated RBs as determined from the FRC.
|
|
|
1. In `phy_procedures_lte_eNb.c` set the SRS flag in function `generate_eNB_ulsch_params_from_dci`
|
|
|
to 1, so that no SRS symbols are generate, since the PUSCH FRC assumes 12 OFDM symbols.
|
|
|
|
|
|
-- @SebastianWagner - 03 May 2013 |