RENEWLab  1.1.0
RENEW project
agc_fsm_iris.AutomaticGainControl Class Reference
Inheritance diagram for agc_fsm_iris.AutomaticGainControl:
Collaboration diagram for agc_fsm_iris.AutomaticGainControl:

Public Member Functions

def __init__ (self, sdr, ch)
 
def enableAGC (self)
 
def disableAGC (self)
 
def is_AGCenabled (self)
 
def setSatGain (self)
 
def fineTuning (self)
 
def fineTuningCounter (self)
 
def is_fineTuningDone (self)
 
def is_fineTuningNotDone (self)
 
def is_saturationDetected (self)
 
def setFinalStage (self)
 
def resetSaturation (self)
 
def is_satDetGood (self)
 
def stageCounter (self)
 
def waitTimeout (self)
 
def is_finalStage (self)
 
def is_notFinalStage (self)
 
def full_reset (self)
 
def printState (self)
 

Public Attributes

 machine
 
 sdr
 
 ch
 
 enableAGCflag
 
 gainLNA
 
 gainTIA
 
 gainPGA
 
 gainAdjustStage
 
 cumulativeGainAdjust
 
 satDetectedFlag
 
 currentSample
 
 numSatSamps
 
 satDetGoodFlag
 
 waitCount
 
 fineAdjustCount
 

Static Public Attributes

list states = ['idle', 'measPwrWait', 'satDet', 'wait']
 
int targetRSSI = -15
 
int maxGain = 64
 
int minGain = 0
 
int currentSample = 0
 
int enableAGCflag = 0
 
int numSampsProcess = 100
 
int numSampThresh = 16
 
int numSampAboveThresh = 3
 
int rssiSatThresh = -6
 
int gain = 65
 
int numSatSamps = 0
 
int gainAdjustStage = 0
 
bool satDetGoodFlag = False
 
bool satDetectedFlag = False
 
int waitCount = 0
 
int maxNumSatAdjust = 3
 
int maxNumFineAdjust = 3
 
int fineAdjustCount = 0
 
int cumulativeGainAdjust = 0
 
int P_BB_MAX = rssiSatThresh-4
 
int P_BB_MIN = P_BB_MAX-10
 
float gainLNA = 30.0
 
float gainTIA = 12.0
 
float gainPGA = 19.0
 
string fid = "../IrisUtils/data_in/gainTable_07-20-18.csv"
 
 gainTable = np.loadtxt(fid, delimiter=",", skiprows=1)
 
 rssi = np.empty(numSampsProcess).astype(np.float)
 

Detailed Description

AGC Finite State Machine 

Constructor & Destructor Documentation

◆ __init__()

def agc_fsm_iris.AutomaticGainControl.__init__ (   self,
  sdr,
  ch 
)

Member Function Documentation

◆ disableAGC()

def agc_fsm_iris.AutomaticGainControl.disableAGC (   self)

◆ enableAGC()

def agc_fsm_iris.AutomaticGainControl.enableAGC (   self)

◆ fineTuning()

def agc_fsm_iris.AutomaticGainControl.fineTuning (   self)

◆ fineTuningCounter()

def agc_fsm_iris.AutomaticGainControl.fineTuningCounter (   self)

◆ full_reset()

def agc_fsm_iris.AutomaticGainControl.full_reset (   self)

◆ is_AGCenabled()

def agc_fsm_iris.AutomaticGainControl.is_AGCenabled (   self)

◆ is_finalStage()

def agc_fsm_iris.AutomaticGainControl.is_finalStage (   self)

◆ is_fineTuningDone()

def agc_fsm_iris.AutomaticGainControl.is_fineTuningDone (   self)

◆ is_fineTuningNotDone()

def agc_fsm_iris.AutomaticGainControl.is_fineTuningNotDone (   self)

◆ is_notFinalStage()

def agc_fsm_iris.AutomaticGainControl.is_notFinalStage (   self)

◆ is_satDetGood()

def agc_fsm_iris.AutomaticGainControl.is_satDetGood (   self)

◆ is_saturationDetected()

def agc_fsm_iris.AutomaticGainControl.is_saturationDetected (   self)

◆ printState()

def agc_fsm_iris.AutomaticGainControl.printState (   self)

◆ resetSaturation()

def agc_fsm_iris.AutomaticGainControl.resetSaturation (   self)

◆ setFinalStage()

def agc_fsm_iris.AutomaticGainControl.setFinalStage (   self)

◆ setSatGain()

def agc_fsm_iris.AutomaticGainControl.setSatGain (   self)

◆ stageCounter()

def agc_fsm_iris.AutomaticGainControl.stageCounter (   self)

◆ waitTimeout()

def agc_fsm_iris.AutomaticGainControl.waitTimeout (   self)

Member Data Documentation

◆ ch

agc_fsm_iris.AutomaticGainControl.ch

◆ cumulativeGainAdjust [1/2]

int agc_fsm_iris.AutomaticGainControl.cumulativeGainAdjust = 0
static

◆ cumulativeGainAdjust [2/2]

agc_fsm_iris.AutomaticGainControl.cumulativeGainAdjust

◆ currentSample [1/2]

int agc_fsm_iris.AutomaticGainControl.currentSample = 0
static

◆ currentSample [2/2]

agc_fsm_iris.AutomaticGainControl.currentSample

◆ enableAGCflag [1/2]

int agc_fsm_iris.AutomaticGainControl.enableAGCflag = 0
static

◆ enableAGCflag [2/2]

agc_fsm_iris.AutomaticGainControl.enableAGCflag

◆ fid

string agc_fsm_iris.AutomaticGainControl.fid = "../IrisUtils/data_in/gainTable_07-20-18.csv"
static

◆ fineAdjustCount [1/2]

int agc_fsm_iris.AutomaticGainControl.fineAdjustCount = 0
static

◆ fineAdjustCount [2/2]

agc_fsm_iris.AutomaticGainControl.fineAdjustCount

◆ gain

int agc_fsm_iris.AutomaticGainControl.gain = 65
static

◆ gainAdjustStage [1/2]

int agc_fsm_iris.AutomaticGainControl.gainAdjustStage = 0
static

◆ gainAdjustStage [2/2]

agc_fsm_iris.AutomaticGainControl.gainAdjustStage

◆ gainLNA [1/2]

float agc_fsm_iris.AutomaticGainControl.gainLNA = 30.0
static

◆ gainLNA [2/2]

agc_fsm_iris.AutomaticGainControl.gainLNA

◆ gainPGA [1/2]

float agc_fsm_iris.AutomaticGainControl.gainPGA = 19.0
static

◆ gainPGA [2/2]

agc_fsm_iris.AutomaticGainControl.gainPGA

◆ gainTable

agc_fsm_iris.AutomaticGainControl.gainTable = np.loadtxt(fid, delimiter=",", skiprows=1)
static

◆ gainTIA [1/2]

float agc_fsm_iris.AutomaticGainControl.gainTIA = 12.0
static

◆ gainTIA [2/2]

agc_fsm_iris.AutomaticGainControl.gainTIA

◆ machine

agc_fsm_iris.AutomaticGainControl.machine

◆ maxGain

int agc_fsm_iris.AutomaticGainControl.maxGain = 64
static

◆ maxNumFineAdjust

int agc_fsm_iris.AutomaticGainControl.maxNumFineAdjust = 3
static

◆ maxNumSatAdjust

int agc_fsm_iris.AutomaticGainControl.maxNumSatAdjust = 3
static

◆ minGain

int agc_fsm_iris.AutomaticGainControl.minGain = 0
static

◆ numSampAboveThresh

int agc_fsm_iris.AutomaticGainControl.numSampAboveThresh = 3
static

◆ numSampsProcess

int agc_fsm_iris.AutomaticGainControl.numSampsProcess = 100
static

◆ numSampThresh

int agc_fsm_iris.AutomaticGainControl.numSampThresh = 16
static

◆ numSatSamps [1/2]

int agc_fsm_iris.AutomaticGainControl.numSatSamps = 0
static

◆ numSatSamps [2/2]

agc_fsm_iris.AutomaticGainControl.numSatSamps

◆ P_BB_MAX

int agc_fsm_iris.AutomaticGainControl.P_BB_MAX = rssiSatThresh-4
static

◆ P_BB_MIN

int agc_fsm_iris.AutomaticGainControl.P_BB_MIN = P_BB_MAX-10
static

◆ rssi

agc_fsm_iris.AutomaticGainControl.rssi = np.empty(numSampsProcess).astype(np.float)
static

◆ rssiSatThresh

int agc_fsm_iris.AutomaticGainControl.rssiSatThresh = -6
static

◆ satDetectedFlag [1/2]

bool agc_fsm_iris.AutomaticGainControl.satDetectedFlag = False
static

◆ satDetectedFlag [2/2]

agc_fsm_iris.AutomaticGainControl.satDetectedFlag

◆ satDetGoodFlag [1/2]

bool agc_fsm_iris.AutomaticGainControl.satDetGoodFlag = False
static

◆ satDetGoodFlag [2/2]

agc_fsm_iris.AutomaticGainControl.satDetGoodFlag

◆ sdr

agc_fsm_iris.AutomaticGainControl.sdr

◆ states

list agc_fsm_iris.AutomaticGainControl.states = ['idle', 'measPwrWait', 'satDet', 'wait']
static

◆ targetRSSI

int agc_fsm_iris.AutomaticGainControl.targetRSSI = -15
static

◆ waitCount [1/2]

int agc_fsm_iris.AutomaticGainControl.waitCount = 0
static

◆ waitCount [2/2]

agc_fsm_iris.AutomaticGainControl.waitCount

The documentation for this class was generated from the following file: