Version 3 (modified by 10 years ago) ( diff ) | ,
---|
Transmitting wideband signals using USRP X310
Table of Contents
- SDR Tutorials
Description
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 stojadin-wiserd-x310.ndz image, which has the latest version of wised preinstalled in the root directory. 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):
set uhd tx_freq 700e6 set uhd tx_rate 200e6 set uhd tx_gain 20 set tx wavefilename signal.bin add tx signalfromfile
To stop the transmission we use
delete tx signalfromfile
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.