How can I extract TIME information from SDR Radio?

Lets say on ARM64 I want to avoid RTC module and GPS module but use an RTL-SDR stick for system time via ntpdate.

Is that doable? Bad idea?
 
FreeBSD Instructions for locally building GNSS-SDR based on this:

pkg install fortran lapack armadillo
mkdir -p /gnss-sdr/build
cd /gnss-sdr
git clone https://github.com/gnss-sdr/gnss-sdr
cd /gnss-sdr/build
cmake ..
make
make install
 
Build Failed. Undefined symbols.

Code:
[ 93%] Linking CXX executable gnss-sdr
ld: error: undefined symbol: absl::lts_20250127::log_internal::LogMessage& absl::lts_20250127::log_internal::LogMessage::operator<<<int, 0>(int const&)
>>> referenced by control_thread.cc
>>>               control_thread.cc.o:(ControlThread::handle_signal(int)) in archive ../core/receiver/libcore_receiver.a
>>> referenced by file_configuration.cc
>>>               file_configuration.cc.o:(FileConfiguration::init()) in archive ../core/receiver/libcore_receiver.a
>>> referenced by gnss_flowgraph.cc
>>>               gnss_flowgraph.cc.o:(GNSSFlowgraph::set_channels_state()) in archive ../core/receiver/libcore_receiver.a
>>> referenced 101 more times

ld: error: undefined symbol: absl::lts_20250127::log_internal::LogMessage& absl::lts_20250127::log_internal::LogMessage::operator<<<unsigned int, 0>(unsigned int const&)
>>> referenced by gnss_flowgraph.cc
>>>               gnss_flowgraph.cc.o:(GNSSFlowgraph::connect_signal_sources_to_signal_conditioners()) in archive ../core/receiver/libcore_receiver.a
>>> referenced by gnss_flowgraph.cc
>>>               gnss_flowgraph.cc.o:(GNSSFlowgraph::connect_signal_sources_to_signal_conditioners()) in archive ../core/receiver/libcore_receiver.a
>>> referenced by gnss_flowgraph.cc
>>>               gnss_flowgraph.cc.o:(GNSSFlowgraph::connect_signal_sources_to_signal_conditioners()) in archive ../core/receiver/libcore_receiver.a
>>> referenced 235 more times

ld: error: undefined symbol: absl::lts_20250127::log_internal::LogMessage& absl::lts_20250127::log_internal::LogMessage::operator<<<unsigned long, 0>(unsigned long const&)
>>> referenced by gnss_flowgraph.cc
>>>               gnss_flowgraph.cc.o:(GNSSFlowgraph::connect_signal_conditioners_to_channels()) in archive ../core/receiver/libcore_receiver.a
>>> referenced by gnss_flowgraph.cc
>>>               gnss_flowgraph.cc.o:(GNSSFlowgraph::connect_signal_conditioners_to_channels()) in archive ../core/receiver/libcore_receiver.a
>>> referenced by gnss_flowgraph.cc
>>>               gnss_flowgraph.cc.o:(GNSSFlowgraph::check_signal_conditioners()) in archive ../core/receiver/libcore_receiver.a
>>> referenced 52 more times

ld: error: undefined symbol: absl::lts_20250127::log_internal::LogMessage& absl::lts_20250127::log_internal::LogMessage::operator<<<long, 0>(long const&)
 
when conditions are just perfect I can pick up time signals from DCF77 on my radio clocks and my RSPdx. unfortunately it's outside the range of the rtl-sdr, but do search for 'dcf77' since there are cheap microcontroller-friendly rx/tx modules that can work at those almost-audio frequencies. and also various projects that use a soundcard plus a simple RX stage to receive the signal and digitize it.

have a look online if you have such a time code transmitter in your neighborhood.

an interesting link on sdr and dcf77 here

why avoid RTC tho? it guarantees time data when other time signals are unavailable.
 
why avoid RTC tho?
You are totally right. I have dozens of RockPi 4 with RTC onboard sans battery holder..
Maybe you could call this a learning experience. I bought 4 SDR-RTL and I am reaching to find a useful purpose. It seems like a good purpose.
Software Defined GNSS Receiver.
 
I did the logical things and thought about making a port for this and let builders work. So I made a port based loosely around gqrx and gnuradio. WIP.
Other option is ninja-setup offered as an alternative in instructions. Might try that next.

Generally is there some way to strip symbols off this build with cmake? I thought I read that symbols were stripped for port builds. 93% is so close....
 
when conditions are just perfect I can pick up time signals from DCF77 on my radio clocks and my RSPdx. unfortunately it's outside the range of the rtl-sdr, but do search for 'dcf77' since there are cheap microcontroller-friendly rx/tx modules that can work at those almost-audio frequencies. and also various projects that use a soundcard plus a simple RX stage to receive the signal and digitize it.

The German time signal radio station is within range of my current location so I thought I would give this a try as I am only just getting started with SDR and eager to deepen my experience.

Should I be able to pick up the time with DCF77 and my RTL-SDR v4?
 
Should I be able to pick up the time with DCF77 and my RTL-SDR v4?

no, if you look at your device's spec sheet
Frequency Range 500 kHz to 1.766 GHz
and DCF77 emits at 77.5 kHz.

you can however use a dedicated module, see here

I happened to find an RC8000 inside a commercial product called 'Hama weather station', so I'll be using that in my next project. apparently they also broadcast weather data in the same frame as the time, but that needs a bit of decryption. the plot thickens :)
 
For something with really low frequency like AM Radio I notice many use a wire antenna.

For example you would need a 53 Foot tall J-Pole antenna for AM Radio.
 
Back
Top