Click or drag to resize

Signal Class

An immutable data structure which represents the properties of a single signal consisting of a power, center frequency, bandwidth range, noise temperature, noise bandwidth range, and a set of additional objects representing additional data. The additional data is identified by type and is used to represent things like message data encoded on the signal, DigitalModulation, SignalDataRate, etc.
Inheritance Hierarchy
SystemObject
  AGI.Foundation.CommunicationsSignal

Namespace:  AGI.Foundation.Communications
Assembly:  AGI.Foundation.Communications (in AGI.Foundation.Communications.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public class Signal : IEquatable<Signal>

The Signal type exposes the following members.

Constructors
  NameDescription
Protected methodSignal
Create a new instance by copying an existing instance.
Top
Properties
  NameDescription
Public propertyBandwidth
Gets the signal bandwidth, in hertz. This specifies the range of frequencies over which the majority of signal Power is distributed.
Public propertyStatic memberBaseSignal
Gets an instance of a signal with zero power, zero frequency, and infinite bandwidth.
Public propertyFrequency
Gets the center frequency of the signal, in hertz. This is usually the frequency which has the greatest power density.
Public propertyLowerBandwidthFrequency
Gets the lower bandwidth frequency, in hertz. This specifies the signal's lowest frequency.
Public propertyLowerBandwidthLimit
Gets the offset from the center Frequency to the lower bandwidth limit, in hertz. (Usually, this value is negative).
Public propertyLowerNoiseBandwidthFrequency
Gets the frequency of the lower boundary of the noise bandwidth, in hertz. This specifies the lowest frequency at which there is significant noise.
Public propertyLowerNoiseBandwidthLimit
Gets the offset from the center Frequency to the lower limit of the noise bandwidth, in hertz. (Usually, this value is negative).
Public propertyNoiseBandwidth
Gets the bandwidth of the signal noise, in hertz. This specifies the range of frequencies over which there is significant noise.
Public propertyNoisePower
Gets the power of the noise, in watts, as computed from the NoiseTemperature based on the NoiseBandwidth.
Public propertyNoiseTemperature
Gets the equivalent noise temperature, in kelvin. This represents the contribution of thermal noise and other stochastic processes on the signal.
Public propertyPower
Gets the total signal power, in watts. This specifies the total power spread out over the Bandwidth.
Public propertyUpperBandwidthFrequency
Gets the upper bandwidth frequency, in hertz. This specifies the signal's highest frequency.
Public propertyUpperBandwidthLimit
Gets the offset from the center Frequency to the upper bandwidth limit, in hertz.
Public propertyUpperNoiseBandwidthFrequency
Gets the frequency of the upper boundary of the noise bandwidth, in hertz. This specifies the highest frequency at which there is significant noise.
Public propertyUpperNoiseBandwidthLimit
Gets the offset from the center Frequency to the upper limit of the noise bandwidth, in hertz.
Top
Methods
  NameDescription
Public methodAddAndRemoveExistingDataT
Creates a new signal by adding data in addition to the data existing on this signal. Existing instances of the supplied data type will be removed.
Public methodAddData
Creates a new signal by adding data in addition to the data existing on this signal.
Public methodAddNoiseTemperature
Creates a new signal by adding noise temperature (such as thermal noise), in kelvin.
Public methodApplyGain
Create a new signal by applying a gain to this signal. The gain is applied to both the signal Power and NoisePower.
Public methodContainsDataByType(Type)
Gets a value indicating whether this signal contains data of the specified type.
Public methodContainsDataByTypeT
Gets a value indicating whether this signal contains data of the specified type.
Public methodStatic memberCreateSignal(Double, Double, Double, Double)
Create a new noiseless signal based on the given properties. To modify a preexisting signal, use ModifySignalProperties(Double, Double, Double, Double, Double, Double, Double) or similar methods on the preexisting signal instance.
Public methodStatic memberCreateSignal(Double, Double, Double, Double, IEnumerableObject)
Create a new noiseless signal based on the given properties. To modify a preexisting signal, use ModifySignalProperties(Double, Double, Double, Double, Double, Double, Double) or similar methods on the preexisting signal instance.
Public methodStatic memberCreateSignal(Double, Double, Double, Double, Double, Double, Double)
Create a new signal based on the given properties. To modify a preexisting signal, use ModifySignalProperties(Double, Double, Double, Double, Double, Double, Double) or similar methods on the preexisting signal instance.
Public methodStatic memberCreateSignal(Double, Double, Double, Double, Double, Double, Double, IEnumerableObject)
Create a new signal based on the given properties. To modify a preexisting signal, use ModifySignalProperties(Double, Double, Double, Double, Double, Double, Double) or similar methods on the preexisting signal instance.
Public methodEquals(Object)
Indicates whether another object is exactly equal to this instance.
(Overrides ObjectEquals(Object).)
Public methodEquals(Signal)
Indicates whether another instance of this type is exactly equal to this instance.
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetDataByType(Type)
Gets signal data based on the type of data requested. This data represents optional properties on the signal.
Public methodGetDataByTypeT
Gets signal data based on the type of data requested. This data represents optional properties on the signal.
Public methodGetDataList
Create a copy of the signal data. The Signal will not reflect changes to the list. This data represents optional properties on the signal.
Public methodGetHashCode
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
(Overrides ObjectGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodModifyBandwidth
Create a new signal by modifying the bandwidth limits of this signal.
Public methodModifyFrequency
Create a new signal by modifying the frequency of this signal.
Public methodModifyNoiseTemperature(Double)
Create a new signal by modifying the NoiseTemperature of this signal.
Public methodModifyNoiseTemperature(Double, Double, Double)
Create a new signal by modifying the NoiseTemperature of this signal.
Public methodModifyPower
Create a new signal by modifying the power of this signal.
Public methodModifySignalProperties
Create a new signal by modifying the properties of this signal.
Public methodRemoveDataT
Creates a new signal by removing all data of the given type existing on this signal.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also