start	end	text
7400	14140	Hello, my name is Alan and together with Fabian we are going to talk about how to set up a VHF
14680	19740	receiver to start collecting air traffic control voice data.
20820	27380	Our presentation is divided into two parts. I will talk about OpenSky Network,
27380	37040	about air traffic control and about the ADCO2 project. After what I will hand over to Fabian
37650	45440	who will show you how to set up the receiver and share some tips and tricks how to improve
45440	53900	signal reception quality. OpenSky Network. Our mission is to improve the security,
53900	61520	reliability and efficiency of the airspace usage by sharing ATC related data to public.
62240	69440	So far we only share air surveillance data but as you can see things are about to change and
69440	79420	we broaden our scope also to voice communication taking place between the air traffic controller
79780	89640	and the pilot. The way we collect the data is that we have a multitude of sensors operated by
89640	100620	volunteers and connected to internet and the receivers then feed the data to OpenSky and
100620	110600	OpenSky then shares this data to entities wishing to do interesting and useful stuff
110810	122200	with this data. A few facts about our network. We have around 3 000 registered receivers from which
122200	131840	around 1 000 is online and with those 1 000 receivers we get the coverage shown on this
131840	140820	figure here. As you can see we have quite good coverage in Europe and in US but also in some
140820	148620	smaller regions like Japan or in western coast of Australia.
150720	156700	So now moving on to the air traffic control and a few words why it's needed.
157860	164860	So pilots are facing pretty much a formidable task. They need to take a
166520	176780	poorly maneuverable fast-moving aircraft from point A to point B without causing an accident.
178060	186620	So you can imagine that the help would be needed. And here is the place where air traffic
186620	194680	controller comes to play. Air traffic controller has a pretty good overview about
196060	208120	the space surrounding any given aircraft and they also have good understanding about the aircraft,
208120	221020	about its restrictions and current conditions. So they can advise pilots how to maneuver through
221020	234140	the airspace the safest and most efficient way possible. So the tasks... there are three main
234140	242340	tasks for the air traffic controller. They have to make sure that the aircraft do not collide
242680	251180	with each other and also do not collide with terrain. They need to provide pilots with
251180	261920	necessary information and also if things go really bad and help is needed, they
262200	269200	do provide alerting services, meaning that they exchange data between...
269820	275320	they exchange information between pilot and rescue units, for example.
277240	288440	So how it's done? The short and easy answer is that via using radio. So if pilot wants to do
288440	299700	something with the aircraft, they will ask air traffic controllers if it's safe to do so.
299920	307720	Then the air traffic controller is looking at all the information available and
308460	316480	gets back to the pilot saying that either it's safe and they can go ahead or it's not safe and
316480	320260	they should do something else altogether.
322380	336680	The frequencies used to communicate lie between 108 and 137 megahertz.
336680	343060	It's often referred to as earbands.
343640	354920	And by saying it's most commonly used, I mean there are other frequencies also
355310	363480	that are used in some instances. For example, in oceanic areas, lower frequencies which have
363480	373380	better propagation features or satellite communication also is used often in those areas.
373500	384080	But as VHF communication provides the highest quality at the moment, it's preferred
384080	393460	and used wherever possible. And that's why it's the most interesting also to listen to.
394440	409460	So as I said, the communication between the pilot and the air traffic controller is verbal,
409460	420480	meaning that if later one said it cannot be returned to later on, but you probably can
420480	429560	come up with several scenarios where one would like to return to what was said. For example,
429560	440220	pilot wants to double check the instructions gotten from the pilot. At current
441880	448260	point of time, the pilot should, to be able to do that, the pilot should
448260	455100	write these introductions down. But as pilots while flying
456180	463180	are rather busy, they just don't have the mental capacity to do so.
463820	471280	That's why some sort of automation would be much appreciated.
472660	481960	But for building that sort of an automated system, transcription system,
481960	495220	large amounts of data would be required. And that's why HATCO2 project was brought to life.
495220	506380	It's a EU-funded project with several different partners who together
507340	513260	intend to develop a platform that allows to collect, organize, and pre-process
513260	522380	air control voice communication data. For that, two separate systems will be built.
522830	532310	First, collecting voice recordings and storing them and making it available to public.
532310	539990	And another one taking care of automatic transcriptions and also storing them so
539990	551970	these transcriptions then can be later used to whichever reason needed. And lastly,
551970	560990	the legal aspects of making that sort of recordings and sharing them with other
561710	565650	parties is also looked at within this project.
567310	580790	It's not inherently lawful to make the recordings in all the countries in the world.
581110	588990	And that's why it's really important to shed some light into this matter as well.
590090	598270	So that's it from my part. Thank you for listening and I will now give word to Fabian
598270	606530	who will show you how the receiver should be set up. Thanks and enjoy!
612210	617190	Hi all, my name is Fabian and in the second part I will take you through a tutorial of
617190	623590	how to set up a Raspberry Pi as an air traffic control receiver. We will first go through a
623590	630770	setup of the Raspberry Pi using SSH. Once we can access the Raspberry Pi, we're going to install
630770	639170	RTL-SDR Airband on it, which is an open source software that we can use to record APC communications.
640030	646890	Additionally, we will install some audio utilities to encode the raw output into FLAC audio format.
647190	652490	After installing the software, I will show you how to configure the software based on your location
652490	660750	using a configuration web page. And finally, we will test the setup if it's working. At the end,
660750	666390	I will give you some hints on how to position your antenna and wrap up with some links and an output.
669220	675480	So first, before we dive into it, let's look at the components that we are using for this setup.
675720	682100	As a general purpose, low-cost computer, we're using a Raspberry Pi. It doesn't really matter
682100	687500	which version, even a version 1 should work. Although if you want to use multiple downloads
687500	692390	and listen to a lot of frequencies, a higher version Raspberry Pi might be recommendable.
694040	700060	Then for the Raspberry Pi, we need the power supply and the LAN cable for the initial setup.
700240	707180	The LAN cable you only need if you want to follow along this headless SSH setup from scratch.
707180	713000	If you already have a running Raspberry Pi or setting up with monitor and keyboard,
713000	720840	you can also use a wireless LAN. You also need a microSD card which serves as a Raspberry Pi disk.
720900	727560	For the APC reception, we need a software-defined radio USB dongle. In our case, we're using the
727560	734820	RTL-SDR dongle. The link to it is provided on the last page of this presentation.
736100	741060	And then we need an antenna to connect to the dongle. There are dongle sets that you can buy
741060	747340	including a general-purpose antenna. That's a good start. If you're setting up a Raspberry Pi
747340	753340	from scratch, you can follow along this step. If you're not familiar with terminals SSH and how to
753340	760760	find out the IP of your Raspberry Pi, it might be easier to follow the Noobs setup guide with mouse
760760	768640	and keyboard from the official Raspberry Pi page. On a PC or laptop that has an SD card reader,
768640	775220	install a Raspberry Pi OS to the microSD card. We're using Imgur that is available from the
775220	785220	Raspberry Pi download section. So first, we choose the operating system as Raspberry Pi OS 32 bits
785940	798230	and the SD card that we want to install it. And then press write. After the SD card is finished,
798230	804870	we insert it into the Raspberry Pi. Connect the Raspberry Pi to the LAN network using the cable.
805070	812510	Add the SDR USB stick with antenna attached to it and power up the Raspberry Pi. Give it a few
812510	819730	seconds. Now we need to find out what the IP of our Raspberry Pi on our network is.
819790	825550	You can normally see this somewhere on your router's configuration home page like shown here.
826230	831770	If you can't find it out for some reason, you can always resort to attaching a monitor and keyboard
831770	839070	and mouse to the Raspberry Pi and finishing the setup in that way. The initial login to the
839070	845100	Raspberry Pi should work with username pi and password raspberry.
846830	851210	Next, we're going to change the default password, configure the time zone,
851210	856620	and optionally configure wireless LAN. So to do this, let's start raspi-config.
857030	867230	Then select change user password and enter a new password twice.
874170	883710	Next, let's select four localization options. Change the time zone and select the
884630	894360	continent and country you're in. Then let's select localization options again
894780	899460	and change the VLAN country to your country.
906060	911100	If you want to configure wireless LAN, then you can do this under network options.
917430	923310	Once installed, the configuration file for the software needs to be modified to record the desired
923310	929950	frequencies and produce an output. The full set of configuration options you can find on the wiki
929950	939860	page with the provided link. After the software is installed, the configuration file for the software
939860	946200	needs to be modified. To make the configuration easier, we have a simple page that generates
946700	953760	a configuration file for you in five steps. The first step is to specify your device,
953760	960400	the type, give it some name, and you can leave the bandwidth as is for most cases.
960800	968540	The second step is to specify your location, either by address, by longitude, latitude,
968540	973740	or if your device supports it, you can use the current location button.
981930	988930	Once you have specified your location, you can search airports that are close by.
989850	994210	So in our case, we're choosing the Zurich airport,
997870	1004250	and this will provide you with a set of frequencies which are used in this airport.
1004750	1010490	So you can select the frequencies which you want to record,
1010490	1018090	but there is a restriction that the specified bandwidth of your device that you specified on top
1018690	1025590	needs to fit all the frequencies in it. So if you have a bandwidth of 2.4
1027450	1032730	megahertz, the frequencies can be more than 2.4 apart.
1033670	1041270	So if we're selecting all the frequencies here and assigning them all to one device,
1041270	1047370	we'll end up with an error message saying that we've exhausted the bandwidth.
1047870	1057310	So instead of 2.4, we are now at 13. So we deselect the frequencies that don't fit in
1057310	1062370	to our bandwidth, and the error message should disappear.
1073380	1078240	And based on these options, a configuration file should be generated.
1085560	1094760	So we're copying this file or downloading it, and then we have to transfer it to our Raspberry Pi.
1097790	1106670	To copy the configuration into our RTL-Airband.conf file, I'm using the Nano Editor.
1106670	1111250	So first I delete all of the existing example configuration,
1111650	1116530	and then I'm pasting in the generated configuration file.
1122720	1126840	After that, we're exiting and saving the file.
1133550	1138590	Next, let's test if our setup is working correctly by looking at the signal
1139020	1147800	and the output that is produced. To test if the software is working, we can start it
1147800	1153500	in the foreground mode. It's also useful to see if the noise level estimation and squelch
1153500	1160250	are working fine. The two numbers indicate the estimated noise level and the signal level.
1163350	1169010	And the star appears besides the two numbers if the recording kicks in.
1170330	1176030	So for instance, if you always see a star, meaning it's recording all the time, you might
1176030	1182050	need to adjust the gain setting. More information can be found in the troubleshooting section
1182050	1189490	on the wiki page. Regarding output, there is an output airband folder in the home directory
1189490	1194650	where the raw files and the metadata text file is stored.
1196250	1204330	And then once it is encoded to FLAC, it will be visible in the encode subfolder in that directory.
1218320	1222540	Configuration options that are generated by the config page are listed here.
1223440	1228220	Multi-channel mode was chosen so that we're sure not to miss any transmissions
1228220	1233800	in the channels that we're interested in. The other option would be frequency scanning.
1234740	1240140	Then we chose raw output format so we could encode it to FLAC.
1240620	1248920	Other options are mp3, icecast, or pulse audio. So you can also set up an icecast server to have
1249060	1254860	a streaming version of the channels to listen to at home in parallel. The goal of the project
1254860	1260980	in later stages is to provide the feeder software part to send the audio to OpenSky and reach the
1260980	1268180	audio with annotations and potentially other data. The gain setting is set to a default level,
1268180	1273320	but it might need to be adapted. Especially if you have a good antenna with some
1275220	1279320	amplification, then the gain setting might have to be lowered, else you will have
1279320	1291770	recording noise all the time. So for the setup of the antenna, in general, there should be no
1291770	1297950	obstacles between the sender and the antenna. So in the ATC case, the senders are the airplanes
1297950	1305690	and the airport tower. These examples are taken from the ADS-B receiver kit on the OpenSky network
1305690	1312390	homepage. So only show airplanes and not the airport, but the same principles apply.
1312770	1318390	On these pictures, you can see non-ideal setups with obstacles or a narrow angle.
1318590	1324850	Finally, to give a short outlook, we will be providing some sort of feeder soon to be able
1324850	1331170	to process the audio recordings on the server side and make it available to feeders through an API.
1332190	1339570	Here is a collection of links that we used in this presentation. First, the AirBand GitHub repo
1339570	1346930	and their wiki page, then the config page that helps you put together a configuration file,
1347130	1352690	a link to the Raspberry Pi where you can find things like installation instruction,
1352690	1360270	the RTL-SDR dongle we used in this setup, a link to the ADCO2 project page,
1360270	1364870	and finally a link to the OpenSky network homepage where you can also find things like
1364870	1371170	how to build an ADS-B receiver. I hope this tutorial was easy to follow along
1371170	1375270	and that you're able to make your own ADS-B receiver with it
1376050	1379770	and happy to answer questions that you might have right now.
