Hi Thomas,
it's been some time, hope you're doing fine!
Today on IRC we were collectively wondering about one detail in the osmo-trx mcbts implementation that has been there from day one:
Your're creating the Channelizer and Synthesis class for four channels of 800kHz within the 3.2Mbps wideband-channel. So far so good.
But why does the code ever only use up to three of them?
And why is there a specific re-ordering, see radioInterfaceMulti.cpp in getLogicalChan() ?
It would be great if you could share your thoughts on that.
To me, it looks like the constraint to 3 channels is arbitrary and we should just as well be able to use all four?
Thanks, Harald
Hi Tom,
sorry for the noise.
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)
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.
Regards, Harald
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