Hi, I did something similar when I had to deliver synchronization over IEEE 802.15.4-CSS (Chirp spread spectrum). If you have SDR on both ends (TX & RX), you can use complex chirp signals and then cross-correlation at RX. Just be sure that the multi-path is not killing you (i.e. the cross-correlation peak has a width smaller than multi-path echoes delay). If you use up & down chirps, you can compensate the time-shift introduced by carrier frequency offset (due to RF front-end). To estimate clock frequency offset, well, just send a repetitive pattern. Amplitude is easy as well.
cheers, Mattia 2017-10-09 16:20 GMT+02:00 jimlux <jim...@earthlink.net>: > I'm trying to come up with a relatively simple scheme to calibrate an HF > antenna array - I've got a bunch of RTL-SDRs operating as a distributed > array spread over a few 10s of meters. > > The things I want to do are: > a) determine the phase/time offset between stations relative to other nodes > b) determine the sample rate (clock rate) variation relative to other nodes > c) determine the amplitude calibration (of each node). > > One of the schemes I cam up with was to take the output from the sample > clock oscillator, divide it down to around 500 kHz or 1 MHz, and then use > that to generate short pulses by switching a precision voltage reference. > > That pulse train (the spectrum of which is a comb with lots of harmonics) > would be connected to the antenna of the node. > > So, I get a precise amplitude pulse train into my own node receiver - so I > can calibrate my receiver gain. And, I radiate a low power pulse train to > the other nodes. By looking at the digitized signal on the other nodes, I > can figure out relative clock rate (and, to a lesser extent, whether the > antenna has changed) > > This scheme seems to hang together, but a lot depends on that switch that > turns my internal clock derived pulse train into a precise amplitude and > edges. > > Off hand, it seems that almost any sort of transistor (BJT or FET) would > work as long as the rise/fall time is fast enough to get the harmonic comb > up high enough (I'm only interested up to, say, 50 MHz - yeah, the RTL-SDR > will tune higher, but for this project I'm not so worried about that). > > I suppose too, that I could do a "bench calibration" of each unit the > first time (to take out component/component variations in the switch), as > long as the switch properties are stable, or at least vary in a known way. > > In terms of amplitude, the amplitude of the fundamental should be pretty > stable, but I can see the relative amplitude of the high harmonics falling > in precision - small changes in switch rise/fall time will affect that more. > > In terms of frequency, I think it should work fairly well - I tune the > RTL's front end, look for my calibration combs that are "in band" and fit > an appropriate function to the signal (there should be a well defined phase > relationship between the harmonics) > > So, one remaining issue is how to get "time" out of this. Since the > individual nodes are battery powered and not connected to a network in real > time, I would assume that their internal clock is good to maybe 1 second. > I was thinking I could try and encode a standard time code (Irig) on the > pulses from my comb generator, either by changing the pulse rate, or by > changing the pulse width? > > Any other clever ideas? > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/m > ailman/listinfo/time-nuts > and follow the instructions there. > _______________________________________________ time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.