I wonder to which extend it is possible to combine a self-clocking code (like Differential Manchester encoding) with synchronous CDMA, and how it would be done?
Suppose I want to receive some bits from devices where each of them has sufficiently synchronized clocks but the receiver of the bits does not (and hence suffers from clock drift, delays etc).
Right now (without CDMA) I do not even need to care about the clock ... I just detect the transitions at the receiver and can infer the bits (because there is a guaranteed transition every bit). I wonder if something similar can be done while still using CDMA?
Take for example 3 IoT devices which send data in parallel via 4-order Walsh-Haddamard code.
The code matrix is:
$$ \begin{bmatrix} 1 & 1 & 0 & 0 \\ 1 & 0 & 0 & 1 \\ 1 & 0 & 1 & 0 \\ 1 & 1 & 1 & 1 \\ \end{bmatrix} $$
and the three devices send bits $001011010101$, $001010110011$ and $001010001111$. The waveform as seen at the receiver looks like:
(as per assumption above they sum up nicely in the channel and preserve orthogonality of the data bits but the receiver does not know the clock). We can see that there is not necessarily a transition (or at least change of sample value) every bit/symbol. I tried replacing each 1 with $[1, 0]$ and each 0 with $[0, 1]$ in the code matrix but this doesn't change anything significantly.
What would be the best way to implement this?
(I hope my question is clear enough. If not, please leave a comment and I will clarify)