 Ralph Laws! You forgot my name. This is a... started out as a slightly more technical talk to happen on the hardware track. Mario asked me to move it up onto today's track, so I got into a little bit of a dilemma about how much to... or how deep it would go into it. So the title remains full of buzzwords. I've lightened it a bit. The premise is broadly what was just described. There are at present about 15 to 20 satellites in orbit around the Earth whose purpose is or includes carrying amateur radio traffic. And I'll get to exactly what that is and why a bit further in. Communicating with these satellites is difficult. It creates a variety of problems that have to be solved. And one of them is this Doppler shift problem. The other half of the inspiration for this particular project is the Navina. This is Bunny Huang's sort of open everything laptop, one of which I happen to own, and which happens to include a... what's called a field programmable RF chip that will do the front end of almost any conceivable radio. So it occurred to me that the need to solve the Doppler shift problem in software and the desire to find a project to justify my owning a Navina, they intersected very nicely. This is part of a broader series of talks that I've been doing over the last couple of years on amateur radio. I won't go into great depth into what it is other than to say that it's a particular set of frequencies and rules that allow individuals to transmit radio signals, potentially at quite high power levels, at least compared to what you'd find inside your house, without needing independent supervision. This does require that you pass both technical and regulatory exams to get a license, but it's a scheme to allow people who want to play with radio to do so. It's been around for almost a century. However, in Singapore, there are fewer than 100 licensees. The particular thing... so historically this was long distance. When I was 14 years old, I encountered this as a Boy Scout for jamboree on the air, and the fact that I could talk halfway across the world with nothing more than a radio and a mast was fascinating. Today we carry smartphones in our pockets, which we have to remember to turn off before we come on stage. The situation's changed a bit. One just me, however, is space. Everything from fairly simple stuff like listening to the Jovian radio noise, Jupiter's the loudest radio transmitter in our solar system, to the extraordinarily difficult radio signals off the moon, which I'm still working towards. It will still take a couple of years, but I'm getting there. Like any difficult project, I decided to start with some simpler sub-projects, and one of them was the low-Earth orbit satellites. The reason that they are interesting is that they're only a few hundred kilometers away, and so the signal power required to transmit and the signal processing required to receive are greatly reduced. That sort of artist's impression of an actual amateur satellite, I forget which one, but the general structure is typical. A thing that would fit in a shoebox is the body of the satellite, and the long, thin metal thing is the antenna for VHF, which in this case is used for the uplink, and the shorter antennas are on the base of UHF, which are used for the downlink. The corresponding elements are on my antenna over there on your left, and you'll see there's a mix of long ones and short ones, so they're set up specifically to communicate with this particular pairing of antenna sizes. This is fairly common in amateur satellite configurations. To understand why amateurs do this at all, it's worth understanding something else that amateurs do a lot of, which is install repeaters on high buildings or high hills to allow handheld radios to communicate with each other without sort of outside of line of sight. Again, mobile phone tower systems now do this everywhere in cities, but hams still maintain their own. In fact, we even have just one in Singapore. A satellite, from this perspective, is like a very, very tall hill with some problems. One is it moves around, at least in Low Earth Orbit. If you're using a commercial communication satellite for TV, not in Singapore, the satellite dish doesn't move. It points in one direction because the satellite you're looking at is 36,000 kilometres up, at which altitude it appears to be fixed in the sky. Amateur satellites are cheap, therefore they're only at a few hundred kilometres, therefore they cross the sky in minutes. The next problem is... The general solution to this problem is a handheld antenna that you point. If you look at my antennas, they actually have nice foam grips at the bottom. They're designed for use this way. The next problem with amateur satellites being cheap is that they tumble at random through space. They have almost no attitude control, certainly no propellant or gyroscopes, sometimes a bar magnet, so they can be at any angle at any time. The solution to that problem with the handheld is you just twist, you use your ear and you twist to maximise. When you have a machine controlling the antennas, in this case, you can't do that. So the solution in fact is to use two antennas and what's called a phasing harness to join them together, and that's the coax cables you can see hanging underneath. So this is us using this at MegaFair last year. Unlike most such things, it worked first time, which of course meant that it failed second time, but after a lot of messing about and relearning more metalwork than I had expected, that began to work. So the premise, the means for doing this is that the US military publishes accurate information about the position and path of about 40 or 50,000 objects orbiting the Earth, including all of the amateur satellites. That data can be ingested and put into a thing called a G predict, which allows you to see minute by minute or second by second where selected satellites are, and in this case it's some amateur satellites and a weather satellite. So the circle is the footprint, and this is from which the satellite can be seen. So solving, pointing and orientation solves two of the big problems, meaning this is useful as is, but it leaves one significant problem, and that's Doppler shift. So Doppler shift is the situation where if a car or a train goes past you, the pitch of what you can hear changes as it goes past despite the fact that the source doesn't. That's because the way fronts on the way in on your left are closer together and on the way out are further apart. For a satellite at 400 kilometers up, its effective ground speed is about 30,000 kilometers an hour. At that speed, radio waves begin to bunch up in ways that affects the behavior of receivers. The conventional way to solve this for amateurs is to take G predict, the same program I just showed you, and have it send a series of commands not only to steer the antenna, but separately to the radio receiver and ideally the transmitter to make small adjustments to the frequency every few seconds. That works. It's a bit crude, but it's enough. It doesn't work very well for digital modes. It works for voice, but for digital modes, the fact that the frequency jumps and the phase changes disrupts the modem. So, for these two reasons, I decided this is clearly a problem for a software-defined radio, and fortunately the GNU Radio Project provides this amazing companion that allows you to sort of design radios in a point-and-click-y way, and then push a button and it'll spit out and run a bunch of Python scripts which implement the radio that you've specified. And further, someone has done the phase-preserving Doppler shift compensation work. So, it's the HIN theory, an integration project. And then finally, I mentioned the Novena. So, this reached one of its stretch goals and therefore I was able to include this little module which has under the cage this radio front-end chip that does everything from 300 MHz to 3.8 GHz, which not only covers the downlink frequency, in this case the 430 MHz, but also, for example, things like Wi-Fi and Bluetooth. Regrettably, it's not running, so I can't actually demonstrate the thing in use this time round. A few things went wrong. One was this was the first time I've made a serious attempt to compile all the components of something in the 10 years since I switched from Debian 2 Ubuntu. And in fact, the reason I switched was I got tired of having to download large piles of packages that make up the transitive dependency of the thing I'm trying to run and getting them all configured and all running. And so, yeah, I'm still going to have to do it. I'm doing stuff that's unusual enough that the components aren't available in an existing distribution, particularly not Debian or Ubuntu, but it's quite a lot of work. A good four or five days of head-scratching and compilation went to get to something that just barely works and certainly not to the point where we've even started doing the Doppler shift correction. The other is that the compile-speed matters. The Navina is a usable machine, so if you make one error in configuring something and then spend three hours compiling it, it's a bit frustrating to have to delete it and start again. And so I now understand why many of the instructions certainly around the RF chip suggest cross-compiling. So my list of things to do very shortly is to get a cross-compiling environment working. So, oh, I'm actually a little bit ahead. What that means is that it'll lead straight to my next steps. The first of which is switched across compiling the whole thing. I was going to add a slide that I didn't put in. The situation today with software-defined radios is a bit like the situation a decade ago with audio drivers. If anyone remembers OSS and also and three or four other systems, getting stuff to work was often painful because what one thing used was unavailable in your device or they conflicted or your distribution did something else or whatever. Much the same is currently true for software-defined radio stacks. The Novena modules driver happens to be produced in or uploaded in SOPE-SDR. Unfortunately, your radio doesn't talk to SOPE-SDR. You then need an intermediate module and compiling that requires 10 other modules and on it goes. So, yes, just because every single step where I've made an error and have to go back is currently undoing three or four hours of work. I'll be switching to cross-compiling and then firing up instances on Amazon or wherever to do high-speed recompilation in minutes rather than in hours. Once all that is working, the intention is to essentially replace a handheld radio receiver, which I currently use, with the Novena and its RF module, simply performing the same task. So, you know, clicking on a button to change frequencies every few seconds or to adjust the frequency to follow a satellite across the sky. Once that's working, the next step is to bring in the phase-preserving double-shift correction module, which in theory already works. Certainly it's mathematically possible. It has to be. There's a real radio signal that actually has, that started out with a current phase. A challenge, and I'll get to this in just a moment, is there are two separate corrections going on. One is between the sender at one side of a conversation and the satellite and the uplink, and the other is the downlink between the satellite and the receiver. For very clean communication, you need both parties to be performing double-shift correction correctly. For voice modes, by and large, we just tolerate. And so, as long as you can make out what someone's saying, the fact that they sound like Donald Duck isn't a big problem. For digital modes, this is not okay. There are a couple of satellites that provide things that work on digital modes, particularly including the International Space Station, which has a sort of bulletin board system online, you need to compensate correctly for double-shift in order to work these systems. So, I'll come to the second piece in a moment, but certainly the first piece is take the mathematical prediction that says, given where the satellite is, here's the correction I need to do for my half of the communication, implement that. And then put useful stuff in GitHub. I do keep getting prodded for this. All this cool stuff is working, but not yet in GitHub, so I will start sharing it very soon for those who have asked. The final piece, and this was Mario saying to me after I had agreed to move this talk onto today's track, it's like, well, Roland, our topic is AI and machine learning. Yes. So, how can you work AI and machine learning into your talk? Where's Mario? He has left the room. It is for double-shift. It is fine-tuning, but it's dealing in particular with the fact that there are two double-shifts that have to be corrected for. So, if I'm correcting for... So, the double-shift is different depending on where you are. If I know where I am and where the satellite is, I can mathematically determine the double-shift error that I have to correct for, and so that's certainly what the model's prediction is about. But what I don't know is what the guy at the other end of the communication is doing. He might be doing what I currently do, which is manually adjusting a radio with one hand talking. And so that's error-prone and a bit rough. And so that points to the other area that I'm interested in experimenting with once all of this stuff works. And that is correcting for the send-a-side double-shift. And the difficulty there is, I don't know what error he or she is making, and it might be moving around at random. This is really hard to do algorithmically. It's exactly the kind of thing that human beings are really good at by simply listening and recognizing that, oh, the person's voice has shifted up, so there's a problem, let's adjust downwards. I have done some early looking, I haven't yet gotten to a conclusion, but it appears that people have done work on training machines to recognize shifts in voices. And so the hope is that it would be possible to correct not merely for the downlink part mathematically, but also actually to use something like a machine learning approach to recognize when someone's voice is shifting unexpectedly and to correct for that automatically and in real-time without having to construct an algorithmic solution. So I got to answer Mario's request, which he isn't here to see. There is actually a machine learning element to what I'm doing. And indeed, I'm closer to time than I thought. That's all I have. May I take a question, or is that not part of the run today? Oh, okay. That's seven minutes in total for Q&A. Does this make any sense? Does anyone have questions? Stun silence. No one understands what I said. Rasta, you have to have a question. Nope. Blank. Oh, fair enough. Mike, no... Oh, over there? Over there? Oh, a big button. Gentlemen on the maroon top. PA person with the blue microphone. Is it on? Yes, yes. Well, on the topic of not understanding what you said. I recently got my... went for my ham radio examination and still waiting for the results, but I was wondering if you can point me to any resources that I can read up on that would be interesting for a computer enthusiast with an interest in ham radio as well. In the very least, I can come up to speak to understanding what you just said. I think the software-defined radio piece is useful. If you've gone through the process of entering amateur radio and you've set your exams around NIT, then software-defined radio seems like an obvious place to look for two reasons. One, to think about radio as a computational discipline rather than an electronic one. Most of what you've learned in multipliers and filters and all that stuff, the front end of the radio has to be electronic, but most of it is just computation realised as electronics. If you take the time to learn how to use them, you'll develop a computational appreciation for radio. For the satellite stuff, I don't recall an individual resource that was particularly comprehensive other than various things on the AMSAT website. AMSAT.org is the US Amateur Satellite Company club, whatever it is, who are responsible for all the AMSAT satellites in orbit today. I'm here. I can hear, I can't see. Just a question. You heard about Elon Musk trying to launch a few hundred satellite around the Earth and provide internet for everybody. What is your thought along that line? Orbital internet is hard and it's hard because the it's exactly the same set of problems. Even if you get rid of the orientation problem, you've still got movement and Doppler shift. Your ground stations have to keep track of where the satellites are. Or you have geostationary, which needs much larger dishes. I think it's doable. I suspect that the other big issue is spectrum. We're having a problem in this room with people and the radios are there and there. If we put those radios 400 kilometers above us, I think it would work even worse. And so that's not so much the equipment. That's the amount of total amount of RF spectrum available. If you take a city of 4 million people and you pepper 100,000 access points or mobile phone towers across it, then everyone is using the same frequency at a very small space. You try to use the one set of frequencies above, 400 kilometers above, and then you have a point going on from the satellite, which is possible, but it's difficult and expensive. Or you're sharing the same spectrum, so there's not much bandwidth. I don't think it will replace terrestrial internet, but it will remain useful for areas where terrestrial coverage is difficult. So open oceans, deserts, even rural areas. Okay, thank you. One down here, you've got a microphone. You may as well. The satellites you were mentioning are those amateur satellites? Are they amateur satellites? Yes. They're a mix. The majority are currently operating are exclusively amateur satellites or they are satellites that were launched for some other mission, which having completed, then switched to providing amateur service. So it's kind of a deal that's being struck. It seems okay. We've got universities producing satellites for some research project. They are using an amateur frequency or frequencies for that purpose, which is sort of on the edge of what the amateur satellite service is about for six months, and then they're saying for the remaining five years that the satellite's in orbit, it's available for general use by licensed amateurs. So I'm okay with that deal. I have a horrible feeling that that will evolve in an unfortunate direction as it becomes more and more popular. I mean, it's so popular that you now have in Singapore that you can count the number of satellites per year and it's growing. And I assume the same is true in many other cities and by and large they're using amateur spectrum to do it. And amateur spectrum is now small, so they don't... It's not ideal, but what it gives us, if they're using the spectrum for 10% of the time for their science mission and then it's amateurs for 90%, that gives us a resource worthwhile, so I think it's probably a fair trade. The others, however, there's a couple of really old ones. One unbelievably old one, AO10 I think, literally the 10th AMSAT satellite was launched in the 70s. It went offline in the 80s when its battery shorted out and came back online in the early 2000s when its battery went open circuit. So there's... It's a bit of a ragtag fleet. There's a recent description for what they are. And then, yes, there are examples where satellites have other purposes. So the International Space Station is full of astronauts but has an amateur repeater and also a station on board. Qatar Telecom is about to put the first geostationary amateur satellite up, but it's actually not. It's a telecommunications satellite with an amateur transponder on board. So there really isn't a simple answer to that question, it's all over the map. We have time for one more. Okay, in that case, I think this gentleman is done here. Just a quick question. What SDR do you recommend we start with for beginners? There's low cost. Sorry, what do I recommend? What SDR? Oh. So given as a beginner without a license, you're basically receiving not transmitting and cost sensitivity matters, there's a whole bunch of like $10 USB drives made out of the RTL SDR. I think of a you sort of want to start tinkering. That's probably a worthwhile one. The only thing I'd caution you is be careful about things that are going to make regulators unhappy because they don't have a sense of humor about that. By all means listen to your own Wi-Fi or Bluetooth stuff. Please don't eavesdrop on other people. Okay, thanks. With that, thank you very much. Roland.