Вы находитесь на странице: 1из 46

Radio420X

Perseus Examples

November 2014

Revision History
Revision

Date

Comments

1.0

December 2012

First released revision

1.1

February 2013

Page layout and linguistic revision

1.2

February 2013

Section change

1.3

March 2013

Added Linux examples

1.4

March 2013

Modifications following comments from Support

1.5

June 2013

Added MIMO 4x4 Gigabit Ethernet support and PCI Express Record/Playback and streaming examples

1.6

September 2013

Merge Linux and Windows example and simplified example

1.7

June 2014

Added PicoSDR setup section

1.8

November 2014

Added sudo prefix to Linux shell calls


Up to date for Software Tools Release 6.6

ii

Table of Contents

Radio420 Loopback Example (BSP) ................................................................................... 1


1.1 Requirements................................................................................................................................................ 2
1.1.1 Software requirements ...................................................................................................................... 2
1.1.2 Hardware requirements .................................................................................................................... 2
1.2 Setup ............................................................................................................................................................. 3
1.2.1 Setup for execution on a PicoSDR ..................................................................................................... 3
1.2.2 Setup for execution in a MicroTCA chassis ........................................................................................ 4
1.2.3 Signal generator setup ....................................................................................................................... 4
1.3 Procedure ..................................................................................................................................................... 4
1.4 Expected Results with the Stand-Alone Application ..................................................................................... 9
1.5 Clock disciplining with PPS Sync module .................................................................................................... 10
1.6 Executing the Calibration ............................................................................................................................ 11
1.7 Modifying the Example ............................................................................................................................... 11

Radio420 RTDEx Record/Playback Example (BSDK) for Windows 7 (64 Bits) and Linux (32
and 64 Bits) on Gigabit Ethernet and PCI Express ........................................................... 14
2.1
2.2
2.3
2.4
2.5
2.6
2.7

2.8

2.9
2.10
2.11
2.12
2.13
2.14
2.15

Pass-through test ........................................................................................................................................ 15


DDS test ...................................................................................................................................................... 15
Record test .................................................................................................................................................. 16
Playback test ............................................................................................................................................... 16
Streaming to host test ................................................................................................................................ 16
Streaming from host test ............................................................................................................................ 16
Requirements.............................................................................................................................................. 17
2.7.1 Software requirements .................................................................................................................... 17
2.7.2 Hardware requirements .................................................................................................................. 17
Setup ........................................................................................................................................................... 18
2.8.1 Setup for execution on a PicoSDR on an external PC ...................................................................... 18
2.8.2 Setup for execution on a PicoSDR on its embedded PC .................................................................. 19
2.8.3 Setup for execution in a MicroTCA chassis ...................................................................................... 20
2.8.4 Setup for execution in a MicroTCA chassis on an embedded PC .................................................... 21
2.8.5 Setup for execution of MIMO 4x4 example on a PicoSDR4x4 ......................................................... 21
2.8.6 Signal generator setup ..................................................................................................................... 22
Generating the FPGA configuration file ...................................................................................................... 22
PCI Express link validation .......................................................................................................................... 22
Procedure with Visual Studio on Windows ................................................................................................. 22
Procedure with Makefile on Linux .............................................................................................................. 24
Procedure with the Nutaq Command-Line Interface on Windows ............................................................ 25
Procedure with the Nutaq Command-Line Interface on Linux ................................................................... 26
Expected Results with Visual Studio and Makefile ..................................................................................... 27
2.15.1 PPS Sync results ............................................................................................................................... 30
2.15.2 Calibration results ............................................................................................................................ 31
2.15.3 Pass-through results ........................................................................................................................ 32
2.15.4 DDS results....................................................................................................................................... 32
2.15.5 Record results .................................................................................................................................. 33
2.15.6 Playback results ............................................................................................................................... 34
2.15.7 Streaming to host results................................................................................................................. 34

iii

2.15.8 Streaming from host results ............................................................................................................ 37


2.16 Expected Results with Nutaq's Command Line Interface ........................................................................... 39
2.16.1 Record results .................................................................................................................................. 39
2.16.2 Playback results ............................................................................................................................... 39
2.16.3 RF calibration results ....................................................................................................................... 40
2.16.4 PPS Sync results ............................................................................................................................... 40

iv

List of Figures

Figure 1-1 Radio420X loopback example diagram ........................................................................................................ 1


Figure 1-2 PicoSDR with an external PC ......................................................................................................................... 3
Figure 1-3 Perseus in a MicroTCA chassis, with an external PC ..................................................................................... 4
Figure 1-4 Workspace Launcher dialog box .................................................................................................................. 5
Figure 1-5 Project Explorer tab ..................................................................................................................................... 5
Figure 1-6 Xilinx Board Support Package dialog box ..................................................................................................... 5
Figure 1-7 Import Projects dialog box ........................................................................................................................... 6
Figure 1-8 Acquisition Project menu ............................................................................................................................. 7
Figure 1-9 Program FPGA dialog box ............................................................................................................................ 7
Figure 1-10 Debug Configurations dialog box ............................................................................................................... 8
Figure 1-11 ChipScope Pro window .............................................................................................................................. 9
Figure 1-12 Sample acquisition ................................................................................................................................... 10
Figure 2-1 Radio420X record/playback diagram......................................................................................................... 14
Figure 2-2 Radio420X RTDEx streaming diagram ........................................................................................................ 15
Figure 2-3 PicoSDR with an external PC ....................................................................................................................... 18
Figure 2-4 PicoSDR with an its embedded PC .............................................................................................................. 19
Figure 2-5 Perseus in a MicroTCA chassis, with an external PC ................................................................................... 20
Figure 2-6 Perseus in a MicroTCA chassis, with an external PC ................................................................................... 21
Figure 2-7 Perseus in a MicroTCA chassis, with an external PC ................................................................................... 21
Figure 2-8: Example start ............................................................................................................................................. 27
Figure 2-9: SISO radio initialization .............................................................................................................................. 27
Figure 2-10: MIMO initialization .................................................................................................................................. 28
Figure 2-11: MIMO 4x4 Initialialization ....................................................................................................................... 29
Figure 2-12: PPS Sync failure ....................................................................................................................................... 30
Figure 2-13: PPS Sync success ...................................................................................................................................... 30
Figure 2-14: SISO calibration results ............................................................................................................................ 31
Figure 2-15: MIMO calibration results ......................................................................................................................... 31
Figure 2-16: MIMO 4x4 Calibration results .................................................................................................................. 31
Figure 2-17: Pass-through expected results ................................................................................................................ 32
Figure 2-18: DDS expected results ............................................................................................................................... 32
Figure 2-19: Record expected results .......................................................................................................................... 33
Figure 2-20: Matlab plot for record test ...................................................................................................................... 33
Figure 2-21: Playback expected results ....................................................................................................................... 34
Figure 2-22: Streaming to host SISO expected results ................................................................................................. 34
Figure 2-23: Streaming to host MIMO expected results.............................................................................................. 34
Figure 2-24: Streaming to host MIMO 4x4 expected results ....................................................................................... 35
Figure 2-25: Streaming to host stats ............................................................................................................................ 35
Figure 2-26: Matlab plot for streaming to host test .................................................................................................... 36
Figure 2-27: Streaming from host SISO expected results ............................................................................................ 37
Figure 2-28: Streaming from host MIMO expected results ......................................................................................... 37
Figure 2-29: Streaming from host MIMO 4x4 expected results .................................................................................. 37
Figure 2-30: Streaming from host stats ....................................................................................................................... 38
Figure 2-31 CLI record expected results ..................................................................................................................... 39
Figure 2-32 CLI playback expected results .................................................................................................................. 39
Figure 2-33 CLI RF calibrate expected results ............................................................................................................. 40
Figure 2-34: CLI PPS Sync expected results .................................................................................................................. 40

vi

Radio420Perseus Examples

1 Radio420 Loopback Example (BSP)

This example aims to illustrate how to interface the Perseus with the Radio420X FMC. It demonstrates an RF
loopback performed at various frequencies, viewing the TX and RX data signals in ChipScope Pro. The example
handles either a SISO configuration (Radio420s) or a MIMO configuration (Radio420m).
Custom Register 1 selects the operating mode of LimeDataMux. When 0, the ADC data is sent back to the DAC,
when 1, the DDS 1 output data is sent to the DAC and finally when 4, the sum of DDS1 and DDS2 outputs is sent to
the DAC.
Custom Register 0 and Custom Register 2 must be used to set DDS frequencies.
ChipScope Wrapper is used to demultiplex ADC and DAC IQ data. The generated ChipScope user clock is half the
rate of the radio design clock and is used to display I and Q data on different ChipScope channels.

Chipscope
Wrapper
Radio420 FMC 1

ADC I
ADC Q
DAC I
DAC Q
UserClk

Chipscope

Legend :
Radio Design Clk
Signals on Radio Design Clk
Chipscope User Clk
Signals on Chipscope User Clk
Signals on Axi Clk

DesignClkOutput
LimeDataMux
Clk

ADC
Data

ADC data

IQSel

ADC IQSel

FMC 1

DDS frequency 1

Custom
Register 0

DDS frequency 2

Custom
Register 2

Mux selector

Custom
Register 1

DAC
Data

DAC data

IQSel

DAC IQSel

Chipscope
Wrapper
Radio420 FMC 2

ADC I
ADC Q
DAC I
DAC Q
UserClk

Chipscope

DesignClkInput
LimeDataMux
Clk

ADC
Data

ADC data

IQSel

ADC IQSel

DDS frequency 1

DDS frequency 2

FMC 2
DAC
Data

DAC data

IQSel

DAC IQSel

Mux selector

Figure 1-1 Radio420X loopback example diagram

1.1 Requirements
1.1.1 Software requirements
These are the software requirements to compile and run the example.
Windows example

Xilinxs Platform Studio 13.4

ADP Software Tools TCA edition

1.1.2 Hardware requirements


These are the hardware requirements to run the examples depending on the setup used.
PicoSDR

Perseus in a TCA chassis


SISO

Perseus in a TCA chassis


MIMO

1 PicoSDR (any version)

1 Perseus

1 Perseus

1 FPGA JTAG pod

1 Radio420s

1 Radio420m

2 MMCX to SMA or MMCX to BNC


cables

1 MicroTCA chassis with its TCA


Carrier Hub (MCH)

1 MicroTCA chassis with its TCA


Carrier Hub (MCH)

1 MMCX to MMCX cable


1 spectrum analyzer of up to 3.8 GHz

2 MMCX to SMA or MMCX to BNC


cables

2 MMCX to SMA or MMCX to BNC


cables

1 signal generator of up to 3.8 GHz

1 FPGA JTAG pod

1 MMCX to MMCX cable

1 PC running Xilinx Platform Studio and


handling the JTAG connection

1 PC running Xilinx Platform Studio


and handling the JTAG connection

1 PC running Xilinx Platform Studio


and handling the JTAG connection

1 spectrum analyzer of up to 3.8


GHz

1 spectrum analyzer of up to 3.8


GHz

1 signal generator of up to 3.8 GHz

1 signal generator of up to 3.8 GHz

Setup to run the example

Setup to run the example

Setup to run the example

1.2 Setup
1.2.1 Setup for execution on a PicoSDR
MMCX to SMA (RX)
Radio420
2

MMCX to SMA (TX)


Rin

PicoDigitizer

Rout
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

Signal
Generator
Spectrum
analyzer

JTAG

Figure 1-2 PicoSDR with an external PC

The following procedure must be performed to execute the examples on a PicoSDR system with an external PC.
To set up the example:
1.

Connect the FPGA JTAG pod to the computer and then the PicoSDR back panel.
Refer to the PicoSDR Users Guide documents for details about performing this operation.

1.2.2 Setup for execution in a MicroTCA chassis

MCH

MCH

SISO
configuration

MIMO
configuration
MMCX to SMA (RX)

Chassis

Radio420
2

Chassis

MMCX to SMA (TX)


Rin

Perseus
JTAG

Perseus
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

Signal
Generator

Rout
JTAG

Radio420
1

Spectrum
analyzer

MMCX to SMA (RX)


MMCX to SMA (TX)

Signal
Generator
Spectrum
analyzer

Figure 1-3 Perseus in a MicroTCA chassis, with an external PC

1.

If not already done, install the Radio420 card on the Perseus.

2.

If not already done, connect the FPGA JTAG pod to the computer and then to the Perseus.
Refer to the FPGA JTAG pod documentation for details about performing this operation.

3.

If not already done, insert the Perseus into the TCA chassis.

1.2.3 Signal generator setup


To setup the example:
1.

Connect a MMCX to SMA (or MMCX to BNC) cable between the FMCRadio RX connector and the signal
generator.

2.

Connect a MMCX to SMA (or MMCX to BNC) cable between the FMCRadio TX connector and the spectrum
analyzer.

3.

If in MIMO configuration, connect the MMCX to MMCX cable between the Radio #1 FMC Rout connector and
the Radio #2 FMC Rin connector.

4.

Turn on the TCA chassis or the PicoSDR.

This allows the two cards to use the same clock reference.

1.3 Procedure
To perform the test:
1.

Open the Platform Studio project file in the ..\perseus6010_radio420x_loopback\edk\ folder.

2.

In Platform Studio, on the Project menu, click Project Options. Under General tab select your Target Device
matching your Perseus.

3.

In Platform Studio, on the Hardware menu, click Generate Bitstream.

4.

On the Project menu, click Export Hardware Design to SDK.

5.

In the Export to SDK/Launch SDK dialog box, click Export & Launch SDK.

6.

In the Workspace Launcher dialog box, next to Workspace, click the Browse button and select
[ADPROOT]\\examples_perseus6010\perseus6010_radio420x_loopback\sdk\workspace.

Figure 1-4 Workspace Launcher dialog box

7.

Click OK.

8.

In Xilinx SDK, on the Project Explorer tab, there should be a hardware platform specification project named
edk_hw_platform.

Figure 1-5 Project Explorer tab

9.

In the Xilinx SDK main window, on the File menu click New and click Xilinx Board Support Package.

10. In the Project name box, type the name of the new board support package:
For example, radio420_bsp.
11. In the Hardware Platform list, make sure that the radio420 hardware platform is selected.

Figure 1-6 Xilinx Board Support Package dialog box

12. Click Finish to create the board support package.


13. In the Board Support Package Settings dialog box, click OK for now to close the settings.
14. Verify that the BSP has built successfully.
5

15. In Xilinx SDK, on the File menu, click Import.


16. In the Import dialog box, in the list, click the General folder, and click Existing Projects into Workspace.
17. Click Next.
18. Select Select root directory and click the Browse button.
19. In the Browse for Folder dialog box, select
[ADPROOT]\examples_perseus6010\perseus6010_radio420x_loopback \sdk\workspace and click OK.

Figure 1-7 Import Projects dialog box

20. Under Projects, make sure that the FMCRadioInit project is selected.
21. Click Finish.
The elf file is generated automatically.
At this point it is possible the build fails.
If so, on the Project Explorer tab, right-click the FmcRadioInit project and select Change Referenced BSP.
Select your Xilinx Board Support Package as the reference. The FMCRadioInit project will rebuild.

Figure 1-8 Acquisition Project menu

22. The following success message should be displayed in the console window:
ELF file: FMCRadioInit.elf
elfcheck passed.
Finished building: FMCRadioInit.elf.elfcheck
23. By default, the example application configures the Radio420X acquisition clock at 40 MHz and the RF carrier
clock at 943 MHz and 953 MHz for reception and transmission.
24. Start the Perseus card.
25. In the Xilinx main window, on the Tools menu, click Program FPGA.
26. In the Program FPGA dialog box, click the Program button.

Figure 1-9 Program FPGA dialog box

27. In the main window, in the Project Explorer pane, right-click FMCRadioInit .elf [microblaze/be] (under
FMCRadioInit> Binaries).
28. On the contextual menu, point to Debug as and click Debug configurations.
29. In the Debug Configurations dialog box, in the left pane, double-click Xilinx C/C++ ELF.

Figure 1-10 Debug Configurations dialog box

30. In the right pane, click the STDIO Connection tab.


31. Select the Connect STDIO to Console check box.
32. In the Port list, select JTAG UART and click Apply.
33. Click the Debug button.
The elf file is downloaded automatically.
34. If the Confirm Perspective Switch dialog box opens, select the Remember my decision check box and click
Yes.

35. In the main window, on the Run menu, click Resume.


In the Console, the following message should appear.
Radio420s standalone SISO test
Bottom FMC: Radio420 AXI FPGA core is present
Bottom FMC: Radio420 set as REV D...
Bottom Radio420 setup:
Resetting Hardware
Configuring PLL
- Reference frequency: 30720000 Hz
- Acquisition frequency: 40000000 Hz
- Lime frequency: 30720000 Hz
PLL is locked
Configuring Gain
Configuring Lime PLL
- RX Carrier Frequency: 943 MHz
- TX Carrier Frequency: 953 MHz
- Low band is used
Configuration done!
Do you want to perform Radio clock disciplining with PPS Sync module? A GPS Pulse-persecond signal must be connected to the PPS in connector on the Radio420 front panel

1.4 Expected Results with the Stand-Alone Application


To get the expected results:
1.

Start ChipScope Pro.

Figure 1-11 ChipScope Pro window

2.

In the top left corner of the screen, click Open Cable/Search JTAG chain and click OK.

3.

On the File menu, click Open Project.

4.

When ChipScope Pro prompts you to save the existing project, click No.

5.

Browse to the ChipScope Pro project file in the \perseus6010_radio420x_loopback\chipscope folder, select
radio420m_loopback.cpj (for MIMO) or radio420s_loopback.cpj (for SISO), and click Open.

6.

Connect a signal generator to the RX connector, at 944 MHz and 0 dBm.

7.

Connect the TX connector to a spectrum analyzer.

8.

The spectrum analyzer should display a tone at 954 MHz (953 MHz LO + 1 MHz DDS).

9.

Click the Trigger Now and Display the Buffered Samples button (the T! button).

Alternately, on the Trigger Setup menu, click Trigger Immediate. Chipscope triggers the acquisition of samples
and displays them in the bus plot.

Figure 1-12 Sample acquisition

The Chipscope window should display a 1MHz tone for the ADC signals since the RX LO frequency is at 943 MHz.
The DAC signals are from the internal DDS configured at 1 MHz.
Note:

To trigger another acquisition of samples, click the T! button again. You may connect different antennas or
modify the distance between the antennas, and then repeat the test as many times as you need.

1.5 Clock disciplining with PPS Sync module


Once Radio initialization is done, the user is prompted with the option to discipline the radio acquisition clock to a
GPS Pulse-Per-Second signal, using the PPS sync module. Enter 'y' to execute the synchronization. A PPS signal
must be connected to the Radio420 PPS in connector. If no signal is present, the synchronization fails.
PPS-SYNC initialize.
Failed to detect PPS pulse : 0xc0740003

The following illustrates a successful PPS synchronization:


PPS-SYNC initialize.
Waiting for VCXO locked to GPS...
tick= 39999979 cte=
21 ppb=525
tick= 39999990 cte=
31 ppb=250
tick= 39999995 cte=
36 ppb=125
tick= 39999998 cte=
38 ppb= 50
tick= 39999998 cte=
40 ppb= 50
tick= 40000000 cte=
40 ppb= 0
tick= 40000000 cte=
40 ppb= 0
tick= 40000000 cte=
40 ppb= 0
tick= 40000000 cte=
0 ppb= 0
tick= 39999999 cte=
0 ppb= 0
tick= 40000001 cte=
0 ppb= 0
tick= 40000000 cte=
0 ppb= 0
tick= 40000001 cte=
0 ppb= 0
tick= 40000001 cte=
0 ppb= 0
tick= 40000001 cte=
0 ppb= 0
tick= 40000001 cte=
0 ppb= 0
tick= 40000001 cte=
0 ppb= 0
tick= 40000001 cte=
0 ppb= 0

10

dac=38603
dac=38891
dac=39035
dac=39092
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150
dac=39150

lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0
lock=0

tick= 40000001 cte=


tick= 40000000 cte=
VCXO locked to GPS

0 ppb=
0 ppb=

0 dac=39150 lock=0
0 dac=39150 lock=1

The information is displayed upon lock.

Tick is the current ADC/DAC clock count per second.

cte is the cumulative sample error since the start of the algorithm

ppb is the current error in parts per billion

dac is the current dac value

lock is the current lock state (1 means locked)

1.6 Executing the Calibration


To execute the calibration:
1.

Press Enter in the test console as prompted to start the calibration.

2.

The calibrations executed are the LO Leakage calibration and the Single Side Band calibration

3.

The console should show the following:


Bottom Radio420 RF Calibration:
Calibrating to minimize LO leakage...
DONE
Calibrating IQ gain and phase...
DONE
Calibrating RF Front-End DC offset...
DONE
Reconfiguring PLL
PLL is locked
Reconfiguring Lime PLL
- Low band is used
Reconfiguring Gain
Done.

4.

You may now check the calibrated signal with a spectrum analyzer.

1.7 Modifying the Example


To modify the example:
1.

To set the example for a MIMO configuration, uncomment the MIMO definition and comment the SISO
definition in the main.c header.
When running the example, the console output should be the following:
Radio420m standalone MIMO test
Bottom FMC: Radio420 AXI FPGA core is present
Top FMC: Radio420 AXI FPGA core is present
Bottom FMC: Radio420 set as REV D...
Top FMC: Radio420 set as REV D...
Bottom Radio420 setup:
Resetting Hardware
Configuring PLL
- Reference frequency: 30720000 Hz
- Acquisition frequency: 40000000 Hz
- Lime frequency: 30720000 Hz
PLL is locked
Configuring Gain
Configuring Lime PLL
- RX Carrier Frequency: 943 MHz
- TX Carrier Frequency: 953 MHz
- Low band is used
Configuration done!
Top Radio420 setup:
Resetting Hardware
Configuring PLL
- Reference frequency: 30720000 Hz

11

- Acquisition frequency: 40000000 Hz


- Lime frequency: 30720000 Hz
PLL is locked
Configuring Gain
Configuring Lime PLL
- RX Carrier Frequency: 943 MHz
- TX Carrier Frequency: 953 MHz
- Low band is used
Configuration done!

2.

Check with a spectrum analyzer to see the signal without calibration.

3.

Press enter to compensate the signal IQ gain and phase imbalance, RX RF front-end DC offset, and LO leakage.

4.

To change the FMC hardware revision used, modify the BOTTOMREV and TOPREV definitions in the main.c
header.

5.

To change the carrier frequency, modify the carrier frequency declarations at the beginning of the main
function in the main.c
For example change
unsigned tx_carrier_frequency = (unsigned) 953e6;

to
unsigned tx_carrier_frequency = (unsigned) 650e6;

The expected console result is:


Bottom Radio420 setup:
Resetting Hardware
Configuring PLL
- Reference frequency: 30720000 Hz
- Acquisition frequency: 40000000 Hz
- Lime frequency: 30720000 Hz
PLL is locked
Configuring Gain
Configuring Lime PLL
- RX Carrier Frequency: 943 MHz
- TX Carrier Frequency: 650 MHz
Configuration done!

12

6.

To change the Radio frequency from low band to high band, change the carrier frequency from
unsigned tx_carrier_frequency = (unsigned) 953e6;

to
unsigned tx_carrier_frequency = (unsigned) 2200e6;

The expected console result is:


Bottom Radio420 setup:
Resetting Hardware
Configuring PLL
- Reference frequency: 30720000 Hz
- Acquisition frequency: 40000000 Hz
- Lime frequency: 30720000 Hz
PLL is locked
Configuring Gain
Configuring Lime PLL
- RX Carrier Frequency: 943 MHz
- TX Carrier Frequency: 2200 MHz
- High band is used
Configuration done!

7.

To change the Radio acquisition frequency, modify the acquisition_frequency declaration at the beginning of
the main function in the main.c.
For example change
acquisition_frequency = (unsigned) 40e6;

to
acquisition_frequency = (unsigned) 10.24e6;

A list of valid values for this field can be found in the description of the
E_FMCRADIO_DATARATE_REF_30_72MHZ enum in the fmc_radio_defines.h file.
Note:

The frequency configure by this parameter is the operating frequency of the RF chip of the Radio420. Since
the I and Q samples are interleaved, if you want a specific sampling frequency for I and Q signals, the
Radio420 operating frequency must be configured twice as fast.
The expected console result is:
Bottom Radio420 setup:
Resetting Hardware
Configuring PLL
- Reference frequency: 30720000 Hz
- Acquisition frequency: 10240000 Hz
- Lime frequency: 30720000 Hz
PLL in bypass
Configuring Gain
Configuring Lime PLL
- RX Carrier Frequency: 943 MHz
- TX Carrier Frequency: 953 MHz
Configuration done!

13

2 Radio420 RTDEx Record/Playback Example (BSDK)


for Windows 7 (64 Bits) and Linux (32 and 64 Bits)
on Gigabit Ethernet and PCI Express

The Radio420X RTDEX and Record/Playback example illustrates how to record data from the Radio420X ADC and
how to playback data on the Radio420X DAC. The example handles either a SISO or a MIMO configuration. Figure
2-1 and 2-2 illustrate the example setup.

Record/ Playback

I
Q

ADC Data
Sync

Bottom
FMC

Gigabit
Ethernet or
PCIe
RTDEx

Record
I
Q

Radio420 core

DAC Data
Mem to
Host

Channel 0
TX

To and from
Host
Host to
Mem

Channel 0
RX

ADC Data

Top
FMC

I
Q

Radio420 core

DAC Data

I
Q

IQ Mux

Sync

Playback
I
Q

I Q
DDS
Generator

Figure 2-1 Radio420X record/playback diagram

14

Gigabit
Ethernet or
PCIe
RTDEx
I
Q

ADC Data
Sync

Radio 1

Radio420 core

Channel 1
TX

I
Q

Channel 2
TX

I
Q

DAC Data

To and from
Host
I
Q

IQ Mux
ADC Data

Radio 2

Channel 1
RX

Sync
I
Q

Channel 2
RX

Radio420 core
I
Q

DAC Data

Figure 2-2 Radio420X RTDEx streaming diagram

The synchronization blocks allow the user to synchronize the transmitter and receiver channels. On the
PicoSDR4x4, up to 4 TX and 4 RX channels can synchronized through AMC port 14. The blocks make sure the radio
data is written to memory or read from memory at the same time for all four channels.
A write of 1 to custom register 3 (address 0x71000024 of the MicroBlaze AXI-bus) will enable writes to the memory
on all channels, making sure the first sample written to the memory was sampled at the same time on all channels.
Custom register 4 (address 0x71000028 of the MicroBlaze AXI-bus) handles the synchronization of the
transmitters. The TX synchronization block verifies that all transmitters have data to send. To disable the
synchronization, write 0 to the register. To enable a MIMO 2x2 sync on a Radio420m stack, write 1 to the register.
To enable a MIMO4x4 synchronization on the PicoSDR4x4, write 2 to the register.
The MIMO 4x4 example is only supported on the PicoSDR and with GIgabit Ethernet RTDEx.

2.1 Pass-through test


The pass-through test routes all data acquired on the Radio ADCs directly to the Radio DACs.

2.2 DDS test


A DDS generator core generates a tone which is sent to both Radio420X DACs. The tone is configurable in
frequency and in amplitude. When a record is done in the example, the user can select 4 different sources for
Radio420X DACs.

DDS output

DDS output -3 dB

DDS output -6 dB
15

Dual tone DDS

2.3 Record test


The RF signal is acquired and is stored to memory by the Record module. The RTDEx modules (RTDEx or PCI
Express) is then used to retrieve the data from the host, where it is stored in a binary file.

2.4 Playback test


A waveform is written in Perseus memory and played back on the Radio DACs by the Record/Playback module

2.5 Streaming to host test


Radio ADC data is streamed directly on the host where it is stored in a binary file.

2.6 Streaming from host test


A waveform is streamed to the Perseus by the RTDEx module (RTDEx or PCI Express). The data is routed to the
Radio DACs

16

2.7 Requirements
2.7.1 Software requirements
These are the software requirements to run and compile the example depending of the operating system used.
Windows example

Linux example (Fedora or Ubuntu)

Xilinxs Platform Studio 13.4


Visual Studio 2008 SP1
ADP Software Tools TCA edition

Xilinx Platform Studio 13.4


ADP software tools TCA edition for Linux

2.7.2 Hardware requirements


These are the hardware requirements to run the examples depending on the setup used.
PicoSDR with external
PC

PicoSDR with
embedded CPU

Perseus in a TCA chassis


with External PC

Perseus and
embedded PC in a
TCA chassis

1 PicoSDR (any version)

1 PicoSDR2x2-E

1 Perseus

1 Perseus

1 PC with a Gigabit Ethernet


network card (jumbo frame
capable)

1 computer Xilinx Impact (to


operate the FPGA JTAG pod)

1 Radio420s or Radio420m

1 Radio420s or
Radio420m

1 Gigabit Ethernet cable

2 MMCX to SMA or MMCX


to BNC cables

1 PCI Express extension cable


(for PCIe example)
1 FPGA JTAG pod
2 MMCX to SMA or MMCX to
BNC cables
1 MMCX to MMCX cable

1 FPGA JTAG pod

1 MMCX to MMCX cable

1 MicroTCA chassis with its TCA


Carrier Hub (MCH)
1 computer with a Gigabit
Ethernet network card (jumbo
frame capable)

1 spectrum analyzer of up to
3.8 GHz

1 Gigabit Ethernet cable

1 signal generator of up to
3.8 GHz

2 MMCX to SMA or MMCX to


BNC cables

1 spectrum analyzer of up to
3.8 GHz

1 FPGA JTAG pod

1 MMCX to MMCX cable


1 spectrum analyzer of up to 3.8
GHz

1 signal generator of up to
3.8 GHz

1 signal generator of up to 3.8


GHz
1 1-GHz oscilloscope

Setup to run the example

Setup to run the example

Setup to run the example

1 embedded PC running
Linux Fedora or Ubuntu
1 MicroTCA chassis with
its TCA Carrier Hub
(MCH)
1 FPGA JTAG pod1
computer with Xilinx
Impact (to operate the
FPGA JTAG pod)
2 MMCX to SMA or
MMCX to BNC cables
1 MMCX to MMCX cable
1 spectrum analyzer of
up to 3.8 GHz
1 signal generator of up
to 3.8 GHz

Setup to run the example

17

2.8 Setup
2.8.1 Setup for execution on a PicoSDR on an external PC
MMCX to SMA (RX)
Radio420
2

MMCX to SMA (TX)


Rin

PicoSDR
Rout
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

Signal
Generator
Spectrum
analyzer

JTAG GigE PCIe

Figure 2-3 PicoSDR with an external PC

The following procedure must be performed to execute the examples on a PicoSDR system with an external PC.
To set up the example:
1.

Connect the FPGA JTAG pod to the external PC and then the PicoSDR back panel.
Refer to the PicoSDR Users Guide documents for details about performing this operation.

2.

Connect the Gigabit Ethernet cable between the external PC and the PicoSDR back panel.

3.

Connect the PCI Express extension cable between the external PC and the PicoSDR back panel.

18

2.8.2 Setup for execution on a PicoSDR on its embedded PC


PicoSDR
Embedded PC

GigE
or
PCIe

MMCX to SMA (RX)


Radio420
2

MMCX to SMA (TX)


Rin

Perseus

Rout
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

Signal
Generator
Spectrum
analyzer

JTAG

Figure 2-4 PicoSDR with an its embedded PC

The PicoSDR2x2-E contains an embedded PC and a Perseus. The following procedure must be performed to
execute the examples on a PicoSDR system with its embedded PC.
To set up the example:
1.

Connect the FPGA JTAG pod to the computer and then the PicoSDR back panel.
Refer to the PicoSDR Users Guide documents for details about performing this operation.

19

2.8.3 Setup for execution in a MicroTCA chassis


MCH

MCH

SISO
configuration

MMCX to SMA (RX)


Chassis

Chassis

GigE

Radio420
2

GigE

GigE

Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

Signal
Generator

GigE

MMCX to SMA (TX)


Rin

Perseus

Perseus

MIMO
configuration

Rout
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

Spectrum
analyzer

Signal
Generator
Spectrum
analyzer

JTAG

JTAG

Figure 2-5 Perseus in a MicroTCA chassis, with an external PC

1.

If not already done, install the Radio420s or Radio420m card on the Perseus.

2.

If not already done, connect the FPGA JTAG pod to the computer and then to the Perseus.

3.

Connect the Gigabit Ethernet cable between the MCHs front panel Ethernet connector and your PCs Gigabit
Ethernet network card.

4.

If not already done, insert the Perseus into the TCA chassis.

Refer to the FPGA JTAG pod documentation for details about performing this operation.

20

2.8.4 Setup for execution in a MicroTCA chassis on an embedded PC


MCH

MCH

GigE
Or PCIe

GigE
Or PCIe
Embedded PC

Embedded PC

SISO
configuration

Chassis
GigE
Or
PCIE

Perseus
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

MMCX to SMA (RX)

Chassis
GigE
Or
PCIE

Signal
Generator

MIMO
configuration

Radio420
2

MMCX to SMA (TX)


Rin

Perseus

Rout
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

Spectrum
analyzer

JTAG

Signal
Generator
Spectrum
analyzer

JTAG

Figure 2-6 Perseus in a MicroTCA chassis, with an external PC

1.

If not already done, install the ADAC250 card on the Perseus.

2.

If not already done, connect the FPGA JTAG pod to the computer and then to the Perseus.
Refer to the FPGA JTAG pod documentation for details about performing this operation.

3.

If not already done, insert the Perseus into the TCA chassis.

2.8.5 Setup for execution of MIMO 4x4 example on a PicoSDR4x4


MMCX to SMA (RX)
Radio420
2

MMCX to SMA (TX)


Rin

Perseus B

Rout
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)
Rin

PicoSDR 4x4

Rout
Radio420
2

MMCX to SMA (RX)


MMCX to SMA (TX)
Rin

Perseus A

Rout
Radio420
1

MMCX to SMA (RX)


MMCX to SMA (TX)

JTAG

Signal
Generator
Spectrum
analyzer

GigE
or
PCIe

Figure 2-7 Perseus in a MicroTCA chassis, with an external PC

21

2.8.6 Signal generator setup


To setup the test:
1.

Connect a MMCX to SMA cable between the FMCRadio RX connector and the signal generator.

2.

Connect a MMCX to SMA cable between the FMCRadio TX connector and the spectrum analyzer.

3.

If in MIMO configuration, connect the MMCX to MMCX cable between Radio #1's FMC ROUT connector and
the Radio #2's FMC RIN connector.
This allows the two cards to use the same clock reference.

4.

If in MIMO 4x4 configuration, connect MMCX to MMCX cables between Radio #2's FMC ROUT connector and
the Perseus B's Radio #1' FMC RIN connector and between Perseus B's Radio #1 FMC ROUT connector and
Perseus B Radio #2 FMC RIN connector.
This allows the four cards to use the same clock reference.

5.

Turn on the TCA chassis or the PicoSDR.

2.9 Generating the FPGA configuration file


1.

To compile the Gigabit Ethernet RTDEx example, open the Platform Studio project file in the
\perseus6010_radio420x_rtdex_record_playback\edk_gige\ folder.

2.

In Platform Studio, on the Project menu, click Project Options. Under General tab select your Target Device
matching your Perseus.

3.

In Platform Studio, on the Hardware menu, click Generate Bitstream.

4.

On the Device Configuration menu, click Download Bitstream.

2.10 PCI Express link validation


If the PCI Express medium is used, follow this procedure to validate the PCI Express link.
1.

Once the Perseus is configured and has booted, power cycle the PC to allow it to enumerate the Perseus PCI
Express device.

2.

Validate the PCI Express link presence. Follow the instructions given in the Installing the PCI Express Drivers.pdf
document at the /documentation/pdf/Perseus location.

3.

Install the PCI Express driver on the host PC. Follow the instructions given in the Installing the PCI Express
Drivers.pdf document at the /documentation/pdf/Perseus location.

2.11 Procedure with Visual Studio on Windows


To perform the example with Visual Studio:
1.

Start Microsoft Visual Studio.

2.

On the File menu, point to Open and click Project/Solution.

3.

Browse to the ..\ perseus6010_radio420x_rtdex_record_playback \host\prj_win\ folder and select the file
named perseus6010_radio420x_rtdex_record_playback.sln.
The host software project opens and the hierarchy of the project appears in the Solution Explorer panel. If the
Solution Explorer panel is not visible, on the View menu click Solution Explorer.

4.

Select the Release, x64 build configuration.

5.

On the Build menu, click Build Solution.

6.

Specify the necessary application parameters for the host software in the
Launch_radio420x_rtdex_record_playback.bat file in the ADPROOT\examples_perseus6010\
perseus6010_radio420x_rtdex_record_playback\host\prj_win\ folder.
The application parameters are specific to the hardware used:

22

Argument 1 is the IP address of the Perseus

Argument 2 is the number of radios used in the test (enter 1 for a SISO test, 2 for a MIMO test and 4
for a MIMO 4x4 test).

Argument 3 is the record file path and name

Argument 4 is the number of samples per channel which will be recorded

Argument 5 is present if test is MIMO 4x4. It is the IP address of Perseus B

The IP_ADDR_PERSEUS parameter contains the IP address of the Perseus port 0 (for example, 192.168.0.101).
The bytes of this address must be separated by periods.
For the example value above, the combined argument would be: SET IP_ADDR_PERSEUS=192.168.0.101.
Notes

The values presented here are for the example purposes; it is important to specify addresses for the
hardware actually used.
7.

Save and close the file.

8.

Set the signal generator to generate a 944-MHz sine.


The receiver being configured at 943 MHz, therefore a 1-MHz sine signal is expected to be acquired.

9.

Set the spectrum analyzer at 953 MHz.

10. Double-click Launch_radio420x_rtdex_record_playback.bat.


The test starts automatically.

23

2.12 Procedure with Makefile on Linux


To perform the example:
1.

In the Linux installation, browse to


/opt/Nutaq/ADP/ADP_MicroTCA/sdk/examples/perseus6010_radio420x_rtdex_record_playback
/host/prj_linux

2.

To build the example, run the following command in the Linux terminal.
sudo ./build_demo.sh

3.

Edit the Launch_radio420x_rtdex_record_playback.sh file.

4.

Specify the necessary application parameters for the host software in the
Launch_radio420x_rtdex_record_playback.sh. Change the IP address to match the address of the Perseus.
The application parameters are specific to the hardware used:

Argument 1 is the IP address of the Perseus

Argument 2 is the number of radios used in the test (enter 1 for a SISO test, 2 for a MIMO test and 4
for a MIMO 4x4 test).

Argument 3 is the record file path and name

Argument 4 is the number of samples per channel which will be recorded

Argument 5 is present if test is MIMO 4x4. It is the IP address of Perseus B

5.

Save and close the file.

6.

Set the signal generator to generate a 944-MHz sine at 0 dBm.


The receiver being configured at 943 MHz, therefore a 1-MHz sine signal is expected to be acquired.

7.

To start the example, run the following command in the Linux terminal.
sudo ./Launch_radio420x_rtdex_record_playback.sh
The test starts automatically.

24

2.13 Procedure with the Nutaq Command-Line Interface on Windows


To perform the example using Nutaq Command-Line interface:
1.

Browse to the ADPROOT\examples_perseus6010\perseus6010_radio420x_rtdex_record_playback\host\cli\


folder.
The folder contains multiple CLI scripts that can be used to test the Radio420X hardware and to record and
playback data. The following scripts can be run.
Test

SISO script

MIMO script

Radio configuration with RF calibration

radio420s_rf_calibrate_demo

radio420m_rf_calibrate_demo

Data record

radio420s_record

radio420m_record

Data playback

radio420s_playback

radio420m_playback

PPS Sync

radio420x_ppssync

radio420x_ppssync

Table 1 CLI script list

2.

Before running a script, open the associated .txt file (that is, radio420x_siso_record.txt) and replace the
Perseus IP address with a value that is compatible with your system configuration.

3.

To start the example, double-click associated batch file (that is, launch_radio420s_record.bat).

This is to allow the system to communicate with the Perseus.

25

2.14 Procedure with the Nutaq Command-Line Interface on Linux


To perform the example using Nutaq Command-Line interface:
1.

Browse to the
/opt/Nutaq/ADP/ADP_MicroTCA/sdk/examples/perseus6010_radio420x_rtdex_record_playback /host/cli
folder.
The folder contains multiple CLI scripts that can be used to test the Radio420X hardware and to record and
playback data. The following scripts can be run.
Test

SISO script

MIMO script

Radio configuration with RF calibration

radio420s_rf_calibrate_demo

radio420m_rf_calibrate_demo

Data record

radio420s_record

radio420m_record

Data playback

radio420s_playback

radio420m_playback

PPS Sync

radio420x_ppssync

radio420x_ppssync

Table 2 CLI script list

2.

Before running a script, open the associated .txt file (that is, radio420x_siso_record.txt) and replace the
Perseus IP address with a value that is compatible with your system configuration.
This is to allow the system to communicate with the Perseus.

3.

To start the example, launch the associated shell file (that is, launch_radio420s_record.sh) using the sudo
prefix
Example: sudo ./launch_radio420s_record.sh

26

2.15 Expected Results with Visual Studio and Makefile


As the example starts, the connection to the Perseus is established and the user is prompted with the test choice.
Information is also displayed in the console, such as the number of cards used (SISO, MIMO or MIMO4x4) and the
RTDEx Media detected in the FPGA configuration.

Figure 2-8: Example start

The user must choose which test to execute. Once the choice is done, the Radio420 FMCs will be initialized.

Figure 2-9: SISO radio initialization

27

Figure 2-10: MIMO initialization

28

Figure 2-11: MIMO 4x4 Initialialization

Information on the used acquisition and RF frequencies used is displayed.

29

2.15.1 PPS Sync results


Once Radio initialization is done, the user is prompted with the option to discipline the radio acquisition clock to a
GPS Pulse-Per-Second signal, using the PPS sync module. Enter 'y' to execute the synchronization. A PPS signal
must be connected to the Radio420 PPS in connector. If no signal is present, the synchronization fails.

Figure 2-12: PPS Sync failure

The following illustrates a successful pps synchronization:

Figure 2-13: PPS Sync success

The information is displayed upon lock.

30

Tick is the current ADC/DAC clock count per second.

cte is the cumulative sample error since the start of the algorithm

ppb is the current error in parts per billion

dac is the current dac value

lock is the current lock state (1 means locked)

2.15.2 Calibration results


The user is then prompted with the option of calibrating the Radio transmitters. Enter 'y' to calibrate.

Figure 2-14: SISO calibration results

Figure 2-15: MIMO calibration results

Figure 2-16: MIMO 4x4 Calibration results

Once calibration is done (or skipped), the test previously chosen will execute.

31

2.15.3 Pass-through results


For the Pass-through test, the following equipment setup should be used:

Signal generator: 0 dBm signal at 944 MHz

Spectrum analyzer: 953 MHz center frequency

Figure 2-17: Pass-through expected results

After the test has run, the user can verify that a tone is present at 954MHz on the spectrum analyzer on all
initialized radios.

2.15.4 DDS results


For the Pass-through test, the following equipment setup should be used:

Spectrum analyzer: 953 MHz center frequency

The DDS test send a FPGA generated tone on the radio DACs.

Figure 2-18: DDS expected results

After the test has run, the user can verify that a tone is present at 954MHz on the spectrum analyzer on all
initialized radios. If RF calibration was executed, the power ratio between the tone signal (at 954MHz) and both the
local oscillator (at 953MHz) and the lower side band signal (at 952MHz) should be close to 48 dB.

32

2.15.5 Record results


For the Record test, the following equipment setup should be used:

Signal generator: 0 dBm signal at 944 MHz

Figure 2-19: Record expected results

Data is saved to the specified file in the batch or shell file, here called record.bin. In MIMO 4x4, data from each
Perseus is stored within a different file (record.binA and record.binB).
Plotting the recorded data in Matlab, the user should see a 1 MHz tone in the displayed FFT for all initialized radios
which were inputted the 944MHz signal.
To plot the received data using Matlab:
1.

In Matlab, set the current directory to:


%ADPROOT%\examples_perseus6010\perseus6010_radio420x_rtdex_record_playback\bin.

2.

Use the command bintofft to plot the data.


For example:
bintofft('record.bin', 4, 'int16', 65536, 40000000/2);
record.bin: is the recorded file.
4: is the number of channels (i.e. I and Q channels for both Radios). Even if the test is in SISO, the FPGA
always acquires IQ data for two radios, therefore the number of channels must be 4.
'int16': indicates that each sample is recorded on 16 bits integers.
65536: is the number of recorded samples per channel.
40000000/2: is the sampling rate. (In the example, the ADC frequency is set at 40 MHz.)

For this specific example, the results for a channel are:

Figure 2-20: Matlab plot for record test

33

2.15.6 Playback results


For the Playback test, the following equipment setup should be used:

Spectrum analyzer: 953 MHz center frequency

The playback test uses file playback_sinewave.bin which holds a generated sine waveform of 1MHz when sampled
at 40MHz (20MHz I and 20MHz Q).

Figure 2-21: Playback expected results

When the continuous playback is selected, a tone should appear on the spectrum analyzer at 954 MHz. If RF
calibration was executed, the power ratio between the tone signal (at 954MHz) and both the local oscillator (at
953MHz) and the lower side band signal (at 952MHz) should be close to 48 dB.

2.15.7 Streaming to host results


For the streaming to host test, the following equipment setup should be used:

Signal generator: 0 dBm signal at 944 MHz for SISO and MIMO test

Signal generator: 0 dBm signal at 943.25 MHz for MIMO 4x4 test

Figure 2-22: Streaming to host SISO expected results

Figure 2-23: Streaming to host MIMO expected results

34

Figure 2-24: Streaming to host MIMO 4x4 expected results

Data is saved to the specified file in the batch or shell file, here called record.bin. The streaming rate for each radio
is displayed in the console. The streaming test uses different rates depending on the configuration.
Using Gigabit Ethernet as the RTDEx medium, the default sampling frequencies used are:

SISO: 16 Msps

MIMO: 8 Msps

MIMO 4x4: 5,12 Msps

Using PCI Express as the RTDEx medium, the default sampling frequencies used are:

SISO: 64 Msps

MIMO: 64 Msps

The displayed rates should correspond to the rates listed above.


Once the specified amount of data has been written to file, the Data Saved! indication will appear. Press enter to
terminate the test.

Figure 2-25: Streaming to host stats

The streaming stats will be displayed.


Plotting the recorded data in Matlab, the user should see a 1 MHz tone in the displayed FFT for all initialized radios
which were inputted the 944MHz signal.
To plot the received data using Matlab:
1.

In Matlab, set the current directory to:


%ADPROOT%\examples_perseus6010\perseus6010_radio420x_rtdex_record_playback\bin.

2.

Use the command bintofft to plot the data.


For example:
bintofft('record.bin', 4, 'int16', 65536, 8000000/2);
record.bin: is the recorded file.

35

4: is the number of channels (i.e. I and Q channels for both Radios).


'int16': indicates that each sample is recorded on 16 bits integers.
65536: is the number of recorded samples per channel.
16000000/2: is the sampling rate. (In the example, the ADC frequency is set at 8 MHz.)
To plot the SISO test data, use bintofft('record.bin', 2, 'int16', 65536, 16000000/2);
To plot the MIMO test data, use bintofft('record.bin', 4, 'int16', 65536, 8000000/2);
To plot the MIMO 4x4 test data, use bintofft('record.bin', 8, 'int16', 65536, 5120000/2);
For this specific example, the results for a channel are:

Figure 2-26: Matlab plot for streaming to host test

36

2.15.8 Streaming from host results


For the streaming from host test, the following equipment setup should be used:

Spectrum analyzer: 953 MHz center frequency

The test uses files streaming_sinewave.bin and streaming_sinewave_pcie.bin which holds a generated sine
waveform of 1MHz.
streaming_sinewave.bin is used for Gigabit Ethernet tests. When streaming the file, the resulting tone on depends
on the set sampling frequency.

In SISO, the sampling clock is 16 MHz, which places the generated tone at 1MHz

in MIMO, the sampling clock is 8 MHz, which places the generated tone at 0,5 MHz

in MIMO 4x4, the sampling clock is 5,12 MHz, which places the generated tone at 0,32 MHz

streaming_sinewave_pcie.bin is used for PCI Express tests. The resulting tone is 1MHz sampled at 64MHz

Figure 2-27: Streaming from host SISO expected results

Figure 2-28: Streaming from host MIMO expected results

Figure 2-29: Streaming from host MIMO 4x4 expected results

The streaming rate for each radio is displayed in the console. The streaming test uses different rates depending on
the configuration.
Using Gigabit Ethernet as the RTDEx medium, the default sampling frequencies used are:

37

SISO: 16 Msps

MIMO: 8 Msps

MIMO 4x4: 5,12 Msps

Using PCI Express as the RTDEx medium, the default sampling frequencies used are:

SISO: 64 Msps

MIMO: 64 Msps

The displayed rates should correspond to the rates listed above.


On the spectrum analyzer, a tone should appear at a frequency which depends on the configuration used:
Using Gigabit Ethernet as the RTDEx medium, the expected

SISO: Tone at 954 MHz

MIMO: Tone at 953,5 MHz

MIMO 4x4: Tone at 953,32 MHz

Using PCI Express as the RTDEx medium, the sampling frequencies used are:

SISO: Tone at 954 MHz

MIMO: Tone at 954 MHz

If RF calibration was executed, the power ratio between the tone signal and both the local oscillator (at 953MHz)
and the lower side band signal should be close to 48 dB.
Press enter to terminate the streaming. The streaming stats will appear:

Figure 2-30: Streaming from host stats

38

2.16 Expected Results with Nutaq's Command Line Interface


The following is expected when executing the CLI scripts.

2.16.1 Record results


For the Record test, the following equipment setup should be used:

Signal generator: 0 dBm at 943 MHz

Figure 2-31 CLI record expected results

To plot the SISO test data, use bintofft('radio420s_record_data.bin', 4, 'int16', 65536, 40000000/2);
To plot the MIMO test data, use bintofft('radio420m_record_data.bin', 4, 'int16', 65536, 40000000/2);
A 1 MHz tone should appear on all initialized and connected channels.

2.16.2 Playback results


For the Playback test, the following equipment setup should be used:

Spectrum analyzer: 953 MHz center frequency

The playback test uses file playback_sinewave.bin which holds a generated sine waveform of 1MHz when sampled
at 40MHz (20MHz I and 20MHz Q).

Figure 2-32 CLI playback expected results

39

A tone at 954 MHz should appear on the spectrum analyzer.

2.16.3 RF calibration results


For the RF calibration test, the following equipment setup should be used:

Spectrum analyzer: 953 MHz center frequency

A DDS signal is configured to generate a 1MHz tone sampled at 40MHz.

Figure 2-33 CLI RF calibrate expected results

A tone should appear at 954 MHz. After calibration has run, the power ratio between the tone signal (at 954MHz)
and both the local oscillator (at 953MHz) and the lower side band signal (at 952MHz) should be close to 48 dB.

2.16.4 PPS Sync results


For the PPS Sync, the following equipment setup should be used:

PPS Signal on the PPS in connector on the Radio420 front panel.

Figure 2-34: CLI PPS Sync expected results

40