Transmitting wideband signals using USRP X310 and wiserd
Table of Contents
- SDR Tutorials
- Multi Channel Sample Processing & Visualization
- Plot the IQ Constellation of received signal
In this tutorial we will describe how to create and transmit a wideband signal using wiserd on a USRP X310 radio device equipped node.
Transmitting a signal using wiserd
Wiserd producer module signal_from_file can be used for transmission of a custom signal. The signal needs to be saved in a binary file, containing 32bit float values of I and Q samples of the signal. To use wiserd on a USRP X310 equipped node (e.g. node3-1 on grid.orbit-lab.org), we can use the ubuntu-14-04-64bit-sdr.ndz image, which has the latest version of wiserd installed in the root's home directory. After the node is imaged and accessed, we need to make an additional adjustment in order to work with USRP X310 by running 'ifconfig eth2 mtu 9000' on the node (note that this should not be done on nodes with USRP 2 or N210). After running wiserd, we can use the following commands in order to set the required parameters (in this case we assume the central transmission frequency of 700 MHz, signal bandwidth of 200 MHz, transmitter gain of 20 dB and our signal is stored in the signal.bin file):
--uhd_tx_freq 700e6 --uhd_tx_rate 200e6 --uhd_tx_gain 20 --tran_wavefilename signal.bin --addmodule signalfromfile
To stop the transmission we use
Creating the signal
The signal can be created in Matlab. To create a desired shape of signal in frequency domain, we suggest creating the shape and performing the ifft function on it to get the I and Q time samples. After we have the signal as a complex 32bit float array, we can save it to a file using the following function:
function saveToWiserdFile( signal, filename ) fid = fopen(filename,'w'); fwrite(fid, [real(signal); imag(signal)], 'float32'); fclose(fid); end
Note that the output power of USRP X310 is 100 mW. The signal I and Q time samples represent voltages, and use the impedance of 50 Ω to normalize the signal power. Any signal with power higher than 100 mW will not be transmitted properly.