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
unitproperty is changed. - Wavelength Utilities: Provides getters and setters for wavelength (
) in various metric units.
Example
Basic Usage
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