wiki:Tutorials/Wireless/mmwavePaamMobile

Version 12 (modified by Abhi Adhikari, 11 months ago) ( diff )

Turn off the nodes:

omf tell -a offh -t mob4-1
omf tell -a offh -t mob4-2

Load the nodes with images:

omf load -i abhiadhikari-node-mob4-3.sb1.cosmos-lab.org-2023-10-27-21-13-48.ndz -t mob4-2
omf load -i abhiadhikari-node-mob4-2.sb1.cosmos-lab.org-2023-10-27-20-40-46.ndz -t mob4-1

mob4-1 is the transmitter, and mob4-2 is the receiver.

Turn on the nodes:

omf tell -a on -t mob4-1
omf tell -a on -t mob4-2

Within the console, make sure the PAAMs are activated properly:

mob4-1:

curl "http://rfdev-mob4-1.sb1.cosmos-lab.org:3000/array_mgmt/connect?dev_name=Local&ics=all&num_elements=16&txrx=tx&pol=h&theta=0&phi=0"
curl "http://rfdev-mob4-1.sb1.cosmos-lab.org:3000/array_mgmt/enable?dev_name=Local&ics=all&num_elements=16&txrx=tx&pol=h&theta=0&phi=0"
curl "http://rfdev-mob4-1.sb1.cosmos-lab.org:3000/array_mgmt/steer?dev_name=Local&theta=0&phi=0"

mob4-2:

curl "http://rfdev-mob4-2.sb1.cosmos-lab.org:3000/array_mgmt/connect?dev_name=Local&ics=all&num_elements=16&txrx=rx&pol=h&theta=0&phi=0"
curl "http://rfdev-mob4-2.sb1.cosmos-lab.org:3000/array_mgmt/enable?dev_name=Local&ics=all&num_elements=16&txrx=rx&pol=h&theta=0&phi=0"
curl "http://rfdev-mob4-2.sb1.cosmos-lab.org:3000/array_mgmt/steer?dev_name=Local&theta=0&phi=0"

Now create two terminals. Terminal 1 will be used for mob4-1. Terminal 2 will be used for mob4-2.

Within Terminal 1, run:

ssh -Y root@mob4-1
gnuradio-companion

Within Terminal 2, run:

ssh -Y root@mob4-2
gnuradio-companion

Run /root/tx.grc and /root/rx.grc in Terminal 1 and Terminal 2, respectively. Obtain the frequency plot shown below.

Now, we will run the beam-steering scripts being used for the NRDZ project. Using gnuradio-companion in Terminal 2, make sure the file sink is enabled for /root/rx.grc. .

Make sure to start the receiver first! Terminal 2 in this case

In Terminal 1, run:

root@mob4-1:~/rest# ./tx-rest.py

Terminal 1 output:

3x3 TRIALS: [(-10, 0), (0, 0), (10, 0)]
Estimated Experiment Time: 1.75 minutes (105 seconds)
Press enter to confirm experiment execution. 
http://rfdev-mob4-2.sb1.cosmos-lab.org:3000/array_mgmt/connect?dev_name=Local&txrx=tx&pol=h&ics=all&num_elements=4&verify=False 200 <?xml version="1.0" encoding="UTF-8"?>
<response status="OK">
  <action service="array_mgmt" name="connect" ipaddr="Local">
<ERROR detail=" Array is already connected" />
  </action>
</response>

Warm-up for 15 seconds...
[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_4.1.0.4-release
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Connecting to niusrpriorpc at localhost:5444...
[INFO] [X300] Using LVBITX bitfile /usr/share/uhd/images/usrp_x310_fpga_HG.lvbitx
[INFO] [GPS] Found an internal GPSDO: LC_XO, Firmware Rev 0.929a
[INFO] [X300] Radio 1x clock: 200 MHz
[WARNING] [MULTI_USRP] Calling multi_usrp::recv_async_msg() is deprecated and can lead to unexpected behaviour. Prefer calling tx_stream::recv_async_msg().
[INFO] [MULTI_USRP]     1) catch time transition at pps edge
[INFO] [MULTI_USRP]     2) set times next pps (synchronously)
[WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping.
Press Enter to quit: Beginning TX!
TRIALS: [(-10, 0), (0, 0), (10, 0)]
Steering beam to (-10,0), waiting 10 seconds...
Delimiting for 5 seconds
127.0.0.1 - - [05/Dec/2023 22:31:55] "POST /RPC2 HTTP/1.1" 200 -
Setting amplitude to 0.001
127.0.0.1 - - [05/Dec/2023 22:32:00] "POST /RPC2 HTTP/1.1" 200 -
http://rfdev-mob4-2.sb1.cosmos-lab.org:3000/array_mgmt/steer?dev_name=Local&theta=-10&phi=0 200 <?xml version="1.0" encoding="UTF-8"?>
<response status="OK">
  <action service="array_mgmt" name="steer" ipaddr="Local">
    <step name="steering" duration="0.061728"/>
  </action>
</response>

In Terminal 2, run:

**root@mob4-1:~/rest# ./tx-rest.py** 

Terminal 2 output:

3x3 TRIALS: [(-10, 0), (0, 0), (10, 0)]
Estimated Experiment Time: 1.75 minutes (105 seconds)
Press enter to confirm experiment execution. 
http://rfdev-mob4-2.sb1.cosmos-lab.org:3000/array_mgmt/connect?dev_name=Local&txrx=tx&pol=h&ics=all&num_elements=4&verify=False 200 <?xml version="1.0" encoding="UTF-8"?>
<response status="OK">
  <action service="array_mgmt" name="connect" ipaddr="Local">
<ERROR detail=" Array is already connected" />
  </action>
</response>

Warm-up for 15 seconds...
[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_4.1.0.4-release
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Connecting to niusrpriorpc at localhost:5444...
[INFO] [X300] Using LVBITX bitfile /usr/share/uhd/images/usrp_x310_fpga_HG.lvbitx
[INFO] [GPS] Found an internal GPSDO: LC_XO, Firmware Rev 0.929a
[INFO] [X300] Radio 1x clock: 200 MHz
[WARNING] [MULTI_USRP] Calling multi_usrp::recv_async_msg() is deprecated and can lead to unexpected behaviour. Prefer calling tx_stream::recv_async_msg().
[INFO] [MULTI_USRP]     1) catch time transition at pps edge
[INFO] [MULTI_USRP]     2) set times next pps (synchronously)
[WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping.
Press Enter to quit: Beginning TX!
TRIALS: [(-10, 0), (0, 0), (10, 0)]
Steering beam to (-10,0), waiting 10 seconds...
Delimiting for 5 seconds
127.0.0.1 - - [05/Dec/2023 22:31:55] "POST /RPC2 HTTP/1.1" 200 -
Setting amplitude to 0.001
127.0.0.1 - - [05/Dec/2023 22:32:00] "POST /RPC2 HTTP/1.1" 200 -
http://rfdev-mob4-2.sb1.cosmos-lab.org:3000/array_mgmt/steer?dev_name=Local&theta=-10&phi=0 200 <?xml version="1.0" encoding="UTF-8"?>
<response status="OK">
  <action service="array_mgmt" name="steer" ipaddr="Local">
    <step name="steering" duration="0.061728"/>
  </action>
</response>

Within tx-rest.py and rx-rest.py, make sure you indicate the correct rfdev corresponding to the mobile node being used.

Exit the node and copy the data from mob4-2 to your console:

abhiadhikari@console:~$ scp root@mob4-2:/mnt/test.bin .
test.bin                                      100% 3578MB 111.8MB/s   00:32 

Exit the console and copy the data from the SB1 console to your local computer:

abhiadhikari@dyn-128-59-87-88 Documents % scp abhiadhikari@sb1.cosmos-lab.org:/home/abhiadhikari/test.bin .
test.bin                                      100% 3578MB  99.5MB/s   00:35 

Attachments (11)

Note: See TracWiki for help on using the wiki.