Changes between Version 20 and Version 21 of Tutorials/Wireless/mmwaveRFSoC


Ignore:
Timestamp:
Feb 7, 2022, 6:22:05 PM (2 years ago)
Author:
prasanthi
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/Wireless/mmwaveRFSoC

    v20 v21  
    155155The Python drivers of the Sivers library require Python 2. One way to remove this dependence is to remotely control the Sivers array with an HTTP server. We can start the HTTP server as follows,
    156156{{{#!shell-session
    157 root@srv1-in1:~/mmwsdr/host/mmwsdr/array$ python ederarray.py --unit SN0240
    158 }}}
    159 {{{#!shell-session
    160 root@srv1-in2:~/mmwsdr/host/mmwsdr/array$ python ederarray.py --unit SN0243
    161 }}}
    162 
    163 - '''twonode.py:''' In this demo we control two single SDR node. We create and SDR object and an XY-Table object for each node using the `mmwsdr` library. The SDR object configures and controls a Xilinx RFSoC ZCU111 eval board and a Sivers IMA transceiver board. A user can provide arguments to the script, such as the carrier frequency, the COSMOS node id and the transceiver mode. The script by default starts a local and a remote connection with the SDR.
    164  1. Start the remote Eder server on the :
    165 {{{#!shell-session
    166 root@srv1-in1:~/mmwsdr/host/mmwsdr/array$ python ederarray.py --unit SN0240
    167 }}}
    168  2. Start the experiment on the local server:
    169 {{{#!shell-session
    170 root@srv1-in2:~/mmwsdr/host/demos/basic$ python twonode.py --freq 60.48e9 --mode tx
     157root@srv1-in1:~/mmwsdr/host/mmwsdr/array$ python ederarray.py -u SN0240
     158}}}
     159{{{#!shell-session
     160root@srv1-in2:~/mmwsdr/host/mmwsdr/array$ python ederarray.py -u SN0243
     161}}}
     162
     163- '''twonode.py:''' In this demo we control both the SDR nodes using a single script. We create an SDR object and an XY-Table object for each node using the `mmwsdr` library. The SDR object configures and controls a Xilinx RFSoC ZCU111 eval board and a Sivers IMA transceiver board. Shown below are the commands to start an HTTP server on srv1-in1 and to run twonode.py script on srv1-in2. twonode.py script in this case connects directly to its local Sivers front-end SN0240 and it connects to SN0243 via the HTTP server running on srv1-in2.
     164 1. Start the remote Eder server on srv1-in1 :
     165{{{#!shell-session
     166root@srv1-in1:~/mmwsdr/host/mmwsdr/array$ python ederarray.py -u SN0240
     167}}}
     168 2. Start the experiment on the local server srv1-in2:
     169{{{#!shell-session
     170root@srv1-in2:~/mmwsdr/host/demos/basic$ python twonode.py --freq 60.48e9 --mode tx --node srv1-in2
    171171}}}
    172172
    173173=== Channel Sounder ===
    174174In this demo, we show a frequency-domain channel sounder at 60 GHz. We generate N_FFT symbols in
    175 frequency-domain. We generate a wide-band sequence filling [sc_min, sc_max] sub-carries with random 4-QAM symbols. We
     175frequency domain. We generate a wide-band sequence filling [sc_min, sc_max] sub-carries with random 4-QAM symbols. We
    176176use IFFT to get the time-domain TX sequence. We transmit the data from SDR1 with cyclic repeat. We receive 100 frames
    177177of N_FFT data from SDR2. The user can select to save or process the data. When we process the data