Bartosz Podrygajlo
6bd3545a78
RFsimulator C++ conversion
...
Convert rfsimulator C source code to C++ to access to STL.
2025-12-17 22:24:12 +01:00
Laurent THOMAS
a1b4220a91
Exclusively use OAI_RNGSEED env variable everywhere
...
Hide normal table initialization of Ziggurat generator from outside to
force the usage of randominit() for RNG initialization. In this step,
remove the randominit() seed parameter and only rely on OAI_RNGSEED for
a consistent RNG initialization, as this parameter was used differently
("0" as fixed number or to force a random seed).
Now, only use OAI_RNGSEED env variable to force the usage of a fixed
seed.
2025-12-01 12:10:31 +01:00
Thomas Schlichter
d6585f3750
rfsimulator: enable and correct NTN LEO doppler simulation
2025-04-10 13:56:20 +00:00
Bartosz Podrygajlo
2fb541a68e
Add option to use global noise power for all RX channels in RFSimulator
...
Added new command line option to channelmod: noise_power_dBFS. This options
allows the user to configure noise power in dBFS added instead of the per-channel
value.
This makes it so noise is not accumulated per channel reaching higher than expected
values.
The dBFS unit allows easy configuration. The gNB by default uses -36 dBFS setting.
To reach 3dB SNR one should set the noise_power_dBFS value to -39.
To configure using command line use --channelmod.noise_power_dBFS -50. Using this
setting the gNB and nrUE connect without issue.
2025-02-19 16:05:38 +01:00
Bartosz Podrygajlo
23cc049157
Remove unnecessary includes in rfsimulator
2024-09-26 14:59:14 +02:00
Thomas Schlichter
6a8edaf317
rfsimulator: add delay and Doppler simulation for circular orbit and add according channel models SAT_LEO_TRANS and SAT_LEO_REGEN
...
Delay and Doppler computation is done as in Matlab function dopplerShiftCircularOrbit:
https://de.mathworks.com/help/satcom/ref/dopplershiftcircularorbit.html
2024-08-20 16:46:25 +02:00
Thomas Schlichter
68b07d542c
rfsimulator: correctly set center frequency
2024-08-20 16:46:25 +02:00
Thomas Schlichter
5ac881b7c1
rfsimulator: add support to simulate a long propagation delay
...
Add the option `--rfsimulator.prop_delay` to specify the simulated receive-path (gNB: UL, UE: DL) propagation delay in ms.
This option can be used e.g. to simulate a simple GEO satellite channel by specifying `--rfsimulator.prop_delay 238.74` to both, the gNB and the UE.
This is part of the work developed by Fraunhofer IIS within the ESA-funded project 5G-GOA (https://connectivity.esa.int/projects/5ggoa ).
2024-05-07 20:46:37 +02:00
francescomani
8404da759f
nullPointerRedundantCheck
2024-04-09 16:55:51 +02:00
Guido Casati
563109a88f
Cleanup of unused and outdated legacy RFSIM code
...
- deleted: ../../../executables/rfsim.c
- removed unused command line options to set SINR and SNR
- removed unused functions to get SINR and SNR
- removed unused RFSIM struct members
2024-02-20 15:06:59 +01:00
Robert Schmidt
5e5ab86d47
Merge remote-tracking branch 'origin/remove-cblas-oai-5g' into integration_2023_w44
2023-11-14 15:12:41 +01:00
Laurent THOMAS
18951bad4d
remove-cblas-oai-5g
2023-11-14 11:47:38 +01:00
Laurent THOMAS
f50d5f5a9b
make multiple config instead of one implicit global
2023-11-10 10:23:11 +01:00
Raymond Knopp
a7bc282302
First-level of support for new aarch64 machines
...
Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators.
- Changes:
- use SIMDE consistently
- adaptations of LDPC decoder generator for ARMv8 performance
- SIMDe modifications of Intel CRC to allow for aarch64 build.
optimizations for 128-bit to improve performance of LDPC encode/decode
on aarch64 (Neoverse 1)
- added BG2 files for 128-bit ldpc encoder (aarch64)
- testing on Xeon
- testing on x86
- minor changes to build/run on x86
- change in crc.h after returning to aarch64
- removed some warning in ldpc decoder generator for x86_64
- char
- Delete irrelevant constants
- Correctly declare variables
- Define stdbool for all architectures
- Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE
- Remove commented code
- Fix CMakeLists.txt
- Include SIMDE avx2 functions in tools_defs.h
2023-09-13 17:19:20 +02:00
mir
e04554dcb0
Warnings generated in gcc 13 and tackled in this PR (except const correctness)
...
49 /home/mir/workspace/oai_dev/common/utils/T/tracer/to_vcd.c: In function ‘main’:
50 /home/mir/workspace/oai_dev/common/utils/T/tracer/to_vcd.c:349:30: warning: ‘%s’ directive writing up to 240 bytes into a region of size between 11 and 251 [-Wformat-overflow=]
51 349 | sprintf(format, "%c [%s] %s",
52 | ^~
53 In file included from /usr/include/stdio.h:894,
54 from /home/mir/workspace/oai_dev/common/utils/T/tracer/to_vcd.c:1:
55 In function ‘sprintf’,
56 inlined from ‘main’ at /home/mir/workspace/oai_dev/common/utils/T/tracer/to_vcd.c:349:5:
57 /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 6 and 486 bytes into a destination of size 256
58 38 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
59 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60 39 | __glibc_objsize (__s), __fmt,
61 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 40 | __va_arg_pack ());
63 | ~~~~~~~~~~~~~~~~~
2005 /home/mir/workspace/oai_dev/openair1/SIMULATION/TOOLS/random_channel.c:1726:6: warning: conflicting types for ‘set_channeldesc_owner’ due to enum/integer mismatch; have ‘void(channel_desc_t *, uint32_t)’ { aka ‘void(channel_desc_t *, unsigned int)’} [-Wenum-int-mismatch]
2006 1726 | void set_channeldesc_owner(channel_desc_t *cdesc, uint32_t module_id) {
2007 | ^~~~~~~~~~~~~~~~~~~~~
2008 In file included from /home/mir/workspace/oai_dev/openair1/SIMULATION/TOOLS/random_channel.c:31:
2009 /home/mir/workspace/oai_dev/openair1/SIMULATION/TOOLS/sim.h:348:6: note: previous declaration of ‘set_channeldesc_owner’ with type ‘void(channel_desc_t *, channelmod_moduleid_t)’
2010 348 | void set_channeldesc_owner(channel_desc_t *cdesc, channelmod_moduleid_t module_id);
2011 | ^~~~~~~~~~~~~~~~~~~~~
24209 /home/mir/workspace/oai_dev/openair1/SCHED_UE/phy_procedures_lte_ue.c:954:17: warning: ‘n1_pucch_inter’ may be used uninitialized [-Wmaybe-uninitialized]
24210 954 | return(n1_pucch_inter);
24211 | ^
24212 /home/mir/workspace/oai_dev/openair1/SCHED_UE/phy_procedures_lte_ue.c:647:60: note: ‘n1_pucch_inter’ was declared here
24213 647 | uint16_t n1_pucch0=0,n1_pucch1=0,n1_pucch2=0,n1_pucch3=0,n1_pucch_inter;
24214 |
2023-07-21 09:39:36 +02:00
Robert Schmidt
5aed7d30d6
Use calloc() in new_channel_desc_scm()
2023-07-03 14:07:38 +02:00
Robert Schmidt
4819b6b6ae
Initialize TDL Model buffers with 0
2023-07-03 14:07:38 +02:00
laurent
1b09f683f9
Fix compilation errors due to -Werror
2023-06-08 19:15:24 +02:00
Vijay Chadachan
836469e849
CPPCHECK fixes for printf issues
...
Fix for following CPPCheck warnings
- invalidPrintfArgType
Rebased with latest develop branch w21.
Reverted modifications unrelated to printf issues.
2023-06-01 12:07:26 +02:00
francescomani
2385bc364a
fixing most warning when compiling nr-softmodem
2023-03-09 19:01:46 +01:00
Robert Schmidt
9a0dd7c1b3
Update for webserver; cleanup in CMakeLists.txt
...
- Add oai header to typescript and html sources, add support to commands
requiring two parameters, add more helpfiles
- Fix help bug (html comments not removed from tooltips)
- Fix backend build problem and 2 warnings
- Correctly initialize variables in nr_phy_scope.c
- Use add_subdirectory for websrv cmake build
- correctly link to asn1_lte_rrc and asn1_nr_rrc
- fix bug: correctly recognize npm packet
- only configure targets if explicitly asked for by users
- use add_subdirectory
- Use add_subdirectory for telnet cmake build
- Minor cleanup in build_oai
- Move softscope build in dedicated CMakeLists, and comment out
DEBUG_MAC_INTERFACE option (not found in code)
- Make DEBUG_ASN1 a cmake only option ( no C macro) as it's not used as
a C macro in the code, and develop align
2023-02-21 17:01:07 +01:00
Adeel Malik
affa5e3086
bugfix in function channelmod_modify_cmd
2023-01-11 11:12:19 +01:00
Robert Schmidt
23c92ee0ed
Merge remote-tracking branch 'origin/websrv2' into integration_2022_wk50
2022-12-15 16:30:33 +01:00
frtabu
e65f13e175
review fixes
2022-12-08 15:27:33 +01:00
frtabu
21b3484e02
Initial web server implementation
2022-11-30 11:34:54 +01:00
Roberto Louro Magueta
2b40675b3a
Apply Doppler Effect
2022-11-25 11:03:45 +00:00
Roberto Louro Magueta
9b04af1b52
Put the center_freq and maxDoppler as input of new_channel_desc_scm() function
2022-11-25 11:03:45 +00:00
Roberto Louro Magueta
e44a99b3c1
Implementation of get_cexp_doppler() function to compute the Doppler Effect
2022-11-25 10:56:52 +00:00
laurent
6ceaf084bc
remove usage of /dev/random in case openshit has a problem with this
...
remove usage of /dev/random in case openshit has a problem with this
2022-11-09 18:58:09 +00:00
Roberto Louro Magueta
255ad24410
Replace gaussdouble() by gaussZiggurat() in random_channel() and add_noise()
2022-11-09 18:58:09 +00:00
Roberto Louro Magueta
6b83d9e0f1
Compute normalization channel factor
2022-10-27 17:18:38 +01:00
Roberto Louro Magueta
9b594ff3b6
Fix AWGN channel
2022-10-27 17:18:38 +01:00
Roberto Louro Magueta
6f51b930c1
Put the correlation level (low, medium or high) as input of new_channel_desc_scm()
2022-10-27 17:07:25 +01:00
Roberto Louro Magueta
3d966b09e8
TDL channel model implementation for low, medium and high correlation scenarios
2022-10-27 17:07:25 +01:00
Roberto Louro Magueta
c3a51d771c
Implementation of tables G.2.1.1-2, G.2.1.1-3 and G.2.1.1-4 of TS 38.104, for TDLA30, TDLB100 and TDLC300 channel models
2022-10-27 16:54:59 +01:00
Arash Sahbafard
9c87b3fc01
Better print channel model parameters
2022-08-26 13:44:26 +02:00
laurent
65b399fcd7
fix bugs in config module and config usage
...
fix bug from this MR
fix bug from this MR
stupid-mistake
2022-08-16 09:22:15 +02:00
Robert Schmidt
81537701b2
Fix: channel chF large enough for 5G
2022-02-21 13:36:39 +01:00
Laurent THOMAS
ef2fedfc5b
fix existing bug in pucchsim.c and in random_channel.c
2022-02-07 23:50:01 +01:00
rmagueta
614c29ad1a
Function cblas_zgemv replaced by cblas_zaxpy because it has an undefined output (for the same input) after a second call in RHEL8 (acorr = nan)
2021-10-12 18:56:35 +01:00
Eurecom
eceb0d79bc
Merge branch 'bandwidth-testing' of https://gitlab.eurecom.fr/oai/openairinterface5g into bandwidth-testing
...
Conflicts:
executables/nr-uesoftmodem.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/SIMULATION/TOOLS/random_channel.c
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2021-09-06 11:22:30 +02:00
Eurecom
4624a94d48
Merge remote-tracking branch 'origin/develop' into bandwidth-testing
...
Conflicts:
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.h
executables/softmodem-common.h
openair1/PHY/MODULATION/slot_fep_nr.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/SCHED_NR/fapi_nr_l1.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SIMULATION/TOOLS/abstraction.c
openair1/SIMULATION/TOOLS/random_channel.c
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2021-09-06 10:34:14 +02:00
Eurecom
c834f40186
Merge remote-tracking branch 'origin/develop' into bandwidth-testing
...
Conflicts:
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.h
executables/softmodem-common.h
openair1/PHY/MODULATION/slot_fep_nr.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/SCHED_NR/fapi_nr_l1.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SIMULATION/TOOLS/abstraction.c
openair1/SIMULATION/TOOLS/random_channel.c
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
2021-09-05 15:37:11 +02:00
Raymond Knopp
98ef919502
Merge remote-tracking branch 'origin/bandwidth-testing' into bandwidth-testing-pucch
...
Conflicts:
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/pucchsim.c
2021-09-02 13:34:36 +02:00
Laurent THOMAS
c310d246bb
merge develop
2021-08-18 11:20:39 +02:00
Raymond Knopp
8a9194300f
commit before merge
2021-08-09 10:55:55 +02:00
Rodolphe BERTOLINI
387223eea6
removed duplicate structure, changed 'x' to 'r' and 'y' to 'i'
2021-08-09 09:59:38 +02:00
Laurent OpenCells
78da843624
code-cleanup-20210716
2021-07-16 17:16:15 +02:00
Raymond Knopp
d88ce5b9bf
Merge remote-tracking branch 'origin/develop' into oairu
2021-04-27 11:58:31 +02:00
Raymond Knopp
0b59ce4faf
Merge remote-tracking branch 'origin/develop' into oairu
2021-04-07 15:50:46 +02:00