Model Coherent-on-Receive Behavior
When modeling a coherent-on-receive monostatic radar, use the
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
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
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.
InUseOutputPort properties of the transmitter to record the phase noise and the status of the transmitter.
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')