 If you're intending to see the National Reconnaissance Briefing, that's over by the bar. So the topic of this talk is GNU Radio. I guess the message here is that no one should doubt the wisdom that big changes don't come from large organizations with people that are just paid to do the work. But also no one should doubt that those changes don't happen in effect society unless lots of people adopt the technology that comes out of groups like this, something widespread, like SSL. This is an overview, what I'm going to be talking about. It's pretty straightforward. So, what is a software-defined radio? Basically, it's getting the digital logic of a computer system as close to the antenna as possible. And instead of having analog hardware do the waveform generation, do the demodulation of the signal, the computer's doing all the work, and other digital logic that you've built. This is a big departure from the radios of today, but it is the current trend in almost all radios. So what do we want to do with a software-defined radio? Well, instead of just shipping a product that might become obsolete in a year or two, we could have something that we could build different variations of using the same hardware base. We could get to market really fast with it, and after it came to market we could provide new features and functions. The same device could be used in multiple different ways by different people or the same people. And you could do very interesting things with the radios themselves. Today, most radio spectrum is essentially sold like real estate and is operated in a relatively controlled environment with the exception of the unlicensed bands. In the future it's hoped and it's thought that much more radio spectrum will be rented in the same way that you rent a hotel room. And in those environments which are more ad hoc, the radios would have to become smarter in order to be effective at providing the quality of service and the performance that the customer is expecting. They'll have to be able to handle multiple channels at the same time, for example. Or they'll be cognitive. They'll actually have to know what the signal conditions are in the channel before they start transmitting, maybe adjusting their power output, choosing a different channel to operate than they would normally. And in this case, it's the end user instrument that would be in more in control than a centralized command control systems that are common in cellular today. So this is a shift that mirrors what's happening on the internet. Instead of having a centralized system like the telephone network, which the cellular model replicates, you'll have systems that are more ad hoc like the 802.11 Wi-Fi that will be used to deliver not only unlicensed services, but also commercial services. And software-defined radios are very much in the future doing that. Well, software-defined radio is not without its problems. One of the problems is that it takes a lot of power. And it takes a lot of power because you're using generalized hardware. Radios today, our cellular phones, for example, all use specialized application-specific integrated circuits. They're made specifically to do that job. They've been tweaked to do the best performance with a minimum amount of real estate in the silicon area and a minimum power consumption. Well, when you're using a generalized platform, that's not the case. And also more MIPS are required for the same reason. They're not highly structured systems. They're not highly tailored to the application. And today they're much more expensive because generalized platforms are not as cheap as what you can hammer out when you're doing 100 million of a particular product like a cellular radio. Software-defined radio really has come out of the military, but it's moving much more into the commercial sector. The military has been faced with basically a tower of babel of radios where one sector of the military may be the Marine Corps. Their radio would interoperate with the Air Force's radios, which would interoperate with the Navy's radios. We hear about and sometimes find funny or hear tragic situations where troops are not able to communicate properly and lives are lost or battles are turned because of lack of communication. I think there was a situation in Grenada where I believe it was a Marine, couldn't get because of some problem with his radio. He couldn't communicate with his CO and he couldn't communicate with any of the other services even though they were nearby because his radios didn't operate. And he wound up actually going to a phone booth calling the Pentagon convincing them that he was who he was and calling in fire on a position. So one of the reasons that the military is looking for software-defined radios is they want to take this stack of radios for all the different services and all the different applications and make one radio that can interoperate with any of those services and any of those functions equally well. In the commercial world, cellular base stations, because of going from the current like CDMA-1 to CDMA-2000 to wideband CDMA and all of the other flavors of communications, modulation and communications protocols, the people who are building the cellular base stations are faced with forklift upgrades of that equipment because it wasn't made to be flexible and they didn't know how the new equipment would be designed two or three years out. And it's really expensive to build base stations and deploy them. So the commercial people are looking to build software-defined radios so when a new modulation scheme comes out those radios will be capable of handling that new stuff in the future even though they didn't know about it when the equipment was first delivered. So they're trying to future-proof their products. Software-defined radio has not been as widely deployed in the consumer end of the market or the end-user, but it is coming. The merging of cellular and PDAs and different wireless services are calling for a more flexible end-user device. Now in general I think those devices when they're delivered from the cellular providers or the commercial providers those providers will still want to maintain control of what's going on in those radios so the upgrades will happen basically through the network and it won't be something that you can control. What the GNU Radio project is targeting is the second, which is a software radio that's under control of the end-user completely. Every aspect of the radio and its hardware is something that you can plug in just as if you can go to pricewatch.com or at Fry's and buy a new board and plug it in or build systems in the ground up. We're looking to provide a capability of building radios in the ground up for those people that are smart enough at least to do that and eventually perhaps even have consumer level products where they're turnkey but they can be upgraded by just downloading software from some site that you trust. The first applications that we're targeting with the software-defined radio is in television and I'll talk about that and eventually we're hoping people will latch on to it and do stuff with Wi-Fi and other similar on-license bands but also we're thinking bigger than that even. So the GNU Radio is basically a free software package that you can download and you can experiment with. Right now that package is mainly to provide, I'll talk about that in a minute, I'll skip that. So right now it's basically into geeks like ourselves. It's not a consumer level product. It's the kind of thing that you have to be a coder to appreciate or to use. But we're hoping to move that into the consumer or towards the consumer market for things that are easy to use and it uses commodity hardware for the signal processing portions of the system. Right now that's commercial quality hardware and it's not cheap but there's no reason it couldn't be made cheaper. So the vision to be able to transmit and receive any signal of any modulation type on any band for experimenters and products to be delivered through this platform and to expand software or the free software ethic into the hardware realm and especially into the radio area. Now there's a parallel type of development going on in open source hardware development which maybe not many of you know about but it's quite active and people are actually building open hardware platforms that are reconfigurable using generic field programmable gateways and other similar technologies and we can take advantage of that as well. So we're a parallel software development effort for that. So what do you need to do a software to find a GNU radio? Well you need a commodity PC. If your application is not very compute intensive because of the kinds of radio reception you're attempting then that can be a very modest PC. A 500 MHz cell around would probably be more than enough to do narrow band communications such as ham operators do, shortwave, that type of thing. And you can use a sound blaster card or any of the cards of that genre that provide high quality audio capture capability. However if you're doing digital modulation schemes, if you're listening in on the newest advanced digital modulation techniques then you'll need a wide band card which right now is a bit expensive with a high speed analog digital converter. And your CPU may have to be much faster, maybe in the range of a 1.4 to 2GHz Pentium or Athalon. What we're doing right now to demonstrate how practical it is to handle these high level modulation schemes for something that people can relate to is we're basically building a high definition TV receiver that's built in software with a generic piece of hardware. And you can see that the CPU we're using is not the kind of thing that many people have in their home right now. But we're hoping in a year or two that because of advances in the speed of the CPU architectures that it will become practical. And that people will be able to use their off the shelf compacts or Dell computer systems with an inexpensive plug-in board and do HDTV. This is the kind of speed or amount of operations it takes. And the CPU intensive load that it takes to do HDTV, it's pretty daunting. Everything today in the commercial market to do this in the consumer market are using application-specific integrated circuits that are fine-tuned to this application. They tweak them. You can see we're doing billions of operations here a second in order to do simple things like equalize the signal for the power output that's coming from a particular transmitter station. We're doing a Viterbi decoding, which is a very basic operation. Give it away. So some of the applications that we're doing, especially for the high bandwidth communications are very amenable to using some of the parallel pipeline architectures that are common in Athlon and P4 computer systems. And we need them in fact to make it work. Hello folks. As you can see, I can't stand up on the damn leg, especially when I'm pissed. You know, so far it's been a relatively quiet convention, no one's... So as you can see, an over-the-air HDTV receiver requires an incredible amount of computational effort, and that's why we're having to use dual CPUs. We think that the future was bright for software-defined radios in the PC. CPUs are getting faster each year, and you don't have to do anything. You just wait for the Intel to come out with a newer, faster chip. Specialized hardware, somebody's got to work on. They've got to tweak it if they have to do a die reduction or whatever operation that they're going to do to make it faster, requires an enormous effort, one which you don't have to do if you have a software-defined radio. So things are looking good. I think that single CPU HDTV capable receivers are probably not more than two or three years away, assuming that politics doesn't intervene. So here is the open-source hardware that we're looking to build. Basically it's a PCI, or it could even be an external board on, for example, a USB 2, or even Ethernet, 100 megabit Ethernet would work fine too for many of the applications. And this board would have a tuner module. Right now we're using a cable TV down converter tuner from MicroTune. It's about $20 in quantity, maybe $30 in small quantity. And you need pretty high-speed analog digital converters, but actually 25 mega-samples per second is nothing. People are delivering 16 even 100 mega-samples per second. You need an FPGA so that you can basically have the board do computation on it, offload the central computer, do the demodulation of the signal, first processing steps, and the central computer then only has to handle the reduced load of a processed signal. And then basically a pretty wiring board and some assembly and test. We think it could be built for $80 in quantity and not high quantity at that. So we're certainly looking for people who want to come forward and help us design and build a board for this. If you want to find out more about GNU radio, here's your links. The open-source hardware links are there as well. You might want to copy this down because none of this information is there on your CD. So now we come to the fun part, the politics. As people have talked about forever, people that want to regulate more. And one of the things they want to do is to prevent people from listening in on communications that they don't think they have a right to listen in on. Recently, legislation's proposed, and I don't believe it's passed, but it probably will, called the Cyber Electronic Security Act. And what it effectively does is it does away with the safe hardware provisions from another electronic communications act, the EPCA, that came out in 1985. Oh, did I do a... Oh, sorry about that. Thank you for correcting me. The EPCA. Electron... E... E... EECPA. That's what I have written, but that's not what I said. Thank you. That came out in 1985, 1986. And before, if you had a first-time offense, you weren't doing it for any commercial gain, and the end result is that you didn't hurt people by releasing information that you'd hurt, for example, then it was a misdemeanor at most. But under the new provisions of the Cyber Electronic Security Act, even if you're a shortwave listener, even if you're not doing it for commercial gain, if you get caught, it's a felony and up to five years imprisonment. So this is heavy hitting. They're hoping to scare people out. I hope no one's scared here. The next thing that's happening is the Broadcast Protection Discussion Group, the BPDG. That's a mouthful. Basically, it's a self-appointed, obscure group of people in Hollywood and at some of the consumer electronic technology manufacturing companies that are trying to negotiate a consensus for any gadget or code that can touch what the studios release. What they want to do is to propose to embed digital watermarks and broadcast flags for transmission that all consumer electronic devices would have to adhere to and obey, they'd have to recognize and obey. This is very contentious. If the legislation's enacted, it would ban the sale of these devices in the United States. Now what's interesting is there's all kinds of commercial gear that has to do similar functions, spectrum analyzers and oscilloscopes, test instruments for radio communications. What are they going to do about those devices? Right now, any consumer can go and buy a helipackered test instrument. What happens when... And you can buy PC test instruments as well, spectrum analyzers with plug-in boards. What's going to happen when people say, we will call it a radio, it's a spectrum analyzer and it's a soft spectrum analyzer which you can upload new firmware into the FPGA to do. No reason you would want to do this. It would allow you to future-proof your product, add new features, functions, performance, whatever. So is the possession of instrumentation for industrial use going to become illegal unless you're licensed? Or are we headed towards a time when PCs and all of the equipment and software that we would use as consumers is like what happened to the Soviet Union when typewriters had to be licensed? I don't know, but we seem to be headed that way. So we're looking for contributors. Right now we have a hardcore group of half-dozen or so people that are contributing to this product. We would love to have some people with hardware experience that have built PCBs that know how to work with ball grid arrays, components for mounting, that know how to work with FPGA programming. It would be a real godsend for us. We're not experts in that area. Software people, you've got signal processing experience. I had just recently found an open source, wide-band CDMA simulation code at a university that we can use. And I'd love to take that code and port it to our system so that we have code that can listen in on code division multiple access communications. I've talked to the programmer and he said it shouldn't be a big deal to make it compatible with CDMA 1 and CDMA 2000. So this would be really nice. Programmers that have low-level C experience, people that know how to do pipeline programming with MMX, SSE, all that kind of good stuff. Right now our GUI is pathetic. It's basically a toolkit that doesn't really have APIs. It has no hierarchical structure to speak of. Everything has to be handled in the lower level code. And what we'd like to do is to convert this into a higher level application that people can just download plugins and install them on the fly, pink reconfiguration, those sorts of nice things that lots of code have. And we need people to help us do that. So the funding for our program was through donations from the Crypto Rights Foundation. This is an organization run by Dave Galtordo. And I've got plenty of time here. It's time for some questions. You'll have to talk very loud at me. Screen, screen. Do we have schematics to build a unit? Well, right now if you wanted to build a system, if you were doing narrowband communications, shortwave, you know, analog signal processing of any sort, you could use either the microphone capture capability of your PC or a higher quality board. If you're looking to do wideband communications, such as listening in on some of the digital communications that are used for public service, or if you're doing CDMA, you want to listen on CDMA communications, then you'll have to get a board that's capable of digitizing wideband. And the board that we have right now is about $1,200 that we're using that's commercial, not cheap, because it's built for commercial applications. That's where you want someone to actually design and build a board with less capability that would be maybe sold to end users at $150 or $200. That would make our day. No, no, because we haven't built this, but we've looked at the other boards and see what's on them. The reason they're so expensive, the question was, do we have schematics? No, we don't. We haven't designed it. We want the hardware people to come in and do this, but we've talked to people that can do this. They've looked at the problem, people at a board similar to this, and they say, oh yeah, that's, you know, X number of man months or whatever to do the work, or man weeks, and they say, do you have the money? And of course we don't. So we're sort of a chicken and egg situation. We don't have a funding for it. So yes, the software is bi-directional, and whatever board that we do design and build with someone will have the capability of not only doing analog to digital conversion, but digital to analog conversion. So for instance, you could generate the local oscillator signals to tune not only your receivers, but your transmitter local oscillator signals. The nice thing about having software-defined radio is you can do things that are virtually impossible with hardware logic. For instance, if you're trying to do frequency hopping, normally what happens when you hop to new frequency is during the transition time when your synthesizer is tuning, you lose the coherence of your signal because your anticipated waveform at the next frequency, you can't make that gap. You can't tune the signal fast enough. But when you're doing software-defined radio, you can basically do table lookup for your signal generation so you can do coherent hopping, which is really cool for a lot of reasons. Now unfortunately those cards, the ones that use like soft, the question is, have we considered using the inexpensive generic TV receiver cards, the analog receiver cards, and the answer is no. And the reason for that is that there's processing that's done on those cards in the chip that in many cases cannot be disabled that introduces signals we don't want, pilot tones and shifting because it's trying to demodulate a video signal. And it's possible, possibly to change those boards, basically jumper them or reprogram, and we've talked to people about doing that, but no one stepped forward to actually do it, so we don't know if it's possible. But we've looked at it because they're only $25 to $50. Although those boards are going away because almost all of them are going to ones in which MPEG decoding is being done on the same board and even more signal processing is being removed from the control of the end-user software. So the question is, what do I think the implications for software radio are? Well, what we're hoping is that in the same way that PGP sort of catalyzed the whole issue of privacy on the net, that software-defined radio will open up the spectrum for people to experiment with to do things they could never do before, that it will encourage improved over-the-air communication security for the commercial systems because people will be hacking in and there'll be everyone out there that can listen to their stuff that right now you have to have a Harris $200,000 SIGINT receiver to do. Anyone will be able to listen in. And when the consumers know that people are listening in to their cellular communications and they can't be stopped because the NSA worked with the cellular carriers to deploy defective security measures that now can't be really redone unless everyone replaces their cell phones, they're going to be hopping mad and we hope they are. Now one of the interesting things is that the CDMA encryption, which is almost never used by the way, but if it were used it's possible to break it with no a priori knowledge from the only to receive signals in about one second with an off-the-shelf PC and digital processing that you could do in a software-defined radio. So no one would be safe even if they turned on the security measures that are already available. Any other questions? You, sir, back there. So the question is, are there a lot of patents that would be related to the kind of signal processing that people would want to do on this? And the answer is I'm sure. There's tons of patents. And so that's always going to be an issue but open source has often gotten around those issues very nicely. I'm hoping that would be the case here. Since the hardware is generic both in the signal conversion, up and down conversion area, and in the PC, then really you have to go after the people who are providing the open source, a very difficult measure at best. I mean, look at all the people that are releasing software to rip DVDs. Still out there, smart rippers out everywhere. Any other people? You, sir, screen please. It's a single PCI card you mean for the analog digital converter we're using. I'm sure that you could put a generalized CPU on a single card with an FPGA if you needed it for additional horsepower plus the analog digital conversion. So for instance, if you wanted to have a system with a passive backplane and have 20 of these boards or 10 of these boards going simultaneously covering different parts of the spectrum doing the equivalent of a digital radio receiver like digital video recorder, like you do a digital video recorder, it would be entirely possible to do. Any other questions? Yes, sir. I'm not sure what that is. The question was whether we're adhering to some standard for what we're doing as far as our coding. I'm not aware of that. No. The software that we're using in the GNU radio originated in the Spectrumware project at MIT. And the person who was the lead developer on that is a guy named Vanu Bose. He has his own company now back east. And he's basically doing commercial development, military and commercial development of software-defined radio with this. And he's blessed our project. He really doesn't see this as competitive. He's looking for people to deploy these systems to educate the public and expand the entire marketplace for software-defined radios. When you say, you mean ultra-wideband radio? No. Ultra-wideband, the question is, are we looking at this for ultra-wideband? The answer is no. And the reason is because ultra-wideband requires processing of a nature inherently that's beyond the capability of what you can do with the PCCPU. Ultra-wideband is basically an impulse radio. We have very short-rise time signals that are time-modulated, time-displacement-modulated. I think you need specialized hardware for that. I can't see ultra-wideband being done by software-defined radio anytime in the future. And maybe somebody smarter than me will find some trick that may be a pre-processing step on the plug-in analog digital converter board. But then again, at that point, almost all of it's been done in the board, and maybe there's no reason for the PCC anymore, except basically to handle the data that comes off of it. You, sir. Right. There was Taper had a software-defined... The question is, am I aware of the amateur radio projects that have been targeting software-defined radio? It's actually a two-meter software-defined radio that was in QST maybe 1995, 96, and Taper has had a software-defined radio project which has basically been morbid for a year or two years for 900 MHz, and I don't think anything's happened with that. This radio is much more... That's not the one you're talking about. No, I'm not aware of that. The microtune down converter that we're using tunes from 50 MHz to about 860 MHz, and it has a bandwidth of about 6 MHz because it's made for a TV signal, which is really nice because it covers almost all of the digital modulation schemes one would use, like TDMA, like CDMA, they all fall within that bandwidth. Any other questions? Any more slide? For the resources, right? That one? Okay. What's the target on the release? The source code is in release 0.4. It's now functional. Anyone that can code in C and C++ that knows how to do fairly low-level tweaking of code can now build functional radios, even for narrowband or if you have a hardware for the wideband. It's really straightforward and it's actually simple to do. It turns out that most of the modules for the signal processing for various signal processing functions are already figured out. There's C code in the library and you can just link them together in series, basically like you would pipeline physical hardware to do the same thing. It's really pretty straightforward, but it's not something that any consumer could do. You've got to be a programmer right now. I didn't hear the first part. Oh, I see. Right. Well, you would certainly have to have a down converter for that frequency range tuner. It could be the IF output or intermediate output from a communications receiver, a RAM receiver. Or if you used our board, the micro-tune receiver or its equivalent, you can get UHF receivers out there at C++ places and build a power supply port. That's basically all you need is to tune the UHF receiver for those frequency bands. If you're tuning 2 meters or 220 or 440, you could do that right now with those receivers that got the bandwidth. They'll do the down conversion and you need just a filter to filter out the signals that are wider than the bandwidth of interest. And then you can put that right into your mic input of your PC. It'll work. People have done it. You can get it from the IF of a ham transceiver. Well, right. You certainly have to do a down conversion, like I said, to take it down to the audio band. Right. Ah, one more. So there's a question about the regulatory environment. Do I think the FCC is going to interfere with it? Yes, but they're going to have difficult time because we're not pitching this as a radio. When this comes out, it's going to be a test instrument. This is, when we ship, if we deliver any kind of software package with this, it's going to be a spectrum analyzer. Well, broadcasting is a whole other matter. Remember, the software-defined radio is a software-defined radio. It's just the software portion of the system. The board that does up and down conversion and generates analog and digital signals is just a test instrument. It's a signal generator. It's a spectrum analyzer. And anything you put after that, that's what creates an RF device. And that's really up to the end user. There's all kinds of devices you can get from many ham sources that will up-convert and down-convert signals from our interface board. So the FCC is going to be faced with some real thorny issues because they've never before said that you can't buy a oscilloscope or a spectrum analyzer or a signal generator. They're going to actually have to ban end user possession of those without license. I don't see that happening. I don't think they're going to go there. Any other questions? One more. You have to screen. Still can't hear you on the porch. You want to come up here? Please, please, ask the question. I do want to hear you. Please, come up here. The fan's right behind me and it's pretty noisy. So the question is, is it possible to take the audio discriminator output from a receiver card and demodulate that signal? And the answer is yes, I think it is. It should be straightforward. And even if you have a wideband signal that's wider than the area of interest, you still have that area that you still have spectral content for the audio portion of your system that you can actually notch out. It's not efficient. It introduces all kinds of spectrum issues. You've got a question. That's right. You've ready to modulate it if you have the discriminator. It is possible to take wideband signals, notch out with your device just the audio portion of the signal and get something out of it, but it's not very good. You should be able to receive any kind of analog or digital signal off of a standard IF. I believe the question is, is it possible to use a single sideband transceiver or receiver to do your demodulation of your audio? And I think that should be possible. I think it should be. Yeah. But the thing is at some point, if all of your hardware is almost doing all of your conversion to your PC, then you're really not gaining much. You really need to get in earlier in the chain and do the signal processing. Otherwise, you're not adding much value to the process. Right now, the high-end commercial communication receivers and ham transceivers have incredible DSP signal processing capabilities and you wouldn't be doing much more than they would be doing. Really, the fun stuff starts when you can do wideband communications. Any other questions? Well, thank you for coming.