Producing Clutter IQ for arbitrary Waveform

29 views (last 30 days)
Thomas
Thomas on 16 Jan 2026 at 11:22
Commented: Peter Khomchuk on 20 Jan 2026 at 15:53
I was looking at https://www.mathworks.com/help/radar/ug/simulating-radar-returns-from-moving-sea-surfaces.html and saw that the radarTransciever() object has a phased.LinearFMWaveform() object attributed to it. Upon looking at this i realize there are only a few types of waveforms available, and it seems NO custom IQ waveform that can be created into a object like phased.LinearFMWaveform() that i can use to define in the radarTransceiver() object and therefore execute the receive(scene).
Ultimately i need to generate IQ off sea surface, with an arbitrary waveform i have predefined/computed.
Is there a way to define a custom waveform that is compatible with what i am trying to do above? or is there another way to generate IQ clutter return with an arbitrary waveform?

Answers (1)

Broy
Broy about 10 hours ago
I understand you are trying to generate IQ returns from a moving sea surface using a specific, pre-computed arbitrary waveform. You are facing an issue where the radarTransceiver object appears to strictly require standard waveform objects and does not offer a direct way to input a custom IQ waveform object.
There is a workaround if your custom waveform can be defined by frequency modulation and a custom amplitude envelope. You can use the phased.CustomFMWaveform object which is compatible with radarTransceiver.
Useful Documentation regarding phased.CustomFMWaveform object:
Hope this helps.
  1 Comment
Peter Khomchuk
Peter Khomchuk 18 minutes ago
Hello @Thomas,
I would like to mention one more option in addition to what was suggested by @Broy.
Another way to specify a custom waveform is by using the phased.PhaseCodedWaveform System object
(see: https://www.mathworks.com/help/phased/ref/phased.phasecodedwaveform-system-object.html)
with the Code property set to "Custom".
In this configuration, the custom code can be any vector of complex-valued samples. It does not need to be a phase‑coded waveform in the strict sense. Therefore, if you already have an arbitrary waveform represented as a vector of IQ samples, it can be transmitted by treating it as a custom phase‑coded waveform using the phased.PhaseCodedWaveform object.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!