The functionality described in this topic requires a license for the Radar Library and the Communications Library.
TargetRadarCrossSectionExtension is a PointScattererExtension, which contains a PointScattererFrequencyBandCollection, which is a collection of PointScattererFrequencyBand instances which cover the entire frequency band defined by PointScattererFrequencyBandCollection.MinimumFrequency (get) and PointScattererFrequencyBandCollection.MaximumFrequency (get). Each PointScattererFrequencyBand in the collection specifies a lower frequency, with its upper frequency defined by the lower frequency of the next band in the collection. The upper frequency of the last band in the collection is defined by the MaximumFrequency (get) property of the collection. The band used to process an incident Signal is chosen from the collection based on the incident signal's frequency. For example, the "Incident Signal 1" in the below figure will be processed by the ConstantCrossSectionScatteringCoefficient from the first band in the collection, since its frequency is greater than 2 GHz and less than the next band's frequency of 4 GHz. The "Incident Signal 2" signal will be processed by the SphericalTabularMonostaticCrossSectionScatteringCoefficient from the second band, since its frequency is greater than 4 GHz and less than the MaximumFrequency (get) property of the collection, which defaults to MaximumRfFrequency.
Below is a code example of how to configure a radar target platform. Note that in the code example, optional signal data is added to each of the frequency bands. This additional data is added to the reflected signal processed by the frequency band. The example shows how the target can add data to the signal indicating what type of Swerling fluctuating radar cross section model should be associated with the reflected signal. This data is discovered and used by the downstream Mitchell-Walker probability-of-detection algorithm.
CentralBody earth = CentralBodiesFacet.getFromContext().getEarth(); JulianDate epoch = new JulianDate(new GregorianDate(2016, 2, 22, 17, 0, 0)); //Construct the target point propagator Cartesian initialPos = new Cartesian(-11029953.509755684, -40698074.387359113, 15422.511640956744); Cartesian initialVel = new Cartesian(2967.5264945088943, -804.2579908902353, -4.6857787559832); Motion1<Cartesian> initialState = new Motion1<>(initialPos, initialVel); TwoBodyPropagator targetPropagator = new TwoBodyPropagator(epoch, earth.getInertialFrame(), initialState, WorldGeodeticSystem1984.GravitationalParameter); Point targetPropPoint = targetPropagator.createPoint(); //Construct the target platform Platform radarTargetPlatform = new Platform(); radarTargetPlatform.setLocationPoint(targetPropPoint); radarTargetPlatform.setOrientationAxes(new AxesVehicleVelocityLocalHorizontal(earth.getInertialFrame(), radarTargetPlatform.getLocationPoint())); ConstantCrossSectionScatteringCoefficient firstBandConstantCrossSection = new ConstantCrossSectionScatteringCoefficient(0.1); //The target extension must always have at least one band with LowerFrequency equal to the frequency band collections MinimumFrequency TargetRadarCrossSectionExtension targetExtension = new TargetRadarCrossSectionExtension(firstBandConstantCrossSection); PointScattererFrequencyBand firstBand = targetExtension.getFrequencyBands().get(0); //Additional signal data can be added to each frequency band which will be added to the processed reflected signal, which can be discovered by downstream processors. Below we are //adding a data structure to the signal data which indicates the frequency band Swerling case of this target, used by the downstream Mitchell-Walker probability-of-detection algorithm. firstBand.getSignalData().add(new SignalSwerlingTargetModel(SwerlingTargetModel.III)); ConstantCrossSectionScatteringCoefficient secondBandConstantCrossSection = new ConstantCrossSectionScatteringCoefficient(0.2); PointScattererFrequencyBand secondBand = new PointScattererFrequencyBand(3.2e9, secondBandConstantCrossSection); secondBand.getSignalData().add(new SignalSwerlingTargetModel(SwerlingTargetModel.III)); ConstantCrossSectionScatteringCoefficient thirdBandConstantCrossSection = new ConstantCrossSectionScatteringCoefficient(0.5); PointScattererFrequencyBand thirdBand = new PointScattererFrequencyBand(4.5e9, thirdBandConstantCrossSection); thirdBand.getSignalData().add(new SignalSwerlingTargetModel(SwerlingTargetModel.III)); //Add two additional frequency bands targetExtension.getFrequencyBands().add(secondBand); targetExtension.getFrequencyBands().add(thirdBand); radarTargetPlatform.getExtensions().add(targetExtension);