Model Coherent-on-Receive Behavior
When modeling a coherent-on-receive monostatic radar, use the EnableInputPort
and PhaseNoiseInputPort
properties.
In a monostatic radar, the transmitter and receiver cannot operate
simultaneously. Therefore, it is important to keep track of when the
transmitter is active so that you can disable the receiver at those
times. By setting the EnableInputPort
to true
,
you can input a record of when the transmitter is active as an argument
when executing the phased.ReceiverPreamp
System object™.
In a coherent-on-receive radar, the receiver corrects for the
phase noise introduced at the transmitter by using the record of those
phase errors. By setting the PhaseNoiseInputPort
property
to true
, you can input a record of the transmitter
phase errors as an argument when executing the phased.ReceiverPreamp
System object.
Coherent-on-Receive for Rectangular Pulse
To illustrate coherent-on-receive, construct a rectangular pulse waveform with five pulses. The waveform pulse repetition frequency (PRF) is 10 kHz and the pulse width is 50 μs. The pulse repetition interval (PRI) is exactly two times the pulse width so the transmitter alternates between active and inactive time intervals of the same duration. For convenience, set the gains on both the transmitter and receiver to 0 dB and the peak power on the transmitter to 1 W.
Use the PhaseNoiseOutputPort
and InUseOutputPort
properties of the transmitter to record the phase noise and the status of the transmitter.
Enable the EnableInputPort
and PhaseNoiseInputPort
properties of the receiver preamp to determine when the receiver is active and to correct for the phase noise introduced at the transmitter.
Delay the output of the transmitter using the delayseq
function to simulate the waveform arriving at the receiver preamp when the transmitter is inactive and the receiver is active.
waveform = phased.RectangularWaveform('NumPulses',5); transmitter = phased.Transmitter('CoherentOnTransmit',false,... 'PhaseNoiseOutputPort',true,'Gain',0,'PeakPower',1,... 'SeedSource','Property','Seed',1000,'InUseOutputPort',true); wf = waveform(); [troutput,trstatus,phasenoise] = transmitter(wf); troutput = delayseq(troutput,waveform.PulseWidth,... waveform.SampleRate); receiver = phased.ReceiverPreamp('Gain',0,... 'PhaseNoiseInputPort',true,'EnableInputPort',true); y = receiver(troutput,~trstatus,phasenoise); subplot(2,1,1) plot(real(troutput)) title('Delayed Transmitter Output with Phase Noise') ylabel('Amplitude') subplot(2,1,2) plot(real(y)) xlabel('Samples') ylabel('Amplitude') title('Received Signal with Phase Correction')