Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PPM_Error_Reduction #1916

Closed
wants to merge 1 commit into from
Closed

PPM_Error_Reduction #1916

wants to merge 1 commit into from

Conversation

M0FDA
Copy link

@M0FDA M0FDA commented Jul 26, 2021

Storage of the PPM figure as a decimal fraction introduces conversion errors. By handling as a PPM figure eliminates this source of error.
Adding an extra single multiplication at the fdiff calculation to compensate reduces the error generated by the division by the factor of the multiplication.

2 code changes in the SI570.c file can reduce the PPM calculation errors.
Dividing PPM figure by 1,000,000 results in fundamental calculation errors due to non-exact binary division. Using the PPM figure directly removes this conversion error as the figure used is an exact representation.
The original error is compounded in the "small frequency switching range" checking process when a very small but accurate figure is divided by a very large number and gives rise to the problems described in the SI570.c file

Storage of the PPM figure as a decimal fraction introduces conversion errors.  By handling as a PPM figure eliminates this source of error.
Adding an extra single multiplication at the fdiff calculation to compensate reduces the error generated by the division by the factor of the multiplication.
@M0FDA
Copy link
Author

M0FDA commented Jul 28, 2021

This is my first attempt at contributing to a Git project, so any comments are appreciated. Thanks.
Alan

@M0FDA M0FDA closed this Jul 28, 2021
@M0FDA M0FDA reopened this Jul 28, 2021
@db4ple
Copy link
Collaborator

db4ple commented Jul 28, 2021

@M0FDA : Well spotted. Honestly.
Github-wise you did all things right.

But if I am not mistaken, the error corrected is ~2e-17. This is by all means a small error, considering the the better of the two German atomic standard clocks has an error of ~2e-16, which is an order of magnitude worse.

So integrating or not integrating your change would not make any difference for any practical scenario. At 10 Ghz we would have a frequency difference of 2e-7 Hz if we keep the old formula. I hope you agree, that we can live with that.
Don't get me wrong, if I was not right about the impact, no problem, just tell us.

I am fairly sure, that you will find more problematic parts, and we are looking forward to your contributions.

@db4ple db4ple closed this Jul 28, 2021
@M0FDA
Copy link
Author

M0FDA commented Jul 28, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants