Fix issue #905 - The matching network tool gives incorrect results when conditionally stable data is provided #907
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As reported in issue #905, the matching network tool gave incorrect results when using a conditionally stable S-matrix.To obtain a conjugate match at both ports, the device must satisfy the unconditional stability criteria, defined as K > 1 and abs(delta) < 1. See [1].
A condition has been added here. It checks the stability and stops the execution if the criteria is not met.
Tests
1) Conditionally stable device (#905)
Using the S-parameter data provided in #905, a message is now displayed warning of conditional stability and advising the user to consider adding losses and/or FB.
2) Unconditionally stable device.
The device in 1) is stabilized with 12 Ohm at the input. This makes it unconditionally stable (K = 1.06 < 1, |delta| = 0.228 < 1)
The tool is used to synthesise the input and output matching networks. It works as usual: Note that S11 and S22 are matched to 50 ohms at the given frequency (400 MHz).
Thank you @tomhajjar
[1] Microwave Engineering. David M Pozar. 2012. Eqs 12.28 and 12.29