WARPLab 7
- Downloads
Getting Started
- Sample Buffer Sizes
- Automatic Gain Control
- Examples
- Extending WARPLab
- Debugging Errors
- Porting Code
- Benchmarks
WARPLab 7 Framework...
WARPLab 7 Reference Design
Reference Design Modules
- Node
Interface Group
Baseband
Transport
Trigger Manager
Hardware
X245 Interface Module Module Implementation
The WARPLab Reference Design implements an Interface Group module for controlling the MAX2829-based radio interfaces on WARP v2 and v3. A single X245 Interface Group module can support up to 4 radio interfaces. Essentially, this module wraps the radio_controller peripheral and driver.
Related Components:
- MATLAB:
- wl_interface_group_X245 class
- WARP Hardware:
- radio_controller peripheral and driver
- wl_interface C software
X245 Interface Commands
Interface commands are selected as string inputs to the wl_interfaceCmd method in wl_node.m. These strings are each individual cases of the switch statement in procCmd method of wl_interface_group_X245.m.
Syntax
MATLAB allows two valid forms of syntax for calling methods
- Let N be a scalar or vector of wl_node objects
- Let command_string be a string containing a particular command
- Let interface_selection be a collection of interfaces or the string 'RF_ALL'
- Let arg be an argument for that command (optional)
Syntax 1: wl_interfaceCmd(N, interface_selection, command_string, arg1, arg2, ..., argN)
Syntax 2: N.wl_interfaceCmd(interface_selection, command_string, arg1, arg2, ..., argN)
These two different forms of syntax are identical and either may be used for issuing commands to WARP nodes.
Command List and Documentation
tx_en
Enable transmit mode for selected interfaces
Arguments: none
Returns: none
rx_en
Enable receive mode for selected interfaces
Arguments: none
Returns: none
tx_rx_dis
Disable transmit and receive for selected interfaces (standby mode)
Arguments: none
Returns: none
read_tx_rx_state
Read the current state of the interface
Requires BUFF_SEL: Yes
Arguments: none
Returns: Current state of the buffer: TX, RX or STANDBY
channel
Tune selected interfaces to the specified band and channel
Arguments: (float BAND, int CHAN)
BAND: Must be 2.4 or 5, to select 2.4GHz or 5GHz channels
CHAN: Must be integer in [1,14] for BAND=2.4, [1,44] for BAND=5
Returns: none
BAND and CHAN must be scalars (same values for all specified interfaces) or
1-D vectors (one value per interface) with length equal to the length of the interface ID vector
Band/Channel - Center Frequency Map:
2.4GHz | 5GHz | ||
---|---|---|---|
Chan | Freq | Chan | Freq |
1 | 2412 | 1 | 5180 |
2 | 2417 | 2 | 5190 |
3 | 2422 | 3 | 5200 |
4 | 2427 | 4 | 5220 |
5 | 2432 | 5 | 5230 |
6 | 2437 | 6 | 5240 |
7 | 2442 | 7 | 5260 |
8 | 2447 | 8 | 5270 |
9 | 2452 | 9 | 5280 |
10 | 2457 | 10 | 5300 |
11 | 2462 | 11 | 5310 |
12 | 2467 | 12 | 5320 |
13 | 2472 | 13 | 5500 |
14 | 2484 | 14 | 5510 |
15 | 5520 | ||
16 | 5540 | ||
17 | 5550 | ||
18 | 5560 | ||
19 | 5580 | ||
20 | 5590 | ||
21 | 5600 | ||
22 | 5620 | ||
23 | 5630 | ||
24 | 5640 | ||
25 | 5660 | ||
26 | 5670 | ||
27 | 5680 | ||
28 | 5700 | ||
29 | 5710 | ||
30 | 5720 | ||
31 | 5745 | ||
32 | 5755 | ||
33 | 5765 | ||
34 | 5785 | ||
35 | 5795 | ||
36 | 5805 | ||
37 | 5825 | ||
38 | 5860 | ||
39 | 5870 | ||
40 | 5875 | ||
41 | 5880 | ||
42 | 5885 | ||
43 | 5890 | ||
44 | 5865 |
tx_gains
Sets the gains for the variable gain amplifiers in the MAX2829 Tx path
Refer to MAX2829 datasheet for curves of gain value vs actual gain at 2.4 and 5GHz
Arguments: (int BB_GAIN, int RF_GAIN)
BB_GAIN: Must be integer in [0,1,2,3] for approx ![-5, -3, -1.5, 0]dB baseband gain
RF_GAIN: Must be integer in [0:63] for approx [0:31]dB RF gain
Returns: none
BB_GAIN and RF_GAIN must be scalars (same values for all specified interfaces) or
1-D vectors (one value per interface) with length equal to the length of the interface ID vector
NOTE: The parameters are in the order in which they are applied to the signal (ie baseband gain, then RF gain)
rx_gains
Sets the gains for the variable gain amplifiers in the MAX2829 Rx path
Refer to MAX2829 datasheet for curves of gain value vs actual gain at 2.4 and 5GHz
Arguments: (int RF_GAIN, int BB_GAIN)
RF_GAIN: Must be integer in [1,2,3] for approx [0,15,30]dB RF gain
BB_GAIN: Must be integer in [0:31] for approx [0:63]dB baseband gain
Returns: none
BB_GAIN and RF_GAIN must be scalars (same values for all specified interfaces) or
1-D vectors (one value per interface) with length equal to the length of the interface ID vector
NOTE: The parameters are in the order in which they are applied to the signal (ie RF gain, then baseband gain)
tx_lpf_corn_freq
Sets the corner frequency for the MAX2829 Tx path low pass filter
Refer to MAX2829 datasheet for curves of the frequency response with each setting
Arguments: (int FILT)
FILT: Must be integer in [1,2,3] for approx [12,18,24]MHz corner frequencies ([24,36,48]MHz bandwidths)
Returns: none
FILT must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface)
with length equal to the length of the interface ID vector
rx_lpf_corn_freq_fine
Sets the fine corner frequency for the MAX2829 Rx path low pass filter
Refer to MAX2829 datasheet for curves of the frequency response with each setting
Arguments: (int FILT)
FILT: Must be integer in [0,1,2,3,4,5] for
[90,95,100,105,110]% scaling to LPF corner frequency
Returns: none
FILT must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface)
with length equal to the length of the interface ID vector
rx_lpf_corn_freq
Sets the corner frequency for the MAX2829 Rx path low pass filter
Refer to MAX2829 datasheet for curves of the frequency response with each setting
Arguments: (int FILT)
FILT: Must be integer in [0,1,2,3] for approx ![7.5,9.5,14,18]MHz corner
frequencies ([15,19,28,36]MHz bandwidths)
Returns: none
FILT must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface)
with length equal to the length of the interface ID vector
rx_hpf_corn_freq
Sets the corner frequency for the MAX2829 Rx path high pass filter when RXHP = 'disable' (ie 0)
Arguments: (int MODE)
MODE: Must be 0 (HPF corner of 100 Hz) or 1 (default; HPF corner of 30 kHz)
Returns: none
MODE must be scalar (same value for all specified interfaces) or 1-D vector (one value per interface)
with length equal to the length of the interface ID vector
The MAX2829 default setting is 1 (30 kHz corner frequency). This is the better setting for most
applications. The lower cutoff frequency (100 Hz) should only be used when the Rx waveform has
energy in the 60 kHz around DC.
This filter setting is only used when RXHP is 'disable' (ie 0).
rx_gain_mode
Sets the gain selection mode
Arguments: (string MODE)
MODE: 'automatic' for AGC, or 'manual' for manual gain control
Returns: none
rx_rxhp
Sets the RXHP mode on the node when in manual gain control
Arguments: (boolean MODE)
MODE: true enables RXHP on the node when in manual gain control
false disables RXHP on the node when in manual gain control
Returns: none