Beispiel #1
0
void set_agc(int rx, int agc_mode) {
  SetRXAAGCMode(rx, agc_mode);
  SetRXAAGCSlope(rx,agc_slope);
  SetRXAAGCTop(rx,agc_gain);
  switch(agc_mode) {
    case AGC_OFF:
      break;
    case AGC_LONG:
      SetRXAAGCAttack(rx,2);
      SetRXAAGCHang(rx,2000);
      SetRXAAGCDecay(rx,2000);
      SetRXAAGCHangThreshold(rx,(int)agc_hang_threshold);
      break;
    case AGC_SLOW:
      SetRXAAGCAttack(rx,2);
      SetRXAAGCHang(rx,1000);
      SetRXAAGCDecay(rx,500);
      SetRXAAGCHangThreshold(rx,(int)agc_hang_threshold);
      break;
    case AGC_MEDIUM:
      SetRXAAGCAttack(rx,2);
      SetRXAAGCHang(rx,0);
      SetRXAAGCDecay(rx,250);
      SetRXAAGCHangThreshold(rx,100);
      break;
    case AGC_FAST:
      SetRXAAGCAttack(rx,2);
      SetRXAAGCHang(rx,0);
      SetRXAAGCDecay(rx,50);
      SetRXAAGCHangThreshold(rx,100);
      break;
  }
}
Beispiel #2
0
static void setupRX(int rx) {
    setRXMode(rx,mode);
    SetRXABandpassFreqs(rx, (double)filterLow, (double)filterHigh);
    SetRXAAGCMode(rx, agc);
    SetRXAAGCTop(rx,agc_gain);

    SetRXAAMDSBMode(rx, 0);
    SetRXAShiftRun(rx, 0);

    SetRXAEMNRPosition(rx, nr_agc);
    SetRXAEMNRgainMethod(rx, nr2_gain_method);
    SetRXAEMNRnpeMethod(rx, nr2_npe_method);
    SetRXAEMNRRun(rx, nr2);
    SetRXAEMNRaeRun(rx, nr2_ae);

    SetRXAANRVals(rx, 64, 16, 16e-4, 10e-7); // defaults
    SetRXAANRRun(rx, nr);
    SetRXAANFRun(rx, anf);
    SetRXASNBARun(rx, snb);
}
Beispiel #3
0
void setAGCGain(int gain) {
	agc_gain = gain;
	SetRXAAGCTop(CHANNEL_RX, agc_gain);
}