Re: [Hackrf-dev] Determining exact tuning frequency

2018-06-22 Thread Phil Karn
On 6/22/18 22:28, Chuck McManis wrote:
> Hi Phil,
> 
> What I've done is that I center tune into the neighborhood of where I
> want to tune, and then use either a DDC or a soft mixer function (in GRC
> or another module) to tune exactly where I want. If you're trying to
> homodyne to the precise frequency then I agree you'll not always be
> successful.

Yup, that's exactly what I already do with the AMSAT UK Funcube Dongle
Pro+. If the RF channel I want is outside the front end's passband, I
calculate a front end tuner frequency to park it at a nominal baseband
frequency, typically +/- Fs/4 so I can avoid DC artifacts. The Funcube
has a fixed 192 kHz sample rate, so I typically choose +/- 48 kHz.

Then I ask the front end to go there. Although the API lets me specify a
tuner frequency in 1 Hz steps, the fractional-N synthesizer can't
actually give them to me; the actual tuning step for that hardware and
choice of TCXO frequency is (IIRC) 1000/2048 Hz or some small integer
multiple thereof depending on the synthesizer's frequency-dependent
output divisor.

The Funcube's API doesn't tell me its actual exact frequency, so I
extracted the synthesizer programming formulas from its firmware and
execute them myself. Then I take the difference between the actual and
requested tuner frequency and fold it into my software oscillator (the
one running near +/-48 kHz).

As a fallback, I found that if I always request multiples of 125 Hz,
I'll get them exactly. (I can use smaller steps in the lower frequency
ranges, but it was easier to just pick 125 Hz as a worst case.)

Once the front end is close to the desired frequency I can make minor
tuning changes entirely in software, leaving the front end tuning alone.

I'd like to do the same thing(s) with the HackRF. I.e., if I can't get
the exact frequency for any requested frequency, I'd like to find the
smallest tuning step that will always give me exactly the frequency I
request.

> The other advantage of doing the tuning after you've got your pass band
> is that you can run multiple receivers off the same pass band data if
> they are all within range. One of my examples I show people is an FM
> radio with 5 different tuners. The HackRF is tuned to the center of the
> FM band and then I can move the 5 tuners anywhere within that band,
> demodulate them, and mix and match the audio. Nothing like having a bit
> of Classic Rock 98.5 in the background when listening to KFRC (KCBS FM)
> 106.9. 

Yup, I do exactly the same thing. I use multicast RTP to convey my IQ
data from the SDR front end to my software receiver, so I can simply run
multiple copies of the latter as long as they're tuned closely enough to
each other. I used it recently to receive APRS position reports from a
balloon that transmitted on both 144.39 and 144.34 MHz. Worked great.

Phil

___
HackRF-dev mailing list
HackRF-dev@greatscottgadgets.com
https://pairlist9.pair.net/mailman/listinfo/hackrf-dev


Re: [Hackrf-dev] Determining exact tuning frequency

2018-06-22 Thread Chuck McManis
Hi Phil,

What I've done is that I center tune into the neighborhood of where I want
to tune, and then use either a DDC or a soft mixer function (in GRC or
another module) to tune exactly where I want. If you're trying to homodyne
to the precise frequency then I agree you'll not always be successful.

The other advantage of doing the tuning after you've got your pass band is
that you can run multiple receivers off the same pass band data if they are
all within range. One of my examples I show people is an FM radio with 5
different tuners. The HackRF is tuned to the center of the FM band and then
I can move the 5 tuners anywhere within that band, demodulate them, and mix
and match the audio. Nothing like having a bit of Classic Rock 98.5 in the
background when listening to KFRC (KCBS FM) 106.9.

--Chuck


On Fri, Jun 22, 2018 at 10:22 PM Phil Karn  wrote:

> Since the HackRF One (like most SDRs) uses fractional-N synthesizers, it
> can't always give you the exact tuner frequency you ask for. I would
> like to write a function to determine the actual frequency from the one
> I ask for so I can compensate for the difference in a later point in my
> processing chain. (I'm using a GPSDO clock so these small frequency
> offsets are actually quite noticeable.)
>
> I'm looking at the spec sheets and firmware for the various PLL
> constants but I'd like to know if anyone has already done this. Thanks.
>
> Phil
>
> ___
> HackRF-dev mailing list
> HackRF-dev@greatscottgadgets.com
> https://pairlist9.pair.net/mailman/listinfo/hackrf-dev
>
___
HackRF-dev mailing list
HackRF-dev@greatscottgadgets.com
https://pairlist9.pair.net/mailman/listinfo/hackrf-dev


[Hackrf-dev] Determining exact tuning frequency

2018-06-22 Thread Phil Karn
Since the HackRF One (like most SDRs) uses fractional-N synthesizers, it
can't always give you the exact tuner frequency you ask for. I would
like to write a function to determine the actual frequency from the one
I ask for so I can compensate for the difference in a later point in my
processing chain. (I'm using a GPSDO clock so these small frequency
offsets are actually quite noticeable.)

I'm looking at the spec sheets and firmware for the various PLL
constants but I'd like to know if anyone has already done this. Thanks.

Phil

___
HackRF-dev mailing list
HackRF-dev@greatscottgadgets.com
https://pairlist9.pair.net/mailman/listinfo/hackrf-dev