I am banging my head against (specific aspects of) CDMA for a few days. At the basic level I am confused about the interrelation between implementations that are modeled as mixing and fully digital implementations. Example:
Mixing could use the the matrix $[ 1, 1 ; 1, -1]$ (appears in the example of https://en.wikipedia.org/wiki/Code-division_multiple_access#Example and https://en.wikipedia.org/wiki/Walsh_matrix). These matrices have elements -1 and 1 and flip signs and can be interpreted as mixing/multiplication. Makes sense
Other sources show these matrices as $[ 0, 0 ; 0, 1]$ (e.g. https://www.tutorialspoint.com/cdma/cdma_techniques.htm). My understanding is that these setups assume bit streams (as opposed to more general sample streams) and for each data "1" they would just send the normal PN sequence (e.g. $[ 0, 1 ]$) and for each data "0" they would send the 1's complement $[ 1, 0]$. Makes sense too.
Now I found a paper with yet another setup:
- In the example station one has code $01$ and station two has code $10$. Station one sends $111001$ and station two sends $100111$. After CDMA code injection, station one transmits $010101000001$ and station two transmits $100000101010$. It should be noted that if these two transmissions are summed in the shared channel, the result is still a two-level waveform (=binary): $110101101011$! Demodulation is performed again by multiplying (=ANDing) the chip code and then OR-ing each bit. For example, station two would multiply/AND the received signal $110101101011$, and it with $10$ to get $100000101010$. OR-ing two adjacent bits gives the original sequence $100111$.
Questions:
- Is #3 a valid CDMA modulation/demodulation scheme?
- How does it relate to the setups #1 and #2 ?
- How do setup #1 and #2 relate? (I would expect multiplication in $GF(2)$ is AND and addition is XOR ... but 2. is different)
- How would setup #3 extend to code lengths $\gt 2$?
- Why would someone use setup #3 and call it "CDMA" (instead of setup #2)? Do I miss the relationship to #2?
One one hand #3 would provide a more logical match with #1 because AND is a multiplication in $GF(2)$. However, addition would correspond to XOR instead of OR and I don't know where OR comes from.
On the other hand, I cannot make setup #3 work with codes that resemble normal Walsh matrices (e.g. $[ 1, 1 ; 0, 1]$. All that works are codes like $[ 1, 0, 0, 0 ; 0, 1, 0, 0 ; 0, 0, 1, 0; 0, 0, 0, 1]$. Yes, they are orthogonal but somewhat miss the point of CDMA: code spreading. They implement more time division.