AGI STK Objects 11 Send comments on this topic.
IAgTransmitterModelSimple Interface





Description

Provides access to the properties and methods defining a simple transmitter model.

Object Model





Public Methods

Public Method SetFilter Sets the current filter model by name.
Public Method SetModulator Sets the current modulator model by name.
Public Method SetPolarizationType Sets the current polarization type.

Public Properties

Public Property DataRate Gets or sets the data rate.
Public Property Eirp Gets or sets the EIRP.
Public Property EnableFilter Gets or set the flag determines wether or not to enable the Filter.
Public Property EnablePolarization Gets or sets the enable polarization option
Public Property Filter Gets the current filter model.
Public Property Frequency Gets or sets the carrier frequency.
Public Property Modulator Gets the current modulator model.
Public Property Polarization Gets the polarization
Public Property PostTransmitGainsLosses Gets the collection of additional post transmit gains and losses
Public Property SupportedFilters Gets an array of supported filter model names.
Public Property SupportedModulators Gets an array of supported modulator model names.

Example

Compute a link budget for a Transmtiter and Receiver pair, using simple models
[C#] Copy Code
IAgStkObject xmtrAsStkObject = geoTransmitter as IAgStkObject; 
IAgStkObject rcvrAsStkObject = facilityReceiver as IAgStkObject; 
 
//Set the transmitter to the simple model 
geoTransmitter.SetModel("Simple Transmitter Model"); 
IAgTransmitterModelSimple simpleTrans = geoTransmitter.Model as IAgTransmitterModelSimple; 
 
//Set the simple transmitter model's frequency to 3.2 GHz 
simpleTrans.Frequency = 3.2
 
//Set the simple transmitter model's EIRP to 60 dBW 
simpleTrans.Eirp = 60.0
 
//Set the receiver to the simple model 
facilityReceiver.SetModel("Simple Receiver Model"); 
IAgReceiverModelSimple simpleRcvr = facilityReceiver.Model as IAgReceiverModelSimple; 
 
//Set the simple receiver model's G/T to 60 dB/K 
simpleRcvr.GOverT = 60.0
 
//Create an access object for the access between the transmitter and recevier objects 
IAgStkAccess linkAccess = xmtrAsStkObject.GetAccessToObject(rcvrAsStkObject); 
 
//Compute access 
linkAccess.ComputeAccess(); 
 
// Get the access intervals 
IAgIntervalCollection accessIntervals = linkAccess.ComputedAccessIntervalTimes; 
 
// Extract the access intervals and the range information for each access interval 
Array dataPrvElements = new object[] { "Time""Eb/No""BER" }; 
 
IAgDataPrvTimeVar dp = linkAccess.DataProviders["Link Information"as IAgDataPrvTimeVar; 
 
for (int index0 = 0; index0 < accessIntervals.Count; ++index0) 

    object startTime = null, stopTime = null
    accessIntervals.GetInterval(index0, out startTime, out stopTime); 
 
    IAgDrResult result = dp.ExecElements(startTime, stopTime, 60ref dataPrvElements); 
 
    Array timeValues = result.DataSets[0].GetValues(); 
    Array ebno = result.DataSets[1].GetValues(); 
    Array ber = result.DataSets[2].GetValues(); 
 
    for (int index1 = 0; index1 < timeValues.GetLength(0); ++index1) 
    { 
        string time = (string)timeValues.GetValue(index1); 
        double ebnoVal = (double)ebno.GetValue(index1); 
        double berVal = (double)ber.GetValue(index1); 
        Console.WriteLine("{0}: Eb/No={1} BER={2}", time, ebnoVal, berVal); 
    } 
 
    Console.WriteLine(); 

 
 

Compute a link budget for a Transmtiter and Receiver pair, using simple models
[Visual Basic .NET] Copy Code
Dim xmtrAsStkObject As IAgStkObject = TryCast(geoTransmitter, IAgStkObject)
Dim rcvrAsStkObject As IAgStkObject = TryCast(facilityReceiver, IAgStkObject)

'Set the transmitter to the simple model
geoTransmitter.SetModel("Simple Transmitter Model")
Dim simpleTrans As IAgTransmitterModelSimple = TryCast(geoTransmitter.Model, IAgTransmitterModelSimple)

'Set the simple transmitter model's frequency to 3.2 GHz
simpleTrans.Frequency = 3.2

'Set the simple transmitter model's EIRP to 60 dBW
simpleTrans.Eirp = 60

'Set the receiver to the simple model
facilityReceiver.SetModel("Simple Receiver Model")
Dim simpleRcvr As IAgReceiverModelSimple = TryCast(facilityReceiver.Model, IAgReceiverModelSimple)

'Set the simple receiver model's G/T to 60 dB/K
simpleRcvr.GOverT = 60

'Create an access object for the access between the transmitter and recevier objects
Dim linkAccess As IAgStkAccess = xmtrAsStkObject.GetAccessToObject(rcvrAsStkObject)

'Compute access
linkAccess.ComputeAccess()

' Get the access intervals
Dim accessIntervals As IAgIntervalCollection = linkAccess.ComputedAccessIntervalTimes

#If Not CSToJava Then
' Extract the access intervals and the range information for each access interval
Dim dataPrvElements As Array = New Object() {"Time", "Eb/No", "BER"}
#Else
#End If

Dim dp As IAgDataPrvTimeVar = TryCast(linkAccess.DataProviders("Link Information"), IAgDataPrvTimeVar)

Dim index0 As Integer = 0
While index0 <>
    Dim startTime As Object = Nothing, stopTime As Object = Nothing
    #If Not CSToJava Then
    accessIntervals.GetInterval(index0, startTime, stopTime)
    #Else
    #End If

    #If Not CSToJava Then
    Dim result As IAgDrResult = dp.ExecElements(startTime, stopTime, 60, dataPrvElements)
    #Else
    #End If

    Dim timeValues As Array = result.DataSets(0).GetValues()
    Dim ebno As Array = result.DataSets(1).GetValues()
    Dim ber As Array = result.DataSets(2).GetValues()

    Dim index1 As Integer = 0
    While index1 <>
        Dim time As String = DirectCast(timeValues.GetValue(index1), String)
        Dim ebnoVal As Double = DirectCast(ebno.GetValue(index1), Double)
        Dim berVal As Double = DirectCast(ber.GetValue(index1), Double)
        Console.WriteLine("{0}: Eb/No={1} BER={2}", time, ebnoVal, berVal)
        System.Threading.Interlocked.Increment(index1)
    End While

    Console.WriteLine()
    System.Threading.Interlocked.Increment(index0)
End While


CoClasses that Implement IAgTransmitterModelSimple

© 2016 Analytical Graphics, Inc. All Rights Reserved.

STK Programming Interface 11.0.1