34 Commits
Author SHA1 Message Date
rmagueta 8ca05e51ac Added graph in T_Tracer to observe UL-SNR calculated using SRS 2025-10-02 11:43:07 +01:00
Cedric Roux c8aea1b970 T: replace 'subframe' by 'tick'
Some code in T tracers is used by both LTE and NR.

In LTE, we expect 10 subframes per frame, and the logging is done with
this assumption. We have one tick per subframe.

In NR, we deal with slots, not subframes. And we have n ticks per frame
(depending on mu). As of today, only n=20 is tested (corresponding to
mu=1).

A previous commit introduced 'subframes_per_frame' which had the correct
meaning for LTE but was truly 'slots per frame' for NR. This creates
confusion.

Let's replace 'subframe' by 'tick' to reduce confusion.
2025-08-27 15:13:59 +02:00
Cedric Roux c4acec706d T: make number of subframes per frame a configurable item
Think: NR with different number of slots per frame depending on mu.

The name 'subframes_per_frame' is a bit ambiguous. It is valid for LTE,
but for NR it should be 'slots_per_frame'.

For example, for sub-carrier spacing of 30KHz, we have 20 slots per
frame, so in this case subframes_per_frame = 20. In reality whatever
the numerology, there is always 10 subframes per frame in NR.

But how to name this variable which is used both for LTE and NR cases?
'subframes_or_slots_per_frame'? It's a bit long and also ambiguous.

Conclusion: no big deal I think. 'subframes_per_frame' and so be it.
2025-08-18 11:53:54 +02:00
Cedric Roux 645393f464 T: throughputlog: handle tick discontinuities
Think: TDD.
2025-08-18 11:53:54 +02:00
Cedric Roux 0eb0325b96 T tracer: support float types in traces 2024-11-15 16:02:52 +01:00
Robert Schmidt ed89498c4f Use standard C initializer list syntax
Fix clang warning

  warning: use of GNU old-style field designator extension [-Wgnu-designator]
2024-04-18 14:16:09 +02:00
Robert Schmidt abf04db97b Allow to use cmake to generate T tracer programs
- Add CMakeLists.txt to build all T tracer user tools
- Previous Makefiles are retained in common/utils/T: you can do
  $ cd common/utils/T/tracer
  $ make # all executables are there
  or also
  $ mkdir build && cd build
  $ cmake .. -GNinja
  $ ninja T_tools # all executables are in build/common/utils/T/tracer
2023-07-13 10:29:33 +02:00
Cedric Roux 95b659ab44 T tracer: add gnb tracer
Minimalist gnb tracer to trace (for the moment) rxdataF when some
decoding for PUCCH or PUSCH has been done.

Important: T_BUFFER_MAX and T_CACHE_SIZE have been changed. T_BUFFER_MAX
is twice as big as before. T_CACHE_SIZE has been devided by two. Globally,
the memory usage of the T tracer is the same, but since we divided by two
the number of buffers in the cache, we may hit some realtime problems if
all the buffers are busy at some point. The simple solution would be to
use 8192*2 for T_CACHE_SIZE as it was, but then we double the memory usage
of the T tracer. This, or another solution, to be defined.
2021-03-02 10:08:00 +01:00
Cedric Roux a46443b2a9 T: textlog: add option to dump 'raw time'
'raw time' is the tv_sec element in the struct tm
as returned by 'localtime'.

This can be useful to extract events from a dump based on their time.
2018-10-31 12:07:16 +01:00
bruno mongazon b016bc229a fixed #320 issue 2018-06-25 18:23:36 +02:00
Cedric Roux 9a0f32aa1d T: add 'throughputlog' logger
Normally it is used to display throughput.

The computation it does is to sum up the wanted value for the last
second (1000 TTIs) and send this value to the views associated to
this logger, at each TTI.
2016-12-05 17:58:16 +01:00
Cedric Roux ce1e9cb15a T: bugfix: bad order of parameters in function declaration 2016-12-01 13:16:49 +01:00
Cedric Roux cae34e0f4d T: minor fix - wrong comments 2016-12-01 11:08:13 +01:00
Cedric Roux a016cb7589 T: new logger ticked_ttilog
A new logger is there: the "ticked TTI logger".
Similar to TTI logger (used by the PUCCH1 energy plot)
but takes another input, the "tick" (think subframe)
and a default value for when no event is triggered between
two ticks.

This is used for the UL and DL MCS plots in enb.c (next commit).
2016-11-30 16:32:29 +01:00
Cedric Roux 0bb875d9c2 T: free previous filter in logger_set_filter 2016-11-25 17:15:25 +01:00
Cedric Roux 1dff3c4db6 add another IQ logger
iqlog.c should change its name, it's too specific.
This new one is more generic and should take over the name.
2016-07-08 13:02:54 +02:00
Cedric Roux c4c288cb90 minor bugfix 2016-07-08 12:57:13 +02:00
Cedric Roux 31e1be78fa add possibility to logger 'textlog' to print full content of buffers 2016-06-22 16:12:26 +02:00
Cedric Roux f31145ac96 new IQ logger
the current version is very specific to PUSCH IQ data, where the
input buffer has a special format

to be rewritten cleanly at some point
2016-06-22 10:58:25 +02:00
Cedric Roux d2bd09bb9d add function framelog_set_update_only_at_sf9 and update code about it 2016-06-22 10:55:34 +02:00
Cedric Roux 72f56da6b6 add a filter to loggers
events are accepted by the logger if the filter accepts them
the filter is optional (no filter means to accept all events)
2016-06-08 16:35:08 +02:00
Cedric Roux 63652f94fa tick timeview/log
this is like timeview but the plotting is done at frame/subframe
resolution of a given reference clock signal, let's say.

The realtime information of the events is not used. It's all
logical.

It will be used to log harq processes for the moment.
2016-06-08 12:50:35 +02:00
Cedric Roux eeefd61433 let's print nanosecond in times of textlog instead of closest millisecond 2016-05-27 17:26:29 +02:00
Cedric Roux f38476aee4 import VCD into the T 2016-05-20 15:27:14 +02:00
Cedric Roux 421aac43a0 add skip_delay parameter to the framelog
not very clean, might be reworked at some point
the idea is to compute much less 'log' than what
was done
2016-05-17 12:26:53 +02:00
Cedric Roux 69f14c37fa timelog 2016-05-12 17:26:42 +02:00
Cedric Roux 2eb0d4c90f add time to textlog if available 2016-05-12 15:12:21 +02:00
Cedric Roux e5689a5bd1 introducing a generic logger "class" 2016-05-12 10:59:59 +02:00
Cedric Roux 43f99ff6fc convert to dB in ttilog if requested 2016-05-11 15:35:44 +02:00
Cedric Roux 029adbf368 bugfix: forget to break and all gets heck! 2016-05-10 11:21:40 +02:00
Cedric Roux 724b6622dd TTI logger 2016-05-10 10:29:04 +02:00
Cedric Roux b04a448b62 bugfix: calloc arguments' wrong order 2016-05-10 10:01:45 +02:00
Cedric Roux 8195e42d75 preliminary work on frame logger
not tested
2016-05-09 16:38:08 +02:00
Cedric Roux 8cca28b3e7 put textlog.[ch] in logger/ and rename remote.c to textlog.c 2016-05-04 10:31:42 +02:00