dburgess | b3a0ca4 | 2011-10-12 07:44:40 +0000 | [diff] [blame] | 1 | The Transceiver |
| 2 | |
| 3 | The transceiver consists of three modules: |
| 4 | --- transceiver |
| 5 | --- radioInterface |
| 6 | --- USRPDevice |
| 7 | |
| 8 | The USRPDevice module is basically a driver that reads/writes |
| 9 | packets to a USRP with two RFX900 daughterboards, board |
| 10 | A is the Tx chain and board B is the Rx chain. |
| 11 | |
| 12 | The radioInterface module is basically an interface b/w the |
| 13 | transceiver and the USRP. It operates the basestation clock |
| 14 | based upon the sample count of received USRP samples. Packets |
| 15 | from the USRP are queued and segmented into GSM bursts that are |
| 16 | passed up to the transceiver; bursts from the transceiver are |
| 17 | passed down to the USRP. |
| 18 | |
| 19 | The transceiver basically operates "layer 0" of the GSM stack, |
| 20 | performing the modulation, detection, and demodulation of GSM |
| 21 | bursts. It communicates with the GSM stack via three UDP sockets, |
| 22 | one socket for data, one for control messages, and one socket to |
| 23 | pass clocking information. The transceiver contains a priority |
| 24 | queue to sort to-be-transmitted bursts, and a filler table to fill |
| 25 | in timeslots that do not have bursts in the priority queue. The |
| 26 | transceiver tries to stay ahead of the basestation clock, adapting |
| 27 | its latency when underruns are reported by the radioInterface/USRP. |
| 28 | Received bursts (from the radioInterface) pass through a simple |
| 29 | energy detector, a RACH or midamble correlator, and a DFE-based demodulator. |
| 30 | |
| 31 | NOTE: There's a SWLOOPBACK #define statement, where the USRP is replaced |
| 32 | with a memory buffer. In this mode, data written to the USRP is actually stored |
| 33 | in a buffer, and read commands to the USRP simply pull data from this buffer. |
| 34 | This was very useful in early testing, and still may be useful in testing basic |
| 35 | Transceiver and radioInterface functionality. |