-
Notifications
You must be signed in to change notification settings - Fork 220
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
IQ amplitude phase correction #3
Open
F6GNJ
wants to merge
64
commits into
pinkavaj:master
Choose a base branch
from
keenerd:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Improve tuner precision by calculating the VCO divisor at full precision, not at kHz resolution. Also replace the manual divison loop with a simpler fixed-point calculation.
This scans 0 - 3GHz looking for frequencies that can be tuned to without error, and refines the band edges further once a tuneable band is found. It should work with any tuner that correctly reports tuning errors. It takes about 1.5 minutes to complete on a R820T.
This fixes out-of-range frequencies that would set the PLL registers to incorrect values rather than failing outright.
Remove unused variables. Use proper type specifier. Explicitly cast to correct type to suppress MSVC warnings.
- Link librtlsdr dynamically also on Windows.
From Bjørn Forsman
Hi, is this MR still relevant? I have adopted latest changes from https://github.com/librtlsdr/librtlsdr, so mey-be it will be more appropriate to open MR into that repo, althought it is not visibly upstream here. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Hello,
I use RTL-FM on a raspberry pi3. I notice practically always the presence of a weak carrier accompanying the emission received in AM mode and interferences in NFM mode. When i use rtl-tcp and sdr# or sdrconsole the demodulation is perfect. I assume that IQ amplitude phase correction is involved. I saw in the source of rtlsdr:
IQ estimation / compensation (en_iq_comp, en_iq_est) * /
Rtlsdr_demod_write_reg (dev, 1, 0xb1, 0x1b, 1);
I suppose we use an internal chipset function? Is this function good enough? I did not find anything about it in RTL-FM but I'm not a specialist. Is an improvement possible?
Regards,
Arnaud