I heard someone recently made rtl-sdr work on an n900. Is it just
working drivers, or is it actually usable? I ask, because the
processor may not be up to the job.
Hey all.
I've been shouting it all over /r/rtlsdr and ##rtlsdr, but just for
you fine folks that are only on the ML, here[1] is what I've been up
to the past week:
Overhauled scanning in rtl_fm. This fixed a number of issues, where
either scanning did not work at all and some brokenness on OpenBSD.
It also meant giving up on the async API entirely.
Released a whole new application, rtl_power. This is something I'd
had bouncing around on my hard drive for many months, half-unwritten
due to over-complexity. It'll generate CSV files of arbitrarily
slow/wide/detailed FFTs. Also a little visualization script[2] that
won't choke when you give it 50,000 columns of data.
In the process of testing rtl_power, two more things came up. First
was windows builds. I've got a half-finished mingw32 build script[3]
that'll let me produce windows binaries[4] on a linux host. These
have been confirmed to actually run and probably work. Only W32 for
now, but just because I was too lazy to build the W64 toolchain.
Second was the discovery[5] that scanning had gotten a whole lot
slower since my original experiments with rtl_fm. 85mS to retune is
unacceptably slow. Since the r820t driver is the slowest, I started
looking into figuring out what is going on. Still figuring that out
but I have done basic cleanups to the code (removing redundancy,
particularly around register writes) and the driver is 15% shorter
with no modifications to code behavior.
I would not mind talking to Steve or one of the other devs on IRC
about some of the more ambiguous aspects of the driver. (Like, why
some reg writes are backed up to R828_Arry[] and others aren't. And
is that array thread safe at all? If not I'll have to do some very
large changes to support multiple dongles in rtl_power.)
I would really like to get these changes merged, particularly the
rtl_fm stuff because the version in the official repo is rather
bit-rotten.
-Kyle
http://kmkeen.com
[1] https://github.com/keenerd/rtl-sdr
[2] http://www.reddit.com/r/RTLSDR/comments/1ktzwi/
[3] http://kmkeen.com/tmp/mingw32.sh.txt
[4] http://kmkeen.com/tmp/rtl-sdr-mingw32-2013-08-28.zip
[5] http://www.reddit.com/r/RTLSDR/comments/1l2vlx/
single_manchester() considers both i and i+1, but the loop only
tests that i is in bounds. This causes undefined behavior, including
but not limited to a SIGBUS-related crash on Mac OS X.
---
src/rtl_adsb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/rtl_adsb.c b/src/rtl_adsb.c
index 44b62e2..3c353a0 100644
--- a/src/rtl_adsb.c
+++ b/src/rtl_adsb.c
@@ -258,6 +258,7 @@ void manchester(uint16_t *buf, int len)
uint16_t a=0, b=0;
uint16_t bit;
int i, i2, start, errors;
+ int maximum_i = len - 1; // len-1 since we look at i and i+1
// todo, allow wrap across buffers
i = 0;
while (i < len) {
@@ -275,7 +276,7 @@ void manchester(uint16_t *buf, int len)
i2 = start = i;
errors = 0;
/* mark bits until encoding breaks */
- for ( ; i < len; i+=2, i2++) {
+ for ( ; i < maximum_i; i+=2, i2++) {
bit = single_manchester(a, b, buf[i], buf[i+1]);
a = buf[i];
b = buf[i+1];
--
1.8.3.4
Hi everyone,
although there are some comparisons between the R820T and the E4000
already [1, 2], I also did some tests with another use-case in mind.
I'm working on a thing similar to RTLSDR-Scanner [3]. I want to
monitor a large part of the spectrum continuously.
So I compared the R820T with the E4000 using RTLSDR-Scanner w/ and w/o
an antenna.
My results are here:
https://docs.google.com/folder/d/0ByDAKwyEiyx_XzZ5ZnpRV1VZWDQ/edit?usp=shar…
There's much more spurs with the E4000 than w/ the R820T. According to
[1, 2] one also would expect a better overall sensivity compared to
the E4000.
However, the GSM900 signals for example seem to be way better with the
E4000 according to the RTLSDR-Scanner. Tuning to a certain channel w/
OsmoSDR Source in GNUradio gives about the same SNR - contrary to the
RTLSDR-Scanner output. Can anyone explain this?
Also, the DVB-T channel at 502MHz is quite weak in the R820T
RTLSDR-Scanner output when compared to the E4000. I had a closer look
at the lower limit of the channel in gnuradio. This can be seen in the
502MHz_*.png pictures. The E4000 produces a nice +20dB step while one
can hardly see the channel in the R820T spectrum. I don't understand
this as well. Is this AGC-related? Manually setting a fixed gain
didn't really help though...
Any explanations?
Thank you!
Best regards,
Hunz
[1] http://steve-m.de/projects/rtl-sdr/tuner_comparison/
[2] http://www.hamradioscience.com/rtl2832u-r820t-vs-rtl2832u-e4000/#more-1852
[3] https://github.com/EarToEarOak/RTLSDR-Scanner
I heard someone recently made rtl-sdr work on an n900. Is it just
working drivers, or is it actually usable? I ask, because the
processor may not be up to the job.
I have had great help before from this list, so many thanks for that.
I am using an ezcap tuner with a raspberry pi running a Debian based linux
OS called Raspbian. I have built the drivers from the git hub and they
work fine. As an aside, I found the installation much easier than when I
tried it directly on my PC.
My question is that I find that if I plug the USB device in when linux is
running, it causes a re-boot of the whole OS. (btw, disconnection has no
effect). Is this the case with full blown linux systems, or just some
peculiarity of the more limited raspberry pi? Also, it is a bit of a
nuisance, so does anyone know of a way to stop this?
many thanks Richard
I am trying to get my head around calibration of my RTL dongle. I used
gqrx with a known frequency (467.6375Mhz). Based on this, the dongle
needs offset of -16Khz. In gqrx, this offset can be entered directly in
the user interface.
With rtl_test -p, the PPM number varies. I have gotten positive and
negative numbers.
When using the RTL block in gnuradio companion, I need to enter PPM. I
have seen various formulas to calculate PPM from frequencies but for me
they do not yield sane results. I could be just misusing these formulas.
Any assistance would be appreciated.
Thanks,
John
Hi Charlie,
The controls for AGC do not affect the peculiar wideband LNA AGC
in the R820T chip. The RTL1090 uses the same rtlsdr.dll as is
used by SDR#. I do not know how to evaluate noise levels and signal
levels in RTL1090, but with SDR# one can see funny things
directly on the waterfall.
The LNA is followed by a VERY sensitive power detector that
is somehow followed by filters and amplifiers. It is arranged
in a way to not react on narrowband signals, but already a 3 dB
increase of the noise floor causes a loss of gain through AGC
action.
Most striking is this experiment:
Connect a combiner to the input of the dongle and use it to
combine a signal generator and a noise source. The noise
source needs a filter that assures that it does not add any noise
on the frequency of the desired signal. It is OK to use a
T-connector if you do not have a wideband combiner.
I used a 100 MHz low pass filter connected to a vacuum diode
noise source cabable of delivering 17 dB excess noise combined
with a signal generator on 144 MHz by use of a T connector.
I used SDR# to look at the spectrum around 144 MHz.
Without "RTL AGC" and without "Tuner AGC" the noise floor does not
change when the noise source is switched on or off. That is expected
because the noise source can not send any noise through the 100 MHz
low pass filter. That is true at modest gain settings, but if
the gain is set at maximum (49.6 dB) the noise floor increases by 3 dB
when the noise source is turned on. A small but unexpected effect.
The signal however is attenuated by 23 dB for a total loss at max
gain of S/N of 26 dB!!!!! Please note that the true S/N is not affected
at all. There is no noise added at 144 MHz.
If I switch on "RTL AGC" or "Tuner AGC" or both, S/N still changes
the same way. Depending on the signal level of the 144 MHz signal
one can see the signal go down or the noise go up. Or both.
The way sensitivity is lost due to out-of-band noise is invisible
to the user. There is no warning about overload.
The noise power from 0 to 100 MHz is -174+17+80 = -77 dBm
( -174 dBm/Hz = room temp)
( +17 dB is excess noise)
( +80dB is 100/MHz/1Hz)
There is some filter loss and the dongle presumably has a high pass
filter so one can assume that the noise power is -80 dBm RMS.
I have tried to activate the LNA AGC by use of narrowband
signals in the 50 to 100 MHz range. Even two signals at
-30 dBm each do not have any effect regardless of the frequency
spacing. It seems the "intelligent" power detector of the LNA
AGC can reject narrowband signals even if they are much
stronger than the noise floor.
The wideband LNA AGC in the R820T may cause problems when
an up-converter is used in front of the dongle. The noise floor
of the up-converted HF spectrum may cause unexpected loss of
sensitivity in the upper part of the HF spectrum where the
noise floor is low.
Adding a filter for the desired HF band. With some gain to
ensure that the noise floor is higher in the desired frequency
range than elsewhere could perhaps make the R820T dongles
behave much better.
73
Leif / SM5BSZ
> I use a R820T chipped dongle for receiving aircraft transponder signals
> through a specialised application called RTL1090 from jetvision, the control
> panel of which allows the tuner and device AGCs to be independently toggled
> on or off. I have not however used this with SDR-Radio in the past so cannot
> comment on the optimum settings.
>
>
>
> 73
>
> Charlie
>
> www.G4EST.me.uk
>
>
>
> From: sdr-radio-com(a)yahoogroups.com [mailto:sdr-radio-com@yahoogroups.com]
> On Behalf Of Leif Asbrink
> Sent: 10 August 2013 22:30
> To: sdr-radio-com(a)yahoogroups.com
> Subject: [sdr-radio-com] Re: About 'internal AGC'
>
>
>
>
>
> Hello Patrick and All,
>
> The R820T chip has an advanced AGC function that I do not
> think can be disabled. The chip detects the noise floor
> in a wide bandwidth and adjusts the gain to keep the noise floor
> constant.
>
> The wideband AGC has surprising effects. If one tries to measure
> the noise figure with a noise source that is manually switched
> on and off one finds a really bad NF. That result is false however,
> if one measures S/N of a weak signal one finds the true NF which
> is quite good.
>
> To verify the finding one can inject a weak signal together
> with the signal from a noise source. What happens when the
> noise is turned on is that the signal becomes weaker while
> the noise floor does not change.
>
> A 500 kHz wide filter in front of the R820T chip converts the
> noise from the noise source to a narrowband signal which will
> not affect the wideband AGC.
>
> I made some effort to switch this feature off but failed.
>
> The behaviour is probably quite clever for reception of digital TV
> but I find it very disturbing in a general purpose SDR. I did not
> take notes and I did not investigate in detail what types of signals
> will affect the AGC and what types will not. That would be
> a big investigation and I see no reason to do it because there
> are other chips.
>
> The R820T gives good signals many times but I do not like the feeling
> of not knowing what I am doing.....
>
> The "internal AGC" option is another thing as far as I understand.
> The chip has RF AGC as well as IF AGC.
>
> 73
>
> Leif / SM5BSZ
>
> > Hello Group,
> >
> > When using a DVB-T type dongle (mine is a R820T), do you tick the
> "internal AGC" option or not ?
> >
> > I tried both "internal AGC" desactivated (with more gain) and AGC
> activated (less gain to avoid spurs from my local FM TX) ... I can't tell
> which one is better. Even on weakish sigs it's about the same.
> >
> > What about your experience ?
> >
> > Regards,
> > Patrick
> >
>
>
>
Tested several rtl dongles with linux 3.9.1 on Debian Jessie (testing)
and got disappointing results
2 dongles simultaneously working ok
if using 3 or more than 3rd dongle not working (1st and 2nd working ok)
in Debian Wheezy i did manage to run 5 dongles simultaneously (kernel 3.2)
i suppose developers should pay attention to than fact.
--
public PGP key
http://pastebin.com/dqZqgyVE
Hi ml users,
I'm a newbie of this ml and this is my first message. So, just a little
presentation of me: I'm a Software analyst and I work full time with
java
and some time in C++. I was a linux user on my beautiful but defunct
linux laptop! Now (almost 15 days) I'm a linux user on windows laptop.
Into the company, java is a solution to write a Crossplatform service and software.
In
my free time I have used various tools based of rtlsdr library, and I
found very difficult to retrieve alternative of all linux-based
software!
So, if I would write java program, does exist a java
wrapping of rtlsdr library? In your opinion, building a wrapper of the library is a stupid or a good feature?
IMHO many software ( parser/plotter/networktool) are
written in java and this is a opportunity for the library to retrieve this knowhow.
What do you think?