Changes between Version 39 and Version 40 of Tutorials/Wireless/mimo Radar


Ignore:
Timestamp:
Dec 6, 2025, 4:13:42 AM (6 weeks ago)
Author:
akleniatis
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/Wireless/mimo Radar

    v39 v40  
    1 
    2 [[Include(WikiToC)]]
    3 
    4 === mmWave OFDM based ISAC
    5 
    6 ==== Description
    7 This tutorial demonstrates how to perform an mmWave OFDM based ISAC (Integrated Sensing and Communications) experiment using the COSMOS testbed.
    8 
    9 [[PageOutline(3-6,,inline,unnumbered)]]
    10 
    11 ==== Prerequisites
    12 * COSMOS account and reservation established
    13 * Access to the radar SDR nodes and PAAM mobile node
    14 * Chrome Remote Desktop for graphical access
    15 
    16 ==== Related COSMOS Documentation
    17 * [wiki:Tutorials#SDRandWireless SDR and Wireless]
    18 * [wiki:Hardware/SubSystems/IBM#IBM28-GHzPhasedArrayBoardForCOSMOS IBM 28-GHz Phased Array Board For COSMOS]
    19 * [wiki:UserGuide/RemoteAccess/ChromeRemoteDesktop#ChromeRemoteDesktopSetupPage Chrome Remote Desktop Setup Page]
    20 
    21 ==== Resource Requirements
    22 * SDRs: `sdr1-radar`, `sdr2-radar`
    23 * PAAMs: `rfdev-sdr1-radar`, `rfdev-sdr2-radar`
    24 * Mobile PAAM: `mob4-1`
    25 * Server: `srv1-lg1`
    26 * Image: `ubuntu2004-uhd4.3-gr3.8-radar.ndz`
    27 
    28 ==== Setup
    29 
    30 Load the required images onto the server and mobile PAAM:
    31 
    32 {{{#!shell
    33 omf load -i ubuntu2004-uhd4.3-gr3.8-radar.ndz -t srv1-lg1
    34 omf load -i ubuntu2004-uhd4.3-gr3.8-radar.ndz -t mob4-1
    35 }}}
    36 
    37 Power on the experiment hardware:
    38 
    39 {{{#!shell
    40 omf tell -a on -t sdr1-radar,rfdev-sdr1-radar,sdr2-radar,rfdev-sdr2-radar,mob4-1,srv1-lg1
    41 }}}
    42 
    43 Connect to the server:
    44 
    45 {{{#!shell
    46 ssh root@srv1-lg1
    47 }}}
    48 
    49 Run the PAAM setup script:
    50 
    51 {{{#!shell
    52 cd IBM_PAAM_Software_vFINAL/examples/
    53 python3 paam_radar_setup.py
    54 }}}
    55 
    56 Connect via Chrome Remote Desktop and choose the first **GNOME on Xorg**.
    57 
    58 [[Image(radar setup.png, 1000px)]]
    59 
    60 ==== Execution
    61 
    62 ===== Radar Side (srv1-lg1)
    63 
    64 **Terminal 1**: Network and packet generator configuration:
    65 
    66 {{{#!shell
    67 sudo ip link set dev eno1 mtu 9000
    68 sudo sysctl -w net.core.wmem_max=25000000
    69 O-JRC/examples/build-mimo-ofdm-packet-generator-Desktop-Debug/mimo-ofdm-packet-generator
    70 }}}
    71 
    72 Configure signal parameters:
    73 
    74 * Sample Rate: 100 MHz
    75 * Packet size: 50 bytes
    76 * TX Antennas: 2
    77 
    78 Press Start once configured.
    79 
    80 [[Image(packet generator.png, 600px)]]
    81 
    82 **Terminal 2**: GNU Radio Execution
    83 
    84 Execute the following command to launch GNU Radio Companion
    85 {{{#!shell
    86 gnuradio-companion
    87 }}}
    88 
    89 ====== Calibration
    90 
    91 Open the calibration flowgraph:
    92 
    93 * `O-JRC/examples/usrp/V0_JRC_calibration.grc`
    94 
    95 Verify calibration parameters:
    96 
    97 * Variables
    98   * `usrp_freq: 3e9`
    99   * `samp_rate: 100e6`
    100 * usrp_mimo_trx
    101   * Number of MBoards: 2
    102   * Number of TX: 2
    103   * Number of RX: 2
    104   * USRP Arguments: `"addr0=10.38.24.1, addr1=10.38.24.2, master_clock_rate=200e6"`
    105   * Clock Sources: `"internal,external"`
    106   * Time Sources: `"internal,external"`
    107 
    108 Execute the flowgraph, set the TX Gain to 20dB and adjust the following parameters until waveforms are aligned:
    109 
    110 * RX2 Gain
    111 * RX2 Phase
    112 
    113 Record these calibration values and terminate flowgraph.
    114 
    115 
    116 [[Image(calibration.png, 1200px)]]
    117 
    118 
    119 ====== Radar Transmission
    120 
    121 Open TRX flowgraph:
    122 
    123 * `O-JRC/examples/usrp/V1_JRC_TRX.grc`
    124 
    125 Verify calibration parameters:
    126 
    127 * Variables
    128   * `usrp_freq: 3e9`
    129   * `samp_rate: 100e6`
    130   * `rf_freq: 28e9`
    131 
    132 Update defaults for:
    133 
    134 * `amp_rx2` = calibrated gain
    135 * `phase_rx2` = calibrated phase
    136 
    137 Run radar transmission.
    138 
    139 [[Image(radar.png, 1000px)]]
    140 
    141 ===== Mobile PAAM Receiver Side (mob4-1)
    142 
    143 Open a terminal and execute the following to configure the network and the mobile PAAM:
    144 
    145 {{{#!shell
    146 curl "http://am1.orbit-lab.org:5054/array_mgmt/configure?dev_name=rfdev-mob4-1.sb1.cosmos-lab.org&ics=all&num_elements=16&txrx=rx&pol=h&theta=0&phi=0"
    147 }}}
    148 
    149 Launch GNU Radio Companion:
    150 
    151 {{{#!shell
    152 gnuradio-companion
    153 }}}
    154 
    155 Open RX Flowgraph:
    156 
    157 * `O-JRC/examples/usrp/V1_JRC_RX.grc`
    158 
    159 Check parameters:
    160 
    161 * Variables
    162   * `usrp_freq: 3e9`
    163   * `samp_rate: 100e6`
    164   * `rf_frequency: 28e9`
    165 * UHD Source
    166   * Device Address: `"serial=31557B9,master_clock_rate=200e6"`
    167   * Device Arguments: `"resource:RIO0"`
    168   * Mb0: Subdev Spec: `"A:0"`
    169 
    170 Execute the flowgraph and set the RX Gain to 0dB to receive the OFDM data.
    171 
    172 [[Image(receiver.png, 1000px)]]