mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-04-07 07:23:43 +00:00
improve PLL fractional divider algorithm
This commit is contained in:
parent
66d5bdd91b
commit
8b44421ea3
7 changed files with 82 additions and 19 deletions
|
|
@ -189,7 +189,10 @@ bool MAX2871::SetFrequency(uint64_t f) {
|
|||
LOG_DEBUG("Looking for best fractional match");
|
||||
float fraction = (float) rem_f / f_PFD;
|
||||
|
||||
auto approx = Algorithm::BestRationalApproximation(fraction, 4095);
|
||||
Algorithm::RationalApproximation ratio;
|
||||
ratio.num = rem_f;
|
||||
ratio.denom = f_PFD;
|
||||
auto approx = Algorithm::BestRationalApproximation(ratio, 4095);
|
||||
|
||||
if (approx.denom == approx.num) {
|
||||
// got an impossible result due to floating point limitations(?)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue