Hi ,
You're correct: phased.ScatteringMIMOChannel expects a signal per transmitter element, which doesn't directly match your scenario (multiple, independent radars, each with their own pulse train, and one receiver). But you can still model multipath (including clutter bounces) for each radar pulse train, with some workarounds.
1. Model Each Path Explicitly
Since you want to model direct and single-bounce (clutter) paths for each radar, you can explicitly sum the delayed, attenuated copies of the radar pulse train at your receiver.Steps:
a. For Each Radar:
- Generate its pulse train (as you already do).
b. For Each Path (Direct, and Each Multipath/Clutter Path):
- Compute path delay (distance/speed of light).
- Compute path loss (free-space or with additional attenuation for clutter).
- Apply Doppler shift if needed (for moving clutter).
- Sum delayed, attenuated, and Doppler-shifted copies of the pulse train.
c. Sum All Radars' Contributions
- Add up all the contributions at the receiver.
2)Suppose you have N radars and for each, you want to model the direct path and M clutter paths:
c = physconst('LightSpeed');
delaySamples = round(delay*fs);
sig = attenuation * txSignal;
sig = sig .* exp(1j*2*pi*doppler*(0:length(sig)-1)/fs);
sig = [zeros(1,delaySamples), sig];
sig = sig(1:length(txSignal));
rxSignal = rxSignal + sig;
You can wrap the above in functions for clarity.
You can refer to following documentation asw ell:
https://www.mathworks.com/help/phased/ug/signal-parameter-estimations-in-a-radar-warning-receiver.html