summaryrefslogtreecommitdiffstats
path: root/TODO
blob: be42465584656095888bd3be395ddb3a0172d933 (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
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
----------------------------------------

Clean up and separate GPS and refclk checks.

Add antenna selection to config.

Add refclk stuff and timestamps to Soapy.

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

Move staticdelay into a new process block


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?


Rework Soapy and UHD outputs
----------------------------
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.


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.