SensingSP™ is an open-source library designed for simulating electromagnetic sensing systems and implementing signal processing and machine learning algorithms.
To install SensingSP™ and its dependencies, run the following command:
pip install sensingsp
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()
$$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)} ")
# 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
For inquiries, suggestions, or contributions, feel free to reach out:
Moein Ahmadi
Email: moein.ahmadi@uni.lu