Table of Contents

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

data TouchstoneData

The Touchstone data.

unit FrequencyUnit

The 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

data TouchstoneData

The 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

data TouchstoneData

The 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

data TouchstoneData

The 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

data TouchstoneData

The 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

data TouchstoneData

The Touchstone data.

minHz double

The minimum frequency in Hz.

maxHz double

The 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

data TouchstoneData

The Touchstone data.

Returns

double

The maximum frequency.

MinFrequencyHz(TouchstoneData)

Gets the minimum frequency in Hertz.

public static double MinFrequencyHz(this TouchstoneData data)

Parameters

data TouchstoneData

The 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

data TouchstoneData

The Touchstone data.

writer TextWriter

The text writer to write CSV content to.

frequencyUnit FrequencyUnit

The frequency unit for the output (default: Hz).

dataFormat DataFormat

The 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

data TouchstoneData

The Touchstone data.

frequencyUnit FrequencyUnit

The frequency unit (default: Hz).

dataFormat DataFormat

The 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

data TouchstoneData

The 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

data TouchstoneData

The 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

data TouchstoneData

The 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

data TouchstoneData

The Touchstone data.

predicate Func<FrequencyPoint, bool>

The filter predicate.

Returns

TouchstoneData

A new TouchstoneData with filtered frequency points.