Receive data from USRP® E310 or USRP® E312 radio hardware
object™ receives data from
E310 or USRP® E312 radio hardware. This connection enables you to simulate and develop various software-defined
The following diagram shows the conceptual overview of transmitting and receiving radio
signals with this support package. MATLAB® interacts with the
object to receive signals from the radio hardware.
To receive data from the radio hardware:
comm.SDRRxE310 object and set its
Call the object as if it were a function.
To learn more about how System objects work, see What Are System Objects? (MATLAB).
comm.SDRRxE310 receiver System
object supports up to two channels to receive data from the
USRP® E310 or USRP® E312 radio hardware. Use the
ChannelMapping property to indicate whether to
use a single channel or both channels. The object returns a matrix signal, where each column
corresponds to one fixed-length channel of data. For each channel, you can set the
Gain property independently, or you can apply the same setting to
both channels. All other property values are applied to both channels.
rx = sdrrx('E310')
rx = sdrrx('E310',Name,Value)
creates a receiver System
object with default properties that you can use to receive data from the
USRP® E310 or USRP® E312 radio hardware.
rx = sdrrx(
creates the object with properties set by using one or more name-value pair arguments. The
property name must be placed inside single quotes (' '), followed by the specified value.
Unspecified properties take default values.
rx = sdrrx(
rx = sdrrx('E310', ... 'IPAddress','192.168.30.2', ... 'CenterFrequency',2.5e9, ... 'BasebandSampleRate',1e6, ... 'ChannelMapping',1);
Unless otherwise indicated, properties are nontunable, which means you cannot change their
values after calling the object. Objects lock when you call them, and the
release function unlocks them.
If a property is tunable, you can change its value at any time.
For more information on changing property values, see System Design in MATLAB Using System Objects (MATLAB).
ShowAdvancedProperties— Option for advanced properties
Option for advanced properties, specified as
can set the following advanced properties:
[signalOut,len] = rx()
[signalOut,len,lost] = rx()
When you call the object, the host might not receive any data from the radio hardware.
To determine whether data is valid, check the values of
lost. The first valid data frame can contain transient values,
resulting in packets containing undefined data.
To use an object function, specify the
object as the first input argument. For
example, to release system resources of a System
Configure the radio hardware with an IP address of 192.168.3.2. Set the radio to receive at 2.5 GHz with a baseband rate of 1 MHz.
rx = sdrrx('E310', ... 'IPAddress','192.168.3.2', ... 'CenterFrequency',2.5e9, ... 'BasebandSampleRate', 1e6, ... 'ChannelMapping',1);
Save the data using a log.
Log = dsp.SignalSink; for counter = 1:20 [data,dataLength,lostSample] = rx(); if lostSample ~= 1 % no dropped samples if dataLength == rx.SamplesPerFrame % received desired data Log(data); end else disp('lostSamp=1,data lost'); end end
 USRP, USRP2, UHD, and Ettus Research are trademarks of National Instruments Corp.