HOWTO: Airspy mini and Airspy R2: Piaware / dump1090-fa configuration

Hi Wiedehopf,

thank you for helping me here. Below is the output for the file:-

allow-auto-updates yes # value set at /boot/firmware/piaware-config.txt:67
allow-manual-updates yes # value set at /boot/firmware/piaware-config.txt:71
allow-mlat yes # value set at /boot/firmware/piaware-config.txt:75
allow-modeac yes # value set at /boot/firmware/piaware-config.txt:79
feeder-id xxxxxxxxxxxxxxxx # value set at /boot/firmware/piaware-config.txt:81
image-type piaware # value set at /usr/share/piaware-support/piaware-image-config.txt:5
manage-config yes # value set at /usr/share/piaware-support/piaware-image-config.txt:4
rtlsdr-gain max # value set at /boot/firmware/piaware-config.txt:60
wired-network yes # value set at /boot/firmware/piaware-config.txt:27
wireless-network yes # value set at /boot/firmware/piaware-config.txt:33
wireless-password # value set at /boot/firmware/piaware-config.txt:49
wireless-ssid MyWifiNetwork # value set at /boot/firmware/piaware-config.txt:48

I haven’t heard of the ADSB image, ill go do some checking as a backup.

thank you for checking, this might help other users moving over to Airspy on the new SD card

image.

cheers Andy

Edit: install didn’t work due to piaware-config.txt being in different folder on newer raspbian.
Should be fixed just rerun the install in 5 minutes. github sometimes needs a moment to update it.

Good Morning Wiedehopf,

I re ran the install script and everything is working perfectly now. I also have your Tar interface and graphs running too.

You are a Legend, thank you for these tools and your help :slight_smile:

cheers Andy

3 Likes

Evening all. What’s the best option

Airspy Mini or Airspy R2. I’ve either sat here on my bench gathering dust. Along with some various LNA’s, Uptronics Nooelec, RTL triple ADSB, random Amazon one.

Thanks

1 Like

I don’t think you’ll see much difference between the two which means I would choose to use the mini for ads-b and keep the R2 available for other stuff where its better bandwidth might be more useful. I’ve been using a mini for over 5 years now and it’s given excellent performance.

2 Likes

Recently got an Airspy mini. Installed the Airspy_adsb software using wiedehopf automatic script in Post 1. All went well on the install (aside from a few operator errors), and it is running now on an RPI 4B. I also installed graphs1090. Thanks to wiedehopf.

A few questions/comments. Granted I haven’t read all 4525 posts herein, so some of this might have been covered earlier.

  1. When I first started running Airspy_adsb the ADS-B CPU Utilization graph showed more than 100% utilization. This is with SAMPLE_RATE= 12 and all other OPTIONS set at default values. Then looked at the clock frequency of the RPI vcgencmd measure_clock arm and it was 900 MHz. Edited /boot/firmware/config.txt to add:
    force_turbo=1
    arm_freq=1200
    This brought the CPU utilization down to about 85%, and I can bring it down to 50% by increasing the arm_freq to 1600 MHz. But why should I have to do this? Shouldn’t the RPI adjust CPU freq on its own due to load? The RPI is not over temperature (temp = 47 C). Possibly this is a problem with the RPI itself?

  2. What is the relationship of the Airspy RSSI shown in graphs1090 to the RSSI in Skyaware ?
    Airspy RSSI is in the range of 30 to 70 dB. Skyaware shows approximately 0 to -35 dB.

  3. The option -p packs I/Q data in 3-bytes (24 bits) vs not using the option where I/Q uses 4-bytes (32 bits). This reduces the USB data rate 25%. So why wouldn’t it always be used? What’s the downside to using this option? Granted if the -p option is used, the RPI needs to unpack the data, but that shouldn’t be much of a load.

Thanks in advance for any help.

It’s not nothing and the SDR also needs to pack it.

You don’t have to change the pi freq.
It works fine with the defaults, 1 core is 100% so it’s using more than one core.

RSSI has an arbitrary zero point.

1 Like

Ok, but is there a summary user documentation for airspy use on Linux? Having to comb through 4500+ posts over 6 years looking for a given subject is like trying to find a needle in a haystack. The reason I thought that more than100% load was a problem was that I was looking at very old posts.
Thanks.

This file has some explanations: airspy-conf/airspy_adsb.default at master ¡ wiedehopf/airspy-conf ¡ GitHub

You can always read backwards a bit.
But no that doesn’t exist.
It’s also not that necessary, performance is pretty good out of the box.

1 Like

For what its worth, these are the settings on I use on my main feeder.

GAIN= AUTO
OPTIONS= -v -t 300 -f 1 -w 5 -P 7 -e 60 -R rms
SAMPLE_RATE= 20

I would suggest experimenting and see what works for you.

Auto gain does a very good job of picking the level for your setup.

Try a 20 MSPS sample rate - the Pi4 can easily handle it, and it delivers a noticeable improvement.

You will need to play with the -w and -P settings to see if they make a difference.

I have a longer -t than the default (60) and -R setting is actually the default - I think I put it there to remind myself there were two options.

1 Like

That’s good and I saw that in /etc/default/airspy_adsb file also.
Have you ever seen a block diagram of the Airspy mini ?
On the Airspy mini page it says I/Q output has no DC offset, or I/Q imbalance. How do they generate I/Q ? Also, when the sample rate is say 12 MSPS, assume that’s 6 MSPS I and 6 MSPS Q.

Ok, I have gain set to auto also. Sample rate is 12 MSPS.
Will try some of those other option settings you show.
Thanks.

There is one here:
https://groups.io/g/airspy/topic/85205526

Yeah, but that doesn’t show I/Q output from the Airspy. It shows I/Q being formed in a PC.
So, couldn’t make sense of that.

Edit: Maybe that was an early implementation. The I/Q formation was moved from the PC to the Airspy?

My understanding is that is exactly what is done.
Raw samples from the ADC and the DSP generating I/Q in the computer.
It is referenced on the Airspy about page:

and also in reviews such as this one:

Ok, I was interpreting the write-up for the Airspy dongle to say that I/Q data was provided as an output. But I guess you could also say that “Airspy” refers to the dongle + the software on the PC (Airspy_adsb). That would say that the sample rate from the dongle is always 20 MSPS and the rate reduction to 12 MSPS is done in Airspy_adsb software.

Their method of generating I/Q data is interesting: it’s not the classical approach of taking the samples from the A/D and mixing (i.e. multiplying) with sin and cos at the IF freq ( 5 MHz ) and then lowpass filtering the I and Q legs. I think their approach uses a Hilbert Transform, though I’m not sure. Also there is a trick you can do in the mixer if the sample rate (20 MHz) is 4x the IF ( 5 MHz) : the multiplies are just by +1 and -1.

The fact that the I/Q formation is performed digitally rather than in the analog domain means that you have perfect quadrature (90 deg) and no I vs Q amplitude differences that you would have with the analog approach. However, I think the RTL-SDR dongle uses digital I/Q mixing as well. So, no advantage there for the Airspy. I think the Airspy advantage is 12-bit A/D (and higher sample rate of 20 MSPS) vs 8-bit A/D and 2.4 MSPS in the RTL-SDR dongle.

I don’t get that logic at all.

airspy_adsb doesn’t do the IQ conversion it uses the raw samples.

And of course the sample rate is configured in the SDR.
Just if you make IQ from 20 MSPS raw samples it becomse 10 MSPS IQ.

All of this is really not that helpful to configuring airspy_adsb.

So where is the I/Q conversion done?

Also, see the block diagram that @LawrenceHill posted above.

But it could be that the I/Q formation process was later moved from the PC to the Airspy itself as I mentioned above. The Airspy has lots of computing power with the LPC4370 chip.

@LawrenceHill

Two screenshots from the pdf docoment you linked:

Click on Screenshot to See Larger Size

Click on Screenshot to See Larger Size

1 Like