Skip to content

RF Touchstone / frequency / Frequency

Class: Frequency

Defined in: src/frequency.ts:74

Represents frequency data and provides utility methods for unit conversion and wavelength calculation.

Remarks

The Frequency class is designed to handle frequency points commonly used in RF, microwave, and high-speed digital engineering. It maintains an internal unit and a set of frequency points, allowing for seamless conversion between different frequency and wavelength units.

Key Features:
  • Unit Awareness: Keeps track of whether frequencies are defined in Hz, MHz, GHz, etc.
  • Automatic Conversion: Automatically scales frequency points when the unit property is changed.
  • Wavelength Utilities: Provides getters and setters for wavelength ( λ=c/f ) in various metric units.

Example

Basic Usage

typescript
import { Frequency } from 'rf-touchstone';

const freq = new Frequency();
freq.unit = 'GHz';
freq.f_scaled = [1.0, 2.0, 5.0];

console.log(freq.f_Hz); // [1e9, 2e9, 5e9]
console.log(freq.wavelength_mm); // [299.79, 149.90, 59.96]

Constructors

Constructor

new Frequency(): Frequency

Returns

Frequency

Accessors

unit

Get Signature

get unit(): "Hz" | "kHz" | "MHz" | "GHz"

Defined in: src/frequency.ts:140

Gets the current frequency unit.

Returns

"Hz" | "kHz" | "MHz" | "GHz"

Set Signature

set unit(newUnit): void

Defined in: src/frequency.ts:88

Sets the frequency unit. If frequency points already exist, they will be automatically rescaled to the new unit.

Throws

Error if the provided unit is invalid.

Parameters
newUnit

The target frequency unit (Hz, kHz, MHz, or GHz).

"Hz" | "kHz" | "MHz" | "GHz"

Returns

void


f_scaled

Get Signature

get f_scaled(): number[]

Defined in: src/frequency.ts:183

Gets the array of frequency points in the current unit.

Returns

number[]

Set Signature

set f_scaled(value): void

Defined in: src/frequency.ts:157

Sets the array of frequency points in the current frequency unit.

Throws

Error if the input is not a non-negative number array.

Parameters
value

number[]

Array of numerical frequency points.

Returns

void


f_Hz

Get Signature

get f_Hz(): number[]

Defined in: src/frequency.ts:266

Gets the frequency points in Hertz (Hz).

Returns

number[]

Set Signature

set f_Hz(values): void

Defined in: src/frequency.ts:273

Sets the frequency points in Hertz (Hz).

Parameters
values

number[]

Returns

void


f_kHz

Get Signature

get f_kHz(): number[]

Defined in: src/frequency.ts:280

Gets the frequency points in Kilohertz (kHz).

Returns

number[]

Set Signature

set f_kHz(values): void

Defined in: src/frequency.ts:287

Sets the frequency points in Kilohertz (kHz).

Parameters
values

number[]

Returns

void


f_MHz

Get Signature

get f_MHz(): number[]

Defined in: src/frequency.ts:294

Gets the frequency points in Megahertz (MHz).

Returns

number[]

Set Signature

set f_MHz(values): void

Defined in: src/frequency.ts:301

Sets the frequency points in Megahertz (MHz).

Parameters
values

number[]

Returns

void


f_GHz

Get Signature

get f_GHz(): number[]

Defined in: src/frequency.ts:308

Gets the frequency points in Gigahertz (GHz).

Returns

number[]

Set Signature

set f_GHz(values): void

Defined in: src/frequency.ts:315

Sets the frequency points in Gigahertz (GHz).

Parameters
values

number[]

Returns

void


f_THz

Get Signature

get f_THz(): number[]

Defined in: src/frequency.ts:326

Gets the frequency points in Terahertz (THz).

Remarks

THz is available for programmatic unit conversion but is NOT a valid file format unit. Use this getter to convert existing frequency data to THz for calculations or display.

Returns

number[]

Set Signature

set f_THz(values): void

Defined in: src/frequency.ts:338

Sets the frequency points in Terahertz (THz).

Remarks

THz is available for programmatic unit conversion but is NOT a valid file format unit. This setter converts THz values to the current internal unit (set via unit property). Do not attempt to set unit = 'THz' as it will throw an error.

Parameters
values

number[]

Returns

void


wavelength_m

Get Signature

get wavelength_m(): number[]

Defined in: src/frequency.ts:438

Gets the wavelength in meters (m).

Returns

number[]

Set Signature

set wavelength_m(values): void

Defined in: src/frequency.ts:452

Sets the wavelength in meters (m).

Remarks

This is a bidirectional conversion: setting wavelength automatically calculates and updates the underlying frequency points using the relationship f = c/λ, where c is the speed of light. The resulting frequencies are stored in the current unit specified by the unit property.

Throws

Error if any wavelength value is zero (division by zero).

Parameters
values

number[]

Returns

void


wavelength_cm

Get Signature

get wavelength_cm(): number[]

Defined in: src/frequency.ts:459

Gets the wavelength in centimeters (cm).

Returns

number[]

Set Signature

set wavelength_cm(values): void

Defined in: src/frequency.ts:469

Sets the wavelength in centimeters (cm).

Remarks

Bidirectional conversion: Updates frequency points via f = c/λ.

Parameters
values

number[]

Returns

void


wavelength_mm

Get Signature

get wavelength_mm(): number[]

Defined in: src/frequency.ts:476

Gets the wavelength in millimeters (mm).

Returns

number[]

Set Signature

set wavelength_mm(values): void

Defined in: src/frequency.ts:486

Sets the wavelength in millimeters (mm).

Remarks

Bidirectional conversion: Updates frequency points via f = c/λ.

Parameters
values

number[]

Returns

void


wavelength_um

Get Signature

get wavelength_um(): number[]

Defined in: src/frequency.ts:493

Gets the wavelength in micrometers (μm).

Returns

number[]

Set Signature

set wavelength_um(values): void

Defined in: src/frequency.ts:503

Sets the wavelength in micrometers (μm).

Remarks

Bidirectional conversion: Updates frequency points via f = c/λ.

Parameters
values

number[]

Returns

void


wavelength_nm

Get Signature

get wavelength_nm(): number[]

Defined in: src/frequency.ts:510

Gets the wavelength in nanometers (nm).

Returns

number[]

Set Signature

set wavelength_nm(values): void

Defined in: src/frequency.ts:520

Sets the wavelength in nanometers (nm).

Remarks

Bidirectional conversion: Updates frequency points via f = c/λ.

Parameters
values

number[]

Returns

void