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

RTLSDR IQ imbalance ??? #39

Open
wants to merge 309 commits into
base: master
Choose a base branch
from
Open

RTLSDR IQ imbalance ??? #39

wants to merge 309 commits into from

Conversation

F6GNJ
Copy link

@F6GNJ F6GNJ commented Feb 9, 2017

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

jpoirier and others added 30 commits July 2, 2016 17:59
Fix clang warning about shifting a negative signed value
Most of the indexes are x<<8 for write, (x<<8)|0x10 for read, but not
IR. From https://github.com/torvalds/linux/blob/9256d5a308c95a50c6e85d682492ae1f86a70f9b/drivers/media/usb/dvb-usb-v2/rtl28xxu.h#L63-L66

 #define CMD_SYS_RD       0x0200
 #define CMD_IR_RD        0x0201
 #define CMD_IR_WR        0x0211
 #define CMD_SYS_WR       0x0210
Conflicts:
	src/librtlsdr.c
Change infrared wait time flag to -W to fix conflict with the
new development-branch -w flag for tuner bandwidth

Conflicts:
	src/rtl_tcp.c
Conflicts:
	src/CMakeLists.txt
	src/Makefile.am
Bug Fix for some Broken MinGW PThreads sources
Add rtl_ir and infrared listening option to rtl_tcp
hayguen and others added 30 commits September 10, 2020 20:32
* see #91
* fixed r82xx_is_tuner_locked(): do not report lock,
 when not all necessary PLL registers were set successfully
* shortcut for 'verbose' flag: 'v'

Signed-off-by: hayati ayguen <[email protected]>
needs some testing/measurement
see "distorted ends" at #96

Signed-off-by: hayati ayguen <[email protected]>
Signed-off-by: hayati ayguen <[email protected]>
was possible with information from Carl Laufer, https://www.rtl-sdr.com/
see #91
and #85

Signed-off-by: hayati ayguen <[email protected]>
now rtl_tcp and rtl_udp are quite similar,
except: rtl_udp is missing the response channel

Signed-off-by: hayati ayguen <[email protected]>
default is 5 .. for frequencies above 1.76 GHz

Signed-off-by: hayati ayguen <[email protected]>
* added API functions rtlsdr_set_center_freq64(), rtlsdr_set_harmonic_rx(),
  rtlsdr_get_center_freq64()
* amended rtl_tcp protocol: SET_FREQ_HI32 = 0x56
* print frequency in MHz in double

Signed-off-by: hayati ayguen <[email protected]>
Signed-off-by: hayati ayguen <[email protected]>
Signed-off-by: hayati ayguen <[email protected]>
see #130

Signed-off-by: hayati ayguen <[email protected]>
this is the same implementation in rtl_tcp/udp
Added biast app to the list of apps that link with libgetopt_static

Also only linked libm with specified libraries when libm is found.
The libm may not be present in msvc and gives a linker error,
although other windows build environment may have it.
Gets rid of librt, which doesn't exist on OpenBSD. The version of
librtlsdr in the OpenBSD ports tree is extremely old (~2013), so this
should help some users.

Tested against tag 0.6.0, but it should apply just fine to HEAD.
cmake 3.19 warns about dropped compatibility for cmake less than 2.8.12 in
the future. This patch updates the minimum required version to 2.8.12 to
avoid the warning.

cmake 2.8.12 was released in 2013 so it should be safe to update the minimum
required version from 2.6 to 2.8.12 without loosing support for older os
versions.
Change CMAKE_SOURCE_DIR to PROJECT_SOURCE_DIR to allow for inclusion of
librtlsdr as a subdirectory in another cmake project. For a standalone build,
PROJECT_SOURCE_DIR and CMAKE_SOURCE_DIR work pretty much the same, but
if a projet is included into another with add_subdirectory PROJECT_SOURCE_DIR
must be used.
This is a workaround for USB bulk transfer stall as describe on issue
 #105. Consider consecutive transfer timeouts as errors and count them
as such. Additionally, try to USB reset devices that are lost for any
reason.

Signed-off-by: Vasilis Tsiligiannis <[email protected]>
In case librtlsdr is included as a subdirectory into another cmake
project the uninstall target may already be set and causes cmake
to fail. In a standalone build the check this patch adds does not
alter the behaviour.

(cherry picked from commit 0990db4)
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.