Simulator

A Python module for radar simulation

██████╗  █████╗ ██████╗  █████╗ ██████╗ ███████╗██╗███╗   ███╗██╗  ██╗
██╔══██╗██╔══██╗██╔══██╗██╔══██╗██╔══██╗██╔════╝██║████╗ ████║╚██╗██╔╝
██████╔╝███████║██║  ██║███████║██████╔╝███████╗██║██╔████╔██║ ╚███╔╝ 
██╔══██╗██╔══██║██║  ██║██╔══██║██╔══██╗╚════██║██║██║╚██╔╝██║ ██╔██╗ 
██║  ██║██║  ██║██████╔╝██║  ██║██║  ██║███████║██║██║ ╚═╝ ██║██╔╝ ██╗
╚═╝  ╚═╝╚═╝  ╚═╝╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝╚═╝╚═╝     ╚═╝╚═╝  ╚═╝
radarsimpy.simulator.simc(radar, targets, noise=True)

Radar simulator with C++ engine

Parameters:
  • radar (Radar) – Radar model

  • targets (list[dict]) –

    Ideal point target list

    [{

    • location (numpy.1darray) –

      Location of the target (m), [x, y, z]

    • rcs (float) –

      Target RCS (dBsm)

    • speed (numpy.1darray) –

      Speed of the target (m/s), [vx, vy, vz]. default [0, 0, 0]

    • phase (float) –

      Target phase (deg). default 0

    }]

    Note: Target’s parameters can be specified with Radar.timestamp to customize the time varying property. Example: location=(1e-3*np.sin(2*np.pi*1*radar.timestamp), 0, 0)

  • noise (bool) – Flag to enable noise calculation. default True

Returns:

{

  • baseband (numpy.3darray) –

    Time domain complex (I/Q) baseband data. [channes/frames, pulses, samples]

    Channel/frame order in baseband

    [0] Frame[0] -- Tx[0] -- Rx[0]

    [1] Frame[0] -- Tx[0] -- Rx[1]

    [N] Frame[0] -- Tx[1] -- Rx[0]

    [N+1] Frame[0] -- Tx[1] -- Rx[1]

    [M] Frame[1] -- Tx[0] -- Rx[0]

    [M+1] Frame[1] -- Tx[0] -- Rx[1]

  • timestamp (numpy.3darray) –

    Refer to Radar.timestamp

}

Return type:

dict