Replace two-way propagation channel with two one-way propagation channels

1 view (last 30 days)
Hello,
I am using the Phased Array System Toolbox and I want to replace a two-way propagation channel by two one-way propagation channels, so I can add more signals to the receive path.
Why are the receive signals rxsig and yt not the same even though I am reusing the same radiator/collector?
Am I using the target relection in the correct way?
% Two-way channel
channel = phased.FreeSpace('PropagationSpeed',c,'OperatingFrequency',fc,'SampleRate',fs,'TwoWayPropagation',true);
% Two way propagation
sig = waveform(); % waveform
[~,txang] = rangeangle(tgtPos,radarParams.OriginPosition,radarParams.Orientation);
txsig = transmitter(sig); % transmit
txsig = radiator(txsig,txang); % radiate
txsig = channel(txsig,radarParams.OriginPosition,tgtPos,... % propagate in two-way channel
radarParams.OriginVelocity,tgtVel);
tgtsig = pointTgts(txsig,tgtAngs); % pointTgts of type phased.BackscatterRadarTarget
rxsig = collector(tgtsig,txang); % collect
rxsig = receiver(rxsig); % receive
% Two one-way channels
envout = phased.FreeSpace('TwoWayPropagation',false,'SampleRate', fs,'OperatingFrequency',fc,'PropagationSpeed',c);
envin = phased.FreeSpace('TwoWayPropagation',false,'SampleRate', fs,'OperatingFrequency',fc,'PropagationSpeed',c);
% One way propagation (from FrequencyAgilityExample)
xt = transmitter(sig); % transmit
xtarray = radiator(xt, txang); % radiate
yp = envout(xtarray,radarParams.OriginPosition,tgtPos,... % propagate
radarParams.OriginVelocity,tgtVel);
yr = pointTgts(yp,tgtAngs); % reflect
ye = envin(yr,tgtPos,radarParams.OriginPosition,... % propagate
tgtVel,radarParams.OriginVelocity);
yt = collector(ye,txang); % collect
yt = receiver(yt); % receive

Answers (1)

Honglei Chen
Honglei Chen on 26 Feb 2019
This may have to do with your target location. The channel delays signal based on the distance. However, when the travel time is not a multiple of sampling time, then the signal arrives between the samples. In this case, a fractional delay filter is applied to the signal. Thus, when you change one two-way channel with two one-way channel, the signal may go through one more filter and therefore the result may be slightly different.
HTH

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!