Class TouchstoneDataExtensions
- Namespace
- Touchstone.Parser.Utilities
- Assembly
- Touchstone.Parser.dll
LINQ-friendly extension methods for TouchstoneData, providing convenient access to common S-parameter queries, RF calculations, and data export functionality.
public static class TouchstoneDataExtensions
- Inheritance
-
TouchstoneDataExtensions
- Inherited Members
Methods
GetFrequenciesIn(TouchstoneData, FrequencyUnit)
Gets all frequency values converted to the specified unit.
public static IEnumerable<double> GetFrequenciesIn(this TouchstoneData data, FrequencyUnit unit)
Parameters
dataTouchstoneDataThe Touchstone data.
unitFrequencyUnitThe target frequency unit.
Returns
- IEnumerable<double>
An enumerable of frequency values in the specified unit.
GetS11(TouchstoneData)
Gets the S11 (input reflection) parameter across all frequency points.
public static IEnumerable<(double FrequencyHz, NetworkParameter Value)> GetS11(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- IEnumerable<(double FrequencyHz, NetworkParameter Value)>
An enumerable of (frequency, parameter) tuples.
GetS12(TouchstoneData)
Gets the S12 (reverse transmission) parameter across all frequency points.
public static IEnumerable<(double FrequencyHz, NetworkParameter Value)> GetS12(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- IEnumerable<(double FrequencyHz, NetworkParameter Value)>
An enumerable of (frequency, parameter) tuples.
GetS21(TouchstoneData)
Gets the S21 (forward transmission) parameter across all frequency points.
public static IEnumerable<(double FrequencyHz, NetworkParameter Value)> GetS21(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- IEnumerable<(double FrequencyHz, NetworkParameter Value)>
An enumerable of (frequency, parameter) tuples.
GetS22(TouchstoneData)
Gets the S22 (output reflection) parameter across all frequency points.
public static IEnumerable<(double FrequencyHz, NetworkParameter Value)> GetS22(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- IEnumerable<(double FrequencyHz, NetworkParameter Value)>
An enumerable of (frequency, parameter) tuples.
InFrequencyRange(TouchstoneData, double, double)
Filters frequency points to a specific frequency range (inclusive).
public static TouchstoneData InFrequencyRange(this TouchstoneData data, double minHz, double maxHz)
Parameters
dataTouchstoneDataThe Touchstone data.
minHzdoubleThe minimum frequency in Hz.
maxHzdoubleThe maximum frequency in Hz.
Returns
- TouchstoneData
A new TouchstoneData with filtered frequency points.
MaxFrequencyHz(TouchstoneData)
Gets the maximum frequency in Hertz.
public static double MaxFrequencyHz(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- double
The maximum frequency.
MinFrequencyHz(TouchstoneData)
Gets the minimum frequency in Hertz.
public static double MinFrequencyHz(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- double
The minimum frequency.
ToCsv(TouchstoneData, TextWriter, FrequencyUnit, DataFormat)
Exports the Touchstone data to CSV format.
public static void ToCsv(this TouchstoneData data, TextWriter writer, FrequencyUnit frequencyUnit = FrequencyUnit.Hz, DataFormat dataFormat = DataFormat.DecibelAngle)
Parameters
dataTouchstoneDataThe Touchstone data.
writerTextWriterThe text writer to write CSV content to.
frequencyUnitFrequencyUnitThe frequency unit for the output (default: Hz).
dataFormatDataFormatThe data format for the output (default: dB/angle).
ToCsvString(TouchstoneData, FrequencyUnit, DataFormat)
Exports the Touchstone data to a CSV string.
public static string ToCsvString(this TouchstoneData data, FrequencyUnit frequencyUnit = FrequencyUnit.Hz, DataFormat dataFormat = DataFormat.DecibelAngle)
Parameters
dataTouchstoneDataThe Touchstone data.
frequencyUnitFrequencyUnitThe frequency unit (default: Hz).
dataFormatDataFormatThe data format (default: dB/angle).
Returns
- string
The CSV content as a string.
ToInsertionLoss(TouchstoneData)
Computes the insertion loss (|S21| in dB) across all frequency points. Insertion loss is typically reported as a positive number (negated S21 in dB).
public static IEnumerable<(double FrequencyHz, double InsertionLossDb)> ToInsertionLoss(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- IEnumerable<(double FrequencyHz, double InsertionLossDb)>
An enumerable of (frequency, insertion loss in dB) tuples.
ToReturnLoss(TouchstoneData)
Computes the return loss (|S11| in dB) across all frequency points. Return loss is typically reported as a positive number (negated S11 in dB).
public static IEnumerable<(double FrequencyHz, double ReturnLossDb)> ToReturnLoss(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- IEnumerable<(double FrequencyHz, double InsertionLossDb)>
An enumerable of (frequency, return loss in dB) tuples.
ToVswr(TouchstoneData)
Computes the Voltage Standing Wave Ratio (VSWR) from S11 across all frequency points. VSWR = (1 + |S11|) / (1 - |S11|)
public static IEnumerable<(double FrequencyHz, double Vswr)> ToVswr(this TouchstoneData data)
Parameters
dataTouchstoneDataThe Touchstone data.
Returns
- IEnumerable<(double FrequencyHz, double InsertionLossDb)>
An enumerable of (frequency, VSWR) tuples.
Where(TouchstoneData, Func<FrequencyPoint, bool>)
Filters frequency points by a predicate and returns a new TouchstoneData containing only the matching points.
public static TouchstoneData Where(this TouchstoneData data, Func<FrequencyPoint, bool> predicate)
Parameters
dataTouchstoneDataThe Touchstone data.
predicateFunc<FrequencyPoint, bool>The filter predicate.
Returns
- TouchstoneData
A new TouchstoneData with filtered frequency points.