M-atthias 50 Posted January 8, 2014 Share Posted January 8, 2014 Happy new year !I am happy to announce a software defined Loran-C longwave radio navigation receiver running on STM32F407 ! If you happen to live somewhere on earth with Loran-C signal coverage like Europe and parts of Asia, I would like to get in contact with you for beta testing out in the wild.The first experimental release is available now on download section on http://mecrisp.sourceforge.net/Best wishes,Matthias bluehash 1 Quote Link to post Share on other sites
timeMaster 0 Posted January 13, 2014 Share Posted January 13, 2014 This is a neat project. What are the timing characteristics of this implementation? Is there any e-loran extension? You may find folks at the "time nuts" mailing list <time-nuts@febo.com> quite interested and helpful for testing. Many of them are following the NA based testing of the e-loran next gen private initiative. There is also quite an active bunch in the UK region. Quote Link to post Share on other sites
M-atthias 50 Posted January 13, 2014 Author Share Posted January 13, 2014 Frequency accuracy depends on how far off your crystal is. The closer the crystal matches the frequency, the finer the available calibration steps are. On my STM32F407 Discovery, the crystal is 74ppm too fast.Besides from this, the simple convolution receiver code included has 1 us time steps, but could changed for more precision at cost of more calculation time.eLoran enhancements are currently not included in first release :-) This is a basic old-style Loran-C receiver to be build with a common STM32F407 board and a longwave antenna. For eLoran all-in-sight recording we would need (much) more RAM.Currently, I wish for testing, and if basic receiver code proves to work well, I will continue to try automatic initial coarse crystal frequency determination out of Loran signal itself and on-the-fly clock re-adjustments.Thank you for the hint with the time-nuts list ! Perhaps you could introduce me there ?Copy from README of Loran-C package: Timer 2 gets 60 MHz clock signal and triggers * every 60 clock cycles (exact-xtal) * every 60 or sometimes 61 clock cycles (fast-xtal) * every 60 or sometimes 59 clock cycles (slow-xtal) Timing of captures in Timer ticks @ ~60 MHz: | 60 | 60 | 60 | 60 | 60 | 60 | ... Theoretical f = 1 MHz With Switch-cycles: Tack=1: | 60 +- 1 | 60 +- 1 | 60 +- 1 | 60 +- 1 | 60 +- 1 | 60 +- 1 |... Tack=2: | 60 | 60 +- 1 | 60 | 60 +- 1 | 60 | 60 +- 1 |... Tack=3: | 60 | 60 | 60 +- 1 | 60 | 60 | 60 +- 1 |... ...Frequency is theoretically given by f = q / (1 +- (1/60*tack)) f : Frequency on orange LED q : Free-running frequency of crystal through PLL <=> tack = 60 / (q/f - 1) Some examples: Offset: Free frequency 0 ppm: 1 000 000 Hz Tack infinite, use exact-xtal handler 1 ppm: 1 000 001 Hz Tack 16666 10 ppm: 1 000 010 Hz Tack 1666 20 ppm: 1 000 020 Hz Tack 833 50 ppm: 1 000 050 Hz Tack 333 80 ppm: 1 000 080 Hz Tack 208 100 ppm: 1 000 010 Hz Tack 166 The more far off the crystal is, the more coarse the Tack steps will be. Useful Tack range will be around 150 to 20000...Some measurements with my particular crystal:# Tack Frequency [kHz] determined with frequency counter# 0 983.682# 1 983.682 # Every cycle is a switch cycle2 991.8123 994.5514 995.9275 996.7546 997.3067 997.7018 997.9979 998.22810 998.41311 998.56312 998.69013 998.79614 998.88715 998.96620 999.24430 999.52140 999.65650 999.74460 999.79970 999.83880 999.86890 999.891100 999.909150 999.965200 999.993 # Useful range begin250 1000.010 # end for this particular crystal300 1000.020400 1000.034500 1000.043# 30000 1000.076 # Almost without switch-cycles, close to free running crystal frequency Useful ranges are roughly from 150 (bad crystal, 100ppm offset) to 30000 (0.3ppm crystal offset). Quote Link to post Share on other sites
jpnorair 340 Posted February 18, 2014 Share Posted February 18, 2014 Are you simply feeding the antenna into the ADC? This may not work so well without a matched-impedance LNA between them. Most antennas are designed to 50 Ohm. In any case, later in the year I would love to try this. Send me email or just post here if you need advice on the RF and antenna circuits. Moreover, I would love to see if I could heterodyne the Loran-C band into 434 MHz, for local rangefinding, which should also simplify the receiver from an ADC implementation into a zero-crossing implementation. Finally, if you need better crystal precision, the best way is to use a TCXO. Many GPS receivers use these. They are not so cheap, but for this project the price of the TCXO should not be a problem. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.