Hey,
On 04.05.23 11:38, Adrian Musceac wrote:
On Thursday, 4 May 2023 12:11:47 EEST you wrote:
Hi Adrian,
for CDMA, two things need to be different:
1. you need at least one orthogonal other sequence used by another user /
data stream – that MA in CDMA is multiple access :)
I was assuming multiple pairs of users would use orthogonal codes to avoid
interference between themselves.
Problem is you need to come up with a sequence that's (approximately) orthogonal to the
first 10240 values from random().
For the first such sequence: easy.
To find the third sequence in that code, you would already need to incorporate the two
existing sequences to find a third orthogonal one.
To find the Nth sequence, you need to incorporate all N-1 previous ones.
A 10240-dimensional space should have 10240 base vectors – so complexity of finding a good
set of CDMA sequences from the random.random() starting point is 10240!; not a nice number.
2. In classical CDMA, you would need your data to be a constant that you
multiply with your sequences – if you multiply a signal that changes
during the duration of your sequence, you lose all guarantees that another
signal using another orthogonal sequence is still orthogonal.
I'll have to try and parse this later because I have a hard time understanding
how the data payload could change during chipping.
Because you intuitively would start with a single symbol and multiply it with the *whole*
sequence. What George's code does is different: It takes each sample of the audio signal
and multiplies it with a corresponding random sample.
The other one is that in classical FDMA, you take a x kHz wide signal, and
put it on one of a defined set of x kHz wide channels. If something else
disturbs that channel, bad luck. In spread-spectrum systems, you gain
robustness agains narrowband interferers.
Won't shared used of the spectrum by both narrow band transmissions and spread
transmissions manifest in a rise of the noise floor and SNR degradation for
both types of users?
Yes! But in one case, "A 10 kHz wide interferer in a user's channel" means no
communication for that specific user, but in the spread spectrum case, it just means a
slightly reduced SNR.
This is a question I asked myself before but in the case of LoRa.
LoRa's interesting because they combine multiple "mechanisms" of spreading, and because
the despreading is technically especially interesting (and maybe more similar to what I'd
call "pulse compression" in wideband radar).
Cheers,
Marcus