-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathNEWS
More file actions
89 lines (71 loc) · 3.8 KB
/
Copy pathNEWS
File metadata and controls
89 lines (71 loc) · 3.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Summary of important user-visible changes for octave-rf:
## Version 0.1.1 (2026-07-26)
### Bug fixes
- `cascadesparams`, `deembedsparams`, `embedsparams`: struct returns now
carry the complete sparameters object surface (`Parameters`,
`Frequencies`, `Impedance`, `NumPorts`). Previously only the first two
fields were set, which broke MATLAB-written code reading `.NumPorts`
on a cascade result (e.g. IEEE P370 `IEEEP370Zc2xThru.m`).
Fixes GitHub issue #2.
- `cascadesparams`, `deembedsparams`: the reference impedance of struct
inputs is now validated and propagated. Inputs referenced to
different impedances raise an error instead of silently producing a
result mislabeled as 50 ohm (MATLAB parity; the T-matrix cascade is
only valid at one common reference). Raw arrays are assumed 50 ohm
per the package convention.
- `sparameters` Form `sparameters(s_obj, z0_new)`: renormalization now
starts from the input's stored `.Impedance` instead of a hardcoded
50 ohm. Previously, renormalizing a non-50-referenced struct (e.g.
75 -> 50) was a silent no-op that returned mislabeled parameters.
Chained renormalizations (50 -> 75 -> 60) now equal the direct path
to machine precision.
- Seven new regression tests guard these paths (BIST 107 -> 114).
### New functions
- `ifft` — shim accepting MATLAB's `ifft(x, 'symmetric')` flag.
## Version 0.1.0 (2026-04-17)
Initial release.
### Functions (26 total)
**S-parameter objects:**
- `sparameters` — S-parameter struct constructor; supports `sparameters(filename)`
for Touchstone file reading (MATLAB-compatible), `sparameters(P, f)`,
`sparameters(P, f, z0)`, and `sparameters(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` — S to T-parameters (MATLAB-compatible element ordering)
- `t2s` — T to S-parameters
**Network operations:**
- `cascadesparams` — cascade two or more 2-port networks via T-matrix multiplication
- `deembedsparams` — de-embed fixture S-parameters from a measured network
- `embedsparams` — embed a DUT inside fixture S-parameters
**Parameter conversions (2-port and N-port):**
- `s2z` / `z2s` — S <-> impedance (Z) parameters
- `s2y` / `y2s` — S <-> admittance (Y) parameters
- `s2abcd` / `abcd2s` — S <-> ABCD (chain/transmission) parameters
- `s2h` / `h2s` — S <-> hybrid (H) parameters
- `s2g` / `g2s` — S <-> inverse hybrid (G) parameters
**Mixed-mode (differential pairs):**
- `s2sdd` — single-ended to differential-mode S-parameters
- `s2scc` — single-ended to common-mode S-parameters
- `s2smm` — single-ended to full mixed-mode matrix; supports MATLAB's
`[Sdd,Sdc,Scd,Scc] = s2smm(S)` 4-output form
- `smm2s` — mixed-mode to single-ended S-parameters
**Port operations:**
- `snp2smp` — reorder ports; accepts both `snp2smp(S, order)` and
MATLAB's `snp2smp(S, z0, order, z0_term)` 4-argument form
- `renormsparams` — renormalize S-parameters to a different reference impedance
**I/O:**
- `fromtouchn` — Touchstone file reader (S1P through S99P, Touchstone 1.0)
**MATLAB compatibility shims:**
- `ifft_symmetric` — equivalent of MATLAB's `ifft(x, 'symmetric')`
- `round` — extends Octave's built-in `round` with MATLAB's `round(x, n)` syntax
### 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)