Changes between Version 36 and Version 37 of Tutorials/Wireless/mmwave Paam Basics
- Timestamp:
- Mar 10, 2022, 6:37:45 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tutorials/Wireless/mmwave Paam Basics
v36 v37 17 17 Author: Tingjun Chen, Duke University / Columbia University (tingjun.chen [at] duke [dot] edu) 18 18 19 Last updated: Apr. 11, 202119 Last updated: Mar. 10, 2022 20 20 21 21 === Acknowledgements === … … 30 30 === Resources Required === 31 31 32 In this tutorial we will use the following hardware resources in sb2, which are also shown in the figure below.32 In this tutorial we will use the following hardware resources, which are also shown in the figure below. 33 33 * 2 USRP N310 SDRs ({{{sdr1-in1}}} and {{{sdr1-in2}}} in SB1, {{{sdr1-s1-lg1}}} and {{{sdr1-md1}}} in SB2) 34 34 * 2 IBM 28GHz PAAMs ({{{rfdev4-in1}}} and {{{rfdev4-in2}}} in SB1, {{{rfdev2-1}}} and {{{rfdev2-2}}} in SB2 ) … … 76 76 1. {{{ssh}}} to the server with option -Y for using GUI with gnuradio. 77 77 {{{#!shell 78 ssh -Y root@srv1-lg1 ,78 ssh -Y root@srv1-lg1 79 79 }}} 80 80 … … 86 86 {{{#!shell 87 87 root@srv1-lg1:~# ./eth_config.sh 88 root@srv1-lg1:~# ifconfig DATA189 DATA1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 900088 root@srv1-lg1:~# ifconfig eno1 89 eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000 90 90 inet 10.38.1.1 netmask 255.255.0.0 broadcast 10.38.255.255 91 91 inet6 fe80::1e34:daff:fe42:c3c prefixlen 64 scopeid 0x20<link> 92 92 ether 1c:34:da:42:0c:3c txqueuelen 1000 (Ethernet) 93 RX packets 61195963 bytes 199994153268 (199.9 GB)94 RX errors 0 dropped 6680overruns 0 frame 095 TX packets 58734853 bytes 190912589303 (190.9 GB)93 RX packets 712 bytes 74814 (74.8 KB) 94 RX errors 0 dropped 595 overruns 0 frame 0 95 TX packets 42 bytes 9132 (9.1 KB) 96 96 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 97 root@srv1-lg1:~# ifconfig DATA298 DATA2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 900097 root@srv1-lg1:~# ifconfig eno2 98 eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000 99 99 inet 10.39.1.1 netmask 255.255.0.0 broadcast 10.39.255.255 100 100 inet6 fe80::1e34:daff:fe42:c3d prefixlen 64 scopeid 0x20<link> 101 101 ether 1c:34:da:42:0c:3d txqueuelen 1000 (Ethernet) 102 RX packets 7378 bytes 651944 (651.9KB)103 RX errors 0 dropped 6682overruns 0 frame 0104 TX packets 282 bytes 82239 (82.2KB)102 RX packets 643 bytes 51548 (51.5 KB) 103 RX errors 0 dropped 599 overruns 0 frame 0 104 TX packets 42 bytes 9132 (9.1 KB) 105 105 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 106 106 }}} … … 148 148 149 149 Details and examples for the above are provided at the [https://wiki.cosmos-lab.org/wiki/Resources/Services/ArrayMgmt array management page]. 150 For this experiment we use static array management commands as shown below.151 First, start PAAM #1 (rfdev 2-1) in TX mode with H-polarization using 4 antenna elements on IC 1, and configure the TX beamforming direction to be in the broadside (0,0). Check the current consumption on 2v7_1 and make sure IC1 has been successfully initialized (e.g., 2v7_1 has a current consumption of 1.026A in the example below).150 For this experiment, we use static array management commands as shown below. 151 First, start PAAM #1 (rfdev4-in1) in RX mode with V-polarization using 4 antenna elements on IC 0, and configure the RX beamforming direction to be in the broadside (0,0). Check the current consumption on 2v7_0 and make sure IC0 has been successfully initialized (e.g., 2v7_0 has a current consumption much higher than the other ICs). 152 152 {{{#!shell 153 153 root@console:~# curl "http://am1.orbit-lab.org:5054/array_mgmt/configure?dev_name=rfdev4-in1.sb1.cosmos-lab.org&ics=0&num_elements=4&txrx=rx&pol=v&theta=0&phi=0" … … 182 182 }}} 183 183 184 * [Terminal 2] Similarly, start PAAM #2 (rfdev2-2) in RX mode with H-polarization using 4 antenna elements on IC 2, and configure the RX beamforming direction to be in the broadside (0,0). Check the current consumption on 2v7_2 and make sure IC2 has been successfully initialized (e.g., 2v7_2 has a current consumption of 0.821A in the example below).184 * Similarly, start PAAM #2 (rfdev4-in2) in TX mode with V-polarization using 16 antenna elements on all the ICs, and configure the TX beamforming direction to be in the broadside (0,0). Check the current consumption to make sure the ICs have been successfully initialized. 185 185 {{{#!shell 186 186 root@console:~# curl "http://am1.orbit-lab.org:5054/array_mgmt/configure?dev_name=rfdev4-in2.sb1.cosmos-lab.org&ics=all&num_elements=16&txrx=rx&pol=v&theta=0&phi=0" … … 216 216 217 217 218 219 220 218 ==== Run the experiment ==== 221 * In the first terminal, start gnuradio companion and open the example experiment that establisheda single tone transmission:219 * On srv1-lg1, start gnuradio companion and open the example experiment that establishes a single tone transmission: 222 220 {{{#!shell 223 221 root@srv1-lg1:~# gnuradio-companion example_paam_tone.grc 224 222 }}} 225 223 226 * In gnuradio-companion, start gnuradio-companion, configure the USRP sink (TX) with sdr1-in2 ("mgmt_addr=10.37.6.2,addr=10.38.6.2") and the USRP source (RX) with sdr1-in1("mgmt_addr=10.37.6.1,addr=10.37.6.2"). Set the carrier frequency to 3GHz (3e9) and the subdev to be "B:1" (RF3) on both TX and RX. In this example flowgraph, the sampling rate and the tone frequency are set to be 2.5MHz (2.5e6) and 1MHz (1e6), respectively.224 * For running the experiment on SB1, configure the USRP sink (TX) with sdr1-in2 ("mgmt_addr=10.37.6.2,addr=10.38.6.2") and the USRP source (RX) with sdr1-in1("mgmt_addr=10.37.6.1,addr=10.37.6.2"). For SB2, configure the USRP sink (TX) with sdr1-s1-lg1 ("mgmt_addr=10.116.2.1,addr=10.117.2.1") and the USRP source (RX) with sdr1-md1 ("mgmt_addr=10.116.3.1,addr=10.117.3.1"). Set the carrier frequency to 3GHz (3e9) and the subdev to be "B:1" (RF3) (For SB2, use "B:0", RF2) on both TX and RX. In this example flowgraph, the sampling rate and the tone frequency are set to be 2.5MHz (2.5e6) and 1MHz (1e6), respectively. 227 225 || [[Image(mmwavePaamBasicsFlowgraph.png, 600px)]] || 228 226 229 227 230 228 ==== Observe the results ==== 231 The left figure shows the frequency response of the received tone at 1MHz offset. Experiment can for example increase the link SNR by using more antenna elements (i.e., 8 for TX and 8 for RX) via the PAAM API, and the corresponding results are shown in the right figure. 232 233 {{{#!shell 234 root@srv1-lg1:~/paam_api/examples# python3 setup_betaboard_v1.2.py -c ethernet -a rfdev2-1 --ic 1 -n 8 --txrx tx --pol h --dir 0 0 235 root@srv1-lg1:~/paam_api/examples# python3 setup_betaboard_v1.2.py -c ethernet -a rfdev2-2 --ic 2 -n 8 --txrx rx --pol h --dir 0 0 236 }}} 237 238 || [[Image(mmwavePaamBasicsFreq_n_4.png, 600px)]] || [[Image(mmwavePaamBasicsFreq_n_8.png, 600px)]] || 229 The left figure shows the frequency response of the received tone at 1MHz offset. 230 [[Image(mmwavePaamBasicsFreq_n_4.png, 600px)]] 239 231 240 232 ==== Finish the experiments ==== 241 When the experiments are completed, make sure to turn off both PAAMs and see that the IC current consumption drops to the minimal values: 242 {{{#!shell 243 root@srv1-lg1:~/paam_api/examples# python3 reset_betaboard_v1.2.py -c ethernet -a rfdev2-1 244 ... 245 Index Name ADC Volt. Curr. 246 0 1v2 30 0.073 0.037 247 1 1v5 45 0.110 0.220 248 2 1v8 1 0.002 0.001 249 3 2v7_0 38 0.093 0.186 250 4 2v7_1 45 0.110 0.220 251 5 2v7_2 47 0.115 0.230 252 6 2v7_3 37 0.090 0.181 253 7 3v3_pll 57 0.139 0.070 254 8 5v_uzed 264 0.645 0.645 255 9 12v 106 0.259 0.863 256 10 0V 0 0.000 x 257 11 1V8 735 1.796 x 258 Closed port to Zynq 259 PAAM board shutdown...!!! 260 261 root@srv1-lg1:~/paam_api/examples# python3 reset_betaboard_v1.2.py -c ethernet -a rfdev2-2 262 ... 263 Index Name ADC Volt. Curr. 264 0 1v2 109 0.266 0.133 265 1 1v5 140 0.342 0.684 266 2 1v8 23 0.056 0.028 267 3 2v7_0 9 0.022 0.044 268 4 2v7_1 11 0.027 0.054 269 5 2v7_2 51 0.125 0.249 270 6 2v7_3 10 0.024 0.049 271 7 3v3_pll 115 0.281 0.141 272 8 5v_uzed 223 0.545 0.545 273 9 12v 99 0.242 0.806 274 10 0V 0 0.000 x 275 11 1V8 735 1.796 x 276 Closed port to Zynq 277 PAAM board shutdown...!!! 278 }}} 233 When the experiments are completed, make sure to clean up and turn off the PAAMs by running 234 {{{#!shell 235 }}}