Transceiver52M: Use independent noise vectors for each channel

Each ARFCN channel may be independently configureted and possibly on
separate hardware, so don't share a single vector for noise estimate
calculations. Allow a non-pointer based iterator so we can get away
with using the default copy constructor.

Signed-off-by: Thomas Tsou <tom@tsou.cc>
diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h
index 30b2fd3..51b6e24 100644
--- a/Transceiver52M/Transceiver.h
+++ b/Transceiver52M/Transceiver.h
@@ -76,6 +76,10 @@
   float SNRestimate[8];
   float chanRespOffset[8];
   complex chanRespAmplitude[8];
+
+  /* Received noise energy levels */
+  float mNoiseLev;
+  noiseVector mNoises;
 };
 
 /** The Transceiver class, responsible for physical layer of basestation */
@@ -114,9 +118,6 @@
     IDLE	       ///< timeslot is an idle (or dummy) burst
   } CorrType;
 
-  float mNoiseLev;      ///< Average noise level
-  noiseVector mNoises;  ///< Vector holding running noise measurements
-
   /** modulate and add a burst to the transmit queue */
   void addRadioVector(size_t chan, BitVector &bits,
                       int RSSI, GSM::Time &wTime);