Hi Harald,
Indeed, it's been awhile since I've looked at that code!
On Fri, Sep 11, 2020 at 12:50:02PM +0200, Harald Welte wrote:
But why does the code ever only use up to three of them?
tnt has meanwhile solved that mystery (due to the inherent property of a polyphase filter bank)
Yes, among the physical channels there will be one centered at baseband and one aliased across the Nyquist boundary - the latter is unusable. Wider bandwidth / higher channel count was possible though limited by practicality (configuration was difficult) and RF effects (see below).
And why is there a specific re-ordering, see radioInterfaceMulti.cpp in getLogicalChan() ?
We suspect it is to have a monotonically increasing frequency from logical transceivers 0, 1, 2.
Correct. The mapping itself is arbitrary. Consecutive numbering was one simple approach.
I'll also add that one of the most difficult aspects of the multi-carrier implementation had little to do with software. B210 was the target device when the code was developed; the on board AD9361 RFIC was never recommended by ADI for multi-carrier operation. The DC and aliasing effects were quite visible when using shifted carriers in addition to the reduction in dynamic range. Conformance tests for spectrum mask were challenging.
-Tom