wiki:Tutorials/Wireless/mimoRadar

mmWave OFDM based ISAC

Description

This tutorial demonstrates how to perform an mmWave OFDM based ISAC (Integrated Sensing and Communications) experiment using the COSMOS testbed.

Prerequisites

  • COSMOS account and reservation established
  • Access to the radar SDR nodes and PAAM mobile node
  • Chrome Remote Desktop for graphical access

Related COSMOS Documentation

Resource Requirements

  • SDRs: sdr1-radar, sdr2-radar
  • PAAMs: rfdev-sdr1-radar, rfdev-sdr2-radar
  • Mobile PAAM: mob4-1
  • Server: srv1-lg1
  • Image: ubuntu2004-uhd4.3-gr3.8-radar.ndz

Setup

Load the required images onto the server and mobile PAAM:

omf load -i ubuntu2004-uhd4.3-gr3.8-radar.ndz -t srv1-lg1
omf load -i ubuntu2004-uhd4.3-gr3.8-radar.ndz -t mob4-1

Power on the experiment hardware:

omf tell -a on -t sdr1-radar,rfdev-sdr1-radar,sdr2-radar,rfdev-sdr2-radar,mob4-1,srv1-lg1

Connect to the server:

ssh root@srv1-lg1

Run the PAAM setup script:

cd IBM_PAAM_Software_vFINAL/examples/
python3 paam_radar_setup.py

Connect via Chrome Remote Desktop and choose the first GNOME on Xorg.

Execution

Radar Side (srv1-lg1)

Terminal 1: Network and packet generator configuration:

sudo ip link set dev eno1 mtu 9000
sudo sysctl -w net.core.wmem_max=25000000
O-JRC/examples/build-mimo-ofdm-packet-generator-Desktop-Debug/mimo-ofdm-packet-generator

Configure signal parameters:

  • Sample Rate: 100 MHz
  • Packet size: 50 bytes
  • TX Antennas: 2

Press Start once configured.

Terminal 2: GNU Radio Execution

Execute the following command to launch GNU Radio Companion

gnuradio-companion
Calibration

Open the calibration flowgraph:

  • O-JRC/examples/usrp/V0_JRC_calibration.grc

Verify calibration parameters:

  • Variables
    • usrp_freq: 3e9
    • samp_rate: 100e6
  • usrp_mimo_trx
    • Number of MBoards: 2
    • Number of TX: 2
    • Number of RX: 2
    • USRP Arguments: "addr0=10.38.24.1, addr1=10.38.24.2, master_clock_rate=200e6"
    • Clock Sources: "internal,external"
    • Time Sources: "internal,external"

Execute the flowgraph, set the TX Gain to 20dB and adjust the following parameters until waveforms are aligned:

  • RX2 Gain
  • RX2 Phase

Record these calibration values and terminate flowgraph.

Radar Transmission

Open TRX flowgraph:

  • O-JRC/examples/usrp/V1_JRC_TRX.grc

Verify calibration parameters:

  • Variables
    • usrp_freq: 3e9
    • samp_rate: 100e6
    • rf_freq: 28e9

Update defaults for:

  • amp_rx2 = calibrated gain
  • phase_rx2 = calibrated phase

Run radar transmission.

Mobile PAAM Receiver Side (mob4-1)

Open a terminal and execute the following to configure the network and the mobile PAAM:

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"

Launch GNU Radio Companion:

gnuradio-companion

Open RX Flowgraph:

  • O-JRC/examples/usrp/V1_JRC_RX.grc

Check parameters:

  • Variables
    • usrp_freq: 3e9
    • samp_rate: 100e6
    • rf_frequency: 28e9
  • UHD Source
    • Device Address: "serial=31557B9,master_clock_rate=200e6"
    • Device Arguments: "resource:RIO0"
    • Mb0: Subdev Spec: "A:0"

Execute the flowgraph and set the RX Gain to 0dB to receive the OFDM data.

Last modified 7 days ago Last modified on Nov 13, 2025, 9:12:49 PM

Attachments (6)

Note: See TracWiki for help on using the wiki.