0

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:

  1. 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

  2. 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:

  1. 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.

divB
  • 473
  • 3
  • 13

1 Answers1

0

I think you are trying to mix orthogonality for $GF(2)$ and $R^n$. For the sequence $010101000001$, if station 2 had tried to demodulate it, he will have to take groups of 2 bits, multiple (AND) and add(XOR) them, to decode whether bit 0 or 1. Station 2 would have got all 0s because $10$ and $01$ is 'orthogonal' for station 1 and 2. So yes, #3 is indeed a valid CDMA scheme in $GF(2)$. I stress, it is a valid CDMA scheme only in $GF(2)$. It is not related to #1 and #2 (see below why).

Setups #1 and #2 are valid CDMA schemes in $R^n$ (real number vectors) because orthogonality is validated by $x_1^Tx_2$. For #2, you cannot validate orthogonality by dot product of vectors containing 0 and 1. Because for $W_4$, rows 3 and 4 are not orthogonal. So, $0$ has to be represented by $-1$. Even though logically we switch $0$ and $1$ as NOT operator while forming Walsh matrices, orthogonality is not valid in $GF(2)$.

On the other hand, I cannot make setup #3 work with codes that resemble normal Walsh matrices

$[1,1;0,1]$ would not correspond to CDMA because whether in $GF(2)$ or $R^2$, they are not orthogonal. $[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1]$ is orthogonal in $GF(2)$ as well as in $R^2$ which is same as your multiplexing in time but it is still technically a CDMA scheme (if you transmit each bit at 4x higher rate).

jithin
  • 2,263
  • 2
  • 9
  • 16
  • Great answer, clarifies indeed a lot! Regarding the last question: Is it possible to implement a scheme with Walsh-like matrices in GF(2) (i.e., scheme #3)? Or does scheme #3 strictly only work with codes that "multiplexing in time [...] at Nx higher rate", i.e., have diagonal form? In other words, is scheme #3 always also "multiplexing in time" at the same time? If this is the case, is #3 relevant anywhere in practice? – divB Apr 17 '20 at 18:12
  • 1
    I believe that is not possible. I think it would work with either the above kind of diagonal schemes or something like this $[1,0,1,0;0,1,0,1]$, both orthogonal in GF(2) and R^4 but still kind of multiplexed because when one station transmits 0, other is 1. – jithin Apr 17 '20 at 18:19