## 2 Methodology
### Experimental--Configurable Hardware  
Different user interfaces can be used to perform the configurations and obtain the sampled signals, such as MATLAB [25], GNU Radio [26] or other software. Here, we use MATLAB as it permits us to integrate the whole process, that is, the configuration of Tx, configuration of Rx, signal processing, and data analysis. Finally, a comparison with simulated results was performed using the same software.  
The transmitter was an ADF-4351 synthesizer in an evaluation board connected to a computer via USB. A microcontroller CY7C68013A-56 PVXC was responsible for communication with the computer and for updating the registers of the ADF-4351, in order to generate the correct frequency tone with the other related attributes specified in the software [27].  
The ADF-4351 has an integrated voltage-controlled oscillator (VCO) with a fundamental output frequency ranging from 2.2 to 4.4 GHz. Divide-by-\(2^{n}\) circuits allow the user to generate the RF output frequencies, where \(n=0,1,2,3,4,5,6\)[27].  
In order to realize these configurations in the hardware, we used _pyadf435x_, a suite of software and firmware to control the Analog Devices ADF435x series of wide-band RF synthesizers [28]. Additional libraries were installed on the computer and a specific function was written in order to integrate them with MATLAB in a Windows operational system. This permitted the _pyadf435x_ routines, which are in the Python language, to be called from MATLAB with all the arguments in the correct data types.  
In this way, the main code controlled the frequency sweep and settings of both Tx and Rx, accordingly.  
The receiver was an ordinary RTL-SDR [25]. The radios were configured to perform a frequency sweep. The Rx was configured to tune in on the same frequency generated by the Tx, making a frequency correction if necessary. Then, once a frequency value was fixed, the measurement was started and the corresponding samples were saved.  
The Rx front-end could work up to a sample rate of 3.2 MHz [25]. However, as this maximum sample rate is more subject to errors, including dropped samples [25], in this work, we used a sample rate of 2.56 MHz. In order to keep integer multipliers, the number of samples per frame (frame length) was defined to be \(25,600\). In order to have a redundant database, the frame acquisition was repeated 10 times. Therefore, for each frequency, there are \(10\times 25,600=256,000\) complex samples (real and imaginary parts). They were quantized within \(2^{8}=256\) levels as the receiver had an 8-bit ADC [12; 25]. The real and imaginary parts were available as the \(I\) (in phase) and \(Q\) (quadrature) components [25].  
This process was repeated for the next frequency and so on, for a total number of 71 equally spaced frequencies within the 0.85-1.55 GHz band, resulting in a 10 MHz step. Tx power was set to 2 dBm and Rx tuner gain was set to 0 dB, without automatic gain control (AGC).  
Figure 5: The Rx radio is connected to the receiving antenna and computer via a USB cable. On the left of the computer, we see a second USB cable that is connected to the Tx radio (not shown in photo).  
About an hour was spent on each configuration, including the intervals for saving data. Some of the captures were corrupted by oscillations that occurred immediately after changes in the frequency, during the sweep or by other unknown errors. Extending the test, however, presented the possibility of the batteries discharging, or other computational problems such as buffers dropping data packets.  
Once the data were saved, an analysis could be made based on all of the captures or on part of them, discarding, for instance, the first captures that were are more subject to errors. Using statistics or filtering could also be applied, taking average values amongst samples or fitting the signal to a sinusoidal wave.