transceiver: Add an option to generate random Access Bursts.
diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp
index 9674aa8..2182550 100644
--- a/Transceiver52M/sigProcLib.cpp
+++ b/Transceiver52M/sigProcLib.cpp
@@ -1005,6 +1005,39 @@
   return burst;
 }
 
+/*
+ * Generate a random GSM access burst.
+ */
+signalVector *genRandAccessBurst(int sps, int tn)
+{
+  if ((tn < 0) || (tn > 7))
+    return NULL;
+  if ((sps != 1) && (sps != 4))
+    return NULL;
+
+  int i = 0;
+  BitVector *bits = new BitVector(88);
+  signalVector *burst;
+
+  /* head and synch bits */
+  for (int n = 0; i < 49; i++, n++)
+    (*bits)[i] = gRACHBurst[n];
+
+  /* Random bits */
+  for (; i < 85; i++)
+    (*bits)[i] = rand() % 2;
+
+  /* Tail bits */
+  for (; i < 88; i++)
+    (*bits)[i] = 0;
+
+  int guard = 68 + !(tn % 4);
+  burst = modulateBurst(*bits, guard, sps);
+  delete bits;
+
+  return burst;
+}
+
 signalVector *generateEmptyBurst(int sps, int tn)
 {
 	if ((tn < 0) || (tn > 7))