aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 343dad1326c7efbb4fb8c1229d5e3f8618a7138d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
This TODO file lists ideas and features for future developments. They are
more or less ordered according to their benefit, but that is subjective
to some degree.

Unless written, no activity has been started on the topics.

TODOs for ongoing SDR output refactoring
----------------------------------------
Currently, all the frontend tuning and timestamping settings are UHD-specific.
To make it possible to run with synchronised=1 using Soapy, refactoring the
output to share the parts that are common.

This would enable SFN support with LimeSDR devices.


Move dpd port from uhd section to somewhere else.

Clean up and separate GPS and refclk checks. Ensure muting is set properly at startup.

Add antenna selection to config.

Add refclk stuff and timestamps to Soapy.

*done* Make an abstraction for the DPD feedback server, use it for Soapy and UHD.

Move staticdelay into a new process block

Double-check all #includes

Move other non SDR outputs to the output folder.

Tests, both with B200 and LimeSDR:
- No timestamps
- with timestamps
- LO offset
- muting through RC
- proper muting in absence of timestamps
- GPS lock loss behaviour
- All RC commands
- Underrun recovery
- Proper teardown
- DPD server


TII implementation incomplete
-----------------------------
The current TII implementation supports two TII variants:
one according to spec, and the one that was implemented in early modulators
that ended up being used a lot even if not compatible with the spec.

However, when enabled, some receivers are not able to lock on the signal.
Is the power of the TII too strong? Synchronisation wrong?


Finalise EDI input
------------------
The EDI input, based on work started in http://git.mpb.li/git/odr-edilib/
is not complete:

 * Add option to define max fill of input udp buffer.
 * Flag and present errors in some way (packets missing, RS faults, sequence errors, etc)
 * Detect and handle changes in mux composition
 * Fix misbehaviours when packets are intentionnally interleaved
 * Fix hangup where it tries to decode old PSEQs for too long


Resampler improvements
----------------------

 * Assess quality of window currently used.
 * Evaluate usefulness of other windows.
 * Distribute energy of Fs bin equally to both negative and positive
   frequencies in the back buffer.


Review CicEq
------------
The CIC Equaliser was used for the USRP1 to compensate for spectrum flatness.
It is not documented, and its effect poorly explained. Review if still needed,
and document appropriately.


Add metadata to flowgraph
-------------------------
The flowgraph does not support metadata. This is why the timestamp has this
kludge with the delay queue, so that the timestamps are delayed properly
depending on what is included in the flowgraph.

Without metadata inside the flowgraph, it is more difficult to pipeline the DSP
processing to make use of many-core systems, because the timestamp cannot be
carried alongside the data it corresponds to.