Skip to content

v0.1.0-beta.1

Choose a tag to compare

@dunaar dunaar released this 03 Jan 16:30
· 16 commits to main since this release
5ee38e5

Release notes — v0.1.0-beta.1

This is the first beta release of RF_chain_modeling, focused on end-to-end RF chain simulation with frequency-dependent component models and basic linearity characterization utilities.

Highlights

  • RF chain simulation with cascaded components (antenna, filters, amplifiers, attenuator, cable) using a dedicated RFchain container.
  • Signal generation and analysis utilities built around the Signals class (tones + thermal noise, spectrum/temporal views).
  • Built-in characterization helpers to assess gain/phase/noise figure versus frequency and to run IP2/IP3-style assessments.

Included examples

  • RF_chain_modeling/rf_chains/rf_chain_example.py: demonstrates building a multi-component RF chain, processing a multi-tone signal, plotting results, and running gain/IPx assessments across frequency.
  • RF_chain_modeling/rf_components/zvq_183_s_plus.py: demonstrates creating a data-driven component from a TSV file (Mini-Circuits ZVQ-183+) using CSVDataTable, then plotting gain/phase/NF and running linearity-related checks.

Dependencies

  • Requires numpy, scipy, matplotlib, and tqdm (see requirements.txt).

Known limitations (beta)

  • Filter design uses digital IIR design (butter) and is constrained by the sampling rate used by generated signals, so some parameter combinations can trigger Nyquist-related errors during characterization runs.
  • IPx/P1dB characterization may fail to converge or report “unable to characterize … finely” depending on sweep settings and signal configuration (resolution, span, power sweep).

Roadmap (next betas)

  • More robust sampling-rate/bandwidth management for filter-based components during IPx/P1dB sweeps.
  • Improved stability and reporting for nonlinearity characterization (better error handling, clearer diagnostics, optional plotting).