Sensing Signal Processing (SensingSP™)

Overview

SensingSP™ is an open-source library designed for simulating electromagnetic sensing systems and implementing signal processing and machine learning algorithms.

Features

Installation

To install SensingSP™ and its dependencies, run the following command:

pip install sensingsp

Example 1: Radar Equation and SensingSP Ray Tracing

SensingSP Ray Tracing


import sensingsp as ssp

ssp.utils.initialize_environment()

radar = ssp.radar.utils.addRadar(
    radarSensor=ssp.radar.utils.RadarSensorsCategory.TI_Cascade_AWR2243,
    location_xyz=[-3, 0, 1])

ssp.radar.utils.addTarget(
    refRadar=radar,
    range=5, RCS0=3)

ssp.utils.initialize_simulation()
        

while ssp.config.run():
    path_d_drate_amp = ssp.raytracing.Path_RayTracing_frame()
    d_drate_amp=path_d_drate_amp[0][0][0][0][0][0][0]
    print(d_drate_amp)
    ssp.utils.increaseCurrentFrame()
        

Radar Equation

$$P_r = \frac{P_t G_t G_r \lambda^2 \sigma}{(4\pi)^3 R_t^2 R_r^2 L}$$


import numpy as np

sensor_power_dBm = 12
NTX = 4 * 3
tx_power_dBm = sensor_power_dBm - 10 * np.log10(NTX)  # Transmit power in dBm
tx_gain_dB = 0                # Transmit antenna gain in dB
rx_gain_dB = 0                # Receive antenna gain in dB
frequency = 76e9              # Operating frequency in Hz
wavelength = ssp.LightSpeed / frequency  # Wavelength in meters
range_m = 10 / 2
rcs = 3                       # Radar cross-section (RCS) in square meters

# Convert power from dBm to watts
tx_power_watts = 10 ** ((tx_power_dBm - 30) / 10)
# Convert gains from dB to linear scale
tx_gain_linear = 10 ** (tx_gain_dB / 10)
rx_gain_linear = 10 ** (rx_gain_dB / 10)

# Calculate the received power using the radar range equation
rx_power_watts = (tx_power_watts * tx_gain_linear * rx_gain_linear * wavelength**2 * rcs) / \
                 ((4 * np.pi)**3 * range_m**4)

print(f" sqrt(Received Pow): {np.sqrt(rx_power_watts)} ")
        

Compare results


# Display the results
print(f" Radar Equation: amp = {np.sqrt(rx_power_watts)} ")
print(f" SensingSP Ray Tracing output: amp = {d_drate_amp[2]} ")
                    
Radar Equation: amp = 2.2295761512298927e-07 
SensingSP Ray Tracing output: amp = 2.2292628849539048e-07
        

Contact

For inquiries, suggestions, or contributions, feel free to reach out:

Moein Ahmadi

Email: moein.ahmadi@uni.lu