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')
