On 2014-07-31 13:43, [email protected] wrote:
It should work that way, Tobias. I was simply noting that the WFM
broadcasts may be considerably far off frequency compared to NFM
signals.  And as an aside three digits after the decimal point surely
would be nice. The synthesizer, at least in the E4000, can handle that
level of precision. But, of course, the dongles can't. But they can
hold to one digit after the DP in quiet air over modest periods of
time. The three digits is simply "because it is there."

Hmmm... but it's only possible to specify integer ppm values since it's an integer in the API. There is no meaning in printing a lot of decimals. That will only fool the user into thinking that it's possible to specify fractionals.

Regards,
Tobias

(I'm tempted to take a resistor for a heating element, a thermistor, a
wad of hot glue, and a small handful of other components to make a
pseudo-oven for a dongle and see if I really can get it reasonably
stable that way without breaking the USB power budget. I think I have
about 125 mA to play with. Sadly the crystals typically used seem to
be floor sweepings OR crystals calibrated for serial resonance used in
a parallel resonance oscillator circuit.)

{^_^}   Joanne/W6MKU

(As an aside I designed some of the RF hardware and software used on
phase II GPS birds and their pre-launch testing.)

On 2014-07-31 03:05, Tobias wrote:
On 2014-07-31 11:05, [email protected] wrote:
Note that at least in the US the frequency accuracy of broadcast FM
stations
is no better than the transmission mode needs. NFM weather
broadcasts are
about as good as it gets for most things on VHF. Cellphone signals
may well
provide the best calibration sources. The towers have ppb
oscillators in
profusion and one presumes they use them.

OK. Good to know. I tested a few stations here (in Stockholm Sweden)
and they
diff by like 2ppm so it's within acceptable range for many
applications. As
compared to GSM cell frequencies, the broadcast frequencies are well
known which
the GSM frequencies probably are not for the average user.

I first tried to use the kalibrate-rtl utility that use GSM
frequencies but the
DVB-T dongle was so off in frequency so that the scanner found the wrong
channels and I got completely wrong frequency correction values. One
way to do
it is to first do a course calibration using rtl_fm on a broadcast
station and
then use kalibrate-rtl with the course frequency correction ("-e"
switch).

The calibration should work on NFM as well. It's just that if you
have many
closely spaced transmissions in a band there is no easy way to know
which is
which and you need to use a small bandwidth to filter out one
station. If the
frequency error is larger than the bandwidth you're out of luck. By
using
broadcast stations, which are spaced far apart, the frequency error
can be quite
large without causing any ambiguity. I guess the same method could be
used here
as suggested above: course calibration using broadcast FM and then
fine tune it
with a NBFM weather station. Let me know how that work if you try it.

Regards,
Tobias



{^_^}   Joanne/W6MKU

On 2014-07-31 01:23, Tobias wrote:
Hi!

I have just started using rtl-sdr in my application, SvxLink:
http://svxlink.org/. Thanks for your work on the RTL code. It opens
up the world
of wideband receivers to everyone. The SvxLink RTL code is in the
rtl-branch on
GitHub right now if anyone is interested:

https://github.com/sm0svx/svxlink/tree/rtl

I was missing some simple utility to calibrate the frequency error
for a dongle.
The simplest way I came up with was to modify the rtl_fm utility
since it is
very easy to find out the frequency error of an FM signal. To get a
measure of
the frequency error, all that have to be done in the FM demodulator
is:

     samp_rate * angle / (2*PI)

The angle is already compensated with PI in the current demodulator
so I only
had to do the rest in my added calibration code.

I first filed this patch as a pull request on GitHub
(https://github.com/steve-m/librtlsdr/pull/9) but then saw that
contributions
should be mailed to this mailing list.

The rtl_fm utility may now be used to calibrate the frequency error
of a DVB-T
dongle using the "-c" command line switch:

|   [-c] Do frequency error calibration
       Frequency error calibration will only work for FM.
       Use a higher sample rate, like -s170k, to handle
       large frequency errors. A strong and noise free
       signal is needed for good results. For example, use a
       broadcast FM station for calibration. Let the
       calibration run for some minutes until the values
       have stabilized. Rerun with -p option using the
       suggested ppm_error. Try this on a couple of stations.
       Repeat until the error is stable at about zero.
       Example: rtl_fm -f99.3M -s170k -r48k -c - | aplay -r48k
-fS16_LE -
|

Regards,
Tobias





Reply via email to