| 1 | == Interference Aggregate Manager == |
| 2 | |
| 3 | Aggregate manager used for controlling various RF instruments that are part of the [wiki:Hardware/gDomains/aGrid ORBIT grid]. This AM is running on '''intrument1.orbit-lab.org on port''' '''5012''' with the following service groups: |
| 4 | |
| 5 | {{{ |
| 6 | <serviceGroups> |
| 7 | <serviceGroup name="interference" path="/interference"> |
| 8 | <info>Interference injection control service</info> |
| 9 | </serviceGroup><serviceGroup name="rxcalibration1" path="/rxcalibration1"> |
| 10 | <info>Service used for receiver side calibration of ORBIT nodes</info> |
| 11 | </serviceGroup><serviceGroup name="rxcalibration2" path="/rxcalibration2"> |
| 12 | <info>Service used for receiver side calibration of ORBIT nodes</info> |
| 13 | </serviceGroup><serviceGroup name="sacalibration" path="/sacalibration"> |
| 14 | <info>Service used for SpectrumAnalyzer E4405B</info></serviceGroup> |
| 15 | <serviceGroup name="sgcalibration" path="/sgcalibration"> |
| 16 | <info>Service used for Swept Signal Generator 83620B</info> |
| 17 | </serviceGroup><serviceGroup name="txcalibration1" path="/txcalibration1"> |
| 18 | <info>Service used for receiver side calibration of ORBIT nodes</info> |
| 19 | </serviceGroup><serviceGroup name="txcalibration2" path="/txcalibration2"> |
| 20 | <info>Service used for receiver side calibration of ORBIT nodes</info> |
| 21 | </serviceGroup> |
| 22 | </serviceGroups> |
| 23 | }}} |
| 24 | |
| 25 | === Interference === |
| 26 | |
| 27 | The interference service group is used for injecting various types of signals into the grid environment. |
| 28 | {{{ |
| 29 | <service name="awgn"> |
| 30 | <info>Configures interference injection singal type to AWGN</info> |
| 31 | <args> |
| 32 | <arg name="bandwidth" value="noise BW in MHz"/> |
| 33 | </args> |
| 34 | </service> |
| 35 | }}} |
| 36 | |
| 37 | === Initialize === |
| 38 | {{{ |
| 39 | <service name="initialize"> |
| 40 | <info>Resets interference injection subsystem to default state</info> |
| 41 | </service> |
| 42 | }}} |
| 43 | |
| 44 | === Set === |
| 45 | {{{ |
| 46 | <service name="set"> |
| 47 | <info>Set global interference injection parameters</info> |
| 48 | <args> |
| 49 | <arg name="power" value="noise BW in MHz"/> |
| 50 | <arg name="channel" value="802.11 channel number"/><arg name="frequency" value="interference center frequency"/> |
| 51 | <arg name="antenna-atten-1" value="attenuation in db"/> |
| 52 | <arg name="antenna-atten-2" value="attenuation in db"/> |
| 53 | <arg name="antenna-atten-3" value="attenuation in db"/> |
| 54 | <arg name="antenna-atten-4" value="attenuation in db"/> |
| 55 | </args> |
| 56 | </service> |
| 57 | }}} |
| 58 | |
| 59 | === Start === |
| 60 | |
| 61 | {{{ |
| 62 | <service name="start"> |
| 63 | <info>Turn on interference injection</info> |
| 64 | </service> |
| 65 | }}} |
| 66 | |
| 67 | === Status === |
| 68 | |
| 69 | {{{ |
| 70 | <service name="status"> |
| 71 | <info>Show current status of the interference injection subsystem</info> |
| 72 | </service> |
| 73 | }}} |
| 74 | |
| 75 | Example of the status response is given below. |
| 76 | |
| 77 | {{{ |
| 78 | <name ESG Status: |
| 79 | <status>0 |
| 80 | </status> |
| 81 | <noise-bw>+1.00000000E+006 |
| 82 | </noise-bw><arbwavestatus>OK</arbwavestatus> |
| 83 | }}} |
| 84 | |
| 85 | === Stop === |
| 86 | |
| 87 | {{{ |
| 88 | <service name="stop"> |
| 89 | <info>Turn off interference injection</info> |
| 90 | </service> |
| 91 | }}} |
| 92 | |
| 93 | === Sweep === |
| 94 | |
| 95 | {{{ |
| 96 | <service name="sweep"> |
| 97 | <info>Step sweep frequency parameters</info> |
| 98 | <args> |
| 99 | <arg name="start" value="Step sweep start frequency (Hz)"/> |
| 100 | <arg name="stop" value="Step sweep stop frequency (Hz"/><arg name="dwell" value="duration of a step (s)"/> |
| 101 | <arg name="size" value="size of step (Hz)"/> |
| 102 | </args> |
| 103 | </service> |
| 104 | }}} |
| 105 | |
| 106 | === Wave === |
| 107 | |
| 108 | {{{ |
| 109 | <service name="wave"> |
| 110 | <info>Configures interference injection singal type to one of the pre-recorded signals</info> |
| 111 | <args> |
| 112 | <arg name="waveform" value="waveform name"/> |
| 113 | </args> |
| 114 | </service> |
| 115 | }}} |
| 116 | |
| 117 | === Usage Example === |
| 118 | |
| 119 | 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''' |
| 120 | |
| 121 | * Step 1: Initialize the "interference" mode of the service |
| 122 | {{{ |
| 123 | wget http://instrument1.orbit-lab.org:5012/interference/initialize |
| 124 | }}} |
| 125 | * Step 2: Select AWGN bandwidth (channel bw for 802.11a/b/g is 20 Mhz) |
| 126 | {{{ |
| 127 | wget http://instrument1.orbit-lab.org:5012/interference/awgn?bandwidth=20 |
| 128 | }}} |
| 129 | * Step 3: Set power level to -30 dBm and channel number to 36 (PLEASE AVOID SETTING POWER OVER 0dBm) |
| 130 | {{{ |
| 131 | wget http://instrument1.orbit-lab.org:5012/interference/set?power=-30&channel=36 |
| 132 | }}} |
| 133 | * Step 4: Start RF injection |
| 134 | {{{ |
| 135 | wget http://instrument1.orbit-lab.org:5012/interference/start |
| 136 | }}} |
| 137 | |
| 138 | At the end of the experiment, |
| 139 | * Step 5: Stop RF injection |
| 140 | {{{ |
| 141 | wget http://instrument1.orbit-lab.org:5012/interference/stop |
| 142 | }}} |