I have been working on a DSSS system for some time now.
You can find our work-in-progress here:
A few comments:
this project grew out of the DARPA spectrum challenge:
our team eventually dropped out of the race because of other time
I decided to finish up the design and make it publicly available
since DARPA was generous enough to send us USRPs for testing etc.
Now about the gr-cdma project:
The idea is to build a fully parametrized DS system.
Users can set spreading , modulation, framing parameters etc.
The structure is as follows:
There is a frame structure and in each frame we superimpose 2 orthogonal
channels: 1) training/synchronization and 2) data.
At the receiver, there is a time/frequency searching engine
(consisting of a user defined number of correlators at different
that looks at the sync channel and can move nicely between
Acquisition mode and Tracking mode
This part is really cool, since at Ack we spend
a lot of computational resources (N chip based matched filters over the
frame, each of length chips_per_frame),
while at tracking very few (1 despreading MF of length
Once ack/tracking is done the rest of the Rx is trivial:
The frames are handed to the rest of the Rx which correlates with the
pn-sequence, despreads, phase-tracks and demodulates data.
That said the project is not yet ready for prime time, but I took the
announce it due to this request on the list.
The basic idea of the automatic Acquisition/Tracking is ready and tested
can be found in the application
as well as the individual apps (in case you want to try to to different
apps/timing_test_tx.grc and apps/timing_test_rx.grc
The cool thing about those is that they are build exclusively on grc
“probe” and “function probe” blocks to detect SNR level and switch
acquisition and tracking (there is an option to do it manually or auto).
I anticipate that in a few weeks the system can be fully
cannot promise that…I work on it on my spare time…