Hi again,
I am working on my own SDR project for Stereo FM radio support, but i
would like to also improve quality for rtl_fm application, i made
unoficial patch to add:
Complex FIR - to filter strong signals close to wanted signal
Real FIR - to filter pilot from FM
Stereo FIR
Stereo Deemphasis
AGC support - it can give better resolution of IQ data
Some other improvments in FM radio code.
All FIR filters has 3 possible variants, simple, LUT, SSE2 instricts, of
course SSE is the fastest one and it should works on Intel Atoms, but
not on ARM.
Feel free to use any part of code in any of you programs, I know that
this code is little to much to add it into rtl_fm, but maybe it could
somebody help to recieve HW stereo FM radio.
Speed of SSE code is much better than anything you can get around here,
on Core i7 it consume only 5% of one CPU, so i could demodulate at least
80 channels at the same time in stereo quality of course.
I tried this code only on AMD64 and GCC Linux, so i am not sure if it
can be compiled under windows.
--
Miroslav Slugeň
+420 724 825 885
Teramos Multimedia s.r.o.
Hi there!
I'm using a dongle on a raspberry + rtl_tcp and sdrsharp on another
machine (quad core.... 3gb ram...good machine!)
The problem occour at 00:57
http://www.youtube.com/watch?v=4E2MPfEzEi8
and at 1:34 in this video:
http://www.youtube.com/watch?v=8snz1wQSRpw
If i stop and start sdrsharp, it works ok for some minutes...then the
problem is up again!
No errors appear on the console of raspberry/rtl_tcp
I'm not able to understand if it's a problem of rtl_tcp,raspberry or
whatelse...
Things i've tryed:
1) Changed the samplerate
2) Changed the raspberry (tested tp1/tp2 too...getting 4.98v!!!)
3) Changed the dongle
4) Updated sdrsharp
The dongles tryed work ok on a pc
I've no more idea....
Anyone can help me?
PS: If someone know a program that works in linux and is similar to
sdrsharp AND CAN INTERFACE TO A REMOTE RTL_TCP...
Hi,
I've been working on a project the involves tuning VOR signals. They are
narrow band signals. > 25 kHz. For that, the wide bandwidth of the RTL
dongles isn't that helpful to me. (and actually a hindrance when two
signals are inside the sample range but widely different strengths)
Anyway, the lowest I can get my dongles (R820T) to go is 250ksps, which is
fine. I've been working at that frequency for awhile, but getting some
strange results. For example, if I tune in to 116.8 MHz, which should be
the OAK VOR, it works fine. But if I tune to 115.8 MHz, which should be the
SFO VOR I get ... the OAK VOR. That is, there is a perfect copy of the OAK
signal 1 MHz shifted down.
If I switch the sample rate to 1.024Msps or 900ksps, I don't get this
problem.
I don't understand what is happening here. 1 MHz is an even multiple of
250kHz, so maybe I'm getting an image of OAK overpowering the relatively
weaker SFO signal. But should there not be filters that manage this?
I guess I was expecting that if the device is set to 250ksps, then it would
"close down" filters appropriately to reject signals out of that band. But
maybe the filters don't work properly below a certain sample rate? Like the
rtl2832 can sample down to 250ksps, but the 820T tuner was not designed for
it?
Or perhaps I'm doing something wrong? Can I control the filters directly?
I'm glad I find this issue because I was going nuts thinking my software
had some mysterious bug. But I can reproduce this issue just with SDR# or
whatever. :-)
Regards.
Dave J
Hi,
I want to use multiple rtl-sdr dongles to do some multi-antenna experiments.
Is it possible to read IQ samples from multiple rtl-sdr dongles in a
synchronized manner?
I already have a glance at dump1090 codes, which is a project using rtl-sdr
to decode aircraft broadcasting ADS-B messages in 1090MHz.
Seems that I should use rtlsdr_read_async() instead of rtlsdr_read_sync(),
because that if rtlsdr_read_sync() is used, I have to call it multiple
times sequentially. That looks not synchronized.
But rtlsdr_read_async() function only accept one rtl-sdr device as input
parameter, and it will be blocked after it is called. So seems that it also
can't be used for my purpose directly.
Also welcome any opinion on how to improve rtl-sdr lib/driver to support
this feature.
Thank you.
BR
Jiao Xianjun
A quite good (AM/SW)/FM/DAB/DVB-T USB dongle.
Mirics FlexiTV MSi3101 (two chips MSi001+MSi2500)
http://www.mirics.comhttp://www.mirics.com/node/31
Data sheets available, register yourself at Mirics portal.
RF Tuner: MSi001/MSi002 ( used by FUNcubrePro+ ?), seems better than R820T
ADC and HiSpeed USB interface: MSi2500 . ADC 10 bit , better than
8 bit RTL2832U aDC.
Windows binary software available: FMDABplayer, DVB_T decoder,
Windows lib.dll and API doc.
IO-DATA GV-TV100 stick sold on Japan .
Stick, chips and dev board available from Mirics.
Linux software at address
http://cgit.osmocom.org/libmirisdr/
It seems project on stand-by .
Can author Steve Markgraf comment ?
Francesco
I'm not an RF engineer and know enough of the physics of it to be
dangerous. My approach to rtl-sdr is purely utilitarian -- i.e. using it to
develop applications. The following tutorial, by Mikael Q Kuisma, on I/Q
data was very useful to me and might benefit others on the list.
http://whiteboard.ping.se/SDR/IQ
-Skip
Hello all
I am trying to get the python wrapper "pyrtlsdr" working on Windows, it
works fine on Linux
The dongle works fine in SDR-SHARP.exe
It imports correctly but prints the following error when I try to
initialize the Dongle:
Traceback (most recent call last):
File "C:\Users\M0ZJO\Desktop\RA_Astro\FFTPrint Test.py", line 4, in <module>
sdr = RtlSdr()
File "build\bdist.win32\egg\rtlsdr\rtlsdr.py", line 60, in __init__
% (result, device_index))
IOError: Error code -3 when opening SDR (device index = 0)
RTL_FM also returns the same error.
Can anyone help? I would be very grateful!
Many thanks
Jonathan/M0ZJO
I just downloaded the RelWithDebInfo precompiled windows software that was
posted on Oct 24th. I am using an E4000 dongle which has a PPM of +30.
I am trying to listen to 424.175MHz and I'm using this:
rtl_fm -p 30 -d 1 -N -o 4 -f 424.175M -s 16k -C|sox -r 16000 -t .raw -e
signed-integer -b 16 -c 1 -V1 - -d
everything is playing fine. I can hear 424.175MHz. The issue is that I'm
hearing another station 50KHz higher on 424.225Mhz in addition to the
frequency I want. So it looks as if it's not using a 16Khz filter. Am I
doing something wrong or is there an issue with rtl_fm.exe? Thanks
Chris
Tried searching on this and didn't find much. Is rtl_fm stereo capable? When I encode with lame's "-m s" flag the output is at half the sample rate (ie: speeded up). Do I need to feed it double the sample rate, or am I barking up the wrong tree entirely?
Thank you.
Hi,
Since all DVB-T receivers come with an IR remote control, I'm wondering if
there is an API that can be used to receive the remote commands?
Thanks,
-Skip
Hi all,
I have compiled and installed rtl-sdr on CentOS 6 following instructions.
Everything compiles without errors, but:
- when I run rtl_test I get the following errors:
Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7
16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1
43.4 43.9 44.5 48.0 49.6
Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.
Reading samples in async mode...
cb transfer status: 5, canceling...
cb transfer status: 5, canceling...
cb transfer status: 5, canceling...
cb transfer status: 5, canceling...
cb transfer status: 5, canceling...
cb transfer status: 5, canceling...
cb transfer status: 5, canceling...
cb transfer status: 5, canceling...
Library error 0, exiting...
If I run rtl_tcp I get the following errors when the client tries to
connect:
Found 1 device(s).
Found Rafael Micro R820T tuner
Using ezcap USB 2.0 DVB-T/DAB/FM dongle
Tuned to 100000000 Hz.
listening...
Use the device argument 'rtl_tcp=192.168.33.99:8767' in OsmoSDR
(gr-osmosdr) source
to receive samples in GRC and control rtl_tcp parameters (frequency,
gain, ...).
client accepted!
set freq 145000000
cb transfer status: 5, canceling...
cb transfer status: 5, canceling...
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
set sample rate 1024000
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
set freq correction 4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
rtlsdr_demod_write_reg failed with -4
rtlsdr_demod_read_reg failed with -4
worker cond timeout
Signal caught, exiting!
comm recv bye
Signal caught, exiting!
all threads dead..
listening...
The same client connects without errors to another rtl_tcp instance on a
Windows 7 computer, with the same module.
Any help is greatly appreciated.
Thanks,
Dan
I found this program yesterday: https://github.com/gordonjcp/lysdr
It's the GUI part of a minimal HDSDR/SDR# type program but it needs an IQ stream from something. It seems to be mostly intended for use with Softrocks but I wonder if anyone's been able to feed something like the output from rtl_sdr into it? It's got some Python and some C, requires Jackaudio. I was able to build it and run it under OpenBSD 5.2 without much trouble. Only does USB/LSB as written, Googling doesn't find me anything connecting it with any Osmocom stuff. rtl_tcp through Netcat might work better because it seems to want to control the frequencies. I've only got a couple of $20 dongles.
-----
Radio Astronomy - the ultimate DX
I keep getting the message "rtlsdr_read_reg failed with -7" whenever I
run any of the rtl_ commands.
When I run the command after re-plugging the stick it usually works
(except the lost samples):
rtl_test
Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Fitipower FC0013 tuner
Supported gain values (23): -9.9 -7.3 -6.5 -6.3 -6.0 -5.8 -5.4 5.8 6.1 6.3 6.5 6.7 6.8 7.0 7.1 17.9 18.1 18.2 18.4 18.6 18.8 19.1 19.7
Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.
Reading samples in async mode...
lost at least 84 bytes
But if I run any of the rtl_ commands after breaking any previous
running command I get:
rtl_test
Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
rtlsdr_read_reg failed with -7
rtlsdr_write_reg failed with -7
Is there a way to completely reset the driver other than re-plugging
it?
I'm running Gentoo Linux (3.2.1 kernel)
Thanks!
//Petter
Hi All,
Just been trying to compile rtl-sdr on my Windows7x64; so I have cloned
the trunk repository, download mingw64, download cmake, get libusb-1.0
for windows and get pthreads-win32. After all I have configured cMake
with the parameter show below:
CMAKE_RC_FLAGS:STRING=
CMAKE_VERBOSE_MAKEFILE:BOOL=0
CMAKE_RC_COMPILER:FILEPATH=C:/Program
Files/mingw-builds/x64-4.8.1-posix-seh-rev5/mingw64/bin/windres.exe
CMAKE_AR:FILEPATH=C:/Program
Files/mingw-builds/x64-4.8.1-posix-seh-rev5/mingw64/bin/ar.exe
CMAKE_C_FLAGS:STRING=
CMAKE_C_FLAGS_DEBUG:STRING=
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
CMAKE_USE_RELATIVE_PATHS:BOOL=1
CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32
-lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
-lstdc++
CMAKE_C_COMPILER:FILEPATH=C:/Program
Files/mingw-builds/x64-4.8.1-posix-seh-rev5/mingw64/bin/x86_64-w64-mingw32-gcc.exe
CMAKE_CODEBLOCKS_EXECUTABLE:FILEPATH=C:/Program
Files/mingw-builds/x64-4.8.1-posix-seh-rev5/mingw64/bin/mingw32-make.exe
LIBUSB_INCLUDE_DIR:PATH=E:/Staniscia/PRIVATO/RTL_SDR/libusbx/include/libusbx-1.0
LIBUSB_LIBRARIES:FILEPATH=E:/Staniscia/PRIVATO/RTL_SDR/libusbx/MinGW64/static/libusb-1.0.a
THREADS_PTHREADS_INCLUDE_DIR:PATH=E:/Staniscia/PRIVATO/RTL_SDR/pthreads-win32/Pre-built.2/include
THREADS_PTHREADS_WIN32_LIBRARY:FILEPATH=E:/Staniscia/PRIVATO/RTL_SDR/pthreads-win32/Pre-built.2/lib/x64/libpthreadGC2.a
and I don't have any warning from cMake but when I make the project I
have this:
----------------------
E:\Staniscia\PRIVATO\RTL_SDR\repo\rtl-sdr\build>mingw32-make.exe clean
E:\Staniscia\PRIVATO\RTL_SDR\repo\rtl-sdr\build>mingw32-make.exe
[ 5%] Building C object
src/CMakeFiles/libgetopt_static.dir/getopt/getopt.c.obj
Linking C static library liblibgetopt_static.a
[ 5%] Built target libgetopt_static
[ 10%] Building C object src/CMakeFiles/rtlsdr_shared.dir/librtlsdr.c.obj
[ 15%] Building C object src/CMakeFiles/rtlsdr_shared.dir/tuner_e4k.c.obj
[ 21%] Building C object src/CMakeFiles/rtlsdr_shared.dir/tuner_fc0012.c.obj
[ 26%] Building C object src/CMakeFiles/rtlsdr_shared.dir/tuner_fc0013.c.obj
[ 31%] Building C object src/CMakeFiles/rtlsdr_shared.dir/tuner_fc2580.c.obj
[ 36%] Building C object src/CMakeFiles/rtlsdr_shared.dir/tuner_r820t.c.obj
Linking C shared library librtlsdr.dll
[ 36%] Built target rtlsdr_shared
[ 42%] Building C object src/CMakeFiles/rtl_adsb.dir/rtl_adsb.c.obj
Linking C executable rtl_adsb.exe
[ 42%] Built target rtl_adsb
[ 47%] Building C object src/CMakeFiles/rtl_eeprom.dir/rtl_eeprom.c.obj
Linking C executable rtl_eeprom.exe
[ 47%] Built target rtl_eeprom
[ 52%] Building C object src/CMakeFiles/rtl_fm.dir/rtl_fm.c.obj
Linking C executable rtl_fm.exe
[ 52%] Built target rtl_fm
[ 57%] Building C object src/CMakeFiles/rtl_sdr.dir/rtl_sdr.c.obj
Linking C executable rtl_sdr.exe
[ 57%] Built target rtl_sdr
[ 63%] Building C object src/CMakeFiles/rtl_tcp.dir/rtl_tcp.c.obj
..\..\src\rtl_tcp.c: In function 'gettimeofday':
..\..\src\rtl_tcp.c:112:10: error: invalid suffix "Ui64" on integer constant
tmp -= 11644473600000000Ui64;
^
src\CMakeFiles\rtl_tcp.dir\build.make:57: recipe for target
'src/CMakeFiles/rtl_tcp.dir/rtl_tcp.c.obj' failed
mingw32-make.exe[2]: *** [src/CMakeFiles/rtl_tcp.dir/rtl_tcp.c.obj] Error 1
CMakeFiles\Makefile2:319: recipe for target
'src/CMakeFiles/rtl_tcp.dir/all' failed
mingw32-make.exe[1]: *** [src/CMakeFiles/rtl_tcp.dir/all] Error 2
Makefile:115: recipe for target 'all' failed
mingw32-make.exe: *** [all] Error 2
----------------------
Someone can help me?
Hi all,
I have built my antenna and now I wont evaluate my work, so, in your opinions can I use the rtl_sdr software to accomplish it? Someone have a suggestion or is it impossible?
Thanks
Hi all,
I have built my antenna and now I wont evaluate my work, so, in your opinions can I use the rtl_sdr software to accomplish it? Someone have a suggestion or is it impossible?
Thanks
I am using DVB-T dongle RTLSDR2832U with gnu radio, i have installed all the required files, but when i compile my flowgraph I get an error.
Runtime Error:Failed to open rtlsdr device.
What is the problem and its solution??
I cannot install udev rules also, i also face errors at it.... should i uninstall my ubuntu and start from the very begining.
Sohaib bin Altaf
pakistan