wiki:Tutorials/Wireless/mmwavePaamMobile

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

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.

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.

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>

Attachments (11)

Note: See TracWiki for help on using the wiki.