How can I use the step function for the swerling models with the UPDATERCS?
Show older comments
Dear Sirs/Madams, Could you please tell me how to use the step function with UPDATERCS? I would like to apply swerling models to end-to-end radar system example http://www.mathworks.com/help/phased/gs/end-to-end-radar-system.html but I couldn't understand how to do from the explanations of mathworks' step function and radar.target. Could you please send me a short example about UPDATERCS on step function or explain me how to do with details ASAP? In fact I would be very happy if you explain me the issue on the end-to-end radar system example.
Error: Error using phased.RadarTarget/step Not enough input arguments; expected 2 (in addition to the object handle), got 1.
Error in rs2 (line 54) sig = step(htgt,sig);
full code:
hwav = phased.RectangularWaveform('PulseWidth',1e-6,'PRF',5e3,'OutputFormat','Pulses','NumPulses',1);
hant = phased.IsotropicAntennaElement('FrequencyRange',[1e9 10e9]);
htgt = phased.RadarTarget('Model','Nonfluctuating','MeanRCS',0.5,'PropagationSpeed',physconst('LightSpeed'),'OperatingFrequency',4e9);
htxplat = phased.Platform('InitialPosition',[0;0;0],'Velocity',[0;0;0],'OrientationAxes',[1 0 0;0 1 0;0 0 1]);
htgtplat = phased.Platform('InitialPosition',[7000; 5000; 0],'Velocity',[-15;-10;0]);
[tgtrng,tgtang] = rangeangle(htgtplat.InitialPosition,htxplat.InitialPosition);
htx = phased.Transmitter('PeakPower',50e3,'Gain',20,'LossFactor',0,'InUseOutputPort',true,'CoherentOnTransmit',true);
hrad = phased.Radiator('Sensor',hant,'PropagationSpeed',physconst('LightSpeed'),'OperatingFrequency',4e9);
hcol = phased.Collector('Sensor',hant,'PropagationSpeed',physconst('LightSpeed'),'Wavefront','Plane','OperatingFrequency',4e9);
hrec = phased.ReceiverPreamp('Gain',20,'NoiseFigure',2,'ReferenceTemperature',290,'SampleRate',1e6,'EnableInputPort',true,'SeedSource','Property','Seed',1e3);
hspace = phased.FreeSpace('PropagationSpeed',physconst('LightSpeed'),'OperatingFrequency',4e9,'TwoWayPropagation',false,'SampleRate',1e6);
% Time step between pulses
T = 1/hwav.PRF;
% Get antenna position
txpos = htxplat.InitialPosition;
% Allocate array for received echoes
rxsig = zeros(hwav.SampleRate*T,numpulses);
for n = 1:numpulses
% Update the target position
[tgtpos,tgtvel] = step(htgtplat,T);
% Get the range and angle to the target
[tgtrng,tgtang] = rangeangle(tgtpos,txpos);
% Generate the pulse
sig = step(hwav);
% Transmit the pulse. Output transmitter status
[sig,txstatus] = step(htx,sig);
% Radiate the pulse toward the target
sig = step(hrad,sig,tgtang);
% Propagate the pulse to the target in free space
sig = step(hspace,sig,txpos,tgtpos,[0;0;0],tgtvel);
% Reflect the pulse off the target
sig = step(htgt,sig);
% Propagate the echo to the antenna in free space
sig = step(hspace,sig,tgtpos,txpos,tgtvel,[0;0;0]);
% Collect the echo from the incident angle at the antenna
sig = step(hcol,sig,tgtang);
% Receive the echo at the antenna when not transmitting
rxsig(:,n) = step(hrec,sig,~txstatus);
end
rxsig = pulsint(rxsig,'noncoherent');
t = unigrid(0,1/hrec.SampleRate,T,'[)');
rangegates = (physconst('LightSpeed')*t)/2;
plot(rangegates,rxsig); hold on;
xlabel('Meters'); ylabel('Power');
ylim = get(gca,'YLim');
plot([tgtrng,tgtrng],[0 ylim(2)],'r');
Accepted Answer
More Answers (0)
Categories
Find more on Transmitters and Receivers in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!