aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/README
diff options
context:
space:
mode:
Diffstat (limited to 'Transceiver52M/README')
-rw-r--r--Transceiver52M/README35
1 files changed, 35 insertions, 0 deletions
diff --git a/Transceiver52M/README b/Transceiver52M/README
new file mode 100644
index 0000000..491693c
--- /dev/null
+++ b/Transceiver52M/README
@@ -0,0 +1,35 @@
+The Transceiver
+
+The transceiver consists of three modules:
+ --- transceiver
+ --- radioInterface
+ --- USRPDevice
+
+The USRPDevice module is basically a driver that reads/writes
+packets to a USRP with two RFX900 daughterboards, board
+A is the Tx chain and board B is the Rx chain.
+
+The radioInterface module is basically an interface b/w the
+transceiver and the USRP. It operates the basestation clock
+based upon the sample count of received USRP samples. Packets
+from the USRP are queued and segmented into GSM bursts that are
+passed up to the transceiver; bursts from the transceiver are
+passed down to the USRP.
+
+The transceiver basically operates "layer 0" of the GSM stack,
+performing the modulation, detection, and demodulation of GSM
+bursts. It communicates with the GSM stack via three UDP sockets,
+one socket for data, one for control messages, and one socket to
+pass clocking information. The transceiver contains a priority
+queue to sort to-be-transmitted bursts, and a filler table to fill
+in timeslots that do not have bursts in the priority queue. The
+transceiver tries to stay ahead of the basestation clock, adapting
+its latency when underruns are reported by the radioInterface/USRP.
+Received bursts (from the radioInterface) pass through a simple
+energy detector, a RACH or midamble correlator, and a DFE-based demodulator.
+
+NOTE: There's a SWLOOPBACK #define statement, where the USRP is replaced
+with a memory buffer. In this mode, data written to the USRP is actually stored
+in a buffer, and read commands to the USRP simply pull data from this buffer.
+This was very useful in early testing, and still may be useful in testing basic
+Transceiver and radioInterface functionality.