Documentation

PicoZed SDR Receiver

Receive data from PicoZed SDR hardware

Library

Communications System Toolbox™ Support Package for Xilinx® Zynq®-Based Radio

Description

The PicoZed SDR Receiver block is a signal source that receives data from PicoZed™ SDR hardware on the same Ethernet subnetwork. This connection enables you to simulate and develop various SDR applications.

The PicoZed SDR Receiver block outputs a matrix signal where each column is a channel of data of fixed length. The first call to this block could contain transient values, which would result in packets containing undefined data.

The following diagram shows the interaction between Simulink®, the PicoZed SDR Receiver block, and the radio hardware.

If the host is not connected to radio hardware, you can still use this block to develop a model that propagates sample time and data type information. To propagate this information, update your diagram.

Channel Output

The PicoZed SDR hardware supports two channels that you can use to receive data with the PicoZed SDR Receiver block. You can use both channels or only a single channel (either 1 or 2). The SDR block outputs a matrix signal where each column is a channel of data of fixed length.

You can set the Gain block parameter independently for each channel or you can apply the same setting to both channels. All other block parameter values are applied to both channels.

The first call to the PicoZed SDR Receiver block could contain transient values, which would result in packets containing undefined data.

When the PicoZed SDR Receiver block is called during simulation, it is possible that the host did not receive any data from the radio hardware. The data length port, data length, in conjunction with the lost samples port, lost samples, can be used to indicate when valid data is present. When the data length port contains a zero value, there is no valid data. When this port contains a positive value, use the data length port and an enabled subsystem that is driven by the data length signal to qualify the execution part of the model.

Supported Data Types

PortSupported Data Types

Data

The output port supports the following complex data types:

  • Double-precision floating point

  • Single-precision floating point

  • 16-bit signed integers

When you use a double or single data type, the complex values are scaled to the range of [-1,1]. When you use int16, the complex values are the raw 16-bit I and Q samples from the board. The AD9361/AD9364 has a 12-bit ADC, so these values are sign extended into a 16-bit number.

Parameters

Main

Radio IP address

Specify the network IP address of the radio hardware as a dotted-quad expression. This parameter must match the physical IP address of the radio hardware assigned during hardware setup. See Guided Host-Radio Hardware Setup. By default, this IP address is 192.168.3.2. If you configure the radio hardware with a different IP address, update Radio IP address.

Info

Click Info to open a window that communicates with the attached radio hardware to obtain basic radio hardware information.

Source of center frequency

Specify the source of the center frequency. Options are:

  • Dialog—via the block mask

  • Input port—add an input port to the PicoZed SDR Receiver block

Center frequency (Hz)

If you chose Dialog for the source of the center frequency, specify the center frequency as a double-precision, nonnegative, finite scalar. The default is 2.4 GHz. The valid range of values for this parameter is 70 MHz–6 GHz.

Source of gain

Options are:

  • AGC Slow Attack—use this mode with signals whose power varies slowly over time.

  • AGC Fast Attack—use this mode with signals with a rapidly changing power level.

  • Dialog—specify the gain via the block mask

  • Input port—add an input port to the PicoZed SDR Receiver block to input the gain.

Gain (dB)

If you chose Dialog as the source of the gain, specify the gain as a 2x1 vector. Gain can be negative. The valid range for this parameter is -4 to 71 dB. This parameter is tunable. This parameter is enabled when Source of gain is set to Dialog.

  • For a single channel, specify the value for the gain as a scalar, for example, 1.

  • For multiple channels that use the same gain value, specify the value for the gain as a scalar, for example, 1. The gain is set by scalar expansion.

  • For multiple channels that use different gain values, specify the values as a vector, for example, [1 2]. The Nth element of the vector is applied to the Nth channel specified by ChannelMapping.

Channel Mapping

Enter one of the following:

  • 1 — Indicates that only one channel is in use, and that channel is channel 1.

  • 2 — Indicates that only one channel is in use, and that channel is channel 2.

  • [1 2] — Indicates that both channels are in use.

The default value is 1.

Block parameters that are affected by the ChannelMapping value: Gain.

Baseband sampling rate (Hz)

Specify the sampling rate as a double precision, nonnegative scalar. The default value is 3.84 MHz. The valid range of this parameter is 520.841 KHz–61.44 MHz.

    Note:   Verify that the computed rate is close enough to what you actually want by clicking Info on the block mask to synchronize the block with the radio hardware. There could be a small mismatch between desired and actual rates.

Enable burst mode

When selected, this parameter instructs the PicoZed SDR Receiver block to produce a set of contiguous frames without an overrun or underrun to the radio hardware. This setting can help you simulate models that cannot run in real time. When this parameter is selected, specify the amount of contiguous data using the Number of frames in burst parameter. By default, this option is not selected.

Number of frames in burst

Specify the number of frames in contiguous burst.

This parameter is enabled when the Enable burst mode parameter is selected. The default number of frames in a burst is 20.

Output data type

Specify the complex output data type as double, single, or int16. When you select double or single for the output data type, the complex values are scaled to the range of [-1,1]. When you select int16, the complex values are the raw 16-bit I and Q samples from the board. The default is int16.

This block supports the following complex output data types:

  • Double-precision floating point

  • Single-precision floating point

  • 16-bit signed integers

Samples per frame

Specify a positive, scalar integer for the number of samples per frame. Values less than 3660 can yield poor performance. The default value is 3660.

Enable output port for Lost samples indicator

Select this parameter to instruct the PicoZed SDR Receiver block to output a value to indicate whether there are samples lost during host–radio hardware data transfers.

  • Zero indicates no data loss.

  • A positive number indicates that overruns or underruns occurred.

The default value is selected, which means that the port is enabled and information about dropped packets will be displayed.

This port is a useful diagnostic tool to determine real-time operation of the PicoZed SDR Receiver block. If your model is not running in real time, you can increase the decimation factor to approach or achieve real-time performance.

Simulate using

Select simulation method:

  • Code generation (default) — Simulation starts up slower but runs faster.

  • Interpreted execution — Simulation starts up faster but runs slower.

Advanced

Enable quadrature tracking

Select to enable IQ imbalance compensation. Default is selected.

Enable RF DC tracking

Select to enable RF DC blocking filter. Default is selected.

Enable baseband DC tracking

Select to enable baseband DC blocking filter. Default is selected.

Bypass user logic

When you select this option, the Zynq data path bypasses the algorithm generated and programmed during the FPGA targeting workflow. This bypass helps with debugging system start. By default, this option is not selected.

Design custom filter

Launch the ADI filter wizard to design a custom filter for the AD9361.

A default filter design is applied to the filter chain when you set the baseband sampling rate parameter on the receiver block. This process calculates the optimal analog filters, interpolation/decimation filters, and FIR coefficients for the AD9361 for your specified sample rate. If you need different settings, you can change these by invoking the AD9361 filter wizard.

For instructions on operating the ADI filter wizard, visit the Analog Devices website at http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/filters.

When you finish with the wizard, click Apply on the receiver block mask to apply the filter settings.

For more information, see Baseband Sampling Rate and Filter Chains.

    Note:   To run the wizard, you must have the following products (in addition to MATLAB®):

    • Signal Processing Toolbox™

    • DSP System Toolbox™

Specified vs. Actual Device Block Parameter Values

When you set block values for center frequency, intermediate frequency, ADC, gain, and decimation, the block first checks that the values are scalar and real. If your values pass those checks, you can still provide values that are out of range for the radio hardware. In that case, the radio hardware sets the actual value as close to the specified value as possible. When you next synchronize the block with the radio hardware, the actual value is reported in a popup dialog box.

Introduced in R2015b

Was this topic helpful?