Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding CDMA to signal generation #10

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Adding CDMA to signal generation #10

wants to merge 8 commits into from

Conversation

RGerzaguet
Copy link
Member

Directly from the discussion in #8

Basic use for the moment, with spreading and multiplexing with OVSF code

  • Integration in specific CDMA call
  • Integration in genSig decodeSig
  • tests
  • MOARE code support (only OVSF atm)
  • proper documentation

Open discussion on how we shape the input payload matrix. We modulate a matrix defined as Users x time matrix. We define user per column which is not the more computational efficient (we process data user per user) but it has the advantages to be similar to what we do when we modulate with OFDM where data in column corresponds to the subcarriers. We mimic the subcarrier multiplexing (CDMA) by a multiplexing by code.

@RGerzaguet RGerzaguet mentioned this pull request Jun 15, 2022
@patel999jay
Copy link

@RGerzaguet Thank you for your wonderful base. I was wondering how Users x time matrix would not be computational efficient ? Could you please explain a little bit more ? Are you referring to julia or are you referring to code structure ? Also I had suggestion, if we can keep the parameters same for everything then it would be easy for end users. I am referring to BER or PSD examples. Are we planning to add CDMA in them as well ? Also we can add support for gold codes, I am working on that right now.

@RGerzaguet
Copy link
Member Author

Hello @patel999jay.
Indeed Julia is column wise defined for memory. It means that getindex for a matrix is faster if we iterate through column and not lines. For OFDM this is what we do: signal is defined in a Time x Freq matrix so as we access to data in frequency domain (symbol per symbol) - it is column wise.
For CDMA, as I have coded it, we have a Time x user matrix. But contrary to OFDM we generate data user per user (all symbols per user) so we access data per row.
Not really sure what is the performance penalty in the end and I really like the fact that the time x freq mirrors the time x user (or time x code) matrix between the waveforms so let's keep it like this :)

Regarding examples, sure I will add CDMA to them ! I would be really glad to add your contribution on gold codes also 👍

Noter that as we use SNR, performance are the same for each code size.
To see the benefits of spreading, the noise level should be fixed (and
not the SNR).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants