www.gusucode.com > phased 案例源码 matlab代码程序 > phased/BackscatterPolarizedSignalExample.m

    %% Backscatter Polarized Signal
% Calculate the polarized radar signal scattered from a Swerling1
% fluctuating point target. Assume the target axis is rotated from the
% global coordinate system. Use simple expressions for the scattering
% patterns for illustration. Real scattering patterns are more complicated.
% For polarized signals, you need to specify the _HH_, _HV_, and _VV_
% components of the scattering matrix for a range of incident angles. In
% this example, the patterns cover the range 10°–30° in
% azimuth and 5°–15° in elevation. Angles are with respect to
% the target local coordinate system. Assume that the radar operating
% frequency is 1 GHz and that the signal is a sinusoid with a frequency of
% 1 MHz. The incident angle is 13.0° azimuth and 14.0° elevation
% with respect to the target orientation.
%%
% *Note:* This example runs only in R2016b or later. If you are using an earlier
% release, replace each call to the function with the equivalent |step|
% syntax. For example, replace |myObject(x)| with |step(myObject,x)|.
%%
% Create and plot the scattering matrix patterns.
azmax = 20.0;
elmax = 10.0;
azpattern = [10.0:0.1:30.0];
elpattern = [5.0:0.1:15.0];
shhpat = cosd(4*(elpattern - elmax))'*cosd(4*(azpattern - azmax));
shvpat = 1i*cosd(4*(elpattern - elmax))'*sind(4*(azpattern - azmax));
svvpat = sind(4*(elpattern - elmax))'*sind(4*(azpattern - azmax));
subplot(1,3,1)
imagesc(azpattern,elpattern,abs(shhpat))
axis image
axis tight
title('HH')
xlabel('Azimuth (deg)')
ylabel('Elevation (deg)')
subplot(1,3,2)
imagesc(azpattern,elpattern,abs(shvpat))
axis image
axis tight
title('HV')
xlabel('Azimuth (deg)')
subplot(1,3,3)
imagesc(azpattern,elpattern,abs(svvpat))
axis image
axis tight
title('VV')
xlabel('Azimuth (deg)')

%%
% Create the |phased.BackscatterRadarTarget| System object(TM).
target = phased.BackscatterRadarTarget('EnablePolarization',true,...
    'Model','Swerling1','AzimuthAngles',azpattern,...
    'ElevationAngles',elpattern,'ShhPattern',shhpat,'ShvPattern',shvpat,...
    'SvvPattern',svvpat);

%%
% Generate 50 samples of a polarized radar signal.
foper = 1.0e9;
freq = 1.0e6;
fs = 10*freq;
nsamp = 50;
t = [0:(nsamp-1)]'/fs;
signal.X = exp(1i*2*pi*freq*t);
signal.Y = exp(1i*2*pi*freq*t + pi/3);
signal.Z = zeros(size(signal.X));
tgtaxes = azelaxes(60,10);
ang = [13.0;14.0];

%%
% Reflect the signal from the target and plot its components.
refl_signal = target(signal,ang,tgtaxes,true);
figure
plot(t*1e6,real(refl_signal.X))
hold on
plot(t*1e6,real(refl_signal.Y))
plot(t*1e6,real(refl_signal.Z))
hold off
xlabel('Time \mu seconds')
ylabel('Amplitude')
grid