Open ckuethe opened 8 years ago
I've been thinking of this as a possible application feature, because the clock drift can change with temperature and therefore at runtime. So I'd like to see this as a library (GR block) that doesn't claim the device itself. A possible design:
Inputs:
Outputs:
Note that the signal processing is really kind of trivial — measure the frequency and low-pass filter it. (Though maybe there's some subtleties I'm missing as I haven't looked at what kalibrate actually does.) So most of the above is just sugar to make it easy to use (not getting the math wrong).
gr-osmocom allows for ppm correction to be changed at runtime.
kalibrate knows enough about gsm to be able to extract timing information from the protocol. unfortunately there are now a bunch of different forks for usrp, rtl, hackrf, probably airspy, ... what I'm thinking of is a generic tool using osmocom as the generic radio layer, and a bunch of application-specific knowledge (ie. gsm FCCH, or where NOAA WX should be)
I know that frequency will drift over time, but at least knowing that this particular dongle is -37ppm off gets me closer than not knowing at all.
OK, so programming in common things sounds like a good idea given that. WWV should be included for HF-capable devices.
I still want it to be something that can be integrated into a larger app.
Someone should look at writing a tool to unify all the different versions of kalibrate, probably using gr-osmosdr. Also, if there are some other known stations similar to NOAA WX, those could be added for a lighter weight rough calibration.