Releases: Sparamix/octave-rf
Release list
rf 0.1.1
rf 0.1.1
Bug-fix release. All users of cascadesparams, deembedsparams, embedsparams, or sparameters(s_obj, z0_new) should update.
Bug fixes
- Struct returns now carry the complete sparameters object surface (
Parameters,Frequencies,Impedance,NumPorts). Previouslycascadesparams/deembedsparams/embedsparamsreturned only the first two fields, which broke MATLAB-written code reading.NumPortson a cascade result (e.g. IEEE P370IEEEP370Zc2xThru.m). Fixes #2. - Reference impedance is validated and propagated. Cascading or de-embedding structs referenced to different impedances now raises an error instead of silently producing a mislabeled (and mathematically invalid) result, matching MATLAB RF Toolbox behavior. The common reference propagates to the output.
sparameters(s_obj, z0_new)renormalizes from the stored.Impedanceinstead of a hardcoded 50 ohm. Chained renormalizations (50 -> 75 -> 60) now equal the direct path to machine precision.
New
ifftshim accepting MATLAB'sifft(x, 'symmetric')flag.
Verification
- Seven new BIST regression tests; full BIST 114/114 pass.
- 21-scenario impedance stress test (40/50/60/75 ohm): label propagation, renorm commutation, embed/de-embed round-trips, mismatch detection.
- Cold-install verified:
pkg install+pkg test rfclean on Octave 11.1.
Install
pkg install 'https://github.com/Sparamix/octave-rf/releases/download/v0.1.1/rf-0.1.1.tar.gz'
pkg load rfSHA256 (rf-0.1.1.tar.gz): e2e7aa007370cc219b3809de61e047ae808dce7f693581d035bff3a9468fc41f
rf 0.1.0
Version 0.1.0 (2026-04-17)
Initial release.
Functions (26 total)
S-parameter objects:
sparametersโ S-parameter struct constructor; supportssparameters(filename)for Touchstone file reading (MATLAB-compatible),sparameters(P, f),sparameters(P, f, z0), andsparameters(obj, z0_new)for renormalization. Struct includes.Parameters,.Frequencies,.Impedance,.NumPorts.rfparamโ extract single S-parameter element by port indices
Chain scattering (T) parameters: s2t, t2s (MATLAB-compatible element ordering)
Network operations: cascadesparams, deembedsparams, embedsparams
Parameter conversions (2-port and N-port): s2z/z2s, s2y/y2s, s2abcd/abcd2s, s2h/h2s, s2g/g2s
Mixed-mode (differential pairs): s2sdd, s2scc, s2smm (supports [Sdd,Sdc,Scd,Scc] = s2smm(S) 4-output form), smm2s
Port operations: snp2smp (incl. 4-arg snp2smp(S,z0,order,z0_term)), renormsparams
I/O: fromtouchn โ Touchstone file reader (S1PโS99P, Touchstone 1.0)
MATLAB compatibility shims: ifft_symmetric, round(x, n)
Validation
- 100 built-in self-tests (BIST), 0 failures
- Cross-validated against MATLAB R2025b RF Toolbox and scikit-rf 1.11.0 to floating-point precision (108/108 pair-wise tests pass)
- Backwards-compatibility cross-validated against MATLAB R2020b (9.9.0.2037887, RF Toolbox) โ 36/36 pair-wise tests pass (144/144 total across all comparison pairs; see
doc/VALIDATION_REPORT_MATLAB_R2020b.md) - All textbook references verified against physical books (Pozar, Pupalaikis, Hall & Heck)
Install
pkg install 'https://github.com/Sparamix/octave-rf/releases/download/v0.1.0/rf-0.1.0.tar.gz'
pkg load rfAfter gnu-octave/packages accepts the registration PR: pkg install -forge rf.