wiki:Software/eAM/mInterf

Version 8 (modified by seskar, 8 years ago) ( diff )

Interference Aggregate Manager

Aggregate manager used for controlling various RF instruments that are part of the ORBIT grid. This AM is running on intrument1.orbit-lab.org on port 5054 with the following service groups:

<serviceGroups>
  <serviceGroup name="interference" path="/interference">
    <info>Interference injection control service</info>
  </serviceGroup><serviceGroup name="rxcalibration1" path="/rxcalibration1">
    <info>Service used for receiver side calibration of ORBIT nodes</info>
  </serviceGroup><serviceGroup name="rxcalibration2" path="/rxcalibration2">
    <info>Service used for receiver side calibration of ORBIT nodes</info>
  </serviceGroup><serviceGroup name="sacalibration" path="/sacalibration">
    <info>Service used for SpectrumAnalyzer E4405B</info></serviceGroup>
  <serviceGroup name="sgcalibration" path="/sgcalibration">
    <info>Service used for Swept Signal Generator 83620B</info>
  </serviceGroup><serviceGroup name="txcalibration1" path="/txcalibration1">
    <info>Service used for receiver side calibration of ORBIT nodes</info>
  </serviceGroup><serviceGroup name="txcalibration2" path="/txcalibration2">
    <info>Service used for receiver side calibration of ORBIT nodes</info>
  </serviceGroup>
</serviceGroups>

Interference

<serviceGroup name="interference">
  <info>Interference injection control service</info>
  <service name="awgn"><info>Configures interference injection singal type to AWGN</info>
    <args>
      <arg name="bandwidth" value="noise BW in MHz"/>
    </args>
  </service>
  <service name="initialize">
    <info>Resets interference injection subsystem to default state</info>
  </service>
  <service name="set">
    <info>Set global interference injection parameters</info>
    <args>
      <arg name="power" value="noise BW in db"/>
      <arg name="channel" value="802.11 channel number"/>
      <arg name="frequency" value="interference center frequency in GHz"/>
      <arg name="antenna-atten-1" value="attenuation in db"/>
      <arg name="antenna-atten-2" value="attenuation in db"/>
      <arg name="antenna-atten-3" value="attenuation in db"/>
      <arg name="antenna-atten-4" value="attenuation in db"/>
    </args>
  </service>
  <service name="start">
    <info>Turn on interference injection</info>
  </service><service name="status"><info>Show current status of the interference injection subsystem</info></service>
  <service name="stop">
    <info>Turn off interference injection</info>
  </service>
  <service name="sweep">
    <info>Step sweep frequency parameters</info>
    <args>
      <arg name="start" value="Step sweep start frequency (Hz)"/>
      <arg name="stop" value="Step sweep stop frequency (Hz"/>
      <arg name="dwell" value="duration of a step (s)"/>
      <arg name="size" value="size of step (Hz)"/>
    </args>
  </service>
  <service name="train">
    <info>Configures interference injection signal type to on/off noise based sequence</info>
    <args>
      <arg name="bandwidth" value="noise BW in MHz"/>
      <arg name="duration" value="duration in seconds"/>
    </args>
  </service>
  <service name="wave">
    <info>Configures interference injection signal type to one of the pre-recorded signals</info>
    <args>
      <arg name="waveform" value="waveform name"/>
    </args>
  </service>
</serviceGroup>

Initialize

  <service name="initialize">
    <info>Resets interference injection subsystem to default state</info>
  </service>

Set

  <service name="set">
    <info>Set global interference injection parameters</info>
    <args>
      <arg name="power" value="noise BW in MHz"/>
      <arg name="channel" value="802.11 channel number"/>
      <arg name="frequency" value="interference center frequency"/>
      <arg name="antenna-atten-1" value="attenuation in db"/>
      <arg name="antenna-atten-2" value="attenuation in db"/>
      <arg name="antenna-atten-3" value="attenuation in db"/>
      <arg name="antenna-atten-4" value="attenuation in db"/>
    </args>
  </service>

Start

  <service name="start">
    <info>Turn on interference injection</info>
  </service>

Status

  <service name="status">
    <info>Show current status of the interference injection subsystem</info>
  </service>

Example of the status response is given below.

<name ESG Status:
<status>0
</status>
<noise-bw>+1.00000000E+006
</noise-bw><arbwavestatus>OK</arbwavestatus>

Stop

  <service name="stop">
    <info>Turn off interference injection</info>
  </service>

Sweep

  <service name="sweep">
    <info>Step sweep frequency parameters</info>
    <args>
      <arg name="start" value="Step sweep start frequency (Hz)"/>
      <arg name="stop" value="Step sweep stop frequency (Hz"/>
      <arg name="dwell" value="duration of a step (s)"/>
      <arg name="size" value="size of step (Hz)"/>
    </args>
  </service>

Wave

  <service name="wave">
    <info>Configures interference injection singal type to one of the pre-recorded signals</info>
    <args>
      <arg name="waveform" value="waveform name"/>
    </args>
   </service>

Usage Example

To set AWGN on channel 36 at -30 dBm on all four antennas use the following sequence (either through a browser or wget). By default, the additional attenuation on all antennas is zero which means that the injected power is equally distributed. To create unequal distributions, users can use the antenna-atten-X option with the appropriate attenuation setting in dB to suppress noise in parts of the grid as desired

  • Step 1: Initialize the "interference" mode of the service
          wget "http://instrument1.orbit-lab.org:5054/interference/initialize"
    
  • Step 2: Select AWGN bandwidth (channel bw for 802.11a/b/g is 20 Mhz)
          wget "http://instrument1.orbit-lab.org:5054/interference/awgn?bandwidth=20"
    
  • Step 3: Set power level to -30 dBm and channel number to 36 (PLEASE AVOID SETTING POWER OVER 0dBm)
          wget "http://instrument1.orbit-lab.org:5054/interference/set?power=-30&channel=36"
    
  • Step 4: Start RF injection
          wget "http://instrument1.orbit-lab.org:5054/interference/start"
    

At the end of the experiment,

  • Step 5: Stop RF injection
          wget "http://instrument1.orbit-lab.org:5054/interference/stop"
    
Note: See TracWiki for help on using the wiki.