Sonar range and speed/doppler output using phased.RangeDopplerResponse with match filtering
22 views (last 30 days)
Show older comments
%I setup the rangedopresp using the setup for s ingle acoustic projector
%and hydrophone.
% I succesffully created the IQ cube and can plot the slow and fast times.
fs = 60e3;
propSpeed = 1500;
fc = 30000;
prf = 0.25;
ndop = 2048;
rangedopresp = phased.RangeDopplerResponse( ...
'SampleRate', fs, ...
'PropagationSpeed',propSpeed, ...
'DopplerFFTLengthSource','Property', ...
'DopplerFFTLength',ndop, ...
'DopplerOutput','Speed', ...
'MaximumNumInputSamplesSource', 'Property', ...
'MaximumNumInputSamples', 240000, ...
'OperatingFrequency', fc, ...
'PRFSource', 'Property',...
'PRF', prf);
% Converting in the final step for range and speed using
[rngdopresp,rnggrid,dopgrid] = rangedopresp(cube,coeff);
% the resulting Range - Doppler map show the correct range but the
% speed range is very small -3e-3 to 3e-3 m/s
% If I set the speed to zero the result is as expected.
% for anyother speed greater than +- 3e-3 it is outside the range.
% I have not been able to identify how to get the correct speed range
%
% help will be appreciated
2 Comments
Answers (2)
Anmol
on 4 Nov 2025 at 10:40
Hi Joe,
I understand that you are trying to use "phased.RangeDopplerResponse" in MATLAB's Phased Array System Toolbox to process acoustic data from a single projector and hydrophone setup, aiming to generate a Range-Doppler map that accurately measures both the distance (range) and speed (Doppler) of a target but you are getting an error and also the speed range is small.
- You can check the variable “cube” is defined and loaded into the active workspace. You can refer: https://www.mathworks.com/company/technical-articles/building-and-processing-a-radar-data-cube.html
- As a workaround, you can try increasing the PRF value as there is a trade-off between maximum range and maximum speed observed.You can refer to this documentation for more details : https://www.mathworks.com/help/releases/R2025a/radar/ug/designing-radar-waveforms-for-high-PRF-systems.html
I hope, it helps.
0 Comments
Honglei Chen
on 12 Nov 2025 at 19:49
Hi Joe,
phased.RangeDopplerResponse uses muliple pulses to estimate the speed, so the maximum unambiguous speed it can measure is determined by the half of the PRF (half because we need to consider both departing and approaching targets). In your configuration, we can compute the maximum unambiguous speed as
propSpeed = 1500;
fc = 30000;
prf = 0.25;
vmax = dop2speed(prf/2,propSpeed/fc)/2 % divides 2 at the end assuming it is a monostatic system
That value comes out to be about 3e-3. So the displayed interval is expected. To get larger unambiguous speed, you may need to increase the PRF of your system.
Hope this helps. If you need any additional information, please feel free to drop me a note. Thanks.
0 Comments
See Also
Categories
Find more on Array Geometries and Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!