Files
openairinterface5g/openair1
Cedric Roux 9e4f700aae bugfix for phy simulators (not sure if enough)
With the new threading architecture of the UE dlsim
(and others) does not work properly anymore.

When looking at the scope, you see a difference
in PDSCH LLR display. The end is always 0 where
in the current develop branch (tag 2017.w25) it's not.

This commit attempts to fix it.

We still don't have the same behavior as in 2017.w25.
I disabled channel simulation (so that UE RX = eNB TX)
and I have one error where in 2017.w25 I have zero.
For example, here comes the output of a run of "./dlsim":

**********************SNR = 0.000000 dB (tx_lev 51.000000)**************************
Errors (1(0)/1000 0/1 0/0 0/0), Pe = (1.000000e-03,0.000000e+00,-nan,-nan), dci_errors 0/1001, Pe = 0.000000e+00 => effective rate 99.900100, normalized delay 0.001472 (1.001000)

And in 2017.w25 we have (with the same hack to disable
channel simulation):

**********************SNR = 0.000000 dB (tx_lev 51.000000)**************************
Errors (0(0)/1000 0/0 0/0 0/0), Pe = (0.000000e+00,-nan,-nan,-nan), dci_errors 0/1000, Pe = 0.000000e+00 => effective rate 100.000000, normalized delay 0.001471 (1.000000)

There may be a problem somewhere. Or there was one before and we should
have had one error and the new UE architecture fixed things and now
it's as it has to be. Hard to say at this point...

When looking at the scope we quickly see some zeros for the PDSCH
LLR, at the begining this time, not at the end. This is just when
the GUI appears and then all is fine, so this seems to be for the
first frame only. In 2017.w25 this does not happen.
2017-08-03 10:27:06 +02:00
..
2017-07-31 16:18:57 +02:00
2017-08-03 10:24:16 +02:00
2015-04-10 13:30:16 +00:00
2017-04-08 17:20:32 +02:00

This folder contains the software for the device driver of CBMIMO1 and the physical layer signal processing.

|-- PHY			   // contains all signal processing related to physical layer (used in real-time AND simulation)

General remarks: every directory contains at least defs.h (for declaration of structure and functions), vars.h (for definitions of variables), and extern.h (variables are defined only once in cbmimo1_device.c (for real-time HW operation) or a top-level simulation (in SIMULATION/xxx), if variables are needed in another file, use extern.h)

|   |-- CODING		   // turbo and convolutional (de-)coders, rate-matching, crc generation (implementation of 36-212)
|   |   `-- TESTBENCH      // This contains unitary testbenches for the different channel coders/decoders
|   |-- INIT		   // variables defined in vars.h are initialzed here (memory allocation)
|   |-- LTE_ESTIMATION     // estimation for LTE
|   |-- LTE_REFSIG 	   // reference signals for LTE (sync and pilot sequences) reference signals from 36-211 
|   |-- LTE_TRANSPORT      // these are the top level routines for different transport and physical channels (for example DL-SCH, PSS) implements a subset of 36-211,36-212
|   |-- MODULATION	   // modulation and demodulation includes FFT/SC-FDMA front-end processing from 36-211
|   |-- TOOLS		   // tools like (I)FFT, vector operations, matrix multiplication, etc.
|   |   `-- FFTTEST        // unitary testbench for FFT routines
|   |-- defs.h		  // top level defs.h (includes spec_defs, impl_defs and all defs.h of subdirectories)
|   |-- extern.h
|   |-- impl_defs.h       // non-LTE openair implementation
|   |-- impl_defs_lte.h   // lte implementation
|   |-- impl_defs_top.h   // general implementaion defs
|   |-- spec_defs.h
|   |-- spec_defs_top.h
|   |-- types.h
|   `-- vars.h		  
|-- SCHED		  // schedules the different PHY functions according to the nodes role 
|   |-- defs.h
|   |-- extern.h
|   |-- phy_procedures_emos.c    // non-LTE PHY procedures for EMOS
|   |-- phy_procedures_emos.h
|   |-- phy_procedures_lte_eNb.c // LTE PHY procedures for eNB (from 36-213) 
|   |-- phy_procedures_lte_ue.c  // LTE PHY procedures for UE (from 36-213)
|   |-- phy_procedures_lte_common.c  // LTE PHY procedures common for UE and eNB (from 36-213)
|   |-- phy_mac_stub.c  //MAC stub that generates channels when used in phy-test-mode
|   |-- pucch_pc.c // power control for PUCCH
|   |-- pusch_pc.c // power control for PUSCH
|   |-- srs_pc.c // power control for SRS
|   |-- rt_compat.h
|   `-- vars.h
|-- SIMULATION		 // contains simulation routines to test PHY
|   |-- LTE_PHY          // LTE simulation testbenches for unitary simulation of transport/physical channels
|   |   |-- pbchsim.c       // PBCH simulation testbench
|   |   |-- pdcchsim.c      // PCFICH/PHICH/PDCCH (DCI) simulation testbench
|   |   |-- dlsim.c         // PDSCH simulation testbench
|   |   |-- ulsim.c         // PUSCH simulation testbench
|   |   |-- pucchsim.c      // PUCCH simulation testbench
|   |-- RF
|   |-- ETH_TRANSPORT
|   `-- TOOLS