Main Content

updateScatteringMatrix

Update scattering matrices

Since R2024a

    Description

    example

    updateScatteringMatrix(surface,Name=Value) updates one or more polarization scattering matrices, where surface is a customSurface object. Name specifies the property name (Shh, Svv,Shv, or Svh) and Value updates the corresponding property value.

    Examples

    collapse all

    Create Custom Surface

    Create a co-polarized custom surface.

    % Create a radar scenario
    rng('default');
    scene = radarScenario(IsEarthCentered=false);
    
    % Create a co-polarized custom surface
    bnds = [-600 570; 0 1.17e3];
    Shh  = zeros(40,40,2);
    Svv  = ones(40,40,2);
    Shv  = zeros(size(Shh));
    srf  = customSurface(scene,Boundary=bnds, ...
         CrossPolarization='Symmetric',Shh=Shh,Svv=Svv,Shv=Shv);

    Collect I/Q Data

    Create a vertically polarized radar I/Q sensor and collect data.

    % Create a vertically polarized radar IQ sensor and attach to
    % a platform
    freq = 500e6;
    sweepBW = 5e6;
    fs = 2*sweepBW;
    wav = phased.LinearFMWaveform(SampleRate=fs, ...
        SweepBandwidth=sweepBW);
    rdr = radarTransceiver(Waveform=wav, ...
        MountingAngles=[-90 10 0], ...
        RangeLimits=[0 1.2e3]);
    element = phased.ShortDipoleAntennaElement;
    ula     = phased.ULA(Element=element);
    configureAntennas(rdr,Combined=ula);
    rdr.TransmitAntenna.OperatingFrequency = freq;
    rdr.ReceiveAntenna.OperatingFrequency = freq;
    rdr.Receiver.SampleRate = fs;
    rdrplat = platform(scene,Position=[0 0 10],Sensors=rdr);
    
    % Create clutter generator
    cluttergen = clutterGenerator(scene,rdr,Resolution=30, ...
        RangeLimit=1.2e3);
    
    % Advance scene and collect IQ
    advance(scene);
    iq = receive(scene);
    
    % Pulse compress
    mf = getMatchedFilter(rdr.Waveform);
    rngresp = phased.RangeResponse(SampleRate=fs);
    [iqPC,rngGrid] = rngresp(iq{1}(:,1),mf);
    figure
    nexttile
    plot(rngGrid,mag2db(abs(iqPC)))
    title(['Pulse 1, Element 1' newline 'Co-Polarized Surface'])
    xlabel('Range (m)')
    ylabel('Magnitude (dB)')
    grid on
    axis tight
    ylim([-80 60])

    Update Scattering Matrix Values

    Update scattering matrix values for HH and VV components to make the surface cross-polarized and collect I/Q data.

    % Update scattering matrix values for HH and VV components.
    % Make the surface cross-polarized.
    Shh  = ones(40,40,2);
    Svv  = zeros(40,40,2);
    updateScatteringMatrix(srf,Shh=Shh,Svv=Svv)
    
    % Collect IQ
    iq = receive(scene);
    [iqPC,rngGrid] = rngresp(iq{1}(:,1),mf);
    nexttile
    plot(rngGrid,mag2db(abs(iqPC)))
    title(['Pulse 2, Element 1' newline ...
        'Cross-Polarized Surface'])
    xlabel('Range (m)')
    ylabel('Magnitude (dB)')
    grid on
    axis tight
    ylim([-80 60])
    sgtitle('Custom Surface')

    Input Arguments

    collapse all

    Surface, specified as a CustomSurface object.

    Name-Value Arguments

    Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

    Example: updateScatteringMatrix(surface,Shh=ones(40,40,2),Svv=zeros(40,40,2))

    Specify the complex-valued polarization scattering matrix co-polarized HH component, where HH represents horizontal transmission and horizontal reception, as an M-by-N-by-P matrix. M indicates the number of components in the x-direction, N indicates the number of components in the y-direction, and P corresponds to the number of frequencies. The matrix is bounded in space by the Boundary property limits.

    Data Types: double
    Complex Number Support: Yes

    Specify the complex-valued polarization scattering matrix co-polarized VV component, where VV represents vertical transmission and vertical reception, as an M-by-N-by-P matrix. M indicates the number of components in the x-direction, N indicates the number of components in the y-direction, and P corresponds to the number of frequencies. The matrix is bounded in space by the Boundary property limits.

    Data Types: double
    Complex Number Support: Yes

    Specify the complex-valued polarization scattering matrix cross-polarized HV component, where HV represents horizontal transmission and vertical reception, as an M-by-N-by-P matrix. M indicates the number of components in the x-direction, N indicates the number of components in the y-direction, and P corresponds to the number of frequencies. The matrix is bounded in space by the Boundary property limits.

    Data Types: double
    Complex Number Support: Yes

    Specify the complex-valued polarization scattering matrix cross-polarized HV component, where HV represents vertical transmission and horizontal reception, as an M-by-N-by-P matrix. M indicates the number of components in the x-direction, N indicates the number of components in the y-direction, and P corresponds to the number of frequencies. The matrix is bounded in space by the Boundary property limits.

    Dependencies

    To enable this property, set the CrossPolarization property to Full.

    Data Types: double
    Complex Number Support: Yes

    Version History

    Introduced in R2024a