Σάββατο, 25 Νοεμβρίου 2017

New SDR HF decoding hardware platform and new record!

   For quite a few months now, my SDR based reporter was not working due to multiple hardware failures. The bigger problem in remote areas where little noise exists, are thunder-strikes! We got lot's of them in the place the receiver is located, at KM07 grid square. Also several software limitations were requiring manual configuration of the decoding software after each reboot of the decoding server, that happens quite often due to power grid failures. A total solution to the problem had to be implemented that will cover all possible scenarios  (besides nuclear threat).
  So a new desktop computer had to be purchased to replace the power efficient i5 laptop. After installing all required software, I figured that the E3-1240 XEON processor is more than enough for Quad band (4x192KHz) spectrum demodulation and decoding of CW and FT8/JT65/JT9 spots.
The RF front end of the SDR is nothing more than an AD8138 ADC driver, driven by a MAR6 LNA, driving the AD9864 ADC's. From there on 4 Rx chains are created on the FPGA to achieve instantaneous Quad band coverage. The software part is kindly provided by OL5Q. However in order to achieve both CW and other digital modes demodulation, the IQ data has to be shared among other software in Windows. This is achieved by CWSL software, that is open source!

  An issue I was facing with ExtIO_CWSL.dll was that each time it started with HDSDR you have to select the band that it will use, and there is no configuration file, or any other method to pre-select the band you desire. This makes it difficult to auto-start multiple instances of HDSDR, one for each band.
   As an original Radio Amateur, while not having any C/C++ programming skills, I had to find a solution to this. Since the source was available I modified the variable storing the band selection in the dll, so each time it starts with a pre-selected band. I had to build 4 versions of the DLL, one for each band, but this wasn't such an issue. Now I can have 4 instances of HDSDR, connected to WSJT-X via a virtual audio card and a virtual com port to select frequency, AUTO starting!!!
This setup, including the irreplaceable Skimmer Server which by the way is the only ham software that I have purchase and deserves every penny, has placed me to the top 5 of the world's skimmers as reported by PSKreporter.info

Παρασκευή, 14 Ιουλίου 2017

Extreme Trodo Ducting [TR] 704Km at 1090MHz reception over Ionian Sea [Greece-Italy]

Good news today, be broke our previous ADS-B range reception record and received an airplane 380 Nautical Miles away with just an RTL-SDR!!! Also we hit a new record from Tropo Ducting conditions for 2017 and a new high temperature record at our local weather station! Good TR DX fellow hams!

Δευτέρα, 27 Μαρτίου 2017

LimeSDR review

The latest addition to my SDR collection is the LimeSDR.
Much promising in paper, will it prove as much in real life? For start it has failed my expectations.

After a dream came true with the purchase of my first USRP1 SDR from olifantasia himself at 2011 CCCamp, 6 years have almost passed, and technology in Software Defined Radio hasn't evolved as much as I've been expecting. Prices have dropped, but a good design is always well paid.
In the name of SDR god, I've sacrificed thousands of Euros and Dollars since then. In daughterboards like the WBX, SBX, RFX400/900/1800, LFRX, TVRX etc, then when the first USB 3 SDR came available, the USRP B200 it was time for an upgrade. Back then I was amazed with the tiny Analog Devices RFIC and it's performance, however the cost. It was the time when the first crowd funded SDR projects appeared, BladeRF was out, and Ettus decided to build the first product without a case for the lower end market. I think there was not much profit for them in the B200, but a nice company like Ettus has to offer a broad selection of products for every use, even under the umbrella of NI.  I still use my B200 as a reference SDR for comparing with other SDR's.

Of course I had to honor Michael Ossmann who produced the first full open source SDR, HackRF. The idea of using cheap commodity components and engineering a clever design is much closer to my point of view, however HackRF's main drawback is the 8-bit ADC that proves a game stopper. 

I couldn't miss of course the Rad1o, which was more than a reason for flying again with my tent and backpack to Berlin, this time well prepared! Rad1o's concept was also clever, but I was expecting greater acceptance by the community and more software for it. If they had find a way to make it a product, it would be well noted.

Of course I should get a BladeRF with the Up conversion card for ham use, multiple RTL-SDR's for AIS, ADSB and general use, rtlsdr.com's RTL-SDR with a better clock and LNA out, USRP N200, N210 for high bandwidth applications and now the LimeSDR!

I've been following Limemicro since the beginning, and I generally like their philosophy. They are taking one step at a time and have achieved great things in little time, in a hostile environment like the wireless chip industry. This time they promised something big! A sub $300 SDR that has nothing to be jealous of his big old brothers. Did they make it for real?

The first impression is beyond expectations. A very nice packed product that has all that requires for a successful crowdfunding campaign. However the first thing you notice when you plug it in, is that it becomes hot, real HOT! To convince you I made a small video with my FLIR thermal camera:

Another user has noticed that the Altera FPGA works at 74C! The strange thing is that the heat comes out even if the board is idle, which makes me wonder if there is any power saving strategy implemented at all.

In almost all urban environments, most of the RF noise comes from FM radio stations, unless you are from Norway where they switched to DAB. In Greece however where the RF spectrum is relaxedly regulated, most FM band radio stations are using excessively high power for their range that ends up in noise interference. So using a very very big signal that is everywhere, is a good start for checking if a radio device works. And guess what, LimeSDR did not work!
For start I though that there was something bad with my board, maybe a production fault or something similar, it didn't cross my mind that this was by design! I've checked all the antenna ports, all sort of cables, connectors and antennas before I started googling for it. And here it was, many users had the very same issue, LimeSDR deafness. Yes, it was real, I had to use the soldering gun to remove a coil form my new baby. The surgery had to be done, because it was born deaf.
 Then I realized that this was another over-funded and well designed campaign that had used well known marketing practices to gain interest. My problem was not that I didn't get what was promised, because as an engineer I have learn that specs most of the times differ from paper to real life, but this poor performance would affect the opinion of thousands not so expert backers that need something that works, and keep them back form funding another SDR in the future!

Let's hope that any further issues will be resolved via software or soft-hardware (FPGA) upgrades and that MyriadRF will continue supporting this overrated board.

Δευτέρα, 23 Ιανουαρίου 2017

Quad antenna ADSB software receiver

   Finally, after many months of downtime due to a thunderstorm that actually fried most of the pcb's, the ADSB receiver is back online.
Feeding to fr24.com and Flightaware it only takes an underutilized ARM SBC and a USB HUB that costs more than the SBC to decode all this information and transport it to the community network.
A few years ago it all sounded unfeasible, but economies of scale made their miracle and the major expense has moved from electronics to aerials. Indeed the antennas, box and mast cost way more than the actual SDR decoding device.

Τετάρτη, 29 Ιουνίου 2016

L-Band reception spectrogram with Helix antenna and LNA, E4000 tuner + Odroid C1

I was excited the other day to re-discover this beautiful tool rtl-power from keenerd! In combination with some handy scripts made by Superkuh and heatmap.py generator I've managed to burn a lot of cpu cycles and many Gbytes of disk space. But in the end, one can see the RF spectrum from another view! Here you can see some weird satellite signals coming down on earth on the L-Band!

Παρασκευή, 6 Μαΐου 2016

Decoding both AIS channels simultaneously with a single RTL-SDR

With the advent of Software Defined Radio, most hardware problems have become software problems. I knew the hardware was here to support decoding both AIS channels with a single USB RTL-SDR stick, but there is no software (besides gnuradio based software) to support that. Gnuradio is "too much" to fit on an ARM board, and I've started to look for other solutions.
The main obstacle was how to shift frequency from a command line utility in order to provide both channels that have a 50KHz space between them.
Our friend of the openwebrx project, Andras Retzler, HA7ILM, has built a very handy and efficient library for manipulating IQ data, csdr
However I still had to find a way to provide data to csdr, and then demodulate each channel separately, but let's start from the beginning.
AIS transmissions are at 162.025 MHz and at 161.975 MHz. We select the middle frequency 162.000 MHz as center, to avoid also any DC bias interference. Then we shift frequency by 25KHz by using the "csdr shift_addition_cc". A demodulator follows that demodulates Narrowband FM and then data is handled to "aisdecoder" a tool that takes demodulated audio data and decodes AIS messages.
rtl_fm has the ability to provide raw 16 bit integer IQ data by using the -M raw switch, but we need to multiply this data twice and then shift it by 25KHz lower for one channel and upper for the other one.
The idea of using a network streaming server to provide IQ data for all our demodulators comes also from openwebrx project where Andras uses ncat to stream the data and has proven to be very efficient.
On the demodulator part, I've tried the "demod" tool from Andres Vahter that uses the liquid-dsp library. It's a lot more cpu hungry than the original rtl_fm demodulator, but it works. If you are aware of any other more efficient solution just provide it in the comments section.
Each demodulator handles data via a FIFO pipe to aisdecoder, and each aisdecoder connects to aisdispatcher that provides AIS data to both AISHub.net and marinetraffic.com 
So I provide below the commands I've ended up using after many hours of testing!

aisdispatcher -u -h -p 5000 -H,data.aishub.net:xxxx -G

aisdecoder -h -p 5000 -a file -c mono -d -f /home/sdr/ais.fifo
aisdecoder -h -p 5000 -a file -c mono -d -f /home/sdr/ais1.fifo

of course you will first have to make the FIFO pipe using the mkfifo command.

/usr/local/bin/rtl_fm -d AIS -f 162000000 -M raw -s 1008000 | ncat -4l 4952 -k --send-only --allow

ncat -v 4952 | csdr convert_i16_f |csdr shift_addition_cc 0.024801587 |csdr convert_f_i16 | demod --samplerate 1008000 --resamplerate 48000 -i i16 -o i16 --bandwidth 4500 fm --deviation 3500 > /home/sdr/ais.fifo
ncat -v 4952 | csdr convert_i16_f |csdr shift_addition_cc -0.024801587 |csdr convert_f_i16 | demod --samplerate 1008000 --resamplerate 48000 -i i16 -o i16 --bandwidth 4500 fm --deviation 3500 > /home/sdr/ais1.fifo

The 0.024801587 number comes from dividing the shift frequency with sampling rate ( 25000/1008000)

More experiments have to be done, specially in the sampling rate and down-sampling ratio. I suspect that rtl_fm provides a more efficient down-sampler, but we still have to have enough samples to cover a broader range for both channels

Of course to increase your chances of receiving AIS data with an RTL-SDR you'd better use RTL-SDR.com dongle that has a much much better clock with a TCXO.

You can check the station online at http://www.aishub.net/live-map.php?rrdname=2546&sname=Patras and http://www.marinetraffic.com/en/ais/details/stations/2566
Enjoy your fresh AIS messages!

Κυριακή, 24 Απριλίου 2016

Serial over Air for Maritime use

   As I read somewhere on the Internet lately, a quote said that getting over old methods is much harder than creating new ones. Hence some protocols older than my age will be haunting us forever. A bright example is the RS-232 serial protocol that will keep haunting us for the remaining of our lives. Obsolete, yes, useful though and established to millions of embedded devices, we must cope with the overhead it carries and adjust our modern designs to support this last century serial communication protocol.
   Of course any modern communication design has to be cable free, especially in a boat where weight, complexity and oxidation matter. One might say that wireless is not secure, and another one that it's not reliable. Well true in some cases, but be assured that modern wireless devices designs have grown enough to provide industrial grade security and reliability if not yet military.
Many thanks goes to our friends who designed and built the ESP8266 chip that draws a path to the future of embedded wireless devices. Disregarding the yet undiscovered hardware "design flaws" that can be used to undermine the security of this device, we bet on it and use it for our open wireless communication solution within a sailboat. I name it SEA OWL (Open Wireless Link).
  Using ESP-201 (that has an external antenna and more available ports) to interface with various electronics on board like Navigation equipment, Auto pilot, Wind instruments, depth meter, speed meter, and many sensors that measure things like air/engine/water temperature, XY rotation (inclination), battery/engine/solar voltage, engine RPM, acceleration, speed etc, we are linking the dots and connecting everything to our central management systems that consists of a very low cost and low energy consuming ARM based device that logs everything, and also handles AIS, Wi-Fi, and GPS data combining all this to a lite database and also transmitting telemetry home.
Most of this has already been integrated and might also be available as a commercial ready made solution if there is enough interest.
More details will follow soon!