|
| agc_fsm = None |
| Global Parameters #. More...
|
|
| threadT = None |
|
| IQmag = None |
|
| sdr = None |
|
| rxStream = None |
|
| sampsRx = None |
|
| timeScale = None |
|
int | rxChan = 0 |
|
int | fft_size = 1024 |
|
int | rate = 5e6 |
|
int | num_samps = 2**12 |
|
| freqScale = np.arange(-rate // 2, rate // 2, rate // fft_size) |
|
int | numBufferSamps = 1000 |
|
| rssiPwrBuffer = collections.deque(maxlen=numBufferSamps) |
|
| timePwrBuffer = collections.deque(maxlen=numBufferSamps) |
|
| freqPwrBuffer = collections.deque(maxlen=numBufferSamps) |
|
| noisPwrBuffer = collections.deque(maxlen=numBufferSamps) |
|
| filename |
| LOGGER #. More...
|
|
| level |
|
| format |
|
| fig = plt.figure(figsize=(20, 8), dpi=100) |
|
| hspace |
|
| top |
|
| ax1 = fig.add_subplot(4, 1, 1) |
|
| label |
|
| animated |
|
| fontsize |
|
| ax2 = fig.add_subplot(4, 1, 2) |
|
| ax3 = fig.add_subplot(4, 1, 3) |
|
| True |
|
| linestyle |
|
| ax4 = fig.add_subplot(4, 1, 4) |
|
int | countMegd = 0 |
|
AGC_SIM_DEMO.py
Script designed to demonstrate the operation of the AGC State machine.
This AGC runs on the host machine and therefore it implements a VERY
coarse version of the AGC (non-real time). That is, only one gain
adjustment occurs at each buffer read.
It requires two Iris boards. One TX and one RX. The TX is continuously
transmitting and we use the digital RSSI measurements obtained from the
LMS7 in order to adapt the RX amplifiers. As of this moment, there is
no way of synchronizing a received frame to the reading
of the RSSI. Therefore, we need to keep the TX continuously
sending a signal.
NOTE: Iris boards don't need to be chained
Basic Operation:
1) Run SISO_TX.py or another TX script on TX Iris board
2) Run this script (AGC_SIM_DEMO.py) on the RX Iris board.
The AGC thread will trigger the AGC "maxNumFrames" number of times
and will plot the received signal
Usage example: python3 AGC_SIM_DEMO.py --serial="RF3C000034"
---------------------------------------------------------------------
Copyright © 2018-2019. Rice University.
RENEW OPEN SOURCE LICENSE: http://renew-wireless.org/license
---------------------------------------------------------------------