An error occurred fetching the project authors.
  1. 18 Nov, 2019 3 commits
    • Cedric Roux's avatar
      channel_simulator: synch eNBs in time and some bugs fixed · a1007751
      Cedric Roux authored
      By default, eNB are now frame/subframe synchronized in time (that is they
      all transmit the exact same frame and subframe at the same time).
      Use -no-sync to disable synchronization.
      
      Some bugs were fixed:
      - memory initialized to 0
      - ignore SIGPIPE that was delivered sometimes when an eNB disconnects
      - set tx_sample_advance to 40, which is used in the usrp lib of openair
        (srsUE did not connect well with 0)
      a1007751
    • Cedric Roux's avatar
      channel_simulator: gains for channels (for X2 handover with a COTS UE) · 621ba724
      Cedric Roux authored
      The main goal of this commit is to be able to perform X2 handover
      using a COTS UE and two 'simulated' eNB, each running on a separate
      computer, but both using the same USRP device to send and receive IQ
      data over the air. By changin the gains at runtime using a small script,
      it is possible to trigger X2 handover based on the A3 measurement report
      as sent by the UE.
      
      The documentation on how to perform X2 handover with only one
      USRP device is in channel_simulator/README.x2_handover.
      621ba724
    • Cedric Roux's avatar
      channel_simulator: ability to connect a real USRP device to the simulator · e793a677
      Cedric Roux authored
      This commit introduces the ability to connect a real hardware device to
      the channel simulator.
      
      It is possible to run an eNB with the libchannel_simulator.so as
      liboai_device.so and the "usrp" program and have both connected
      as if the eNB was directly talking to the USRP device.
      
      For that, a channel can now have a "sample_advance". (The USRP receives
      data from the air for subframe N and sends data for subframe N+x in the
      future. In this commit x = 2 subframes.)
      
      The following commands can be run to connect an eNB and the "usrp"
      program in FDD mode with 25 RBs.
      
      First, run the the channel simulator. In the directory channel_simulator:
      
          ./channel_simulator
      
      To run usrp, as root, in the directory channel_simulator/usrp:
      
          ./usrp
      
      To run the eNB, as root:
      
          CHANNEL_SIMULATOR_RX_FREQUENCY=2 CHANNEL_SIMULATOR_TX_FREQUENCY=1 CHANNEL_SIMULATOR_TX_SAMPLE_ADVANCE=15360 ./lte-softmodem -O [config file]
      
      Then it is possible to connect a COTS UE.
      
      It is also possible to connect openair UE which uses libchannel_simulator.so
      as liboai_device.so. For that, run, as root:
      
          CHANNEL_SIMULATOR_RX_FREQUENCY=1 CHANNEL_SIMULATOR_TX_FREQUENCY=2 CHANNEL_SIMULATOR_RX_SAMPLE_ADVANCE=15360 ./lte-uesoftmodem -C 2680000000 -r 25 --ue-rxgain 140 --nokrnmod
      
      Connecting both the openair UE and a COTS UE, it is possible to send traffic
      between the two.
      
      Note: performances need to be improved.
      
      Note 2: the program "channel_simulator" now requires AVX2 instruction set.
      e793a677